الحد الأدنى لمستوى القسم / الفئة الفرعية للنشر في موضوع

استخدمنا الـ API لتعديل وحدة تحكم محرر المنشور وإضافة خطأ إليها. لا أملك أحدث إصدار من الكود بين يدي، لكنه كان شبيهاً بهذا:

var computed = require("ember-addons/ember-computed-decorators").default;
api.modifyClass('controller:composer',
    {
      save(opts) {
        var categoryNb = $('.category-input .category-chooser .selected-name > span').length;
        if((categoryNb !== 0 && categoryNb < 2)  ) {
            this.set("lastValidatedAt", Date.now());
            return false;
        }
        return this._super(opts);
      },
      @computed("model.categoryId", "lastValidatedAt")
      categoryValidation(categoryId, lastValidatedAt) {
          var InputValidation = require("discourse/models/input-validation").default;
          var categoryNb = $('.category-input .category-chooser .selected-name > span').length;
          if( (categoryNb !== 0 && categoryNb < 2)  ) {
              return InputValidation.create({
                  failed: true,
                  reason: 'You need to select a subcategory',
                  lastShownAt: lastValidatedAt
                });
          } else {
              return this._super(categoryId, lastValidatedAt);
          }
      }
  }
);

باختصار، يبحث هذا الكود ببساطة في عدد العناصر في إدخال الفئة، ويُصدر خطأً إذا كان العدد واحداً أو صفراً. فالفئة الفرعية ستحتوي دائماً على عنصرين ‘<PARENT><CHILD>’. في هذا الإصدار من المقطع الذي كان معي، تم ذلك عبر مكتبة jQuery. وأعتقد أن هناك استدعاءً آخر للـ API للحصول على عمق الفئة.