Your IP : 52.14.195.165


Current Path : /home/bitrix/ext_www/coffe.land/bitrix/js/landing/
Upload File :
Current File : /home/bitrix/ext_www/coffe.land/bitrix/js/landing/block.min.js

(function(){"use strict";BX.namespace("BX.Landing");var t=BX.Landing.Utils.deepFreeze;var e=BX.Landing.Utils.style;var n=BX.Landing.Utils.insertAfter;var i=BX.Landing.Utils.insertBefore;var s=BX.Landing.Utils.append;var a=BX.Landing.Utils.isPlainObject;var o=BX.Landing.Utils.isBoolean;var r=BX.Landing.Utils.isNumber;var d=BX.Landing.Utils.isString;var l=BX.Landing.Utils.isArray;var c=BX.Landing.Utils.isEmpty;var h=BX.Landing.Utils.addClass;var u=BX.Landing.Utils.removeClass;var f=BX.Landing.Utils.hasClass;var g=BX.Landing.Utils.toggleClass;var p=BX.Landing.Utils.create;var m=BX.Landing.Utils.debounce;var v=BX.Landing.Utils.throttle;var B=BX.Landing.Utils.fireCustomEvent;var b=BX.Landing.Utils.onCustomEvent;var y=BX.Landing.Utils.bind;var L=BX.Landing.Utils.unbind;var k=BX.Landing.Utils.getClass;var C=BX.Landing.Utils.rect;var I=BX.Landing.Utils.setTextContent;var E=BX.Landing.Utils.translateY;var X=BX.Landing.Utils.nextSibling;var T=BX.Landing.Utils.prevSibling;var _=BX.Landing.Utils.join;var N=BX.Landing.Utils.slice;var A=BX.Landing.Utils.decodeDataValue;var O=BX.Landing.Utils.encodeDataValue;var S=BX.Landing.Utils.data;var w=BX.Landing.Utils.attr;var U=BX.Landing.Utils.removePanels;var P=BX.Landing.Utils.getCSSSelector;var D=BX.Landing.Utils.remove;var F=BX.Landing.Utils.clone;var M=BX.Landing.Utils.trim;var x=BX.Landing.Utils.prepend;var j=BX.Landing.Utils.random;var R=BX.Landing.Utils.htmlToElement;var V=BX.Landing.Utils.proxy;var G=BX.Landing.Utils.escapeText;var q=BX.Landing.Utils.isValidElementId;var H=BX.Landing.Collection.BaseCollection;var K=BX.Landing.Collection.NodeCollection;var W=BX.Landing.UI.Collection.FormCollection;var z=BX.Landing.Collection.CardCollection;var Y=BX.Landing.UI.Collection.PanelCollection;var J=BX.Landing.UI.Panel.BaseButtonPanel;var Q=BX.Landing.UI.Panel.CardAction;var Z=BX.Landing.UI.Panel.ContentEdit;var $=BX.Landing.UI.Button.BaseButton;var tt=BX.Landing.UI.Button.Action;var et=BX.Landing.UI.Button.Plus;var nt=BX.Landing.UI.Button.CardAction;var it=BX.Landing.UI.Factory.StyleFactory;var st=BX.Landing.UI.Form.BaseForm;var at=BX.Landing.UI.Form.StyleForm;var ot=BX.Landing.UI.Form.CardForm;var rt=BX.Landing.UI.Form.CardsForm;var dt=BX.Landing.Group;var lt=BX.Landing.Event.Block;var ct=BX.Landing.UI.Card.TabCard;var ht=BX.Landing.UI.Tool.Menu;var ut=BX.Landing.Backend.getInstance();var ft="D";var gt="V";var pt="W";var mt="X";function vt(t){var e=BX.Landing.Main.getInstance();return e.options.style["bitrix"]["style"][t]}function Bt(t){var e=BX.Landing.Main.getInstance();return t in e.options.style["bitrix"]["group"]}function bt(t){var e=BX.Landing.Main.getInstance();return e.options.style["bitrix"]["group"][t]}function yt(t){if(!!t){if(!t.loader){t.loader=new BX.Loader({target:t.layout,size:16});void e(t.loader.layout.querySelector(".main-ui-loader-svg-circle"),{"stroke-width":"4px"})}t.loader.show();h(t.text,"landing-ui-hide-icon")}}function Lt(t){if(!!t){if(t.loader){t.loader.hide();u(t.text,"landing-ui-hide-icon")}}}function kt(t){return!!t&&t.includes("@")}BX.Landing.Block=function(e,n){this.node=e;this.parent=e.parentElement;this.content=e.firstElementChild;this.siteId=S(e.parentElement,"data-site");this.lid=S(e.parentElement,"data-landing");this.id=r(parseInt(n.id))?parseInt(n.id):0;this.selector=_("#block",r(n.id)?n.id:0," > :first-child");this.active=o(n.active)?n.active:true;this.manifest=a(n.manifest)?n.manifest:{};this.manifest.nodes=a(n.manifest.nodes)?n.manifest.nodes:{};this.manifest.cards=a(n.manifest.cards)?n.manifest.cards:{};this.manifest.attrs=a(n.manifest.attrs)?n.manifest.attrs:{};this.onStyleInputWithDebounce=m(this.onStyleInput,300,this);this.changeTimeout=null;this.access=n.access;this.anchor=n.anchor;this.requiredUserActionOptions=n.requiredUserAction;this.nodes=new K;this.cards=new z;this.panels=new Y;this.groups=new H;this.changedNodes=new H;this.styles=new H;this.forms=new W;if(a(this.requiredUserActionOptions)&&!c(this.requiredUserActionOptions)){this.showRequiredUserAction(this.requiredUserActionOptions);this.requiredUserActionIsShown=true}this.onEditorEnabled=this.onEditorEnabled.bind(this);this.onEditorDisabled=this.onEditorDisabled.bind(this);this.adjustPanelsPosition=this.adjustPanelsPosition.bind(this);this.onMouseMove=this.onMouseMove.bind(this);this.onStorage=this.onStorage.bind(this);this.onBlockRemove=this.onBlockRemove.bind(this);this.onBlockInit=this.onBlockInit.bind(this);t(this.manifest);this.node.classList[this.active?"remove":"add"]("landing-block-disabled");this.state="ready";this.initPanels();this.initStyles();this.adjustContextSensitivityStyles();top.BX.Landing.Block.storage.push(this);var i={};if(this.requiredUserActionIsShown){i.requiredUserActionIsShown=true;i.layout=this.node.firstElementChild;i.button=this.node.firstElementChild.querySelector(".ui-btn")}B(window,"BX.Landing.Block:init",[this.createEvent({data:i})]);b("BX.Landing.Editor:enable",this.onEditorEnabled);b("BX.Landing.Editor:disable",this.onEditorDisabled);b("BX.Landing.Block:afterRemove",this.onBlockRemove);b("BX.Landing.Block:init",this.onBlockInit);y(this.node,"mousemove",this.onMouseMove);y(this.node,"keydown",this.adjustPanelsPosition);y(top,"storage",this.onStorage)};BX.Landing.Block.storage=new BX.Landing.Collection.BlockCollection;BX.Landing.Block.prototype={onMouseMove:function(){if(this.state==="ready"){L(this.node,"mousemove",this.onMouseMove);this.initEntities();this.lazyInitPanels();this.state="complete"}},showRequiredUserAction:function(t){this.node.innerHTML='<div class="landing-block-user-action">'+'<div class="landing-block-user-action-inner">'+(t.header?"<h3>"+'<i class="fa fa-exclamation-triangle g-mr-15"></i>'+t.header+"</h3><hr>":"")+(t.description?"<p>"+t.description+"</p>":"")+((t.href||t.onClick||t.className)&&t.text?"<div>"+'<a href="'+t.href+'" class="ui-btn '+t.className+'">'+t.text+"</a>"+"</div>":"")+"</div>"+"</div>";if(t.onClick){var e=this.node.querySelector(".landing-block-user-action .ui-btn");y(e,"click",function(e){e.preventDefault();try{BX.evalGlobal(t.onClick)}catch(t){console.error(t)}})}},disableLinks:function(){var t="a:not([class*='landing-ui']):not(.landing-trusted-link), .btn:not([class*='landing-ui']):not(.landing-trusted-link), button:not([class*='landing-ui']):not(.landing-trusted-link), input:not([class*='landing-ui'])";var e=N(this.content.querySelectorAll(t));e.forEach(function(t){var e=this.nodes.some(function(e){return e.node.contains(t)});if(!this.nodes.getByNode(t)&&!e){t.style.pointerEvents="none"}},this)},adjustContextSensitivityStyles:function(){if(f(this.parent,"landing-sidebar")){if(!f(this.content,"landing-adjusted")){var t=Object.keys(this.manifest.style.nodes);var e=t.filter(function(t){return!!this.manifest.style.nodes[t].type&&this.manifest.style.nodes[t].type.indexOf("columns")!==-1},this);if(c(e)){return}var n=vt("columns");e.forEach(function(t){var e=this.styles.get(t);if(e){e.setValue("col-lg-12",n.items)}},this);var i=this.styles.get(this.selector);if(i){i.setValue("landing-adjusted",["landing-adjusted"])}this.saveStyles()}}},forceInit:function(){this.onMouseMove()},createEvent:function(t){return new lt({block:this.node,node:!!t&&!!t.node?t.node:null,card:!!t&&!!t.card?t.card:null,data:!!t&&t.data||{},onForceInit:this.forceInit.bind(this)})},initEntities:function(){this.initCards();this.initNodes();this.initGroups();this.initCardsLabels();this.disableLinks()},initCardsLabels:function(){this.cards.forEach(function(t){t.label=this.createCardLabel(t.node,t.manifest)},this)},initGroups:function(){var t=[];var e=a(this.manifest.groups)?this.manifest.groups:{};this.nodes.forEach(function(e){if(d(e.manifest.group)&&!t.includes(e.manifest.group)){t.push(e.manifest.group)}});t.forEach(function(t){var n=this.nodes.filter(function(e){return e.manifest.group===t}).reduce(function(t,e){var n=parseInt(e.selector.split("@")[1]);if(!t[n]){t[n]=new K}t[n].push(e);return t},{});Object.keys(n).forEach(function(i){this.groups.add(new dt({id:t,name:e[t],nodes:n[i],onClick:this.onGroupClick.bind(this)}))},this)},this)},onGroupClick:function(t){if(!BX.Landing.UI.Panel.StylePanel.getInstance().isShown()){this.showContentPanel({name:t.name,nodes:t.nodes,compact:true,nodesOnly:true,showAll:true})}},initPanels:function(){if(!this.panels.get("create_action")){var t=new J("create_action","landing-ui-panel-create-action");t.addButton(new et("insert_after",{text:BX.message("ACTION_BUTTON_CREATE"),onClick:v(this.addBlockAfterThis,600,this)}));t.show();this.addPanel(t);t.buttons[0].on("mouseover",this.onCreateButtonMouseover.bind(this));t.buttons[0].on("mouseout",this.onCreateButtonMouseout.bind(this))}},isLastChildInArea:function(){return this.parent.querySelector("[class*='block-wrapper']:last-of-type")===this.node},onCreateButtonMouseover:function(){if(this.isLastChildInArea()||f(this.parent,"landing-header")||f(this.parent,"landing-footer")){var t=BX.Landing.Main.getInstance().getLayoutAreas();if(t.length>1){var e=this.panels.get("create_action");var n=e.buttons.get("insert_after");switch(true){case f(this.parent,"landing-main"):n.setText([BX.message("ACTION_BUTTON_CREATE"),BX.message("LANDING_ADD_BLOCK_TO_MAIN")].join(" "));break;case f(this.parent,"landing-header"):n.setText([BX.message("ACTION_BUTTON_CREATE"),BX.message("LANDING_ADD_BLOCK_TO_HEADER")].join(" "));break;case f(this.parent,"landing-sidebar"):n.setText([BX.message("ACTION_BUTTON_CREATE"),BX.message("LANDING_ADD_BLOCK_TO_SIDEBAR")].join(" "));break;case f(this.parent,"landing-footer"):n.setText([BX.message("ACTION_BUTTON_CREATE"),BX.message("LANDING_ADD_BLOCK_TO_FOOTER")].join(" "));break}clearTimeout(this.fadeTimeout);this.fadeTimeout=setTimeout(function(){h(this.parent,"landing-area-highlight");t.forEach(function(t){if(t!==this.parent){h(t,"landing-area-fade")}},this)}.bind(this),400)}}},onCreateButtonMouseout:function(){clearTimeout(this.fadeTimeout);if(this.isLastChildInArea()||f(this.parent,"landing-header")||f(this.parent,"landing-footer")){var t=BX.Landing.Main.getInstance().getLayoutAreas();if(t.length>1){var e=this.panels.get("create_action").buttons[0];e.setText(BX.message("ACTION_BUTTON_CREATE"));u(this.parent,"landing-area-highlight");t.forEach(function(t){u(t,"landing-area-fade")},this)}}},lazyInitPanels:function(){var t=BX.Landing.Main.getInstance().options.placements.blocks;if(!this.panels.contains("content_actions")&&!this.requiredUserActionIsShown&&(a(this.manifest.nodes)&&!c(this.manifest.nodes)||a(this.manifest.style)&&!c(this.manifest.style)||a(t)&&!c(t))){var e=new J("content_actions","landing-ui-panel-content-action");e.addButton(new tt("collapse",{html:"<span class='fa fa-caret-right'></span>",onClick:this.onCollapseActionPanel.bind(this),attrs:{title:BX.message("LANDING_TITLE_OF_BLOCK_ACTION_COLLAPSE")}}));if(a(this.manifest.nodes)||a(this.manifest.attrs)){e.addButton(new tt("content",{text:BX.message("ACTION_BUTTON_CONTENT"),onClick:this.onShowContentPanel.bind(this),disabled:this.access<pt||c(this.manifest.nodes)&&c(this.manifest.attrs),attrs:{title:BX.message("LANDING_TITLE_OF_BLOCK_EDIT")}}))}if(a(this.manifest.style)){e.addButton(new tt("style",{text:BX.message("ACTION_BUTTON_STYLE"),onClick:this.onStyleShow.bind(this),disabled:this.access<gt||c(this.manifest.style),attrs:{title:BX.message("LANDING_TITLE_OF_BLOCK_DESIGN")}}))}if(a(t)&&(this.manifest.code in t||t["*"])){var n=[];if(this.manifest.code in t){Object.keys(t[this.manifest.code]).forEach(function(e){n.push(t[this.manifest.code][e])},this)}if(t["*"]){Object.keys(t["*"]).forEach(function(e){n.push(t["*"][e])},this)}if(n.length){e.addButton(new tt("actions",{html:BX.message("ACTION_BUTTON_CONTENT_MORE"),onClick:this.onPlacementButtonClick.bind(this,n)}))}h(e.buttons.get("style").layout,"landing-ui-no-rounded")}if(a(this.manifest.style)){var i=new tt("block_display_info",{html:"&nbsp;"});y(i.layout,"mouseenter",this.onBlockDisplayMouseenter.bind(this));y(i.layout,"mouseleave",this.onBlockDisplayMouseleave.bind(this));e.addButton(i)}e.show();this.addPanel(e)}if(!this.panels.get("block_action")){var s=new J("block_action","landing-ui-panel-block-action");var o=this.getBlockFromRepository(this.manifest.code);if(o&&o.restricted){var r=new tt("restricted",{html:"&nbsp;",className:"landing-ui-block-restricted-button",onClick:this.onRestrictedButtonClick.bind(this)});y(r.layout,"mouseenter",this.onRestrictedButtonMouseenter.bind(this));y(r.layout,"mouseleave",this.onRestrictedButtonMouseleave.bind(this));s.addButton(r)}s.addButton(new tt("down",{html:BX.message("ACTION_BUTTON_DOWN"),onClick:this.moveDown.bind(this),attrs:{title:BX.message("LANDING_TITLE_OF_BLOCK_ACTION_SORT_DOWN")}}));s.addButton(new tt("up",{html:BX.message("ACTION_BUTTON_UP"),onClick:this.moveUp.bind(this),attrs:{title:BX.message("LANDING_TITLE_OF_BLOCK_ACTION_SORT_UP")}}));s.addButton(new tt("actions",{html:BX.message("ACTION_BUTTON_ACTIONS"),onClick:this.showBlockActionsMenu.bind(this),attrs:{title:BX.message("LANDING_TITLE_OF_BLOCK_ACTION_ADDITIONAL_ACTIONS")}}));s.addButton(new tt("remove",{html:BX.message("ACTION_BUTTON_REMOVE"),disabled:this.access<mt,onClick:this.deleteBlock.bind(this),attrs:{title:BX.message("LANDING_TITLE_OF_BLOCK_ACTION_REMOVE")}}));s.addButton(new tt("collapse",{html:"<span class='fa fa-caret-right'></span>",onClick:this.onCollapseActionPanel.bind(this),attrs:{title:BX.message("LANDING_TITLE_OF_BLOCK_ACTION_COLLAPSE")}}));s.show();this.addPanel(s)}this.adjustPanelsPosition();this.adjustSortButtonsState()},onCollapseActionPanel:function(){g(this.parent,"landing-ui-collapse")},getBlockFromRepository:function(t){var e=BX.Landing.Main.getInstance().options.blocks;var n=Object.keys(e);var i=n.find(function(n){return t in e[n].items});if(i){return e[i].items[t]}},onRestrictedButtonClick:function(t){t.preventDefault()},onPlacementClick:function(t){BX.rest.AppLayout.openApplication(t.app_id,{ID:this.id,CODE:this.manifest.code,LID:BX.Landing.Main.getInstance().id},{PLACEMENT:"LANDING_BLOCK_"+t.placement,PLACEMENT_ID:t.id});if(this.blockPlacementsActionsMenu){this.blockPlacementsActionsMenu.close()}},onPlacementButtonClick:function(t){this.panels.get("content_actions").buttons.get("actions").activate();if(!this.blockPlacementsActionsMenu){var e=this.panels.get("content_actions").buttons.get("actions");var n=_("block_",this.id,"content_placement_actions_",j());var i=t.map(function(t){return new BX.PopupMenuItem({id:"placement_"+t.id+"_"+j(),text:O(t.title),onclick:this.onPlacementClick.bind(this,t)})},this);this.blockPlacementsActionsMenu=new ht({id:n,bindElement:e.layout,items:i,angle:{position:"top",offset:80},offsetTop:-6,events:{onPopupClose:function(){this.panels.get("content_actions").buttons.get("actions").deactivate();u(this.node,"landing-ui-hover")}.bind(this)}})}h(this.node,"landing-ui-hover");this.blockPlacementsActionsMenu.show()},onRestrictedButtonMouseenter:function(t){clearTimeout(this.displayBlockTimer);this.displayBlockTimer=setTimeout(function(t){BX.Landing.UI.Tool.Suggest.getInstance().show(t,{description:BX.message("LANDING_BLOCK_RESTRICTED_TEXT")})}.bind(this),200,t.currentTarget)},onRestrictedButtonMouseleave:function(){clearTimeout(this.displayBlockTimer);BX.Landing.UI.Tool.Suggest.getInstance().hide()},onBlockDisplayMouseenter:function(t){clearTimeout(this.displayBlockTimer);this.displayBlockTimer=setTimeout(function(t){BX.Landing.UI.Tool.Suggest.getInstance().show(t,{name:p("div",{props:{className:"landing-ui-block-display-message-header"},html:BX.message("LANDING_BLOCK_DISABLED_ON_DESKTOP_NAME")}).outerHTML,description:this.getBlockDisplayItems()})}.bind(this),300,t.currentTarget)},onBlockDisplayMouseleave:function(){clearTimeout(this.displayBlockTimer);BX.Landing.UI.Tool.Suggest.getInstance().hide()},getBlockDisplayItems:function(){function t(t){return p("div",{props:{className:"landing-ui-block-display-message"},attrs:{"data-mod":t},children:[p("div",{props:{className:"landing-ui-block-display-message-left"},html:"&nbsp;"}),p("div",{props:{className:"landing-ui-block-display-message-right"},children:[p("p",{html:BX.message("LANDING_BLOCK_HIDDEN_ON_"+(t?t.toUpperCase():""))})]})]})}var e=p("div");if(f(this.content,"l-d-lg-none")){e.appendChild(t("desktop"))}if(f(this.content,"l-d-md-none")){e.appendChild(t("tablet"))}if(f(this.content,"l-d-xs-none")){e.appendChild(t("mobile"))}return e.outerHTML},adjustPanelsPosition:function(){var t=C(this.node);var e=this.panels.get("content_actions");var n=this.panels.get("block_action");var i=t.height<80?h:u;if(e){i(e.layout,"landing-ui-panel-actions-compact")}if(n){i(n.layout,"landing-ui-panel-actions-compact")}},onEditorEnabled:function(t){if(this.node.contains(t)){h(this.node,"landing-ui-hover")}},onEditorDisabled:function(){u(this.node,"landing-ui-hover")},onStorage:function(){if(this.blockActionsMenu){var t=this.blockActionsMenu.getMenuItem("block_paste");if(t){if(window.localStorage.landingBlockId){t.layout.item.setAttribute("title",window.localStorage.landingBlockName);u(t.layout.item,"landing-ui-disabled");h(t.layout.item,"menu-popup-no-icon")}else{t.layout.item.setAttribute("title","");h(t.layout.item,"landing-ui-disabled")}}}},showBlockActionsMenu:function(){this.panels.get("block_action").buttons.get("actions").activate();if(!this.blockActionsMenu){var t=f(this.node.parentElement,"landing-sidebar");var e=this.panels.get("block_action").buttons.get("actions");var n=_("block_",this.id,"_actions_",j());var i=BX.Landing.Main.getInstance();this.blockActionsMenu=new ht({id:n,bindElement:e.layout,className:"landing-ui-block-actions-popup",angle:{position:"top",offset:t?70:146},offsetTop:-6,offsetLeft:-26,events:{onPopupClose:function(){this.panels.get("block_action").buttons.get("actions").deactivate();u(this.node,"landing-ui-hover")}.bind(this)},items:[new BX.PopupMenuItem({id:"show_hide",text:BX.message(this.isEnabled()?"ACTION_BUTTON_HIDE":"ACTION_BUTTON_SHOW"),className:this.access<pt?"landing-ui-disabled":"",onclick:function(){this.onStateChange();this.blockActionsMenu.close()}.bind(this)}),new BX.PopupMenuItem({text:BX.message("ACTION_BUTTON_ACTIONS_CUT"),className:this.access<mt?"landing-ui-disabled":"",onclick:function(){i.onCutBlock.bind(i,this)();this.blockActionsMenu.close()}.bind(this)}),new BX.PopupMenuItem({text:BX.message("ACTION_BUTTON_ACTIONS_COPY"),onclick:function(){i.onCopyBlock.bind(i,this)();this.blockActionsMenu.close()}.bind(this)}),new BX.PopupMenuItem({id:"block_paste",text:BX.message("ACTION_BUTTON_ACTIONS_PASTE"),title:window.localStorage.landingBlockName,className:window.localStorage.landingBlockId?"":"landing-ui-disabled",onclick:function(){i.onPasteBlock.bind(i,this)();this.blockActionsMenu.close()}.bind(this)}),new BX.PopupMenuItem({text:BX.message("LANDING_BLOCKS_ACTIONS_FEEDBACK_BUTTON"),onclick:function(){BX.Landing.Main.getInstance().showSliderFeedbackForm({blockName:this.manifest.block.name,blockCode:this.manifest.code,blockSection:this.manifest.block.section,landingId:BX.Landing.Main.getInstance().id,target:"blockActions"});this.blockActionsMenu.close()}.bind(this)})]})}h(this.node,"landing-ui-hover");this.blockActionsMenu.show()},moveUp:function(t){var n=T(this.node,"block-wrapper");var s=this.node;if(n){var a=Promise.all([E(s,-C(n).height),E(n,C(s).height)]);a.then(function(){void e(s,{transform:null,transition:null});void e(n,{transform:null,transition:null});i(s,n);if(!t||typeof t==="object"){BX.Landing.History.getInstance().push(new BX.Landing.History.Entry({block:this.id,selector:"#block"+this.id,command:"sortBlock",undo:"moveDown",redo:"moveUp"}))}}.bind(this));ut.action("Landing::upBlock",{block:this.id,lid:this.lid,siteId:this.siteId},{code:this.manifest.code})}},moveDown:function(t){var i=X(this.node,"block-wrapper");var s=this.node;if(!!i){var a=Promise.all([E(s,C(i).height),E(i,-C(s).height)]);a.then(function(){void e(s,{transform:null,transition:null});void e(i,{transform:null,transition:null});n(s,i);if(!t||typeof t==="object"){BX.Landing.History.getInstance().push(new BX.Landing.History.Entry({block:this.id,selector:"#block"+this.id,command:"sortBlock",undo:"moveUp",redo:"moveDown"}))}}.bind(this));ut.action("Landing::downBlock",{block:this.id,lid:this.lid,siteId:this.siteId},{code:this.manifest.code})}},addPanel:function(t,e){if(!this.panels.contains(t)){this.panels.add(t);if(!e){s(t.layout,this.node)}else{i(t.layout,e)}}},onShowContentPanel:function(){this.showContentPanel();BX.Landing.UI.Panel.EditorPanel.getInstance().hide()},onStateChange:function(){if(this.isEnabled()){this.disable()}else{this.enable()}},isEnabled:function(){return this.active},enable:function(){this.active=true;u(this.node,"landing-block-disabled");I(this.blockActionsMenu.getMenuItem("show_hide").getLayout().text,BX.message("ACTION_BUTTON_HIDE"));ut.action("Landing::showBlock",{block:this.id,lid:this.lid,siteId:this.siteId},{code:this.manifest.code})},disable:function(){this.active=false;h(this.node,"landing-block-disabled");I(this.blockActionsMenu.getMenuItem("show_hide").getLayout().text,BX.message("ACTION_BUTTON_SHOW"));ut.action("Landing::hideBlock",{block:this.id,lid:this.lid,siteId:this.siteId},{code:this.manifest.code})},createCardLabel:function(t,e){var n=[];if(d(e.label)){n.push(e.label)}else if(l(e.label)){n=n.concat(e.label)}var i=this.nodes.filter(function(e){return t.contains(e.node)});var s=[];n.forEach(function(t){var e=i.find(function(e){return e.manifest.code===t});if(e){var n;if(e instanceof BX.Landing.Block.Node.Text){n=p("span",{props:{className:"landing-card-title-text"},html:G(p("div",{html:e.getValue()}).innerText)});s.push(n);b(e.getField(),"BX.Landing.UI.Field:change",function(t){n.innerHTML=G(p("div",{html:t}).innerText)});return}if(e instanceof BX.Landing.Block.Node.Link){n=p("span",{props:{className:"landing-card-title-link"},html:G(e.getValue().text)});s.push(n);b(e.getField(),"BX.Landing.UI.Field:change",function(t){n.innerHTML=G(t.text)});return}if(e instanceof BX.Landing.Block.Node.Icon){n=p("span",{props:{className:"landing-card-title-icon"},children:[p("span",{props:{className:e.getValue().classList.join(" ")}})]});s.push(n);b(e.getField(),"BX.Landing.UI.Field:change",function(t){n.firstChild.className="landing-card-title-icon "+t.classList.join(" ")});return}if(e instanceof BX.Landing.Block.Node.Img){n=p("span",{props:{className:"landing-card-title-img"},attrs:{style:"background-color: #fafafa"},children:[p("img",{props:{src:e.getValue().src}})]});s.push(n);b(e.getField(),"BX.Landing.UI.Field:change",function(t){n.innerHTML="";n.appendChild(p("img",{props:{src:t.src}}))})}}},this);return p("div",{props:{className:"landing-card-title"},children:!c(s)?s:e.name})},initCards:function(){this.cards.clear();this.forEachCard(function(t,e,n){var i=this.manifest.cards[e];var s=_(e,"@",n);U(t);var a=new BX.Landing.Block.Card(t,i,s);this.cards.add(a);if(i.allowInlineEdit!==false){var o=new Q("cardAction","landing-ui-panel-block-card-action");o.show();a.addPanel(o);o.addButton(new nt("clone",{html:"&nbsp;",onClick:function(t){t.stopPropagation();if(a.manifest.sync){var e=a.manifest.sync;if(d(a.manifest.sync)){e=[a.manifest.sync]}if(l(e)){e.forEach(function(t){this.cloneCard(_(t,"@",n))},this)}}this.cloneCard(s)}.bind(this),attrs:{title:BX.message("LANDING_TITLE_OF_CARD_ACTION_CLONE")}}));o.addButton(new nt("remove",{html:"&nbsp;",onClick:function(t){t.stopPropagation();if(a.manifest.sync){var e=a.manifest.sync;if(d(a.manifest.sync)){e=[a.manifest.sync]}if(l(e)){e.forEach(function(t){this.removeCard(_(t,"@",n))},this)}}this.removeCard(s)}.bind(this),attrs:{title:BX.message("LANDING_TITLE_OF_CARD_ACTION_REMOVE")}}))}a.selector=s;a.sortIndex=n;this.adjustCardRemoveButton(s)});this.cards.sort(function(t,e){return t.getIndex()>e.getIndex()})},cloneCard:function(t,e){var i=this.cards.getBySelector(t);var s=i.panels.get("cardAction").buttons.get("clone");var a={block:this.id,selector:t,lid:this.lid,siteId:this.siteId};var o={code:this.manifest.code};var r=this;yt(s);return ut.action("Landing\\Block::cloneCard",a,o).then(function(){B("BX.Landing.Block:Card:beforeAdd",[r.createEvent({card:i.node})])}).then(function(){var t=BX.clone(i.node);U(t);n(t,i.node);return t}).then(function(t){Lt(s);B("BX.Landing.Block:Card:add",[r.createEvent({card:t})]);r.initEntities();if(!e){var n=P(t.parentNode);var a=r.cards.getByNode(t);BX.Landing.History.getInstance().push(new BX.Landing.History.Entry({block:r.id,selector:a.selector,command:"addCard",undo:{container:n,selector:a.selector},redo:{container:n,index:i.getIndex(),html:t.outerHTML}}))}}).catch(function(){Lt(s);return Promise.reject()})},removeCard:function(t,e){var n=this.cards.getBySelector(t);var i=n.panels.get("cardAction").buttons.get("remove");var s={block:this.id,selector:t,lid:this.lid,siteId:this.siteId};var a={code:this.manifest.code};var o=this;yt(i);return ut.action("Landing\\Block::removeCard",s,a).then(function(){B("BX.Landing.Block:Card:beforeRemove",[o.createEvent({card:n.node})]);if(!e){var t=P(n.node.parentElement);U(n.node);BX.Landing.History.getInstance().push(new BX.Landing.History.Entry({block:o.id,selector:n.selector,command:"removeCard",undo:{container:t,index:n.getIndex(),html:n.node.outerHTML},redo:{container:t,selector:n.selector}}))}}).then(function(){o.cards.remove(n);n.node.remove();o.initEntities();o.adjustCardRemoveButton(t)}).then(function(){var e=o.createEvent({data:{selector:t}});B("BX.Landing.Block:Card:remove",[e]);Lt(i)}).catch(function(){Lt(i);return Promise.reject()})},adjustCardRemoveButton:function(t){var e=this.cards.getBySelector(t);if(e){var n=e.node.parentElement.children.length===1;if(n){e.panels.get("cardAction").buttons.get("remove").disable()}else{e.panels.get("cardAction").buttons.get("remove").enable()}}},addCard:function(t){var e=t.selector.split("@")[0]+(t.index>0?"@"+(t.index-1):"");var i={block:this.id,content:t.content,selector:e,lid:this.lid,siteId:this.siteId};var s={code:this.manifest.code};var a=t.container;var o=p("div",{html:t.content}).firstElementChild;var r=this;return ut.action("Landing\\Block::addCard",i,s).then(function(){B("BX.Landing.Block:Card:beforeAdd",[r.createEvent({card:o})])}).then(function(){var i;if(t.index<=0){i=r.cards.find(function(t){return t.selector.includes(e.split("@")[0])});if(i){x(o,i.node.parentNode)}}else{i=r.cards.getBySelector(e.split("@")[0]+"@"+(t.index-1));if(i){n(o,i.node)}}U(a);r.initEntities();B("BX.Landing.Block:Card:add",[r.createEvent({card:o})])})},forEachCard:function(t){var e=Object.keys(this.manifest.cards);e.map(function(e){var n=N(this.node.querySelectorAll(e));n.forEach(function(n,i){t.apply(this,[n,e,i])},this)},this)},initNodes:function(){var t=[];this.forEachNodeElements(function(e,n,i){var s=this.nodes.getByNode(e);var o=_(n,"@",i);if(!s){var r=k(this.manifest.nodes[n].handler);var d=e.closest("[data-card-preset]");var c=F(this.manifest.nodes[n]);var h=false;if(d){var u=d.dataset.cardPreset;Object.keys(this.manifest.cards).forEach(function(t){if(d.matches(t)){if(a(this.manifest.cards[t].presets)&&a(this.manifest.cards[t].presets[u])&&l(this.manifest.cards[t].presets[u].disallow)){var e=this.manifest.cards[t].presets[u].disallow.find(function(t){return n===t});if(e){c.allowInlineEdit=false;h=true}}}},this)}s=new r({node:e,manifest:c,selector:o,onChange:this.onNodeChange.bind(this),onChangeOptions:this.onNodeOptionsChange.bind(this),onAttributeChange:this.onAttributeChange.bind(this),onDesignShow:this.showStylePanel.bind(this),uploadParams:{action:"Block::uploadFile",block:this.id}});if(h){s.getField().layout.hidden=true}this.nodes.add(s)}s.selector=o;t.push(s)});this.nodes.clear();t.forEach(function(t){this.nodes.add(t)},this);this.nodes.sort(function(t,e){return t.getIndex()>e.getIndex()})},onNodeOptionsChange:function(t){if(!c(t)){var e={code:this.manifest.code};var n={};n.data=t;n.block=this.id;n.siteId=this.siteId;return BX.Landing.Backend.getInstance().action("Block::changeNodeName",n,e)}},forEachNodeElements:function(t){Object.keys(this.manifest.nodes).forEach(function(e){try{N(this.node.querySelectorAll(e)).forEach(function(n,i){if(!n.matches('[data-id="content_edit"] *')){t.apply(this,[n,e,i])}},this)}catch(t){}},this)},showContentPanel:function(t){var e=!!t&&t.nodes?t.nodes:this.nodes;var n=!!t&&t.name?t.name:null;var i=!!t&&t.nodesOnly?t.nodesOnly:false;var o=!!t&&t.showAll?t.showAll:false;var r=!!t&&t.compact;var d=this.panels.get("content_edit");if(!d){d=new Z("content_edit",{title:BX.message("LANDING_CONTENT_PANEL_TITLE"),subTitle:this.manifest.block.name,footer:[new $("save_block_content",{text:BX.message("BLOCK_SAVE"),onClick:this.onContentSave.bind(this),className:"landing-ui-button-content-save",attrs:{title:BX.message("LANDING_TITLE_OF_SLIDER_SAVE")}}),new $("cancel_block_content",{text:BX.message("BLOCK_CANCEL"),onClick:this.onContentCancel.bind(this),className:"landing-ui-button-content-cancel",attrs:{title:BX.message("LANDING_TITLE_OF_SLIDER_CANCEL")}})]});this.addPanel(d)}d.compact(r);d.clear();var l=this.getBlockFromRepository(this.manifest.code);if(l&&l.restricted){s(this.getRestrictedMessage(),d.content)}this.tmpContent=p("div",{props:{hidden:true}});this.content.appendChild(this.tmpContent);var c="";Object.keys(this.manifest.cards).forEach(function(t){var e=this.manifest.cards[t];if(a(e.presets)){Object.keys(e.presets).forEach(function(t){var n=e.presets[t];c+=n.html},this)}},this);this.tmpContent.innerHTML=c;this.initEntities();this.getEditForms(e,n,i,o).forEach(d.appendForm,d);this.tmpContent.innerHTML="";d.show()},getRestrictedMessage:function(){return p("div",{props:{className:"ui-alert ui-alert-warning"},html:BX.message("LANDING_BLOCK_RESTRICTED_TEXT"),attrs:{style:"margin-bottom: 20px"}})},onStyleShow:function(){this.showStylePanel(this.selector);BX.Landing.UI.Panel.EditorPanel.getInstance().hide()},getPostfix:function(){return""},expandTypeGroups:function(t){var e=[];if(!BX.type.isArray(t)){t=[t]}t.forEach(function(t){if(Bt(t)){bt(t).forEach(function(t){e.push(t)})}else{e.push(t)}});return e},createStyleForm:function(t,e,n){var i=this.forms.get(t);if(i){this.forms.remove(i)}var s=!!e.props?e.props:!!e.type?e.type:null;var a=!!e.title?e.title:!!e.name?e.name:"";if(!!s&&!!a){var o=new it({frame:window,postfix:this.getPostfix()});i=new at({id:t,title:a,selector:t,iframe:window});s=this.expandTypeGroups(s);s.forEach(function(e){var s=vt(e);var a=this.styles.get(t);var r=o.createField({selector:!n?this.makeRelativeSelector(t):t,property:s.property,style:e,pseudoElement:s["pseudo-element"],pseudoClass:s["pseudo-class"],type:s.type,title:s.name,items:s.items,onChange:function(e,o,r,d){var l=!!s.exclude?vt(s.exclude):null;if(l){i.fields.forEach(function(t){if(t.style===s.exclude){t.reset()}})}var c={className:"",style:""};if(a.node[0]){c.className=a.node[0].className;c.style=a.node[0].style.cssText}var h=this.createEvent({data:{selector:t,value:e,items:o,postfix:r,affect:d,exclude:l}});B(window,"BX.Landing.Block:beforeApplyStyleChanges",[h]);a.setValue(e,o,r,d,l);var u={className:"",style:""};if(a.node[0]){u.className=a.node[0].className;u.style=a.node[0].style.cssText}try{if(JSON.stringify(c)!==JSON.stringify(u)){BX.Landing.History.getInstance().push(new BX.Landing.History.Entry({block:this.id,command:"updateStyle",selector:!n?this.makeRelativeSelector(t):t,undo:c,redo:u}))}}catch(t){}B("BX.Landing.Block:updateStyleWithoutDebounce",[this.createEvent({node:a.getNode(),data:a.getValue()})]);this.onStyleInputWithDebounce({node:a.getNode(),data:a.getValue()})}.bind(this)});var d=true;a.getValue().classList.forEach(function(t){if(s.items.some(function(e){return e.value===t})){if(r.property!=="display"){r.setValue(t,d)}}});i.addField(r)},this);this.forms.add(i)}i.fields.forEach(function(t){if(t.popup){t.popup.close()}});return i},initStyles:function(){this.styles.clear();var t=new BX.Landing.UI.Style({id:this.selector,iframe:window,selector:this.selector,relativeSelector:this.selector,onClick:this.onStyleClick.bind(this,this.selector)});this.styles.add(t);if(a(this.manifest.style)&&a(this.manifest.style.nodes)){Object.keys(this.manifest.style.nodes).forEach(function(t){var e=new BX.Landing.UI.Style({id:t,iframe:window,selector:t,relativeSelector:this.makeRelativeSelector(t),onClick:this.onStyleClick.bind(this,t)});this.styles.add(e)},this)}},onStyleClick:function(t){this.showStylePanel(t);var e=this.forms.get(t);if(e){BX.Landing.PageObject.getInstance().design().then(function(t){BX.Landing.UI.Panel.Content.scrollTo(t.content,null)})}},makeRelativeSelector:function(t){return _(this.selector," ",t)},makeAbsoluteSelector:function(t){t=t||this.selector;t=M(t);var e=t===this.selector?" > :first-child":this.selector;return M(t.replace(e,"").replace("!",""))},saveStyles:function(){var t=this.styles.fetchChanges();if(t.length){t.forEach(function(t){if(t.selector===this.selector){t.selector=t.selector.replace(" > :first-child","")}if(!t.isSelectGroup()&&t.selector!==this.makeAbsoluteSelector(this.selector)){t.selector=_(t.selector.split("@")[0],"@",t.getElementIndex(t.getNode()[0]))}if(t.isSelectGroup()){t.selector=t.selector.split("@")[0]}},this);var e=t.fetchValues();ut.action("Landing\\Block::updateStyles",{block:this.id,data:e,lid:this.lid,siteId:this.siteId},{code:this.manifest.code})}},showStylePanel:function(t){BX.Landing.PageObject.getInstance().design().then(function(t){t.clearContent();return t.show()}).then(function(e){var n=this.isBlockSelector(t);var i=this.getStyleOptions(t);if(l(i.type)||d(i.type)){if(i.type.length){e.appendForm(this.createStyleForm(t,i,n))}}if(a(i.additional)){t=i.selector?i.selector:t;e.appendForm(this.createAdditionalForm({form:at,selector:t,group:i.additional,onChange:this.onAttributeChange.bind(this)}));return}if(l(i.additional)){i.additional.forEach(function(n){e.appendForm(this.createAdditionalForm({form:at,selector:t,group:n,onChange:this.onAttributeChange.bind(this)}))},this)}}.bind(this))},getStyleOptions:function(t){if(this.isBlockSelector(t)){return this.prepareBlockOptions(this.manifest.style.block)}return this.manifest.style.nodes[t]},createAdditionalForm:function(t){var e=new t.form({title:t.group.name,type:"attrs"});t.group.attrs.forEach(function(n){var i=n.selector||t.selector;var s;if(l(n.tabs)){var a=new ct({tabs:n.tabs.map(function(e){return{id:j(),name:e.name,active:e.active,fields:e.attrs.map(function(e){return this.createAttributeField(e,e.selector||t.selector,t.onChange)},this)}},this)});e.addCard(a);return}s=this.createAttributeField(n,i,t.onChange);e.addField(s)},this);return e},prepareBlockOptions:function(t){t=a(t)?t:{};t=F(t);t.name=BX.message("BLOCK_STYLE_OPTIONS");if(!a(t.type)&&!d(t.type)&&!l(t.type)){t.type=["display","padding-top","padding-bottom","padding-left","padding-right","margin-top","background-color","background-gradient"]}return t},createAttributeField:function(t,e,n){var i=this.createFieldFactory(e,n);var s=this.getElementBySelector(e);if(!s&&e.includes("@")){var a=e.split("@");var o=this.getElementsBySelector(a[0]);if(o.length&&o[parseInt(a[1])]){s=o[parseInt(a[1])]}}var r=F(t);if(r.value===null||r.value===undefined){r.value=""}if(s){var l=S(s,r.attribute);if(l&&d(l)){l=w(s,r.attribute)}if(l!==null){r.value=l}}return i.create(r)},onAttributeChange:function(t){clearTimeout(this.attributeChangeTimeout);if(!this.requestData){this.requestData={}}this.appendAttrFieldValue(this.requestData,t);if(this.containsPseudoSelector(this.requestData)&&!this.attributeChangeLoader){this.attributeChangeLoader=new BX.Loader({target:this.node,color:"rgba(255, 255, 255, .8)"});this.attributeChangeLoader.layout.style.position="fixed";this.attributeChangeLoader.layout.style.zIndex="999";this.attributeChangeLoader.show();BX.Landing.Main.getInstance().showOverlay()}this.attributeChangeTimeout=setTimeout(function(){Promise.resolve(this.requestData).then(this.applyAttributeChanges.bind(this)).then(this.saveChanges.bind(this)).then(this.reload.bind(this)).then(function(){this.requestData=null;this.attributeChangeLoader=null;BX.Landing.Main.getInstance().hideOverlay()}.bind(this))}.bind(this),800)},appendSettingsFieldValue:function(t,e){t["settings"]=t["settings"]||{};t["settings"][e.attribute]=e.getValue();return t},appendAttrFieldValue:function(t,e){var n=this.makeAbsoluteSelector(e.selector);var i=e.getValue();try{i=O(i)}catch(t){i=e.getValue()}t[n]=t[n]||{};t[n]["attrs"]=t[n]["attrs"]||{};t[n]["attrs"][e.attribute]=i;return t},getElementBySelector:function(t){if(this.isBlockSelector(t)){return this.content}var e;try{e=this.node.querySelector(t)}catch(t){e=null}return e},getElementsBySelector:function(t){if(this.isBlockSelector(t)){return[this.content]}var e;try{e=N(this.node.querySelectorAll(t))}catch(t){e=[]}return e},isBlockSelector:function(t){return!t||t===this.selector||"#block"+this.id===t},createFieldFactory:function(t,e){return new BX.Landing.UI.Factory.FieldFactory({selector:!this.isBlockSelector(t)?this.makeRelativeSelector(t):t,uploadParams:{action:"Block::uploadFile",block:this.id,lid:BX.Landing.Main.getInstance().id,id:BX.Landing.Main.getInstance().options.site_id},linkOptions:{siteId:BX.Landing.Main.getInstance().options.site_id,landingId:BX.Landing.Main.getInstance().id,filter:{"=TYPE":BX.Landing.Main.getInstance().options.params.type}},onValueChange:e||function(){}})},deleteBlock:function(t){var n=this.panels.get("block_action").buttons.get("remove");n.loader=n.loader||new BX.Loader({target:n.layout,size:28});n.loader.show();h(n.text,"landing-ui-hide-icon");void e(n.loader.layout.querySelector(".main-ui-loader-svg-circle"),{"stroke-width":"4px"});BX.Landing.UI.Panel.EditorPanel.getInstance().hide();if(this.blockActionsMenu){BX.PopupMenu.destroy(this.blockActionsMenu.id)}window.localStorage.removeItem("landingBlockId");ut.action("Landing::markDeletedBlock",{block:this.id,lid:this.lid,siteId:this.siteId},{code:this.manifest.code}).then(function(){n.loader.hide();u(n.text,"landing-ui-hide-icon");var e=this.createEvent();B("BX.Landing.Block:remove",[e]);N(this.node.querySelectorAll(".landing-ui-panel")).forEach(D);if(o(t)&&!t||!o(t)){var i=top.BX.Landing.Block.storage.getByNode(BX.findPreviousSibling(this.node,{className:"block-wrapper"}));BX.Landing.History.getInstance().push(new BX.Landing.History.Entry({block:this.id,selector:"#block"+this.id,command:"removeBlock",undo:{currentBlock:i?i.id:null,lid:this.lid,code:this.manifest.code},redo:""}))}top.BX.Landing.Block.storage.remove(this);D(this.node);B("Landing.Block:onAfterDelete",[this]);B("BX.Landing.Block:afterRemove",[e])}.bind(this),function(){n.loader.hide();u(n.text,"landing-ui-hide-icon")})},addBlockAfterThis:function(){BX.Landing.Main.getInstance().showBlocksPanel(this)},onNodeChange:function(t){var e=this.createEvent({node:t.node});B("BX.Landing.Block:Node:update",[e]);if(!t.isSavePrevented()){clearTimeout(this.changeTimeout);this.changedNodes.add(t);this.changeTimeout=setTimeout(function(){ut.action("Landing\\Block::updateNodes",{block:this.id,data:this.changedNodes.fetchValues(),additional:this.changedNodes.fetchAdditionalValues(),lid:this.lid,siteId:this.siteId},{code:this.manifest.code});this.changedNodes.clear()}.bind(this),100)}},containsPseudoSelector:function(t){return Object.keys(t).some(function(t){var e;if(t==="cards"){return false}try{if(t!=="#block"+this.id&&t!==""){e=!this.node.querySelector(t)}else{e=false}}catch(n){e=!kt(t)}return e},this)},applyContentChanges:function(t){if(!a(t)){return Promise.reject(new TypeError("BX.Landing.Block.applyContentChanges: data isn't object"))}var e=F(t);Object.keys(e).forEach(function(t){if(!kt(t)){delete e[t]}});if(!c(e)){var n=this.createEvent({data:e});B(window,"BX.Landing.Block:beforeApplyContentChanges",[n])}Object.keys(t).forEach(function(e){if(kt(e)){var n=this.nodes.getBySelector(e);if(n){n.setValue(t[e],true);t[e]=n.getValue()}}},this);return Promise.resolve(t)},applyCardsChanges:function(t){if(!a(t)){return Promise.reject(new TypeError("BX.Landing.Block.applyCardsChanges: data isn't object"))}if("cards"in t&&a(t.cards)){B("BX.Landing.Block:Cards:beforeUpdate",[this.createEvent()]);var e={};Object.keys(t.cards).forEach(function(n){var i=this.node.querySelector(n).parentElement;var o=this.node.querySelectorAll(n);var r=t.cards[n].values;var l=t.cards[n].presets;var h=t.cards[n].indexes;var u=t.cards[n].source;i.innerHTML="";Object.keys(r).forEach(function(t){u[t]={value:0,type:"card"};if(!c(l)&&!c(l[t])&&!o[h[t]]){u[t].type="preset";u[t].value=l[t];return}if(o[h[t]]){u[t].type="card";u[t].value=h[t]}},this);Object.keys(r).forEach(function(t){if(u[t].type==="preset"){var e=this.manifest.cards[n]["presets"][u[t].value]["html"];s(R(e),i);return}s(F(o[u[t].value]),i)},this);this.initNodes();this.initCards();this.initGroups();Object.keys(r).forEach(function(t){var n=r[t];Object.keys(n).forEach(function(t){e[t]=t in e?e[t]+1:0;var i=this.nodes.getBySelector(_(t,"@",e[t]));if(i){var s=n[t];var o=i.getValue();if(a(s)&&d(s.url)){s.url=A(s.url)}if(a(o)&&d(o.url)){o.url=A(o.url)}try{s=JSON.stringify(s)}catch(e){s=n[t]}try{o=JSON.stringify(o)}catch(t){o=i.getValue()}var r=o===s;i.setValue(n[t],true,r);n[_(t,"@",e[t])]=i.getValue();if(i.manifest.type==="img"||i.manifest.type==="icon"){n[_(t,"@",e[t])]["url"]=O(n[t]["url"])}delete n[t]}},this)},this);this.initCardsLabels();this.initStyles();delete t.cards[n].presets;delete t.cards[n].indexes},this);B("BX.Landing.Block:Cards:update",[this.createEvent()])}return Promise.resolve(t)},applySettingsChanges:function(t){if(!a(t)){return Promise.reject(new TypeError("BX.Landing.Block.applyAttributeChanges: requestData isn't object"))}if(a(t.settings)&&!c(t.settings)){if(t.settings.id){this.content.id=t.settings.id}}return Promise.resolve(t)},applyAttributeChanges:function(t){if(!a(t)){return Promise.reject(new TypeError("BX.Landing.Block.applyAttributeChanges: requestData isn't object"))}var e=F(t);Object.keys(t).forEach(function(n){if(!(a(t[n])&&"attrs"in t[n])){delete e[n]}});if(!c(e)){var n=this.createEvent({data:e});B(window,"BX.Landing.Block:beforeApplyAttributesChanges",[n])}var i=this;Object.keys(t).forEach(function(e){if(a(t[e])&&"attrs"in t[e]){var n=i.getElementsBySelector(e);if(!n.length&&e.includes("@")){var s=e.split("@");n=i.getElementsBySelector(s[0]);if(n[parseInt(s[1])]){n=[n[parseInt(s[1])]]}}Object.keys(t[e].attrs).forEach(function(s){n.forEach(function(n){var a=A(t[e]["attrs"][s]);if(!s.includes("data-")){w(n,s,a)}else{S(n,s,a)}B("BX.Landing.Block:Node:updateAttr",[i.createEvent({node:n,data:t[e]["attrs"]})])})})}});return Promise.resolve(t)},saveChanges:function(t){if(!a(t)){return Promise.reject(new TypeError("BX.Landing.Block.saveChanges: data isn't object"))}if(Object.keys(t).length){var e={code:this.manifest.code};var n={block:this.id,data:t,lid:this.lid,siteId:this.siteId};var i={};if(!c(t.cards)){var s=F(t.cards);delete t.cards;var o=BX.Landing.Utils.arrayUnique(Object.keys(s));o=o.length===1?o+" *":o.join(" *, ");var r=this.nodes.matches(o).fetchAdditionalValues();i.updateCards={action:"Block::updateCards",data:{block:this.id,lid:this.lid,siteId:this.siteId,data:s,additional:r}}}if(a(t.settings)&&!c(t.settings)){if(t.settings.id){i.changeAnchor={action:"Block::changeAnchor",data:{block:this.id,lid:this.lid,data:t.settings.id}}}delete t.settings}if(!c(t)){var d=new K;Object.keys(n).forEach(function(t){d.add(this.nodes.getBySelector(t))},this);i.updateNodes={action:"Block::updateNodes",data:n,additional:d.fetchAdditionalValues()}}return ut.batch("Landing\\Block::updateNodes",i,e).then(function(){return Promise.resolve(t)})}else{return Promise.resolve(t)}},fetchRequestData:function(t){var e={};var n={};n.attrs=new W;n.cards=new W;n.content=new W;n.settings=new W;t.forms.forEach(function(t){n[t.type].push(t)});n.content.fetchFields().fetchChanges().reduce(V(this.appendContentFieldValue,this),e);var i=new H;n.cards.forEach(function(t){t.childForms.forEach(function(t){t.fields.forEach(function(t){if(t.type==="attr"){i.add(t)}})})});i.fetchChanges().reduce(V(this.appendAttrFieldValue,this),e);n.cards.reduce(V(this.appendCardsFormValue,this),e);n.attrs.fetchFields().fetchChanges().reduce(V(this.appendAttrFieldValue,this),e);n.settings.fetchFields().fetchChanges().reduce(V(this.appendSettingsFieldValue,this),e);return Promise.resolve(e)},appendContentFieldValue:function(t,e){return t[e.selector]=e.getValue(),t},appendCardsFormValue:function(t,e){t.cards=t.cards||{};t.cards[e.code]={};t.cards[e.code]["values"]=e.serialize();t.cards[e.code]["presets"]=e.getUsedPresets();t.cards[e.code]["indexes"]=e.getIndexesMap();t.cards[e.code]["source"]={};return t},reload:function(t){if(!this.containsPseudoSelector(t)){return Promise.resolve(t)}var e=this;return BX.Landing.Backend.getInstance().action("Block::getContent",{block:this.id,lid:this.lid,siteId:this.siteId,editMode:1}).then(function(t){BX.Landing.Main.getInstance().currentBlock=e;BX.Landing.Main.getInstance().currentArea=e.parent;return BX.Landing.Main.getInstance().addBlock(t,true,true)}).then(function(n){e.node=n;return Promise.resolve(t)})},onContentSave:function(){var t=this.panels.get("content_edit");if(t){t.hide();this.fetchRequestData(t).then(this.applyContentChanges.bind(this)).then(this.applyCardsChanges.bind(this)).then(this.applyAttributeChanges.bind(this)).then(this.applySettingsChanges.bind(this)).then(this.saveChanges.bind(this)).then(this.reload.bind(this)).catch(console.warn);var e=new W;t.forms.forEach(function(t){if(t.type!=="attrs"){e.add(t)}});var n={};e.fetchFields().forEach(function(t){if(t.tag){n[t.selector]={tagName:t.tag}}},this);this.onNodeOptionsChange(n)}},onContentCancel:function(){this.panels.get("content_edit").hide();this.tmpContent.innerHTML=""},getCardsSelector:function(){var t=Object.keys(this.manifest.cards);var e=_(t.join(","),", ");var n=_(t.join(" *,")," *");return _(e,n)},onStyleInput:function(t){this.saveStyles();var e=this.createEvent(t);B("BX.Landing.Block:updateStyle",[e])},getEditForms:function(t,e,n,i){var o=new W;var r=Object.keys(this.manifest.nodes);var c=new K;var u=t;if(this.cards.length&&!i){u=t.notMatches(this.getCardsSelector())}r.forEach(function(t){u.matches(t).getVisible().forEach(function(t){c.push(t)})},this);if(c.length){var f=new st({title:e||BX.message("BLOCK_HEADER"),description:this.manifest.block.formDescription,type:"content"});c.forEach(function(t){f.addField(t.getField())});o.add(f)}var g=Object.keys(this.manifest.attrs);if(g.length&&!n){var p=new st({id:"attr",type:"attrs",title:BX.message("BLOCK_SETTINGS"),description:this.manifest.block.attrsFormDescription});o.add(p);g.forEach(function(t){var e=this.manifest.attrs[t];if(!e.hidden){e=!l(e)?[e]:e;e.forEach(function(e){if(e.hidden){return}if(d(e.type)){p.addField(this.createAttributeField(e,e.selector||t));return}if(d(e.name)&&e.attrs){o.add(this.createAdditionalForm({form:st,selector:t,group:e,onChange:function(){}}))}},this)}},this);if(p.fields.length===0){o.remove(p)}}if(!n){var m=Object.keys(this.manifest.cards);m.forEach(function(e){var n=this.cards.filter(function(t){return t.selector.split("@")[0]===e});if(n.length){n.sort(function(t,e){return t.sortIndex-e.sortIndex});var i=this.manifest.cards[e]["group_label"];var s=new rt({title:i||BX.message("LANDING_CARDS_FROM_TITLE"),code:e.split("@")[0],presets:n[0].manifest.presets,sync:n[0].manifest.sync,description:n[0].manifest.formDescription,forms:o});n.forEach(function(n){var i=new ot({label:n.getLabel()||n.getName(),labelBindings:n.manifest.label,selector:n.selector,preset:n.preset});var o=new K;var d=t.filter(function(t){return n.node.contains(t.node)});if(d.length){r.forEach(function(t){var e=d.matches(t);e.forEach(o.add,o)},this);o.forEach(function(t){i.addField(t.getField())});var c=this.manifest.cards[e].additional;if(a(c)){if(l(c.attrs)){c.attrs.forEach(function(t){var e=this.createAttributeField(t,n.selector,function(){});e.type="attr";i.addField(e)},this)}}if(this.tmpContent.contains(n.node)){s.addPresetForm(i)}else{s.addChildForm(i)}}},this);if(s.childForms.length){o.add(s)}}},this);var v=new st({title:BX.message("BLOCK_SETTINGS"),type:"settings"});var B=this.createFieldFactory("!"+this.selector);var b=null;var y=BX.Landing.Main.getInstance().options.url;if(y[0]==="/"){y=top.location.origin+y}var L=_(y,"#",this.anchor||this.node.id);var k=B.create({type:"text",name:BX.message("BLOCK_SETTINGS_ANCHOR_FIELD"),description:"<span class='landing-ui-anchor-preview'>"+L+"</span>",attribute:"id",value:this.anchor||this.node.id,onInput:function(){var t=k.layout.querySelector(".landing-ui-anchor-preview");if(t){t.innerHTML=_(y,"#",O(k.getValue()))}this.anchor=k.getValue();if(b){D(b)}if(this.node.id!==k.getValue()&&document.getElementById(k.getValue())){b=BX.Landing.UI.Field.BaseField.createDescription(BX.message("BLOCK_SETTINGS_ANCHOR_FIELD_VALIDATE_ERROR"));h(b,"landing-ui-error");s(b,k.layout)}if(!q(k.getValue())){b=BX.Landing.UI.Field.BaseField.createDescription(BX.message("BLOCK_SETTINGS_ANCHOR_FIELD_VALIDATE_INVALID_ID"));h(b,"landing-ui-error");s(b,k.layout)}}.bind(this)});v.addField(k);o.add(v)}return o},isLastBlockInArea:function(){return this.parent.querySelectorAll(".block-wrapper").length<2},onBlockRemove:function(){this.adjustSortButtonsState()},onBlockInit:function(){this.adjustSortButtonsState()},adjustSortButtonsState:function(){var t=this.panels.get("block_action");if(t){if(this.isLastBlockInArea()){t.buttons.get("up").disable();t.buttons.get("down").disable()}else{t.buttons.get("up").enable();t.buttons.get("down").enable()}}}}})();