maintenance app
v32.33.5
유지 보수 앱은 주로 API의 앱 구성과 Schemas에 의해 주도됩니다. 스키마는 API (D2)에서 직접 읽습니다. 다음은 앱 구성을 문서화합니다.
src/config/ ... 내에서 ...maintenance-models.js 앱에 표시된 모델 유형을 정의합니다.field-config/ 각 모델 유형에 대한 구성을 포함합니다field-order.js 각 모델 유형에 대한 양식 내 필드 순서를 정의합니다.field-groups.js 각 모델의 양식에 대한 필드 그룹화를 정의합니다. 이것은 현재 프로그램에만 사용되지만 다른 모델 유형으로 확장하는 것이 좋습니다.field-overrides/ 에는 비표준 동작이 필요한 필드에 대한 추가 구성이 포함되어 있습니다. 가장 일반적으로 이것은 특수 구성 요소가 필요한 필드를 의미합니다.index.js 하나 이상의 필드 오버라이드가있는 모든 모델을 나열합니다.index.js 로 가져옵니다. 많은 논리가 필요한 일부 모델 유형 또는 필드는 서브 폴더로 분리됩니다.inlinehelp-mapping.json 각 섹션/모델 유형에서 문서의 페이지로 매핑을 지정합니다.field-rules.js 에는 다른 필드의 값에 따라 필드를 표시하거나 숨기거나 필드 값을 설정하는 데 사용할 수있는 조건부 로직이 포함되어 있습니다.periodTypes.json 에는 현재 API의 버전에서 지원되는 기간 유형 목록이 포함되어 있습니다.disabled-on-edit/ 객체를 편집 할 때 항상 읽기 전용으로 표시되는 필드를 나열하는 파일을 포함합니다.index.js 각 관련 모델의 이름을 따서 명명 된 파일에서 필드 이름 목록을 가져옵니다.레코드의 경우 "스키마"및 "모델 유형"은 본질적으로 동일 하며이 용어는 유지 보수 앱과 다른 곳에서 상호 교환 적으로 사용됩니다. 스키마는 API에 의해 노출되지만 모든 모델 유형이 스키마에 나열되는 것은 아닙니다. 혼란에 추가하기 위해 "모델"도 "객체"라고도합니다.
유지 보수 앱에 모델 유형이 나타나려면 다음 조건을 충족해야합니다.
src/config/maintenance-models.js 의 섹션 아래에 나열되어 있습니다. 이러한 조건이 충족되면 maintenance-models.js 에 지정된 섹션의 유지 보수 앱에 모델 유형이 표시됩니다. 새 유형의 모델을 작성하거나 편집 할 때 양식에는 기본적으로 사전 정의 된 필드 만 포함됩니다. 추가 필드를 양식으로 표시하려면 다음과 같은 조건을 충족해야합니다.
src/config/field-config/field-order.js 의 모델 유형 아래에 나열되어 있습니다.유지 보수에 새 모델을 추가하려면 일반적으로 다음 단계가 필요합니다.
src/config/maintenance-models.js 에 추가하십시오src/config/field-config/field-order.js 에 추가하십시오.src/config/field-config/field-groups.js 로 지정할 수 있습니다.src/config/field-overrides/ 에서 새 모델 유형의 이름을 따서 명명 된 새 파일을 만듭니다. src/config/field-overrides/index.js 열고 새로 생성 된 파일을 가져 와서 The overridesByType 객체에 추가하십시오.src/config/field-overrides/newType.js ) 내에서 필요한 필드에 대한 사용자 정의 추가를 시작하십시오. 여기에는 일반적으로 새로운 구성 요소를 작성하거나 특정 필드 속성을 재정의하는 것이 포함됩니다. 기존 필드 재정의 예를보십시오.** string ** 로 표시되는 문자열에는 번역이 없습니다. src/i18n/ 에 위치한 번역 파일에 추가해야합니다. 일부 문자열은 동적으로 생성되며 예를 들어 모델을 삭제하려고 할 때 특정 상황에서만 나타날 수 있습니다. 참고 : 번역 워크 플로우는 어느 시점에서 d2.i18n 선호하여 i18next를 사용하는 것으로 변경해야합니다. 특정 모델에는 구성 및 필드 재정의를 사용하여 가능한 것 이상의 사용자 정의가 필요합니다. 이 경우 새로운 최상위 구성 요소를 생성하고 해당 구성 요소를 src/router.js 의 특수 경로와 연결해야 할 수도 있습니다.
이 접근법의 예에는 다음이 포함됩니다.
src/EditModel/event-program/EditEventProgram.component.jssrc/EditModel/EditDataEntryForm.component.js