====== pattern_func 속성 ====== pattern_func 속성에 대한 예시 화면이다. pattern_func 속성은 패턴을 동적으로 변경할 필요가 있는 경우에 사용한다. pattern_func 속성값은 화면내 함수 이름을 지정하거나, 공통모듈의 함수 이름("공통모듈이름"."함수이름")을 지정한다. pattern_func 속성값에 정의된 함수는 컴포넌트의 값이 변경될 때, 자동으로 호출된다. pattern_func 속성값에 정의된 함수는 pattern, pattern_mask, pattern_front_symbol, pattern_rear_symbol을 리턴한 수 있다. 관련 API는 getpatternmask, setpatternmask, setpatterninfo가 있다. ===== 예시 ===== 템플릿 위치: /HTML5/COMPONENT/FIELD/field_pattern_func 템플릿 파일 * [[xf5projecthome>template/screen/HTML5/COMPONENT/FIELD/field_pattern_func.xml|field_pattern_func.xml]] * [[xf5projecthome>template/screen/HTML5/COMPONENT/FIELD/field_pattern_func.js|field_pattern_func.js]] * [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/COMPONENT/FIELD/field_pattern_func|새창으로 실행]] echo ''; echo ''; echo ''; ==== 화면 스크립트 ==== /** * 패턴 처리 사용자 정의 함수 * @param objScreen 화면 인스턴스 * @param objComponent 컴포넌트 인스턴스 * @param nEventType 함수가 호출된 이벤트 유형 (1: API * @param strValue 패턴이 포함되지 않은 값 * @param nRow 행 인덱스 (Zero-Based) (필드인 경우, -1) * @param nSubRow 서브행 인덱스 (Zero-Based) (필드인 경우, -1) * @param nColumn 열 인덱스 (Zero-Based) (필드인 경우, -1) */ function PatternTelNoFunc(objScreen, objComponent, nEventType, strValue, nRow, nSubRow, nColumn) { var objPatternInfo; objPatternInfo = { pattern: undefined, // pattern 속성에 해당하는 문자열 pattern_mask: undefined, // pattern_mask 속성에 해당하는 문자열 pattern_front_symbol: undefined, // pattern_front_symbol 속성에 해당하는 문자열 pattern_rear_symbol: undefined // pattern_rear_symbol 속성에 해당하는 문자열 }; if (strValue.substring(0, 2) == "02") { objPatternInfo.pattern = "99-9999-9999"; objPatternInfo.pattern_mask = "99-9XXX-9999"; } else { objPatternInfo.pattern = "999-9999-9999"; objPatternInfo.pattern_mask = "999-9XXX-9999"; } return objPatternInfo; } /** * 패턴 처리 사용자 정의 함수 * @param objScreen 화면 인스턴스 * @param objComponent 컴포넌트 인스턴스 * @param nEventType 함수가 호출된 이벤트 유형 (1: API * @param strValue 패턴이 포함되지 않은 값 * @param nRow 행 인덱스 (Zero-Based) (필드인 경우, -1) * @param nSubRow 서브행 인덱스 (Zero-Based) (필드인 경우, -1) * @param nColumn 열 인덱스 (Zero-Based) (필드인 경우, -1) */ function PatternJuminNoFunc(objScreen, objComponent, nEventType, strValue, nRow, nSubRow, nColumn) { var objPatternInfo; objPatternInfo = { pattern: undefined, // pattern 속성에 해당하는 문자열 pattern_mask: undefined, // pattern_mask 속성에 해당하는 문자열 pattern_front_symbol: undefined, // pattern_front_symbol 속성에 해당하는 문자열 pattern_rear_symbol: undefined // pattern_rear_symbol 속성에 해당하는 문자열 }; if (strValue.length > 10) { objPatternInfo.pattern = "999999-9999999"; objPatternInfo.pattern_mask = "999999-9XXXXXX"; } else { objPatternInfo.pattern = "999-99-99999"; objPatternInfo.pattern_mask = "999-99-9XXXX"; } return objPatternInfo; } // "getpatternmask" 버튼 이벤트 function btn_getpatternmask_on_click(objInst) { var patternmask; // 마스크 패턴 반환 patternmask = this.fld_getpatternmask.getpatternmask(); screen.alert("마스킹 패턴 = " + patternmask); } // "setpatternmask" 버튼 이벤트 function btn_setpatternmask_on_click(objInst) { // 마스크 패턴 지정 this.fld_getpatternmask.setpatternmask("999-9XXX-999"); screen.alert(this.fld_getpatternmask.getpatternmask()); } /** * "setpatterninfo" API 파라미터 * @param strPattern pattern 속성값 또는 null * @param strFrontSymbol [옵션] pattern_front_symbol 속성값 또는 null * @param strRearSymbol [옵션] pattern_rear_symbol 속성값 또는 null * @param strPatternMask [옵션] pattern_mask 속성값 또는 null * @param strPatternFunc [옵션] pattern_func 속성값 또는 null */ // "setpatterninfo" 버튼 이벤트 function btn_setpatterninfo_on_click(objInst) { // 패턴 관련 속성 설정 this.fld_getpatternmask.setpatterninfo("99-99-99", null, null, "99-XX-99"); }