%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/bitrix/js/landing/ui/panel/
Upload File :
Create Path :
Current File : /home/bitrix/www/bitrix/js/landing/ui/panel/url_list.min.js

(function(){"use strict";BX.namespace("BX.Landing.UI.Panel");var t=BX.Landing.Utils.addClass;var e=BX.Landing.Utils.removeClass;var n=BX.Landing.Utils.append;var i=BX.Landing.Utils.onCustomEvent;var a=BX.Landing.Utils.fireCustomEvent;var r=BX.Landing.Utils.setTextContent;var s=BX.Landing.Utils.rect;var o=BX.Landing.Utils.create;var c=BX.Landing.Utils.style;var d=BX.Landing.Utils.join;var h=BX.Landing.Utils.isNumber;var l=BX.Landing.Utils.isString;var u=BX.Landing.Utils.isPlainObject;var g=BX.Landing.Utils.isArray;var f=BX.Landing.Utils.addQueryParams;var L=BX.Landing.Cache;var p="landing";var v="block";var I="system";var B=BX.Landing.UI.Button.SidebarButton;BX.Landing.UI.Panel.URLList=function(e,a){BX.Landing.UI.Panel.Content.apply(this,arguments);t(this.layout,"landing-ui-panel-url-list");t(this.overlay,"landing-ui-panel-url-list-overlay");t(this.overlay,"landing-ui-hide");this.overlay.hidden=true;this.overlay.dataset.isShown="false";i("BX.Landing.Block:init",this.refresh.bind(this));i("BX.Landing.Block:remove",this.refresh.bind(this));n(this.layout,document.body);this.loader=new BX.Loader({target:this.content});this.promiseResolve=function(){};this.layout.hidden=true;this.isNeedLoad=true;this.cache=new L};BX.Landing.UI.Panel.URLList.getInstance=function(){if(!BX.Landing.UI.Panel.URLList.instance){BX.Landing.UI.Panel.URLList.instance=new BX.Landing.UI.Panel.URLList("url_list")}return BX.Landing.UI.Panel.URLList.instance};BX.Landing.UI.Panel.URLList.instance=null;BX.Landing.UI.Panel.URLList.prototype={constructor:BX.Landing.UI.Panel.URLList,__proto__:BX.Landing.UI.Panel.Content.prototype,refresh:function(){this.isNeedLoad=true},showLoader:function(){this.loader.show(this.content)},show:function(t,n){BX.Landing.UI.Panel.Content.prototype.show.call(this);this.clear();this.showLoader();if(t===p){e(this.layout,"landing-ui-panel-url-list-blocks");r(this.title,BX.message("LANDING_LINKS_LANDINGS_TITLE"));this.showSites(n)}else{r(this.title,BX.message("LANDING_LINKS_BLOCKS_TITLE"));this.showBlocks(n)}return new Promise(function(t){this.promiseResolve=t}.bind(this))},showSites:function(t){var e=t.siteId;void c(this.layout,{width:null});void this.getSites(t).then(function(n){this.appendSidebarButton(new B("current_site",{text:BX.message("LANDING_LINKS_PANEL_CURRENT_SITE")}));n.forEach(function(n){if(parseInt(n.ID)==e){this.appendSidebarButton(new B(n.ID,{text:n.TITLE,onClick:this.onSiteClick.bind(this,n.ID,t.enableAreas),child:true,active:true}))}},this);this.getLandings(e).then(function(e){if(u(e)){e=Object.keys(e).reduce(function(t,n){if(u(e[n])&&g(e[n].result)){t=t.concat(e[n].result)}return t},[])}e.forEach(function(e){if(!e.IS_AREA||e.IS_AREA&&t.enableAreas){this.appendCard(new BX.Landing.UI.Card.LandingPreviewCard({title:e.TITLE,description:e.DESCRIPTION,preview:e.PREVIEW,onClick:this.onLandingClick.bind(this,e.ID,e.TITLE)}))}},this);var n=this.getSystemPages();Object.keys(n).forEach(function(t){var e=n[t];this.appendCard(new BX.Landing.UI.Card.LandingPreviewCard({title:e.name,description:e.description,preview:e.preview,onClick:this.onSystemClick.bind(this,t,e.name)}))},this);this.loader.hide()}.bind(this));if(!t.currentSiteOnly){this.appendSidebarButton(new B("my_sites",{text:BX.message("LANDING_LINKS_PANEL_MY_SITES")}));n.forEach(function(e){this.appendSidebarButton(new B(e.ID,{text:e.TITLE,onClick:this.onSiteClick.bind(this,e.ID,t.enableAreas),child:true}))},this)}}.bind(this))},getSystemPages:function(){var t;try{t=BX.Landing.Main.getInstance().options.syspages;if(!u(t)){t={}}}catch(e){t={}}return t},createCurrentSiteButton:function(){return new B("current_site",{text:BX.message("LANDING_LINKS_PANEL_CURRENT_SITE")})},showBlocks:function(t){var e=t.landingId;var n=t.siteId;void c(this.layout,{width:"880px"});this.getSites(t).then(function(t){this.appendSidebarButton(this.createCurrentSiteButton());var e=t.map(function(t){return t.ID},this);return this.getLandings(e).then(function(e){return t.reduce(function(t,n,i){t[n.ID]={site:n,landings:e[n.ID].result};return t},{})})}.bind(this)).then(function(t){t[n].landings.forEach(function(t){var n=parseInt(t.ID)===parseInt(e);var i=this.createLandingSidebarButton(t,n);this.appendSidebarButton(i);if(n){i.layout.click()}},this);Object.keys(t).forEach(function(e){if(parseInt(e)!==parseInt(n)){var i=t[e].site;this.appendSidebarButton(this.createSiteSidebarButton(i));t[e].landings.forEach(function(t){this.appendSidebarButton(this.createLandingSidebarButton(t))},this)}},this)}.bind(this))},createLandingSidebarButton:function(t,e){return new B(t.ID,{text:t.TITLE,onClick:this.onLandingChange.bind(this,t),child:true,active:e})},createSiteSidebarButton:function(t){return new B(t.ID,{text:t.TITLE,child:false,active:false})},onLandingChange:function(t,e){this.currentSelectedLanding=t;this.sidebarButtons.forEach(function(t){if(t.layout===e.currentTarget){t.activate();return}t.deactivate()});this.showPreviewLoader().then(this.createIframeIfNeed()).then(this.loadPreviewSrc(this.buildLandingPreviewUrl(t))).then(this.hidePreviewLoader())},buildLandingPreviewUrl:function(t){var e=BX.Landing.Main.getInstance().options.params.sef_url.landing_view;e=e.replace("#site_show#",t.SITE_ID);e=e.replace("#landing_edit#",t.ID);return f(e,{forceLoad:true,landing_mode:"edit"})},loadPreviewSrc:function(t){return function(){return new Promise(function(e){if(this.previewFrame.src!==t){this.previewFrame.src=t;this.previewFrame.onload=function(){var t=this.previewFrame.contentDocument;BX.Landing.Utils.removePanels(t);[].slice.call(t.querySelectorAll(".block-wrapper")).forEach(function(t){t.classList.add("landing-ui-block-selectable-overlay");t.addEventListener("click",function(e){e.preventDefault();this.onBlockClick(parseInt(t.id.replace("block","")),e)}.bind(this))},this);e(this.previewFrame)}.bind(this);return}e(this.previewFrame)}.bind(this))}.bind(this)},showPreviewLoader:function(){if(!this.loader){this.loader=new BX.Loader}if(this.previewFrameWrapper){void c(this.previewFrameWrapper,{opacity:0})}return new Promise(function(t){void this.loader.show(this.content);t()}.bind(this))},hidePreviewLoader:function(){return function(){void c(this.previewFrameWrapper,{opacity:null});return this.loader.hide()}.bind(this)},createIframeIfNeed:function(){return function(){new Promise(function(t){if(!this.previewFrame){this.previewFrame=o("iframe",{});this.previewFrameWrapper=o("div",{attrs:{style:"width: 100%; height: 100%; overflow: hidden;"}});this.previewFrameWrapper.appendChild(this.previewFrame);this.content.innerHTML="";this.content.appendChild(this.previewFrameWrapper);this.showPreviewLoader();requestAnimationFrame(function(){var t=this.content.clientWidth-40;void c(this.previewFrame,{width:"1000px",height:"calc((100vh - 113px) * (100 / "+t/1e3*100+"))",transform:"scale("+t/1e3+") translateZ(0)","transform-origin":"top left",border:"none"})}.bind(this))}t(this.previewFrame)}.bind(this))}.bind(this)},onBlockClick:function(t,e){if(e.isTrusted){this.getBlocks(this.currentSelectedLanding.ID).then(function(e){var n=e.find(function(e){return e.id===t});if(n){this.onChange({type:v,id:n.id,name:n.name,alias:n.alias})}}.bind(this))}},onLandingClick:function(t,e){this.onChange({type:p,id:t,name:e})},onSystemClick:function(t,e){this.onChange({type:I,id:"_"+t,name:e})},onSiteClick:function(t,e,n){this.sidebarButtons.forEach(function(t){if(t.layout===n.currentTarget){t.activate()}else{t.deactivate()}});this.content.innerHTML="";this.showLoader();this.getLandings(t).then(function(t){if(u(t)){t=Object.keys(t).reduce(function(e,n){if(u(t[n])&&g(t[n].result)){e=e.concat(t[n].result)}return e},[])}t.forEach(function(t){if(!t.IS_AREA||t.IS_AREA&&e){this.appendCard(this.createLandingPreview(t))}},this);this.loader.hide()}.bind(this))},createLandingPreview:function(t){return new BX.Landing.UI.Card.LandingPreviewCard({title:t.TITLE,description:t.DESCRIPTION,preview:t.PREVIEW,onClick:this.onLandingClick.bind(this,t.ID,t.TITLE)})},createBlockPreview:function(t){return new BX.Landing.UI.Card.BlockHTMLPreview({content:t.id,onClick:this.onBlockClick.bind(this,t.id,t.name,t.alias)})},getSites:function(t){if(this.cache.has(t)){return Promise.resolve(this.cache.get(t))}return BX.Landing.Backend.getInstance().action("Site::getList",{params:{order:{ID:"DESC"},filter:t.filter}}).then(function(e){this.cache.add(t,e);return e}.bind(this))},getLandings:function(t,e){t=h(t)||l(t)||g(t)?t:e.siteId;var n=g(t)?t.join(","):t;if(this.cache.has("getLandings"+n)){return Promise.resolve(this.cache.get("getLandings"+n))}if(g(t)){var i=t.reduce(function(t,e){t[e]={action:"Landing::getList",data:{params:{filter:{SITE_ID:e},order:{ID:"DESC"},get_preview:true,check_area:1}}};return t},{});return BX.Landing.Backend.getInstance().batch("Landing::getList",i).then(function(t){this.cache.add("getLandings"+n,t);return t}.bind(this))}return BX.Landing.Backend.getInstance().action("Landing::getList",{params:{filter:{SITE_ID:t},order:{ID:"DESC"},get_preview:true,check_area:1}}).then(function(t){this.cache.add("getLandings"+n,t);return t}.bind(this))},getLanding:function(t,e){if(this.cache.has(["getLanding"+t,e])){return Promise.resolve(this.cache.get(["getLanding"+t,e]))}return BX.Landing.Backend.getInstance().action("Landing::getList",{params:{filter:{ID:t},get_preview:true}}).then(function(n){this.cache.add(["getLanding"+t,e],n);return n}.bind(this))},getBlocks:function(t,e){t=h(t)||l(t)?t:e.landingId;if(this.cache.has(["getBlocks"+t,e])){var n=this.cache.get(["getBlocks"+t,e]);if(n&&typeof n==="object"&&typeof n.then==="function"){return n}return Promise.resolve(n)}var i=BX.Landing.Backend.getInstance().action("Block::getList",{lid:t,params:{get_content:true,edit_mode:true}}).then(function(n){this.cache.set(["getBlocks"+t,e],n);return n}.bind(this));this.cache.set(["getBlocks"+t,e],i);return i},getBlock:function(t){var e="getBlocks"+t;if(this.cache.has(e)){var n=this.cache.get(e);if(n&&typeof n==="object"&&typeof n.then==="function"){return n}return Promise.resolve(n)}var i=BX.Landing.Backend.getInstance().action("Block::getById",{block:t,params:{edit_mode:true}}).then(function(t){this.cache.set(e,t);return t}.bind(this));this.cache.set(e,i);return i},getEntries:function(){return new Promise(function(t){if(this.isNeedLoad){this.getLandings().then(function(e){var n=Promise.all(e.map(function(t){return this.getBlocks(t.ID)},this));n.then(function(n){var i=e.map(function(t,e){var i=n[e];if(u(i)){var a=Object.keys(i);i=a.map(function(t){return n[e][t]})}t.blocks=i;return t});this.lastEntries=i;this.isNeedLoad=false;t(i)}.bind(this))}.bind(this))}else{t(this.lastEntries)}}.bind(this))},onChange:function(t){this.promiseResolve(t);this.hide()},hide:function(){this.previewFrame=null;return BX.Landing.UI.Panel.Content.prototype.hide.call(this)}}})();

Zerion Mini Shell 1.0