{"version":3,"sources":["webpack://jrs-ui/./src/core/core.layout.js"],"names":["layoutModule","ELEMENT_CONTEXTMENU","SIZEABLE_PATTERN","SIZER_PATTERN","RESIZE_OVERLAY_PATTERN","MOVEABLE_PATTERN","MOVER_PATTERN","MINIMIZER_PATTERN","MINIMIZED_PATTERN","TRUNCATE_PATTERN","TREE_LEAF_PATTERN","TREE_CONTAINER_PATTERN","TOOLBAR_CAPSULE_PATTERN","NAVIGATION_MUTTON_PATTERN","NAVIGATION_PATTERN","NAVIGATION_HOVER_PATTERN","META_LINKS_PATTERN","BUTTON_SET_BUTTON","TABSET_TAB_PATTERN","BUTTON_PATTERN","PRESSED_PATTERN","SELECTED_PATTERN","LIST_ITEM_PATTERN","LIST_ITEM_WRAP_PATTERN","DISCLOSURE_BUTTON_PATTERN","MENU_PATTERN","MENU_LIST_PATTERN","SEPARATOR_PATTERN","MESSAGE_PATTERN","MESSAGE_WARNING_PATTERN","MESSAGE_WARNING_DETAILS_PATTERN","MESSAGE_SUCCESS_PATTERN","DETAILS_PATTERN","COLUMN_NODE_WRAPPER_PATTERN","PAGE_HEADER_TITLE_PATTERN","COLUMN_LEAF_WRAPPER_PATTERN","SEARCH_LOCKUP_PATTERN","DIALOG_PATTERN","DIALOG_LOADING_PATTERN","SWIPE_SCROLL_PATTERN","SCROLL_WRAPPER_PATTERN","ADHOC_MODE_OPTION_CLASS","DRAGGING_CLASS","COPY_CLASS","PRESSED_CLASS","SELECTED_CLASS","DISABLED_CLASS","HOVERED_CLASS","ERROR_CLASS","SUCCESS_CLASS","MESSAGE_CLASS","UP_CLASS","LAST_CLASS","FIRST_CLASS","SCHEDULED_CLASS","FAVORITE_CLASS","MENU_ROOT_CLASS","NODE_CLASS","LEAF_CLASS","ICON_CLASS","OPEN_CLASS","CLOSED_CLASS","LOADING_CLASS","NOTHING_TO_DISPLAY_CLASS","COLLAPSIBLE_CLASS","RESPONSIVE_CLASS","HIDDEN_CLASS","NO_GENERATORS_CLASS","STACKTRACE_CLASS","EMPHASIS_CLASS","ASCENDING_CLASS","DESCENDING_CLASS","CANCELLABLE_CLASS","DROP_TARGET_CLASS","BUTTON_CLASS","ONE_COLUMN_CLASS","CONTROL_PAGE_CLASS","DISABLED_ATTR_NAME","SELECTED_ATTR_NAME","OPEN_ATTR_NAME","CLOSED_ATTR_NAME","READONLY_ATTR_NAME","HORIZONTAL_CENTERING_CLASS","VERTICAL_CENTERING_CLASS","DIMMER_ID","PAGE_BODY_ID","MENU_ID","MAIN_NAVIGATION_ID","MAIN_NAVIGATION_HOME_ITEM_ID","MAIN_NAVIGATION_LIBRARY_ITEM_ID","META_LINK_LOGOUT_ID","MAIN_SEARCH_INPUT_ID","SCROLL_SENSITIVITY","DND_MOVABLE_ZINDEX","DIMMER_Z_INDEX","FOLDERS_RESIZABLE_PANEL_ID","FILTERS_RESIZABLE_PANEL_ID","PROPERTIES_RESIZABLE_PANEL_ID","FIELDS_RESIZABLE_PANEL_ID","FOLDERS_RESIZABLE_PANEL_COOKIE_NAME","FOLDERS_MINIMIZED_PANEL_COOKIE_NAME","FILTERS_RESIZABLE_PANEL_COOKIE_NAME","FILTERS_MINIMIZED_PANEL_COOKIE_NAME","PROPERTIES_RESIZABLE_PANEL_COOKIE_NAME","PROPERTIES_MINIMIZED_PANEL_COOKIE_NAME","FIELDS_RESIZABLE_PANEL_COOKIE_NAME","FIELDS_MINIMIZED_PANEL_COOKIE_NAME","PANEL_WIDTH","MINIMIZED","PANEL_STATE_CHANGED_MANUALLY","ADHOC_COMPONENT","scrolls","$H","initialize","container","jQuery","document","body","Truncator","find","isIE7","this","fixIE7Sizes","select","each","createSizer","bind","createMover","elem","fn","parseFunc","centerElement","horz","match","vert","style","zIndex","length","append","window","resize","resizeTo","clearTimeout","setTimeout","trigger","updateOnOrientation","isVisible","element","hasClass","createScroller","scrollContainer","options","identify","existingScroll","get","destroy","disableTransformFor","startsWith","push","Object","extend","hideScrollbar","useTransform","include","bounce","scroll","iScroll","set","sizeable","sizer","children","matchMeOrUp","sizerType","getSizerType","sizerAlign","alignmentModule","getSizerAlignment","dragger","Draggable","resizeablePanel","primaryPanel","siblings","s","fillerPattern","filler","sizerMousedownCallback","evt","pointerX","pageX","pointerY","pageY","observe","e","originalEvent","background","alignment","constraint","onStart","beginSizerDragging","onDrag","isIPad","doNothing","respondToDrag","onEnd","endSizerDragging","alignments","alignmentIndexes","dimensions","result","alignmentIndex","alignmentStyles","alignmentOffsets","map","al","parseInt","css","isNaN","event","parentOffset","getStyle","offsetUnit","addClass","removeClass","fire","targetEvent","resizeOnDrag","orientation","dragData","axis","myAlignments","dimension","sizeProperty","pointerName","sizeableAnchorage","p","changedTouches","dragDelta","resizePanelsOnDrag","sizeTracker","getSizeTracker","checkpoint","minWidth","panelSize","getDimensionInPx","isInBounds","setStyle","localStorage","setItem","getWidth","changed","actualSize","getActualDimension","currentStyle","defaultView","getComputedStyle","substring","indexOf","primaryOffset","newOffset","primaryMinMeasurement","sizeableAnchorageMeasurement","avaliableParentMeasurement","pimaryPanelMarginMeasurement","outerDimentionFunc","primaryPanelParent","parent","dimention","replace","charAt","toUpperCase","call","panels","not","isTemplatable","width","height","lastSize","size","movable","mover","down","Math","max","useJQueryForDraggable","draggable","handle","containment","zindex","maximize","noEffects","toMaximize","up","id","minimize","getElementById","ppOffset","aligments","offsets","thisAlignment","getItem","show","hide","parentNode","type","toMinimize","title","eq","vTitle","headerText","html","w","text","appendTo","on","preventDefault","isIE8","isIE9","top","left","resizeOnClient","leftPanelID","mainPanelID","rightPanelID","jMainPanelElement","diff","i","v","isLeft","jo","minimized","isUndefined","offset","abs","panel","is","attr","autoMaximize","autoMinimize","immediateDescendants","child","clientWidth","offsetWidth","storePanelWidth","panelName","getPanelWidth","undefined","getPanelMinimizedState","storePanelMinimizedState","value","toString","manuallyChangePanelState","clientKey","panelStateWasManuallyChanged"],"mappings":"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","file":"_chunks/chunk.3806.js","sourcesContent":["/*\n * Copyright (C) 2005 - 2022 TIBCO Software Inc. All rights reserved.\n * http://www.jaspersoft.com.\n *\n * Unless you have purchased a commercial license agreement from Jaspersoft,\n * the following license terms apply:\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n */\n/**\n * @author: Angus Croll\n * @version: $Id$\n */\nimport {Draggable} from 'dragdropextra';\nimport {$H} from 'prototype';\nimport {\n isIE7,\n parseFunc,\n centerElement,\n matchMeOrUp,\n isIPad,\n doNothing,\n getDimensionInPx,\n getActualDimension,\n isIE8,\n isIE9\n} from '../util/utils.common';\nimport Truncator from '../util/tools.truncator';\n\nimport {iScroll} from 'iscroll';\nimport Effect from 'scriptaculous/src/effects';\nimport jQuery from 'jquery';\n\nimport 'jquery-ui/ui/widgets/draggable';\n\nvar layoutModule = {\n ELEMENT_CONTEXTMENU: 'element:contextmenu',\n //predefine CSS patterns for element sifting\n SIZEABLE_PATTERN: '.sizeable',\n SIZER_PATTERN: '.sizer',\n RESIZE_OVERLAY_PATTERN: '.resizeOverlay',\n MOVEABLE_PATTERN: '.moveable',\n MOVER_PATTERN: '.mover',\n MINIMIZER_PATTERN: '.maximized .minimize',\n MINIMIZED_PATTERN: '.minimized .minimize',\n TRUNCATE_PATTERN: '.trunc',\n TREE_LEAF_PATTERN: 'a.>node',\n TREE_CONTAINER_PATTERN: '.collapsible',\n TOOLBAR_CAPSULE_PATTERN: '#toolbar .capsule',\n NAVIGATION_MUTTON_PATTERN: 'li.mutton',\n NAVIGATION_PATTERN: '.js-navigationOptions li',\n NAVIGATION_HOVER_PATTERN: '.js-navigationOptions li.over',\n META_LINKS_PATTERN: '#metaLinks #main_logOut_link',\n BUTTON_SET_BUTTON: '.buttonSet > *',\n TABSET_TAB_PATTERN: '.tab',\n // This class is given to both actual button elements, and instances of\n // other element types that should be handled by the buttonManager.\n BUTTON_PATTERN: '.button',\n PRESSED_PATTERN: '.pressed',\n SELECTED_PATTERN: '.selected',\n LIST_ITEM_PATTERN: '.list.responsive > li',\n LIST_ITEM_WRAP_PATTERN: '.wrap',\n DISCLOSURE_BUTTON_PATTERN: '.disclosure',\n // Entries in menu bars, popup menus, dropdown menus, and context menus.\n MENU_PATTERN: '#menu',\n MENU_LIST_PATTERN: '#menu li',\n // Visual separators in menus that aren't focusable or cursorable.\n SEPARATOR_PATTERN: '.separator',\n MESSAGE_PATTERN: '.message',\n MESSAGE_WARNING_PATTERN: '.message.warning',\n MESSAGE_WARNING_DETAILS_PATTERN: '.details',\n MESSAGE_SUCCESS_PATTERN: '.message.success',\n DETAILS_PATTERN: '.details',\n COLUMN_NODE_WRAPPER_PATTERN: '.node > .wrap > .column',\n PAGE_HEADER_TITLE_PATTERN: '.pageHeader > .pageHeader-title > .pageHeader-title-text',\n COLUMN_LEAF_WRAPPER_PATTERN: '.leaf > .wrap > .column',\n SEARCH_LOCKUP_PATTERN: '.searchLockup',\n DIALOG_PATTERN: '.dialog',\n DIALOG_LOADING_PATTERN: '.dialog.loading',\n SWIPE_SCROLL_PATTERN: '.swipeScroll',\n SCROLL_WRAPPER_PATTERN: '.scrollWrapper',\n //classes\n ADHOC_MODE_OPTION_CLASS: 'tab mode horizontal',\n //not used?\n DRAGGING_CLASS: 'dragging',\n COPY_CLASS: 'copy',\n PRESSED_CLASS: 'pressed',\n SELECTED_CLASS: 'selected',\n DISABLED_CLASS: 'disabled',\n // The button manager adds this class when a mouseover event occurs, and\n // removes it when a mouseout event occurs. Keyboard, touch, and automation\n // navigation should manage it as well.\n HOVERED_CLASS: 'over',\n ERROR_CLASS: 'error',\n SUCCESS_CLASS: 'error',\n MESSAGE_CLASS: 'error',\n UP_CLASS: 'up',\n LAST_CLASS: 'last',\n FIRST_CLASS: 'first',\n SCHEDULED_CLASS: 'scheduled',\n FAVORITE_CLASS: 'favorite',\n // The main menu bar, and any other menu bars. Not used for context menus.\n MENU_ROOT_CLASS: 'menuRoot',\n // Multi-purpose:\n // For menus: a menu entry that has a drop-down or pop-out menu.\n // Not used for context menus.\n NODE_CLASS: 'node',\n // Multi-purpose:\n // For menus: a menu entry that has no drop-down or pop-out menus.\n // Normally triggerable by clicking, touching, or pressing\n // ENTER.\n LEAF_CLASS: 'leaf',\n ICON_CLASS: 'icon',\n // Node elements such as folders in tree views and list items with subitems\n // should have this class when open.\n OPEN_CLASS: 'open',\n // Node elements such as folders in tree views and list items with subitems\n // should have this class when closed.\n CLOSED_CLASS: 'closed',\n LOADING_CLASS: 'loading',\n NOTHING_TO_DISPLAY_CLASS: 'nothingToDisplay',\n COLLAPSIBLE_CLASS: 'collapsible',\n RESPONSIVE_CLASS: 'responsive',\n HIDDEN_CLASS: 'hidden',\n NO_GENERATORS_CLASS: 'noGenerators',\n STACKTRACE_CLASS: 'stacktrace',\n EMPHASIS_CLASS: 'emphasis',\n ASCENDING_CLASS: 'ascending',\n DESCENDING_CLASS: 'descending',\n CANCELLABLE_CLASS: 'cancellable',\n DROP_TARGET_CLASS: 'dropTarget',\n BUTTON_CLASS: 'button',\n ONE_COLUMN_CLASS: 'oneColumn',\n CONTROL_PAGE_CLASS: 'controlPage',\n //attributes\n DISABLED_ATTR_NAME: 'disabled',\n SELECTED_ATTR_NAME: 'selected',\n OPEN_ATTR_NAME: 'open',\n CLOSED_ATTR_NAME: 'closed',\n READONLY_ATTR_NAME: 'readonly',\n HORIZONTAL_CENTERING_CLASS: \"centered_horz\",\n VERTICAL_CENTERING_CLASS: \"centered_vert\",\n // Predefined DOM elements IDs.\n // ----------------------------\n DIMMER_ID: 'pageDimmer',\n PAGE_BODY_ID: 'display',\n // ID of the multipurpose dropdown/popup/context menu.\n MENU_ID: 'menu',\n // IDs of the actual main menu bar and its entries.\n MAIN_NAVIGATION_ID: \"mainNavigation\",\n MAIN_NAVIGATION_HOME_ITEM_ID: \"main_home\",\n MAIN_NAVIGATION_LIBRARY_ITEM_ID: \"main_library\",\n META_LINK_LOGOUT_ID : \"main_logOut_link\",\n // ID of the global search input\n MAIN_SEARCH_INPUT_ID: \"searchInput\",\n\n\n // DnD\n SCROLL_SENSITIVITY: 50,\n DND_MOVABLE_ZINDEX: 2000,\n //dimmer\n DIMMER_Z_INDEX: 4000,\n //Resizable folders/filters/properties/fields panels\n FOLDERS_RESIZABLE_PANEL_ID: 'folders',\n FILTERS_RESIZABLE_PANEL_ID: 'filters',\n PROPERTIES_RESIZABLE_PANEL_ID: 'properties',\n FIELDS_RESIZABLE_PANEL_ID: 'fields',\n\n FOLDERS_RESIZABLE_PANEL_COOKIE_NAME: 'foldersPanelWidth',\n FOLDERS_MINIMIZED_PANEL_COOKIE_NAME: 'foldersMinimized',\n\n FILTERS_RESIZABLE_PANEL_COOKIE_NAME: 'filtersPanelWidth',\n FILTERS_MINIMIZED_PANEL_COOKIE_NAME: 'filtersMinimized',\n\n PROPERTIES_RESIZABLE_PANEL_COOKIE_NAME: 'propertiesPanelWidth',\n PROPERTIES_MINIMIZED_PANEL_COOKIE_NAME: 'propertiesMinimized',\n\n FIELDS_RESIZABLE_PANEL_COOKIE_NAME: 'fieldsPanelWidth',\n FIELDS_MINIMIZED_PANEL_COOKIE_NAME: 'fieldsMinimized',\n\n PANEL_WIDTH: 'PanelWidth',\n MINIMIZED: 'Minimized',\n PANEL_STATE_CHANGED_MANUALLY: 'PSCM',\n ADHOC_COMPONENT: 'adhocComponent',\n\n // swipe scroll\n scrolls: $H(),\n\n //////////////////////////////////////////////////////////////////////\n // Initialize: Programmatically modifies the DOM objects upfront\n //////////////////////////////////////////////////////////////////////\n initialize: function (container) {\n container = jQuery('#' + container)[0] || jQuery(document.body)[0]; //truncate matching patterns\n //truncate matching patterns\n new Truncator(jQuery(container).find(layoutModule.TRUNCATE_PATTERN)); //IE7 needs explicit style set (no sensible alternative to browser sniffing here)\n //IE7 needs explicit style set (no sensible alternative to browser sniffing here)\n isIE7() && this.fixIE7Sizes();\n container.select(this.SIZEABLE_PATTERN).each(this.createSizer.bind(this)); //init moveables (note: DOM elements created after page load will need to be initialized for move after creation)\n //init moveables (note: DOM elements created after page load will need to be initialized for move after creation)\n container.select(this.MOVEABLE_PATTERN).each(this.createMover.bind(this)); //elements for centering (note: DOM elements created after page load will need to be initialized for center after creation)\n //elements for centering (note: DOM elements created after page load will need to be initialized for center after creation)\n container.select('.centered_horz,.centered_vert').each(function (elem) {\n var fn = parseFunc(elem, 'centered_fn_');\n fn || (fn = centerElement);\n\n fn(elem, {\n horz: elem.match('.centered_horz'),\n vert: elem.match('.centered_vert')\n });\n }); //page dimmer init\n //page dimmer init\n if (jQuery('#' + layoutModule.DIMMER_ID)[0] != null) {\n jQuery('#' + layoutModule.DIMMER_ID)[0].style.zIndex = layoutModule.DIMMER_Z_INDEX;\n } // in case of ajaxClobberedUpdate we have to reinitialize datepicker\n // in case of ajaxClobberedUpdate we have to reinitialize datepicker\n if (jQuery.datepicker && jQuery.datepicker.initialized)\n jQuery.datepicker.initialized = false; //make sure ajaxbuffer is available (for dynamicTree)\n //make sure ajaxbuffer is available (for dynamicTree)\n jQuery(function () {\n if (jQuery('#ajaxbuffer').length === 0) {\n jQuery('body').append(jQuery('
'));\n }\n });\n jQuery(window).resize(function () {\n if (this.resizeTo)\n clearTimeout(this.resizeTo);\n this.resizeTo = setTimeout(function () {\n jQuery(this).trigger('resizeEnd');\n }, 500);\n });\n },\n updateOnOrientation: function () {\n },\n //////////////////////////////////////////////////////////////////////\n // visibility\n //////////////////////////////////////////////////////////////////////\n isVisible: function (element) {\n return element && !jQuery(element).hasClass(layoutModule.HIDDEN_CLASS);\n },\n\n //////////////////////////////////////////////////////////////////////\n // panel scrolling\n //////////////////////////////////////////////////////////////////////\n createScroller: function (scrollContainer, options) {\n if (scrollContainer) {\n scrollContainer = scrollContainer.identify ? scrollContainer : jQuery('#' + scrollContainer)[0];\n var existingScroll = layoutModule.scrolls.get(scrollContainer.identify());\n existingScroll && existingScroll.destroy();\n var disableTransformFor = [\n 'mainTableContainer',\n 'resultsContainer',\n 'filtersPanel',\n 'foldersPodContent'\n ];\n scrollContainer.identify().startsWith('iframeScroll_') && disableTransformFor.push(scrollContainer.identify());\n options = Object.extend({\n hideScrollbar: false,\n useTransform: !disableTransformFor.include(scrollContainer.identify()),\n bounce: ['resultsContainer'].include(scrollContainer.identify()) //checkDOMChanges: true\n }, options || {});\n var scroll = new iScroll(scrollContainer, options);\n layoutModule.scrolls.set(scrollContainer.identify(), scroll);\n\n return scroll;\n }\n\n return null;\n },\n\n //////////////////////////////////////////////////////////////////////\n // panel resizing\n //////////////////////////////////////////////////////////////////////\n createSizer: function (sizeable, options) {\n sizeable = jQuery(sizeable)[0]; // Prototype and jQuery compatibilu\n //sizeable is the element we will resize\n //sizer is the handle we drag to resize it\n // Prototype and jQuery compatibilu\n //sizeable is the element we will resize\n //sizer is the handle we drag to resize it\n var sizer = options && options.sizer ? jQuery('#' + options.sizer)[0] : jQuery(sizeable).children(this.SIZER_PATTERN)[0]; //get first descendant with class sizer\n //get first descendant with class sizer\n if (!sizer || matchMeOrUp(sizeable, '.' + layoutModule.HIDDEN_CLASS)) {\n return;\n }\n var sizerType = this.getSizerType(sizer);\n var sizerAlign = this.alignmentModule.getSizerAlignment(sizer, sizerType);\n\n var dragger = new Draggable(sizer);\n dragger.resizeablePanel = sizeable;\n dragger.primaryPanel = sizeable.siblings().find(function (s) {\n return s.match && s.match('.primary');\n });\n\n if (options && options.fillerPattern) {\n dragger.filler = jQuery(jQuery(sizeable).find(options.fillerPattern)[0]);\n }\n var sizerMousedownCallback = function () {\n return function (evt) {\n //set co-ords now - if we wait until drag start it is too late - mouse already moved a bit\n dragger.pointerX = evt.pageX;\n dragger.pointerY = evt.pageY;\n };\n }(); //have to observer at this level - otherwise draggable has already swallowed up event\n //have to observer at this level - otherwise draggable has already swallowed up event\n sizer.observe('mousedown', sizerMousedownCallback);\n jQuery(sizer).bind({\n 'touchstart': function (e) {\n sizerMousedownCallback(e.originalEvent);\n this.style.background = '#666';\n this.style.zIndex = 9;\n },\n 'touchend': function () {\n this.style.background = 'transparent';\n }\n });\n dragger.sizerType = sizerType;\n dragger.alignment = sizerAlign;\n dragger.options = {\n constraint: sizerType === 'diagonal' ? '' : sizerType,\n onStart: layoutModule.beginSizerDragging.bind(layoutModule),\n onDrag: !isIPad() ? layoutModule.respondToDrag.bind(layoutModule) : doNothing,\n onEnd: layoutModule.endSizerDragging.bind(layoutModule)\n };\n },\n getSizerType: function (sizer) {\n return sizer.match('.horizontal') && 'horizontal' || sizer.match('.vertical') && 'vertical' || sizer.match('.diagonal') && 'diagonal';\n },\n alignmentModule: {\n alignments: [\n [\n 'left',\n 'right'\n ],\n [\n 'top',\n 'bottom'\n ]\n ],\n alignmentIndexes: {\n 'horizontal': 0,\n 'vertical': 1\n },\n dimensions: [\n 'width',\n 'height'\n ],\n /**\n * which edge(s) of the sizeable object is the sizer aligned with\n * @param {Object} sizer\n * @param {Object} sizerType\n * @return (Array) ['left', 'right' or '']['top', 'bottom' or '']\n */\n getSizerAlignment: function (sizer, sizerType) {\n var result = [\n '',\n ''\n ];\n if (sizerType === 'diagonal') {\n //diagonals sizer always the same alignment\n return [\n 'right',\n 'bottom'\n ];\n }\n var alignmentIndex = this.alignmentIndexes[sizerType]; //0 or 1\n //0 or 1\n var alignmentStyles = this.alignments[alignmentIndex]; //['left','right'] or ['top','bottom']\n //['left','right'] or ['top','bottom']\n var alignmentOffsets = [\n 0,\n 1\n ].map(function (al) {\n return parseInt(jQuery(sizer).css(alignmentStyles[al]));\n }); //calculate sizer anchorage by testing which offset is smaller (NaN mean not anchored - therefore not aligned)\n //calculate sizer anchorage by testing which offset is smaller (NaN mean not anchored - therefore not aligned)\n var alignment = isNaN(alignmentOffsets[0]) || alignmentOffsets[0] > alignmentOffsets[1] ? alignmentStyles[1] : alignmentStyles[0]; //now set the appropriate element\n //now set the appropriate element\n result[alignmentIndex] = alignment; //e.g. for horizontal: ['right',''];\n //e.g. for horizontal: ['right',''];\n return result;\n }\n },\n beginSizerDragging: function (dragger, event) {\n var sizer = dragger.element;\n dragger.parentOffset = [\n sizer.getStyle(dragger.alignment[0]),\n sizer.getStyle(dragger.alignment[1])\n ];\n dragger.offsetUnit = 'px'; //TODO: fix me\n //TODO: fix me\n dragger.pointerX = dragger.pointerX || event.pageX;\n dragger.pointerY = dragger.pointerY || event.pageY;\n jQuery(dragger.element).addClass(layoutModule.DRAGGING_CLASS);\n jQuery(layoutModule.RESIZE_OVERLAY_PATTERN).each(function () {\n jQuery(this).removeClass(layoutModule.HIDDEN_CLASS);\n });\n },\n endSizerDragging: function (dragger, event) {\n layoutModule.respondToDrag(dragger, event);\n jQuery(dragger.element).removeClass(layoutModule.DRAGGING_CLASS);\n jQuery(layoutModule.RESIZE_OVERLAY_PATTERN).each(function () {\n jQuery(this).addClass(layoutModule.HIDDEN_CLASS);\n }); //fire custom event so that we can know when we have finished sizing\n //fire custom event so that we can know when we have finished sizing\n document.fire('dragger:sizer', {\n targetEvent: event,\n element: dragger.element\n });\n jQuery(window).trigger('resize', {\n targetEvent: event,\n element: dragger.element\n });\n },\n respondToDrag: function (dragger, event) {\n //no else stmt - diagonal sizer will do both\n if (dragger.sizerType !== 'vertical') {\n //includes diagonal\n this.resizeOnDrag(dragger, event, 'horizontal');\n }\n if (dragger.sizerType !== 'horizontal') {\n //includes diagonal\n this.resizeOnDrag(dragger, event, 'vertical');\n }\n },\n resizeOnDrag: function (dragger, event, orientation) {\n //set vars based on dragger orientation\n var dragData = {};\n dragData.axis = orientation == 'horizontal' ? 0 : 1;\n dragData.myAlignments = this.alignmentModule.alignments[dragData.axis];\n dragData.dimension = this.alignmentModule.dimensions[dragData.axis];\n dragData.sizeProperty = dragData.axis ? 'offsetHeight' : 'offsetWidth';\n var pointerName = dragData.axis ? 'pointerY' : 'pointerX';\n var c = {\n pointerY: 'clientY',\n pointerX: 'clientX'\n }; //generic code starts here\n //generic code starts here\n dragData.sizeableAnchorage = dragger.alignment[dragData.axis] === dragData.myAlignments[0] ? dragData.myAlignments[1] : dragData.myAlignments[0];\n var p = event.changedTouches ? event.changedTouches[0][c[pointerName]] : event[pointerName]();\n var dragDelta = dragger[pointerName] ? p - dragger[pointerName] : 0;\n dragDelta = dragger.alignment[dragData.axis] === dragData.myAlignments[1] ? dragDelta : 0 - dragDelta; //directional correction\n //directional correction\n dragData.dragDelta = dragDelta;\n dragger[pointerName] = event[pointerName]();\n this.resizePanelsOnDrag(dragger, dragData);\n },\n resizePanelsOnDrag: function (dragger, dragData) {\n var sizeTracker = this.getSizeTracker();\n sizeTracker.checkpoint(dragger.resizeablePanel[dragData.sizeProperty]);\n if (dragger.filler && !dragger['fillerDelta' + dragData.dimension]) {\n dragger['fillerDelta' + dragData.dimension] = dragger.resizeablePanel[dragData.sizeProperty] - dragger.filler[dragData.sizeProperty];\n } //size the panel\n //size the panel\n var panelSize = getDimensionInPx(dragger.resizeablePanel, dragData.dimension); //worsk for % or px\n //worsk for % or px\n if (this.isInBounds(dragger, dragData) || !this.isInBounds(dragger, dragData) && dragData.dragDelta < 0) {\n dragger.resizeablePanel.setStyle(dragData.dimension + ':' + (panelSize + dragData.dragDelta) + 'px'); //size filling element if any\n //size filling element if any\n if (dragger.filler) {\n dragger.filler.setStyle(dragData.dimension + ':' + (panelSize + dragData.dragDelta - dragger['fillerDelta' + dragData.dimension]) + 'px');\n }\n }\n if (window.localStorage) {\n localStorage.setItem(dragger.resizeablePanel.identify() + layoutModule.PANEL_WIDTH, dragger.resizeablePanel.getWidth());\n } //could not size the panel? restore position of sizer and style of panel\n //could not size the panel? restore position of sizer and style of panel\n if (!sizeTracker.changed(dragger.resizeablePanel[dragData.sizeProperty])) {\n var actualSize = getActualDimension(dragger.resizeablePanel, dragData.dimension);\n if (dragger.alignment[dragData.axis] != dragData.myAlignments[0]) {\n //if sizer not naturally left/top aligned, remove left/top styling added by scriptaculous dragger\n dragger.element.style[dragData.myAlignments[0]] = '';\n }\n dragger.element.setStyle(dragger.alignment[dragData.axis] + ':' + dragger.parentOffset[dragData.axis]);\n dragger.resizeablePanel.setStyle(dragData.dimension + ':' + actualSize + 'px');\n if (dragger.primaryPanel && dragger.primaryPanel.style.zIndex == dragger.resizeablePanel.style.zIndex) {\n dragger.primaryPanel.setStyle(dragData.sizeableAnchorage + ':' + actualSize + 'px');\n }\n if (dragger.filler) {\n dragger.filler.setStyle(dragData.dimension + ':' + (actualSize - dragger['fillerDelta' + dragData.dimension]) + 'px');\n }\n return;\n }\n var minWidth;\n if (dragger.resizeablePanel.currentStyle) {\n minWidth = dragger.resizeablePanel.currentStyle.minWidth;\n } else {\n minWidth = document.defaultView.getComputedStyle(dragger.resizeablePanel, null);\n minWidth = minWidth['min-width'] ? minWidth['min-width'] : minWidth['minWidth'];\n }\n minWidth = minWidth.substring(0, minWidth.indexOf('px')); //size primary panel if any (and in same layer)\n //size primary panel if any (and in same layer)\n if (dragger.primaryPanel && dragger.primaryPanel.style.zIndex == dragger.resizeablePanel.style.zIndex) {\n var primaryOffset = getDimensionInPx(dragger.primaryPanel, dragData.sizeableAnchorage) + dragData.dragDelta;\n var newOffset = primaryOffset < minWidth ? minWidth : primaryOffset;\n dragger.primaryPanel.setStyle(dragData.sizeableAnchorage + ':' + newOffset + 'px'); //resize main (middle) panel if any\n } //finally restore sizer`s alignment w/ respect to its parent\n //finally restore sizer`s alignment w/ respect to its parent\n if (dragger.alignment[dragData.axis] != dragData.myAlignments[0]) {\n dragger.element.style[dragData.myAlignments[0]] = '';\n }\n dragger.element.setStyle(dragger.alignment[dragData.axis] + ':' + dragger.parentOffset[dragData.axis]);\n jQuery('body').trigger('layout_update');\n },\n isInBounds: function (dragger, dragData) {\n //just init variables\n var primaryMinMeasurement, sizeableAnchorageMeasurement, avaliableParentMeasurement, pimaryPanelMarginMeasurement, outerDimentionFunc, primaryPanel = jQuery(dragger.primaryPanel), primaryPanelParent = primaryPanel.parent(), dimention = dragData.dimension;\n if (dragger.primaryPanel) {\n //uppercase first charter\n dimention = dimention.replace(dimention.charAt(0), dimention.charAt(0).toUpperCase()); //chose function to get current dimmention\n //chose function to get current dimmention\n outerDimentionFunc = jQuery.fn['outer' + dimention]; //calculate measurement\n //calculate measurement\n pimaryPanelMarginMeasurement = outerDimentionFunc.call(primaryPanel, true) - outerDimentionFunc.call(primaryPanel);\n primaryMinMeasurement = parseInt(primaryPanel.css('min-' + dragData.dimension));\n if (isNaN(primaryMinMeasurement)) {\n primaryMinMeasurement = 0;\n }\n sizeableAnchorageMeasurement = parseInt(primaryPanel.css(dragData.sizeableAnchorage));\n avaliableParentMeasurement = parseInt(primaryPanelParent.css(dragData.dimension)); //if parent container has other divs then include their distentions in bound validation\n //if parent container has other divs then include their distentions in bound validation\n var panels = primaryPanelParent.children('div:visible:not(.minimized)').not('div.pageHeader').not('div.header');\n\n jQuery.each(panels, function () {\n var elem = jQuery(this), isTemplatable = elem.width() === 0 || elem.height() === 0;\n if (dragger.resizeablePanel != this && dragger.primaryPanel != this && !isTemplatable) {\n avaliableParentMeasurement -= outerDimentionFunc.call(elem, true);\n }\n });\n return avaliableParentMeasurement - sizeableAnchorageMeasurement - dragData.dragDelta > primaryMinMeasurement + pimaryPanelMarginMeasurement;\n } else {\n return true;\n }\n },\n getSizeTracker: function () {\n let lastSize = -1;\n return {\n checkpoint: function (size) {\n lastSize = size;\n },\n changed: function (size) {\n return size != lastSize;\n }\n };\n },\n ///////////////////////////////////////////////////////////////////////////////////\n // Make moveable\n ///////////////////////////////////////////////////////////////////////////////////\n createMover: function (movable, options = {}) {\n //movable is the element we will move\n //mover is the handle we drag to move it\n var mover = movable.down(this.MOVER_PATTERN); //get first descendant with class mover\n //get first descendant with class mover\n if (!mover || matchMeOrUp(movable, '.' + layoutModule.HIDDEN_CLASS)) {\n return;\n } // Default zindex in Draggable#initialize is 1000\n // But some dialogs can have zindex over 1000\n // Default zindex in Draggable#initialize is 1000\n // But some dialogs can have zindex over 1000\n var zIndex = Math.max(this.DND_MOVABLE_ZINDEX, // taken from hardcoded default in Draggable#initialize\n jQuery(movable).css('zIndex')); // Some dialogs can have zindex over constant zindex\n // Some dialogs can have zindex over constant zindex\n if (options.useJQueryForDraggable) {\n jQuery(movable).draggable({\n zIndex,\n handle: mover,\n containment: 'document'\n });\n } else {\n new Draggable(movable, {\n handle: mover,\n zindex: zIndex // To move dialog on foreground we need initialize DnD with big zIndex\n });\n }\n },\n ///////////////////////////////////////////////////////////////////////////////////\n // Minimizer / Maximizer\n ///////////////////////////////////////////////////////////////////////////////////\n maximize: function (elem, noEffects) {\n noEffects = true;\n var element = jQuery(elem).hasClass ? elem : jQuery(elem)[0];\n var toMaximize = jQuery(element).hasClass('column') ? element : element.up('.column'); /*\n * Special case for Adhoc Designer on iPad.\n */\n /*\n * Special case for Adhoc Designer on iPad.\n */\n if (window.orientation === 0) {\n toMaximize.id == 'filters' && layoutModule.minimize(document.getElementById('fields'));\n toMaximize.id == 'fields' && layoutModule.minimize(document.getElementById('filters'));\n }\n var aligments = layoutModule.alignmentModule.alignments[0];\n var offsets = aligments.map(function (al) {\n return parseInt(jQuery(toMaximize).css(al));\n });\n var thisAlignment = aligments[offsets[0] === 0 ? 0 : 1]; //left at 0, right at 1\n //left at 0, right at 1\n var primaryPanel = toMaximize.siblings().find(function (s) {\n return s.match && s.match('.primary');\n });\n var ppOffset;\n if (primaryPanel && window.localStorage) {\n ppOffset = localStorage.getItem(toMaximize.identify() + layoutModule.PANEL_WIDTH);\n }\n function saveState() {\n jQuery(toMaximize).removeClass('minimized_if_vertical_orientation');\n jQuery(toMaximize).removeClass('minimized');\n jQuery(toMaximize).addClass('maximized');\n window.localStorage && localStorage.setItem(toMaximize.identify() + layoutModule.MINIMIZED, false);\n jQuery('div.content', toMaximize).show();\n }\n if (ppOffset && !isNaN(ppOffset)) {\n ppOffset += 'px';\n toMaximize.setStyle({ width: ppOffset });\n if (noEffects) {\n primaryPanel.style[thisAlignment] = ppOffset;\n jQuery(toMaximize).removeClass('minimized_if_vertical_orientation');\n jQuery(toMaximize).removeClass('minimized');\n jQuery(toMaximize).addClass('maximized');\n window.localStorage && localStorage.setItem(toMaximize.identify() + layoutModule.MINIMIZED, false);\n jQuery('div.content', toMaximize).show();\n jQuery('div.vtitle', toMaximize).hide();\n } else {\n //This...\n new Effect.Morph(primaryPanel, {\n style: thisAlignment + ':' + ppOffset,\n duration: 0.6,\n afterFinish: function () {\n jQuery('body').trigger('layout_update');\n }\n }); //...runs parallel to these two...\n //...runs parallel to these two...\n new Effect.Opacity(toMaximize, {\n to: 0,\n from: 1,\n duration: 0.3,\n queue: {\n position: 'front',\n scope: 'sidePanel'\n },\n afterFinish: saveState\n });\n new Effect.Opacity(toMaximize, {\n to: 1,\n from: 0,\n duration: 0.3,\n queue: {\n position: 'end',\n scope: 'sidePanel'\n }\n });\n }\n }\n jQuery(toMaximize).find('.sizer').show();\n jQuery('body').trigger('layout_update', {\n elem: elem.parentNode,\n type: 'panel-maximize'\n });\n jQuery('.column.secondary > div.content > .body').show().height();\n },\n minimize: function (elem, noEffects) {\n var primaryPanel;\n noEffects = true;\n var element = jQuery(elem).hasClass ? elem : jQuery(elem)[0];\n var toMinimize = jQuery(element).hasClass('column') ? element : element.up('.column');\n var isMinimized = window.localStorage && localStorage.getItem(toMinimize.identify() + layoutModule.MINIMIZED) == 'true';\n !isMinimized && window.localStorage && localStorage.setItem(toMinimize.identify() + layoutModule.PANEL_WIDTH, toMinimize.getWidth()); //figure out alignment (left or right)\n //figure out alignment (left or right)\n var aligments = layoutModule.alignmentModule.alignments[0];\n var offsets = aligments.map(function (al) {\n return parseInt(jQuery(toMinimize).css(al));\n });\n var thisAlignment = aligments[offsets[0] === 0 ? 0 : 1];\n //left at 0, right at 1\n //left at 0, right at 1\n primaryPanel = toMinimize.siblings().find(function (s) {\n return s.match && s.match('.primary');\n });\n function saveState() {\n jQuery(toMinimize).addClass('minimized');\n jQuery(toMinimize).removeClass('maximized');\n jQuery(toMinimize).removeClass('minimized_if_vertical_orientation');\n window.localStorage && localStorage.setItem(toMinimize.identify() + layoutModule.MINIMIZED, true);\n jQuery('div.content', toMinimize).hide();\n }\n if (primaryPanel) {\n if (noEffects) {\n var title = jQuery('div.title', toMinimize).eq(0);\n var vTitle = jQuery('div.vtitle', toMinimize);\n var headerText = title.html();\n var w = jQuery.trim(title.text()).length * 7;\n primaryPanel.style[thisAlignment] = '24px';\n jQuery(toMinimize).addClass('minimized');\n jQuery(toMinimize).removeClass('maximized');\n jQuery(toMinimize).removeClass('minimized_if_vertical_orientation');\n window.localStorage && localStorage.setItem(toMinimize.identify() + layoutModule.MINIMIZED, true);\n if (!vTitle.length) {\n vTitle = jQuery('
').appendTo(toMinimize);\n vTitle.on('mouseup touchend', function (evt) {\n layoutModule.maximize(vTitle[0]);\n evt.preventDefault();\n });\n vTitle.html(jQuery.trim(headerText)).width(w + 24);\n }\n if (isIE7() || isIE8() || isIE9()) {\n vTitle.css({\n top: 0,\n left: 0\n });\n } else {\n vTitle.css('top', w + 24 + 'px');\n }\n\n vTitle.show();\n\n jQuery('div.content',toMinimize).hide();\n } else {\n //This...\n new Effect.Morph(primaryPanel, {\n style: thisAlignment + ':0px',\n duration: 0.6,\n afterFinish: function () {\n jQuery('body').trigger('layout_update');\n }\n }); //...runs parallel to these two...\n //...runs parallel to these two...\n new Effect.Opacity(toMinimize, {\n to: 0,\n from: 1,\n duration: 0.3,\n queue: {\n position: 'front',\n scope: 'sidePanel'\n },\n afterFinish: saveState\n });\n new Effect.Opacity(toMinimize, {\n to: 1,\n from: 0,\n duration: 0.3,\n queue: {\n position: 'end',\n scope: 'sidePanel'\n }\n });\n }\n }\n jQuery(toMinimize).find('.sizer').hide();\n jQuery('body').trigger('layout_update', {\n elem: elem.parentNode,\n type: 'panel-minimize'\n });\n },\n resizeOnClient: function (leftPanelID, mainPanelID, rightPanelID) {\n var panels = [];\n var jMainPanelElement = jQuery('#' + mainPanelID);\n var diff = jQuery('#display').width() - 20 - parseInt(jMainPanelElement.width());\n var minWidth; /*\n * Get panel state and dimensions\n */\n /*\n * Get panel state and dimensions\n */\n jQuery.each([\n leftPanelID,\n rightPanelID\n ], function (i, v) {\n if (v) {\n panels.push({\n id: v,\n isLeft: i === 0,\n jo: jQuery('#' + v),\n width: window.localStorage ? parseInt(localStorage.getItem(v + layoutModule.PANEL_WIDTH)) : 250\n });\n panels[i].minimized = window.localStorage ? localStorage.getItem(v + layoutModule.MINIMIZED) : false;\n panels[i].minimized = !Object.isUndefined(panels[i].minimized) ? panels[i].minimized == 'true' : panels[i].jo.hasClass('minimized');\n minWidth = panels[i].jo[0].currentStyle ? panels[i].jo[0].currentStyle.minWidth : document.defaultView.getComputedStyle(panels[i].jo[0], null)['minWidth'];\n panels[i].minWidth = (minWidth && minWidth.indexOf('px')) > 0 ? minWidth.substring(0, minWidth.indexOf('px')) : 200;\n panels[i].width = panels[i].width ? panels[i].width : panels[i].jo.width();\n diff -= panels[i].width;\n }\n });\n var offset = diff < 0 ? Math.abs(diff) : 0;\n diff = 0;\n jQuery.each(panels, function (i, panel) {\n if (panel.jo.length && panel.jo.is(':visible')) {\n if (panel.minimized) {\n jQuery(panel.jo).children('button.minimize').attr('aria-expanded', false);\n panel.jo.removeClass('maximized').addClass('minimized');\n layoutModule.minimize(panel.jo[0], true);\n } else {\n if (i == 1 && !panels[0].minimized && panels[0].jo.is(':visible')) {\n panel.width -= offset;\n if (panel.width < panel.minWidth) {\n diff = panel.width - panel.minWidth;\n panel.width = panel.minWidth;\n }\n }\n jQuery(panel.jo).children('button.minimize').attr('aria-expanded', true);\n panel.jo.removeClass('minimized').addClass('maximized');\n jMainPanelElement.css(panel.isLeft ? 'left' : 'right', panel.width + 'px');\n panel.jo.css('width', panel.width + 'px');\n }\n }\n });\n if (diff !== 0) {\n panels[0].width += diff;\n panels[0].width = panels[0].width < panels[0].minWidth ? panels[0].minWidth : panels[0].width;\n jMainPanelElement.css('left', panels[0].width + 'px');\n panels[0].jo.css('width', panels[0].width + 'px');\n }\n },\n autoMaximize: function (element) {\n var minimized = window.localStorage ? localStorage.getItem(element.identify() + layoutModule.MINIMIZED) : 'false';\n if (minimized == 'true') {\n jQuery(element).hasClass('minimized') && layoutModule.maximize(element, true);\n } else {\n !jQuery(element).hasClass('minimized') && layoutModule.minimize(element, true);\n }\n },\n autoMinimize: function (element) {\n var minimized = window.localStorage ? localStorage.getItem(element.identify() + layoutModule.MINIMIZED) : 'false';\n if (minimized == 'false') {\n layoutModule.minimize(element, true);\n } else {\n jQuery(element).removeClass('minimized');\n }\n },\n fixIE7Sizes: function () {\n jQuery('.control.tabSet.buttons.vertical').each(function (elem) {\n elem.immediateDescendants().each(function (child) {\n child.style.width = elem.clientWidth || elem.offsetWidth;\n });\n });\n },\n storePanelWidth: function (panelName, width) {\n window.localStorage && localStorage.setItem(panelName + layoutModule.PANEL_WIDTH, width);\n },\n getPanelWidth: function (panelName) {\n return window.localStorage ? localStorage.getItem(panelName + layoutModule.PANEL_WIDTH) : undefined;\n },\n getPanelMinimizedState: function (panelName) {\n return window.localStorage ? localStorage.getItem(panelName + layoutModule.MINIMIZED) : undefined;\n },\n storePanelMinimizedState: function (panelName, value) {\n window.localStorage && localStorage.setItem(panelName + layoutModule.MINIMIZED, value.toString());\n },\n manuallyChangePanelState: function (panelName, clientKey, value) {\n window.localStorage && localStorage.setItem(panelName + layoutModule.PANEL_STATE_CHANGED_MANUALLY + clientKey, value);\n },\n panelStateWasManuallyChanged: function (panelName, clientKey) {\n return window.localStorage ? localStorage.getItem(panelName + layoutModule.PANEL_STATE_CHANGED_MANUALLY + clientKey) === 'true' : false;\n }\n};\n\nexport default layoutModule;\n"],"sourceRoot":""}