Your IP : 18.119.255.122
(function(){"use strict";BX.namespace("BX.UI");BX.UI.ActionPanel=function(e){this.groupActions=e.groupActions;this.layout={container:null,itemContainer:null,more:null,reset:null,totalSelected:null,totalSelectedItem:null};this.itemContainer=null;this.renderContainer=e.renderTo;this.items=[];this.hiddenItems=[];this.grid=null;this.tileGrid=null;this.params=e.params||{};this.buildPanelContainer();this.bindEvents()};BX.UI.ActionPanel.prototype={bindEvents:function(){BX.addCustomEvent("Grid::ready",this.handleGridReady.bind(this));BX.addCustomEvent("BX.TileGrid.Grid::ready",this.handleTileGridReady.bind(this));BX.addCustomEvent(window,"BX.TileGrid.Grid:selectItem",this.handleTileSelectItem.bind(this));BX.addCustomEvent(window,"BX.TileGrid.Grid:checkItem",this.handleTileSelectItem.bind(this));BX.addCustomEvent(window,"BX.TileGrid.Grid:unSelectItem",this.handleTileUnSelectItem.bind(this));BX.addCustomEvent("Grid::thereSelectedRows",this.handleGridSelectItem.bind(this));BX.addCustomEvent("Grid::allRowsSelected",this.handleGridSelectItem.bind(this));BX.addCustomEvent(window,"BX.TileGrid.Grid:redraw",this.hidePanel.bind(this));BX.addCustomEvent(window,"BX.TileGrid.Grid:defineEscapeKey",this.hidePanel.bind(this));BX.addCustomEvent(window,"BX.TileGrid.Grid:lastSelectedItem",this.hidePanel.bind(this));BX.addCustomEvent(window,"BX.UI.ActionPanel:clickResetAllBlock",this.hidePanel.bind(this));BX.addCustomEvent(window,"BX.TileGrid.Grid:multiSelectModeOff",this.hidePanel.bind(this));BX.addCustomEvent("Grid::updated",this.hidePanel.bind(this));BX.addCustomEvent("Grid::noSelectedRows",this.hidePanel.bind(this));BX.addCustomEvent("Grid::allRowsUnselected",this.hidePanel.bind(this));BX.bind(window,"click",this.handleOuterClick.bind(this));BX.bind(window,"scroll",this.handleScroll.bind(this));BX.bind(window,"resize",BX.throttle(this.adjustPanelStyle,20,this))},addItems:function(e){e.forEach(function(e){this.appendItem(e)}.bind(this));this.items.forEach(function(e){if(!e.isVisible()&&!this.layout.more){this.appendMoreBlock()}},this);this.items.forEach(function(e){if(!e.isVisible()){this.addHiddenItem(e)}},this)},buildItem:function(e){e.actionPanel=this;return new BX.UI.ActionPanel.Item(e)},appendItem:function(e){var t=this.buildItem(e);this.items.push(t);this.layout.itemContainer.appendChild(t.render())},addHiddenItem:function(e){this.hiddenItems.push(e)},removeHiddenItem:function(e){for(var t=0;t<this.hiddenItems.length;t++){if(this.hiddenItems[t].id===e.id){delete this.hiddenItems[t];this.hiddenItems.splice(t,1);return}}},removeItems:function(){this.items.forEach(function(e){e.destroy()});this.items=[];this.hiddenItems=[]},appendMoreBlock:function(){this.layout.more=BX.create("div",{props:{className:"ui-action-panel-more"},text:BX.message("JS_UI_ACTIONPANEL_MORE_BLOCK"),events:{click:this.handleClickMoreBlock.bind(this)}});this.layout.container.appendChild(this.layout.more)},getResetAllBlock:function(){this.layout.reset=BX.create("div",{props:{className:"ui-action-panel-reset"}});BX.bind(this.layout.reset,"click",function(){BX.onCustomEvent("BX.UI.ActionPanel:clickResetAllBlock");this.resetAllSection()}.bind(this));return this.layout.reset},resetAllSection:function(){if(this.grid){this.grid.getRows().unselectAll()}else if(this.tileGrid){this.tileGrid.resetSetMultiSelectMode();this.tileGrid.resetSelectAllItems();this.tileGrid.resetFromToItems()}},handleScroll:function(){if(this.getDistanceFromTop()>0){this.unfixPanel()}else{this.fixPanel()}var e=BX.PopupMenu.getMenuById("ui-action-panel-item-popup-menu");if(e){e.popupWindow.adjustPosition()}},handleOuterClick:function(e){var t=BX.getEventTarget(e);if(BX.hasClass(t,"ui-action-panel")){return}if(BX.findParent(t,{className:"ui-action-panel"})){return}if(BX.findParent(t,{className:"main-grid-container"})){return}if(BX.findParent(t,{className:"ui-grid-tile-item"})){return}this.hidePanel();if(this.grid){this.resetAllSection()}},handleClickMoreBlock:function(e){var t=this.layout.more;var i=BX.PopupMenu.create("ui-action-panel-item-popup-menu",t,this.hiddenItems,{className:"ui-action-panel-item-popup-menu",angle:true,offsetLeft:t.offsetWidth/2,closeByEsc:true,events:{onPopupShow:function(){BX.bind(i.popupWindow.popupContainer,"click",function(e){var t=BX.getEventTarget(e);var n=BX.findParent(t,{className:"menu-popup-item"},10);if(!n||!n.dataset.preventCloseContextMenu){i.close()}})},onPopupClose:function(){i.destroy();BX.removeClass(t,"ui-action-panel-item-active")}}});i.layout.menuContainer.setAttribute("data-tile-grid","tile-grid-stop-close");i.show()},removeMoreBlock:function(){if(!this.layout.more)return;this.layout.more.parentNode.removeChild(this.layout.more);this.layout.more=null},getDistanceFromTop:function(){return this.renderContainer.getBoundingClientRect().top},fixPanel:function(){BX.addClass(this.layout.container,"ui-action-panel-fixed")},unfixPanel:function(){BX.removeClass(this.layout.container,"ui-action-panel-fixed")},buildPanelContainer:function(){this.layout.container=BX.create("div",{attrs:{className:"ui-action-panel"},dataset:{tileGrid:"tile-grid-stop-close"},children:[this.getTotalSelectedBlock(),this.getItemContainer(),this.getResetAllBlock()]})},getItemContainer:function(){return this.layout.itemContainer=BX.create("div",{props:{className:"ui-action-panel-wrapper"}})},getTotalSelectedBlock:function(){return this.layout.totalSelected=BX.create("div",{props:{className:"ui-action-panel-total"},children:[BX.create("span",{props:{className:"ui-action-panel-total-label"},text:BX.message("JS_UI_ACTIONPANEL_IS_SELECTED")}),this.layout.totalSelectedItem=BX.create("span",{props:{className:"ui-action-panel-total-param"}})]})},getPanelContainer:function(){return this.layout.container},adjustPanelStyle:function(){var e=BX.pos(this.renderContainer);this.layout.container.style.width=e.width+"px";this.layout.container.style.top=e.top+"px";this.layout.container.style.left=e.left+"px"},handleGridReady:function(e){if(!this.grid&&e.getContainerId()===this.params.gridId){this.grid=e}},handleTileGridReady:function(e){if(!this.tileGrid&&e.getId()===this.params.tileGridId){this.tileGrid=e}},handleGridUnSelectItem:function(e,t){if(t.getRows().getSelectedIds().length===1){this.buildPanelByItem(t.getRows().getSelected().pop())}},handleTileUnSelectItem:function(e,t){if(t.getSelectedItems().length===1){this.buildPanelByItem(t.getSelectedItems().pop())}this.setTotalSelectedItems(t.getSelectedItems().length)},handleGridSelectItem:function(){this.setTotalSelectedItems(this.grid.getRows().getSelectedIds().length);if(this.grid.getRows().getSelectedIds().length>1){this.buildPanelByGroup()}else{this.buildPanelByItem(this.grid.getRows().getSelected().pop())}},handleTileSelectItem:function(e,t){this.setTotalSelectedItems(t.getSelectedItems().length);if(t.isMultiSelectMode()&&t.getSelectedItems().length>1){this.buildPanelByGroup()}else{this.buildPanelByItem(e)}},buildPanelByItem:function(e){var t=e.getActions();var i=[];t.forEach(function(e){i.push(e)}.bind(this));this.removeItems();this.addItems(i);this.showPanel();if(this.hiddenItems.length<=0)this.removeMoreBlock()},buildPanelByGroup:function(){if(!this.groupActions){return}var e=this.extractButtonsFromGroupActions(this.groupActions);this.removeItems();this.addItems(e);this.showPanel()},setTotalSelectedItems:function(e){this.layout.totalSelectedItem.innerHTML=e},extractButtonsFromGroupActions:function(e){var t=BX.clone(e);if(!t["GROUPS"]||!t["GROUPS"][0]||!t["GROUPS"][0]["ITEMS"]){return[]}var i=[];var n=t["GROUPS"][0]["ITEMS"];n.forEach(function(e){if(e.TYPE==="BUTTON"){var t=e.ONCHANGE.pop();if(t&&t.ACTION==="CALLBACK"){var n=t.DATA.pop();i.push({id:e.ID||e.VALUE,text:e.TEXT||e.NAME,icon:e.ICON,disabled:e.DISABLED,onclick:n.JS})}}else if(e.TYPE==="DROPDOWN"){i.push({id:e.ID||e.VALUE,text:e.TEXT||e.NAME,icon:e.ICON,disabled:e.DISABLED,items:e.ITEMS})}});return i},showPanel:function(){if(BX.hasClass(this.layout.container,"ui-action-panel-show"))return;BX.addClass(this.layout.container,"ui-action-panel-show");BX.addClass(this.layout.container,"ui-action-panel-show-animate");var e=BX.pos(this.renderContainer);this.layout.container.style.height=e.height+"px";setTimeout(function(){BX.removeClass(this.layout.container,"ui-action-panel-show-animate")}.bind(this),300)},hidePanel:function(){BX.removeClass(this.layout.container,"ui-action-panel-show");BX.removeClass(this.layout.container,"ui-action-panel-show-animate");BX.addClass(this.layout.container,"ui-action-panel-hide-animate");setTimeout(function(){BX.removeClass(this.layout.container,"ui-action-panel-hide-animate")}.bind(this),300)},draw:function(){document.body.appendChild(this.getPanelContainer());this.adjustPanelStyle()}}})();