Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/landing/ui/form/dynamicblockform/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/landing/ui/form/dynamicblockform/dist/dynamicblockform.bundle.js

this.BX = this.BX || {};
this.BX.Landing = this.BX.Landing || {};
this.BX.Landing.UI = this.BX.Landing.UI || {};
(function (exports,main_core,landing_ui_form_baseform,landing_env,landing_loc) {
	'use strict';

	/**
	 * @memberOf BX.Landing.UI.Form
	 */

	var DynamicBlockForm = /*#__PURE__*/function (_BaseForm) {
	  babelHelpers.inherits(DynamicBlockForm, _BaseForm);

	  function DynamicBlockForm(options) {
	    var _this;

	    babelHelpers.classCallCheck(this, DynamicBlockForm);
	    _this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(DynamicBlockForm).call(this, options));
	    _this.type = options.type;
	    _this.forms = options.forms;
	    _this.code = options.code;
	    _this.onSourceChangeHandler = options.onSourceChange;
	    _this.dynamicParams = options.dynamicParams;
	    _this.settingFieldsSelectors = ['source'];

	    _this.addField(_this.createSourceField());

	    return _this;
	  }

	  babelHelpers.createClass(DynamicBlockForm, [{
	    key: "createSourceField",
	    value: function createSourceField() {
	      var _this2 = this;

	      var value = '';

	      if (main_core.Type.isPlainObject(this.dynamicParams) && main_core.Type.isPlainObject(this.dynamicParams.wrapper) && main_core.Type.isPlainObject(this.dynamicParams.wrapper.settings) && main_core.Type.isString(this.dynamicParams.wrapper.settings.source)) {
	        value = this.dynamicParams.wrapper.settings.source;
	      }

	      var source = DynamicBlockForm.getSourceById(value);

	      if (!source) {
	        var _DynamicBlockForm$get = DynamicBlockForm.getSources();

	        var _DynamicBlockForm$get2 = babelHelpers.slicedToArray(_DynamicBlockForm$get, 1);

	        source = _DynamicBlockForm$get2[0];
	      }

	      setTimeout(function () {
	        _this2.onSourceChangeHandler(source);
	      }, 0);
	      return new BX.Landing.UI.Field.Dropdown({
	        title: landing_loc.Loc.getMessage('LANDING_CARDS__SOURCE_FIELD_TITLE'),
	        selector: 'source',
	        content: value,
	        items: DynamicBlockForm.getSourceFieldItems(),
	        onValueChange: function onValueChange(field) {
	          _this2.onSourceChangeHandler(DynamicBlockForm.getSourceById(field.getValue()));
	        }
	      });
	    }
	  }, {
	    key: "serialize",
	    value: function serialize() {
	      return this.fields.reduce(function (acc, field) {
	        var value = field.getValue();

	        if (field.selector === 'source') {
	          acc.source = value;
	          acc.settings[field.selector] = value;
	        } else if (value === '@hide' || main_core.Type.isPlainObject(value) && value.id === '@hide') {
	          acc.references[field.selector] = '@hide';

	          if (main_core.Dom.hasClass(field.layout, 'landing-ui-field-dynamic-dropdown')) {
	            acc.stubs[field.selector] = '';
	          } else if (main_core.Dom.hasClass(field.layout, 'landing-ui-field-dynamic-image')) {
	            acc.stubs[field.selector] = {
	              id: -1,
	              src: 'data:image/gif;base64,R0lGODlhAQABAIAAAP',
	              alt: ''
	            };
	          }
	        } else if (DynamicBlockForm.isReference(value)) {
	          acc.references[field.selector] = {
	            id: value
	          };
	        } else if (main_core.Type.isPlainObject(value) && main_core.Type.isString(value.id)) {
	          acc.references[field.selector] = value;
	        } else {
	          acc.stubs[field.selector] = value;
	        }

	        return acc;
	      }, {
	        settings: {},
	        references: {},
	        stubs: {}
	      });
	    }
	  }], [{
	    key: "getSources",
	    value: function getSources() {
	      return landing_env.Env.getInstance().getOptions().sources;
	    }
	  }, {
	    key: "getSourceById",
	    value: function getSourceById(id) {
	      return DynamicBlockForm.getSources().find(function (source) {
	        return String(source.id) === String(id);
	      });
	    }
	  }, {
	    key: "getSourceFieldItems",
	    value: function getSourceFieldItems() {
	      return DynamicBlockForm.getSources().map(function (source) {
	        return {
	          name: source.name,
	          value: source.id
	        };
	      });
	    }
	  }, {
	    key: "isReference",
	    value: function isReference(value) {
	      var sources = DynamicBlockForm.getSources();

	      if (main_core.Type.isArray(sources)) {
	        return sources.some(function (source) {
	          if (main_core.Type.isArray(source.references)) {
	            return source.references.some(function (reference) {
	              return reference.id === value;
	            });
	          }

	          return false;
	        });
	      }

	      return false;
	    }
	  }]);
	  return DynamicBlockForm;
	}(landing_ui_form_baseform.BaseForm);

	exports.DynamicBlockForm = DynamicBlockForm;

}((this.BX.Landing.UI.Form = this.BX.Landing.UI.Form || {}),BX,BX.Landing.UI.Form,BX.Landing,BX.Landing));
//# sourceMappingURL=dynamicblockform.bundle.js.map