2016-04-05 16 views
0

this jsfiddle example gibi bir şey yapmak istiyorum, sol panel özelliklerine bazı özel öznitelikleri koymam gerekiyor. Ben benzer yapmaya çalıştı ama alanAlloyUI form oluşturucuya nasıl özel özellikler eklenir?

YUI().use('aui-form-builder',function (Y) { 

Y.MyFormCustom = Y.Component.create ({ ADI sürükleyemezsiniz Aşağıda: 'form-düğüm',

 ATTRS: { 
      type: { 
       value: 'custom' 
      }, 
      customAttr: { 
       validator: Y.Lang.isString, 
       value: 'A Custom default' 
      } 
     }, 

     EXTENDS: Y.FormBuilderFieldBase, 

     prototype: { 
      getPropertyModel: function() { 
       var instance = this; 

       var model = Y.FormBuilderFieldBase.superclass.getPropertyModel.apply(instance, arguments); 

       model.push({ 
        attributeName: 'customAttr', 
        name: 'Custom Attribute' 
       }); 

       return model; 
      } 
     } 
    }); 

    Y.FormBuilder.types['custom'] = Y.MyFormCustom; 

    var availableFields = [ 
    { 
    iconClass: 'form-builder-field-icon-button', 
    label: 'Button', 
    type: 'custom' 
    } 
    ]; 

    myform= new Y.FormBuilder({ 
     availableFields: availableFields, 
     boundingBox: '#myHolder' 
    }).render(); 

ı don Form neden görünmediğini 't. Herhangi bir yardım takdir edilecektir biliyorum.

+0

Bu sizin özel öğe devralan sınıf genişletilmelidir. Yukarıdaki kodda ** EXTENDS: Y.FormBuilderFieldBase ** sonra ** mevcutFields ** _type_ bir giriş türü alan öğesi olmalıdır – geo007us

cevap

0

Kişisel örnek bana çok yardımcı olmuştur Ayrıca Form Builder alanlarını genişletmek için gerekliydi.

düzeltme için Yukarıdaki basittir. satırını değiştirin :

Y.FormBuilderField.types['custom'] = Y.MyFormCustom; 

tarafından

Y.FormBuilder.types['custom'] = Y.MyFormCustom; 

Bu çözüm Alaşım UI API bulunan kaynak kodundan esinlenmiştir. bakınız linki: AlloyUI Form Builder

Alkış

İlgili konular