사용자 정의 서비스 유효성 구성 패널 작성
서비스 유효성 객체의 특성 속성에 대해 서비스 유효성 추가/편집 대화 상자에 표시되는 필드와 해당 값을 지정하는 서비스 유효성 필터를 사용자 정의할 수 있습니다.
이 항목에서는 아래 표시된 필드에서 구성 패널을 구성하는 방법을 설명합니다. 패널은 유형 및 컨텍스트 필드 아래의 영역입니다.
다음 요구 사항에 유의하십시오.
1. ServiceEffectivityConfigType을 확장하는 Java 클래스
다음 클래스를 예제로 참조하십시오(줄 바꿈 무시).
codebase\com\ptc\arbortext\windchill\serviceEffectivityFilter\client\ui
\renderers\configTypes\SerialNumberDateConfigType.class
2. 이 클래스에서는 원하는 필드에 대해 GXT 레이아웃과 컴포넌트를 사용합니다.
3. 속성과 사용자 정의 ServiceEffectivityConfigType 클래스가 ServiceEffectivityConfig.xml 파일에 등록됩니다.
메소드 요약
다음은 ServiceEffectivtityConfigType에서 상속되며 덮어쓰거나 구현되어야 하는 필수 메소드입니다. 각 메소드에 대한 자세한 내용은 후속 단원을 참조하십시오.
renderConfigType()
이 메소드는 패널과 패널에 포함된 필드를 작성합니다.
이 예에서 다음 엔트리는 필드를 구성합니다.
• 기본 패널은 ContentPanel 엔트리로 표시됩니다.
• ContentPanel 엔트리에는 일련 번호 및 날짜 및 요약 영역에 대한 NoLegendFieldSet 엔트리가 포함됩니다.
• 일련 번호 및 날짜 영역에 대한 FieldSet 엔트리에는 일련 번호 필드를 보관할 HorizontalPanel 엔트리와 날짜 필드에 대한 엔트리가 포함됩니다.
• 일련 번호 필드에 대한 HorizontalPanel 엔트리에는 입력할 수 있는 두 가지 정보 유형을 나타내는 Radio 및 TextField 엔트리가 포함됩니다.
• 날짜 필드에 대한 HorizontalPanel 엔트리에는 DateTimePicker 엔트리가 포함됩니다.
• 요약 필드에 표시되는 텍스트에 대한 FieldSet 엔트리는 다른 필드 값이 변경되면 업데이트됩니다.
• 유효한 입력과 필드 및 단추의 활성화/비활성화를 제어하는 선택적 리스너가 이 메소드 내의 필드에 추가됩니다.
resetConfigType()
이 메소드는 모든 필드를 지우고 다시 설정합니다. 다음 작업과 함께 사용됩니다.
• 서비스 유효성 필터 탭의 적용 예정 테이블에 조건 추가
• 서비스 유효성을 추가할 때 적용 단추 클릭
• 컨텍스트 제거(필수 항목인 경우)
또한 예제에서 이 메소드는 계속하기 전에 컨텍스트 선택을 위해 모든 필드를 비활성화합니다. 컨텍스트는 서비스 유효성 유형에 대해 필수입니다.
getLocalizedLabel()
이 메소드는 서비스 유효성 유형에 대해 한글화된 리소스 문자열을 반환합니다.
유형 및 속성 관리 유틸리티에 등록되는 속성에 대해 디스플레이 이름을 사용하려면 getDisplayName()을 반환합니다. 수퍼 클래스에 이 값으로 설정되어 있습니다.
populateConfigType(JSONObject jsonObject)
필터 조건 또는 ServiceEffectivity 객체를 작성한 경우 필드 값이 JSONObject로 변환됩니다. 이 메소드는 JSONObject를 가져와서 필드 값을 읽은 다음 UI의 필드를 이러한 값으로 다시 채웁니다.
이 메소드는 다음 작업이 발생할 때 사용됩니다.
• 필터의 적용 예정 테이블에서 행을 선택할 때
• 필터 적용 시 필터 탭이 다시 열릴 때
• 저장된 필터를 적용하고 탭을 열 때
• 기존 ServiceEffectivity 객체를 편집할 때
JSONObject는 속성과 값을 가질 수 있지만 속성 및 값을 읽고 처리할 수 있는 사용자 정의 필터 위임이 필요합니다.
isContextMandatory()
이 메소드는 컨텍스트 필드가 선택된 서비스 유효성 유형에 대해 필수인지 여부를 지정합니다. 이 메소드를 사용하여 필드가 설정되지 않은 경우 필드를 비활성화할지 여부와 컨텍스트 제거 시 필드를 제거할지 여부를 제어할 수 있습니다.
addDetailSummary()
이 메소드는 요약 필드 세트를 작성한 경우에만 사용됩니다. 이 메소드는 필드 내의 텍스트를 업데이트합니다. 요약 필드가 필요하지 않은 경우 이 메소드를 구현할 필요가 없습니다.
initializeConfigType(JSONObject innerObject)
JSONObject가 서비스 유효성 필드를 나타낼 경우 필터에서 이 메소드는 필터 탭을 채울 때 적용 예정 테이블에서 모델을 초기화하는 데 사용됩니다.
addConfigType()
서비스 유효성 필터 탭에서 이 메소드는 모델을 작성하여 적용 예정 테이블에 추가합니다.
detail은 테이블의 값 열에 표시할 문자열을 나타냅니다.
예:
JSONObject latestJSON = getJsonFromFields();
String detail = valueText.getRawValue();
SETabInfoModel cm = new SETabInfoModel(getLocalizedLabel(),
ServiceEffectivityHelper.
getEffContextAsStringFromWidget(getEffContext(), true), detail, latestJSON,
getConfigTypeId());
return cm;
getJsonFromFields()
이 메소드는 필드의 값 세트로 JSONObject를 작성합니다. 이 객체는 서비스 유효성 유형마다 다르며 필터 위임에 의해 처리됩니다.
getAllowAddingConfigType()
이 메소드는 필드가 유효성 검사를 통과하지 못한 경우에 양식에서 단추를 활성화/비활성화하는 데 사용되는 allowAddingConfigType 부울 등록 정보를 반환합니다.