لقد طُلب مني خيار لتكوين ترتيب صناديق البريد الواردة للمجموعات في قسم الشريط الجانبي الذي يضيفه المكون الخاص بي. والآن أبحث عن حل أنيق يسمح للمسؤول بتكوين الترتيب بأسهل طريقة ممكنة.
لقد فكرت في إعداد من نوع كائن بسيط جدًا. سيحتوي كل إدخال على محدد مجموعة واحد فقط (عبر نوع الإعداد groups)، وهو أسهل بكثير من إدخال الأسماء أو المعرفات يدويًا. يمكن بعد ذلك إعادة ترتيب العناصر باستخدام الأسهم لأعلى/لأسفل.
هذا ما كان يدور في ذهني:
ولكن في الواقع، يبدو الأمر أشبه بهذا:
قائمة المجموعات المنسدلة نفسها تعمل بشكل جيد. على الرغم من أن الإعداد يخزن معرف المجموعة، يرى المسؤولون اسم المجموعة في القائمة المنسدلة، لذا فإن تحديد المجموعة الصحيحة أمر سهل. ومع ذلك، عندما أستخدم قيمة group كمعرّف لإدخال الكائن، يعرض واجهة المستخدم معرف المجموعة فقط، وليس اسم المجموعة. هذا يجعل تغيير الترتيب صعبًا، لأن المسؤولين سيعتمدون على المعرفات بدلاً من الأسماء.
(أيضًا، هناك مساحة كبيرة على اليمين، لكن “groups” لا تزال تنكسر بشكل غريب.)
setting.yml
group_inbox_order:
type: objects
default: []
schema:
name: entry
identifier: group
properties:
group:
type: groups
required: true
max: 1
في الفيديو أعلاه، أضفت إعداد نص إضافي لكل إدخال حيث أدخلت اسم المجموعة يدويًا واستخدمت ذلك كمعرّف. ولكن هذا لا يبدو حلاً جيدًا، لأن النص المعروض لم يعد مرتبطًا بالمجموعة الفعلية، وقد تتغير أسماء المجموعات.
setting.yml
group_inbox_order:
type: objects
default: []
schema:
name: entry
identifier: text
properties:
group:
type: groups
required: true
max: 1
text:
type: string
يمكنني أيضًا استخدام إعداد قائمة من نوع “group”، ولكن من الصعب جدًا إعادة ترتيب العناصر هناك، حيث يمكنك فقط حذفها وإعادة إضافتها.
هل لدى أي شخص أفكار حول أفضل طريقة لحل هذه المشكلة؟

