تطبيق الصيانة مدفوع إلى حد كبير بواسطة تكوين التطبيق والمخططات من واجهة برمجة التطبيقات. تتم قراءة المخططات مباشرة من 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.jssrc/config/field-config/field-order.jssrc/config/field-config/field-groups.js .src/config/field-overrides/ . افتح src/config/field-overrides/index.js ، واستيراد الملف الذي تم إنشاؤه حديثًا وإضافته إلى كائن overridesByType .src/config/field-overrides/newType.js ) ، ابدأ في إضافة التخصيصات للحقول التي تتطلب ذلك. يتضمن هذا عادة إنشاء مكونات جديدة و/أو تجاوز خصائص حقل معينة. انظر إلى تجاوزات الحقل الحالي للأمثلة.** string ** في واجهة المستخدم تفتقر إلى الترجمات. سوف تحتاج إلى إضافتها إلى ملفات الترجمات الموجودة في src/i18n/ . يتم إنشاء بعض السلاسل ديناميكيًا وقد تظهر فقط في مواقف معينة ، على سبيل المثال عند محاولة حذف نموذج. ملاحظة: يجب أن يتغير سير عمل الترجمة في مرحلة ما إلى استخدام I18NEXT لصالح d2.i18n . تتطلب بعض النماذج التخصيص بما يتجاوز ما هو ممكن باستخدام تجاوزات التكوين والحقل. في هذه الحالات ، قد يكون من الضروري إنشاء مكون جديد للمستوى العلوي وربط هذا المكون بطريق خاص في src/router.js
تشمل أمثلة هذا النهج:
src/EditModel/event-program/EditEventProgram.component.jssrc/EditModel/EditDataEntryForm.component.js