Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/landing/ui/form/styleform/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/landing/ui/form/styleform/dist/styleform.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_ui_highlight,landing_ui_field_basefield,landing_env,landing_ui_component_internal) {
	'use strict';

	var _templateObject, _templateObject2, _templateObject3;
	function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
	function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
	function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
	function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }

	/**
	 * @memberOf BX.Landing.UI.Form
	 */
	var _styleFields = /*#__PURE__*/new WeakMap();
	var _toggleLinkedFields = /*#__PURE__*/new WeakSet();
	var _addReplaceByTemplateCard = /*#__PURE__*/new WeakSet();
	var StyleForm = /*#__PURE__*/function (_BaseForm) {
	  babelHelpers.inherits(StyleForm, _BaseForm);
	  function StyleForm() {
	    var _this;
	    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
	    babelHelpers.classCallCheck(this, StyleForm);
	    _this = babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(StyleForm).call(this, options));
	    _classPrivateMethodInitSpec(babelHelpers.assertThisInitialized(_this), _addReplaceByTemplateCard);
	    _classPrivateMethodInitSpec(babelHelpers.assertThisInitialized(_this), _toggleLinkedFields);
	    _classPrivateFieldInitSpec(babelHelpers.assertThisInitialized(_this), _styleFields, {
	      writable: true,
	      value: void 0
	    });
	    _this.setEventNamespace('BX.Landing.UI.Form.StyleForm');
	    _this.subscribeFromOptions(landing_ui_component_internal.fetchEventsFromOptions(options));
	    main_core.Dom.addClass(_this.layout, 'landing-ui-form-style');
	    _this.iframe = 'iframe' in options ? options.iframe : null;
	    _this.node = 'node' in options ? options.node : null;
	    _this.selector = 'selector' in options ? options.selector : null;
	    _this.collapsed = 'collapsed' in options ? options.collapsed : null;
	    _this.currentTarget = 'currentTarget' in options ? options.currentTarget : null;
	    _this.specialType = 'specialType' in options ? options.specialType : null;
	    babelHelpers.classPrivateFieldSet(babelHelpers.assertThisInitialized(_this), _styleFields, new Map());
	    _this.onHeaderEnter = _this.onHeaderEnter.bind(babelHelpers.assertThisInitialized(_this));
	    _this.onHeaderLeave = _this.onHeaderLeave.bind(babelHelpers.assertThisInitialized(_this));
	    _this.onHeaderClick = _this.onHeaderClick.bind(babelHelpers.assertThisInitialized(_this));
	    _this.prepareHeader();
	    main_core.Event.bind(_this.header, 'click', _this.onHeaderClick);
	    main_core.Event.bind(_this.header, 'mouseenter', _this.onHeaderEnter);
	    main_core.Event.bind(_this.header, 'mouseleave', _this.onHeaderLeave);
	    if (_this.iframe) {
	      _this.onFrameLoad();
	    }
	    if (_this.collapsed) {
	      main_core.Dom.addClass(_this.layout, 'landing-ui-form-style--collapsed');
	    }
	    if (_this.specialType && _this.specialType === 'crm_forms' && landing_env.Env.getInstance().getSpecialType() === 'crm_forms') {
	      _classPrivateMethodGet(babelHelpers.assertThisInitialized(_this), _addReplaceByTemplateCard, _addReplaceByTemplateCard2).call(babelHelpers.assertThisInitialized(_this));
	    }
	    return _this;
	  }
	  babelHelpers.createClass(StyleForm, [{
	    key: "onFrameLoad",
	    value: function onFrameLoad() {
	      if (!this.node) {
	        this.node = babelHelpers.toConsumableArray(this.iframe.document.querySelectorAll(this.selector));
	      }
	    }
	  }, {
	    key: "onHeaderEnter",
	    value: function onHeaderEnter() {
	      landing_ui_highlight.Highlight.getInstance().show(this.node);
	    } // eslint-disable-next-line class-methods-use-this
	  }, {
	    key: "onHeaderLeave",
	    value: function onHeaderLeave() {
	      landing_ui_highlight.Highlight.getInstance().hide();
	    } // eslint-disable-next-line class-methods-use-this
	  }, {
	    key: "onHeaderClick",
	    value: function onHeaderClick(event) {
	      event.preventDefault();
	      main_core.Dom.toggleClass(this.layout, 'landing-ui-form-style--collapsed');
	    }
	  }, {
	    key: "addField",
	    value: function addField(field) {
	      if (field) {
	        var _field$data;
	        var attrKey = field === null || field === void 0 ? void 0 : (_field$data = field.data) === null || _field$data === void 0 ? void 0 : _field$data.attrKey;
	        field.subscribe('onChange', this.onChange.bind(this));
	        field.subscribe('onInit', this.onInit.bind(this));
	        this.fields.add(field);
	        BX.Dom.append(field.layout, this.body);
	        if (attrKey) {
	          babelHelpers.classPrivateFieldGet(this, _styleFields).set(attrKey, field.getLayout());
	        }
	      }
	    }
	  }, {
	    key: "onChange",
	    value: function onChange(event) {
	      _classPrivateMethodGet(this, _toggleLinkedFields, _toggleLinkedFields2).call(this, event.getData());
	      this.emit('onChange');
	    }
	  }, {
	    key: "onInit",
	    value: function onInit(event) {
	      _classPrivateMethodGet(this, _toggleLinkedFields, _toggleLinkedFields2).call(this, event.getData());
	      this.emit('onInit');
	    }
	  }, {
	    key: "prepareHeader",
	    value: function prepareHeader() {
	      var headerText = BX.Dom.create({
	        tag: 'div',
	        props: {
	          classList: 'landing-ui-form-header-text'
	        }
	      });
	      if (this.header.childNodes) {
	        this.header.childNodes.forEach(function (childNode) {
	          BX.Dom.append(childNode, headerText);
	        });
	      }
	      BX.Dom.append(headerText, this.header);
	    }
	  }]);
	  return StyleForm;
	}(landing_ui_form_baseform.BaseForm);
	function _toggleLinkedFields2(fieldData) {
	  var _this2 = this;
	  // hide linked fields
	  if (fieldData.hide && main_core.Type.isArray(fieldData.hide)) {
	    fieldData.hide.map(function (attr) {
	      var layout = babelHelpers.classPrivateFieldGet(_this2, _styleFields).get(attr);
	      if (layout) {
	        BX.Dom.style(layout, 'display', 'none');
	      }
	      return null;
	    });
	  }

	  // show linked fields
	  if (fieldData.show && main_core.Type.isArray(fieldData.show)) {
	    fieldData.show.map(function (attr) {
	      var layout = babelHelpers.classPrivateFieldGet(_this2, _styleFields).get(attr);
	      if (layout) {
	        BX.Dom.style(layout, 'display', 'block');
	      }
	      return null;
	    });
	  }
	}
	function _addReplaceByTemplateCard2() {
	  var isMinisitesAllowed = landing_env.Env.getInstance().getOptions().allow_minisites;
	  var lockIcon = isMinisitesAllowed ? '' : main_core.Tag.render(_templateObject || (_templateObject = babelHelpers.taggedTemplateLiteral(["<span class=\"landing-ui-form-lock-icon\"></span>"])));
	  var button = main_core.Tag.render(_templateObject2 || (_templateObject2 = babelHelpers.taggedTemplateLiteral(["\n\t\t\t<span class=\"landing-ui-form-replace-by-templates-card-button ui-btn ui-btn-sm ui-btn-primary ui-btn-hover ui-btn-round\">\n\t\t\t\t", "\n\t\t\t\t", "\n\t\t\t</span>\n\t\t"])), main_core.Loc.getMessage('LANDING_REPLACE_BY_TEMPLATES_BUTTON'), lockIcon);
	  var card = main_core.Tag.render(_templateObject3 || (_templateObject3 = babelHelpers.taggedTemplateLiteral(["<div class=\"landing-ui-form-replace-by-templates-card\">\n\t\t\t<div class=\"landing-ui-form-replace-by-templates-card-title\">\n\t\t\t\t", "\n\t\t\t</div>\n\t\t\t", "\n\t\t</div>"])), main_core.Loc.getMessage('LANDING_REPLACE_BY_TEMPLATES_TITLE'), button);
	  main_core.Dom.insertBefore(card, this.header);
	  main_core.Event.bind(button, 'click', function () {
	    if (!isMinisitesAllowed) {
	      BX.UI.InfoHelper.show('limit_crm_forms_templates');
	      return;
	    }

	    // todo: migrate to new analytics?
	    var metrika = new BX.Landing.Metrika(true);
	    metrika.sendLabel(null, 'templateMarket', 'open&replaceLid=' + landingParams['LANDING_ID']);
	    var templatesMarketUrl = landingParams['PAGE_URL_LANDING_REPLACE_FROM_STYLE'];
	    if (templatesMarketUrl) {
	      BX.SidePanel.Instance.open(templatesMarketUrl, {
	        allowChangeHistory: false,
	        cacheable: false,
	        customLeftBoundary: 0
	      });
	    }
	  });
	}

	exports.StyleForm = StyleForm;

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