%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/js/landing/ui/panel/ |
Current File : /home/bitrix/www/bitrix/js/landing/ui/panel/top_panel.min.js |
(function(){"use strict";BX.namespace("BX.Landing.UI.Panel");var t=BX.Landing.Utils.removeClass;var n=BX.Landing.Utils.addClass;var i=BX.Landing.Utils.onCustomEvent;var e=BX.Landing.Utils.bind;var s=BX.Landing.Utils.makeFilterablePopupMenu;var o=BX.Landing.Utils.makeSelectablePopupMenu;var a=BX.Landing.Utils.style;var d=BX.Landing.Utils.encodeDataValue;var u=BX.Landing.UI.Tool.Menu;BX.Landing.UI.Panel.Top=function(t,n){BX.Landing.UI.Panel.BasePanel.apply(this,arguments);this.layout=top.document.querySelector(".landing-ui-panel-top");this.siteButton=this.layout.querySelector(".landing-ui-panel-top-chain-link-site");this.pageButton=this.layout.querySelector(".landing-ui-panel-top-chain-link-page");this.undoButton=this.layout.querySelector(".landing-ui-panel-top-history-undo");this.redoButton=this.layout.querySelector(".landing-ui-panel-top-history-redo");this.desktopButton=this.layout.querySelector(".landing-ui-button-desktop");this.tabletButton=this.layout.querySelector(".landing-ui-button-tablet");this.mobileButton=this.layout.querySelector(".landing-ui-button-mobile");this.iframeWrapper=top.document.querySelector(".landing-ui-view-iframe-wrapper");this.iframe=top.document.querySelector(".landing-ui-view");this.lastActive=this.desktopButton;this.loader=null;this.onDesktopSizeChange=this.onDesktopSizeChange.bind(this);this.onTabletSizeChange=this.onTabletSizeChange.bind(this);this.onMobileSizeChange=this.onMobileSizeChange.bind(this);this.onIframeClick=this.onIframeClick.bind(this);this.onSiteButtonClick=this.onSiteButtonClick.bind(this);this.onPageButtonClick=this.onPageButtonClick.bind(this);this.onUndo=this.onUndo.bind(this);this.onRedo=this.onRedo.bind(this);this.onKeyDown=this.onKeyDown.bind(this);this.adjustHistoryButtonsState=this.adjustHistoryButtonsState.bind(this);e(this.desktopButton,"click",this.onDesktopSizeChange);e(this.tabletButton,"click",this.onTabletSizeChange);e(this.mobileButton,"click",this.onMobileSizeChange);e(this.iframe.contentDocument,"click",this.onIframeClick);e(this.undoButton,"click",this.onUndo);e(this.redoButton,"click",this.onRedo);e(top.document,"keydown",this.onKeyDown);i(top.document,"iframe:keydown",this.onKeyDown);i(top.window,"BX.Landing.History:init",this.adjustHistoryButtonsState);i(top.window,"BX.Landing.History:update",this.adjustHistoryButtonsState);var s=parseInt(BX.Landing.Main.getInstance().options.sites_count);var o=parseInt(BX.Landing.Main.getInstance().options.pages_count);if(s>1){e(this.siteButton,"click",this.onSiteButtonClick)}if(o>1){e(this.pageButton,"click",this.onPageButtonClick)}BX.Landing.History.getInstance()};BX.Landing.UI.Panel.Top.instance=null;BX.Landing.UI.Panel.Top.getInstance=function(){if(!top.BX.Landing.UI.Panel.Top.instance){top.BX.Landing.UI.Panel.Top.instance=new BX.Landing.UI.Panel.Top("top_panel")}return top.BX.Landing.UI.Panel.Top.instance};BX.Landing.UI.Panel.Top.prototype={constructor:BX.Landing.UI.Panel.Top,__proto__:BX.Landing.UI.Panel.BasePanel.prototype,superclass:BX.Landing.UI.Panel.BasePanel.prototype,onKeyDown:function(t){var n=t.keyCode||t.which;if(n===90&&(top.window.navigator.userAgent.match(/win/i)?t.ctrlKey:t.metaKey)){if(t.shiftKey){t.preventDefault();this.onRedo()}else{t.preventDefault();this.onUndo()}}},onUndo:function(){if(BX.Landing.History.getInstance().canUndo()){this.getLoader().show(this.undoButton);n(this.undoButton,"landing-ui-onload");BX.Landing.History.getInstance().undo().then(function(){this.getLoader().hide();t(this.undoButton,"landing-ui-onload")}.bind(this))}else{this.getLoader().hide();t(this.undoButton,"landing-ui-onload")}},onRedo:function(){if(BX.Landing.History.getInstance().canRedo()){this.getLoader().show(this.redoButton);n(this.redoButton,"landing-ui-onload");BX.Landing.History.getInstance().redo().then(function(){this.getLoader().hide();t(this.redoButton,"landing-ui-onload")}.bind(this))}else{this.getLoader().hide();t(this.redoButton,"landing-ui-onload")}},getLoader:function(){if(this.loader===null){this.loader=new BX.Loader({size:22,offset:{top:"3px",left:"1px"}});void a(this.loader.layout.querySelector(".main-ui-loader-svg-circle"),{"stroke-width":"4px"})}return this.loader},adjustHistoryButtonsState:function(t){if(t.canUndo()){this.undoButton.classList.remove("landing-ui-disabled")}else{this.undoButton.classList.add("landing-ui-disabled")}if(t.canRedo()){this.redoButton.classList.remove("landing-ui-disabled")}else{this.redoButton.classList.add("landing-ui-disabled")}},onDesktopSizeChange:function(){this.lastActive.classList.remove("active");this.lastActive=this.desktopButton;this.desktopButton.classList.add("active");BX.DOM.write(function(){this.iframeWrapper.style.width=null}.bind(this));this.iframeWrapper.dataset.postfix="";BX.Landing.Main.getInstance().enableControls()},onTabletSizeChange:function(){this.lastActive.classList.remove("active");this.lastActive=this.tabletButton;this.tabletButton.classList.add("active");BX.DOM.write(function(){this.iframeWrapper.style.width="991px"}.bind(this));this.iframeWrapper.dataset.postfix="--md";BX.Landing.Main.getInstance().disableControls()},onMobileSizeChange:function(){this.lastActive.classList.remove("active");this.lastActive=this.mobileButton;this.mobileButton.classList.add("active");BX.DOM.write(function(){this.iframeWrapper.style.width="375px"}.bind(this));this.iframeWrapper.dataset.postfix="--md";BX.Landing.Main.getInstance().disableControls()},onSiteButtonClick:function(t){t.preventDefault();if(!this.siteMenu){var n=new BX.Loader({size:40});this.siteMenu=new u({id:"site_list_menu",bindElement:this.siteButton,events:{onPopupClose:function(){this.siteButton.classList.remove("landing-ui-active");this.siteButton.blur()}.bind(this)},menuShowDelay:0,offsetTop:9});this.siteMenu.popupWindow.contentContainer.style.minHeight="60px";this.siteMenu.popupWindow.contentContainer.style.minWidth="160px";n.show(this.siteMenu.popupWindow.contentContainer);var i={siteId:BX.Landing.Main.getInstance().options.site_id,landingId:BX.Landing.Main.getInstance().id,filter:{"=TYPE":BX.Landing.Main.getInstance().options.params.type}};BX.Landing.UI.Panel.URLList.getInstance().getSites(i).then(function(t){return new Promise(function(n){setTimeout(n.bind(null,t),300)})}).then(function(t){s(this.siteMenu);o(this.siteMenu);t.forEach(function(t){this.siteMenu.addMenuItem({id:t.ID,text:d(t.TITLE),items:function(){var n=[];var i=BX.Landing.Main.getInstance().options.params.sef_url.site_edit;var e=BX.Landing.Main.getInstance().options.params.sef_url.site_show;n.push({text:BX.message("LANDING_ENTITIES_MENU_PAGES_LIST"),href:e.replace("#site_show#",t.ID)});n.push({text:BX.message("LANDING_ENTITIES_MENU_EDIT"),href:i.replace("#site_edit#",t.ID)});return n}()})},this);n.hide()}.bind(this))}this.siteButton.classList.add("landing-ui-active");this.siteMenu.show()},onPageButtonClick:function(t){t.preventDefault();if(!this.pageMenu){var n=new BX.Loader({size:40});this.pageMenu=new u({id:"page_list_menu",bindElement:this.pageButton,events:{onPopupClose:function(){this.pageButton.classList.remove("landing-ui-active");this.pageButton.blur()}.bind(this)},menuShowDelay:0,offsetTop:9});this.pageMenu.popupWindow.contentContainer.style.minHeight="60px";this.pageMenu.popupWindow.contentContainer.style.minWidth="160px";n.show(this.pageMenu.popupWindow.contentContainer);var i={siteId:BX.Landing.Main.getInstance().options.site_id,landingId:BX.Landing.Main.getInstance().id,filter:{"=TYPE":BX.Landing.Main.getInstance().options.params.type}};BX.Landing.UI.Panel.URLList.getInstance().getLandings(i.siteId,i).then(function(t){return new Promise(function(n){setTimeout(n.bind(null,t),300)})}).then(function(t){s(this.pageMenu);o(this.pageMenu);t.forEach(function(t){if(!t.FOLDER_ID&&!t.IS_AREA){this.pageMenu.addMenuItem({id:t.ID,text:d(t.TITLE),items:function(){var n=[];var i=BX.Landing.Main.getInstance().options.params.sef_url.landing_edit;var e=BX.Landing.Main.getInstance().options.params.sef_url.landing_view;if(t.FOLDER==="Y"){var s=BX.Landing.Main.getInstance().options.params.sef_url.site_show;n.push({text:BX.message("LANDING_ENTITIES_MENU_PAGES_LIST"),href:s.replace("#site_show#",t.SITE_ID)+"?folderId="+t.ID})}n.push({text:BX.message("LANDING_ENTITIES_MENU_PAGES_EDIT"),href:e.replace("#site_show#",t.SITE_ID).replace("#landing_edit#",t.ID)});n.push({text:BX.message("LANDING_ENTITIES_MENU_PAGES_SETTINGS"),href:i.replace("#site_show#",t.SITE_ID).replace("#landing_edit#",t.ID)});return n}()})}},this);requestAnimationFrame(function(){n.hide()})}.bind(this))}this.pageButton.classList.add("landing-ui-active");this.pageMenu.show()},onIframeClick:function(){if(this.siteMenu){this.siteMenu.close()}if(this.pageMenu){this.pageMenu.close()}}}})();