%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/js/landing/ui/form/ |
Current File : /home/bitrix/www/bitrix/js/landing/ui/form/base_form.min.js |
(function(){"use strict";BX.namespace("BX.Landing.UI.Form");var t=BX.Landing.Utils.append;var i=BX.Landing.Utils.clone;BX.Landing.UI.Form.BaseForm=function(t){this.data=BX.type.isPlainObject(t)?t:{};this.id="id"in this.data?this.data.id:"";this.selector="selector"in this.data?this.data.selector:"";this.title="title"in this.data?this.data.title:"";this.label="label"in this.data?this.data.label:"";this.type="type"in this.data?this.data.type:"content";this.descriptionText="description"in this.data?this.data.description:"";this.layout=BX.Landing.UI.Form.BaseForm.createLayout();this.fields=new BX.Landing.Collection.BaseCollection;this.description=BX.Landing.UI.Form.BaseForm.createDescription();this.header=BX.Landing.UI.Form.BaseForm.createHeader();this.body=BX.Landing.UI.Form.BaseForm.createBody();this.footer=BX.Landing.UI.Form.BaseForm.createFooter();this.header.innerHTML=this.title;this.layout.appendChild(this.header);if(this.descriptionText){this.description.innerHTML=this.descriptionText;this.layout.appendChild(this.description)}this.layout.appendChild(this.body);this.layout.appendChild(this.footer)};BX.Landing.UI.Form.BaseForm.createLayout=function(){return BX.create("div",{props:{className:"landing-ui-form"}})};BX.Landing.UI.Form.BaseForm.createHeader=function(){return BX.create("div",{props:{className:"landing-ui-form-header"}})};BX.Landing.UI.Form.BaseForm.createDescription=function(){return BX.create("div",{props:{className:"landing-ui-form-description"}})};BX.Landing.UI.Form.BaseForm.createBody=function(){return BX.create("div",{props:{className:"landing-ui-form-body"}})};BX.Landing.UI.Form.BaseForm.createFooter=function(){return BX.create("div",{props:{className:"landing-ui-form-footer"}})};BX.Landing.UI.Form.BaseForm.prototype={addField:function(t){this.fields.add(t);this.body.appendChild(t.getNode())},getNode:function(){return this.layout},addCard:function(i){t(i.layout,this.body);i.fields.forEach(function(t){this.fields.add(t)},this)},clone:function(t){var e=new this.constructor(i(t||this.data));this.fields.forEach(function(t){var a=i(t.data);delete a.content;a.selector=e.selector;e.addField(t.clone())});return e},serialize:function(){var t={};this.fields.forEach(function(i){t[i.selector]=i.getValue()});return t}}})();