defineView() لتضمين عروض مُهيّأة مسبقًا مع تطبيقك.
يتلقى كل كيان (object) تلقائيًا عرض قائمة رئيسي خاص به (جدول “All …” الذي يفتحه عنصر التنقل OBJECT) يتم توفيره من الخادم — بما في ذلك الكيانات التي ينشئها تطبيقك، مع عمود واحد لكل حقل يعرّفه تطبيقك. تكون العروض (views) التي تعرّفها باستخدام defineView() دائمًا عروضا إضافية فوق ذلك العرض الافتراضي.
src/views/example-view.ts
النقاط الرئيسية
objectUniversalIdentifierيحدّد الكائن الذي ينطبق عليه هذا العرض. يمكن أن يكون كائنًا مخصصًا قمتَ بتعريفه أو كائن Twenty قياسيًا.- إن عرض القائمة الرئيسي للكائن مملوك من قبل الخادم: تم إهمال
keyويتم تجاهله، لذا لا يمكن لعرض البيان المطالبة به مطلقًا. أضف عنصر تنقلVIEWإذا كنت تريد أن يكون عرضك على بعد نقرة واحدة في الشريط الجانبي. - يتحكّم
fieldsفي الأعمدة التي تظهر وترتيبها. يشير كل حقل إلىfieldMetadataUniversalIdentifier. للإشارة إلى حقل نظام يتم إنشاؤه تلقائيًا مثلcreatedAt، راجع قسم استهداف بيانات النظام الوصفية. - يمكنك أيضًا تعريف
filtersوfilterGroupsوsortsوgroupsوfieldGroupsلتكوينات أكثر تقدمًا. - يتحكّم
positionفي الترتيب عند وجود عدة عروض لنفس الكائن.
الخصائص الاختيارية
يتم تصدير جميع التعدادات أعلاه من
twenty-sdk/define.
الفلاتر
يمكن أن تأتي طريقة العرض مع عوامل تصفية مُطبَّقة مسبقًا. لكل عامل تصفية ثلاثة مكونات: الحقل الذي تُطبَّق عليه التصفية، والمعامل (كيفية المقارنة)، والقيمة (ما تتم المقارنة به). يجب أن تتطابق العناصر الثلاثة جميعًا — حيث سيتم رفض استخدام معامل لا ينطبق على نوع الحقل في وقت المزامنة.المعاملات المدعومة حسب نوع الحقل
يمكن لأنواع الحقول ذات الأسماء المتشابهة أن تستخدم عوامل مختلفة تمامًا — حيث يُعدSELECTوMULTI_SELECTحالة شائعة.
شكل القيمة لكل عامل
حقلvalue هو دائمًا قيمة قابلة للتسلسل إلى JSON، لكن شكله المتوقَّع يعتمد على العامل:
كيفية ظهور العروض في واجهة المستخدم
لا يمكن الوصول إلى العرض بمفرده من الشريط الجانبي. لجعله يظهر هناك، قم بربطه مع عنصر قائمة تنقّل من النوعVIEW يشير إلى قيمة universalIdentifier الخاصة بالعرض. هذا هو النمط القياسي: يحصل كل كائن مخصص على عرض فهرس افتراضي يُنشأ تلقائيًا عند الإنشاء، لذا لا يلزمك سوى تضمين عنصر الشريط الجانبي الذي يفتحه.