====== 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");
}