تكوين ترتيب المجموعات في إعدادات مكون الثيم

لقد طُلب مني خيار لتكوين ترتيب صناديق البريد الواردة للمجموعات في قسم الشريط الجانبي الذي يضيفه المكون الخاص بي. والآن أبحث عن حل أنيق يسمح للمسؤول بتكوين الترتيب بأسهل طريقة ممكنة.

لقد فكرت في إعداد من نوع كائن بسيط جدًا. سيحتوي كل إدخال على محدد مجموعة واحد فقط (عبر نوع الإعداد 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”، ولكن من الصعب جدًا إعادة ترتيب العناصر هناك، حيث يمكنك فقط حذفها وإعادة إضافتها.

هل لدى أي شخص أفكار حول أفضل طريقة لحل هذه المشكلة؟