InfinniUI.extensionPanels.register¶
Регистрирует прикладные элементы.
Syntax¶
InfinniUI.extensionPanels.register(value)
Parameters¶
Name | Type | Description |
---|---|---|
value | Object | Параметры, необходимые для создания прикладного элемента. Является объектом с полями: name - идентификатор прикладного элемента, initialize - инициализация функции-конструктора:sup:1, render - функция построения прикладного элемента:sup:2. |
1 На вход получает параметры context и args. args является объектом с полями:
- $el - элемент выделенный под ExtensionPanel,
- parameters - параметры,
- builder - построитель элементов,
- itemTemplate - функция шаблонизации дочерних элементов,
- items - коллекция дочерних элементов.
2 Схематически данную функцию можно описать так:
render: function() {
var myElement;
// тут определяется myElement
args.$el.append(myElement);
}
Обратите внимание, что в методе render нужно самостоятельно делать вставку создаваемого элемента в требуемое место (выделенный под ExtensionPanel контейнер будет передан в функцию-конструктор в args.$el).
Returns¶
Метод не возвращает значений.
Examples¶
InfinniUI.extensionPanels.register( {
name: 'SuperPanelExtension',
initialize: function( context, args ) {
this.context = args.context;
this.$el = args.$el;
this.items = args.items;
this.itemTemplate = args.itemTemplate;
},
render: function() {
var that = this;
if( this.items == null ) {
return;
}
this.items.forEach( function(item, index) {
var item = that.itemTemplate(context, {index: index}),
$item = item.render(),
$div = $("<div>");
$div.addClass("my-super-class")
.append($item);
that.$el.append($div);
} );
}
} );
InfinniUI.extensionPanels.register( {
name: 'CaptchaExtension',
initialize: function( context, args ) {
this.context = args.context;
this.$el = args.$el;
this.parameters = args.parameters;
},
render: function() {
var $captcha = this.createCaptcha();
this.$el.append($captcha);
},
createCaptcha: function() {
// captcha creation
}
} );