@deephaven/golden-layout 0.22.3-deep-bot-test.14 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/LayoutManager.d.ts +1 -1
  2. package/dist/LayoutManager.d.ts.map +1 -1
  3. package/dist/LayoutManager.js +60 -260
  4. package/dist/LayoutManager.js.map +1 -1
  5. package/dist/base.js.map +1 -1
  6. package/dist/config/Config.d.ts +2 -2
  7. package/dist/config/Config.d.ts.map +1 -1
  8. package/dist/config/Config.js.map +1 -1
  9. package/dist/config/ItemConfig.d.ts +1 -1
  10. package/dist/config/ItemConfig.d.ts.map +1 -1
  11. package/dist/config/ItemConfig.js.map +1 -1
  12. package/dist/container/ItemContainer.js +14 -50
  13. package/dist/container/ItemContainer.js.map +1 -1
  14. package/dist/container/index.js.map +1 -1
  15. package/dist/controls/BrowserPopout.d.ts +1 -1
  16. package/dist/controls/BrowserPopout.d.ts.map +1 -1
  17. package/dist/controls/BrowserPopout.js +17 -63
  18. package/dist/controls/BrowserPopout.js.map +1 -1
  19. package/dist/controls/DragProxy.js +13 -73
  20. package/dist/controls/DragProxy.js.map +1 -1
  21. package/dist/controls/DragSource.js +3 -19
  22. package/dist/controls/DragSource.js.map +1 -1
  23. package/dist/controls/DragSourceFromEvent.js +5 -24
  24. package/dist/controls/DragSourceFromEvent.js.map +1 -1
  25. package/dist/controls/DropTargetIndicator.js +0 -7
  26. package/dist/controls/DropTargetIndicator.js.map +1 -1
  27. package/dist/controls/Header.js +89 -233
  28. package/dist/controls/Header.js.map +1 -1
  29. package/dist/controls/HeaderButton.js +0 -9
  30. package/dist/controls/HeaderButton.js.map +1 -1
  31. package/dist/controls/Splitter.js +0 -14
  32. package/dist/controls/Splitter.js.map +1 -1
  33. package/dist/controls/Tab.js +21 -62
  34. package/dist/controls/Tab.js.map +1 -1
  35. package/dist/controls/TransitionIndicator.d.ts +1 -1
  36. package/dist/controls/TransitionIndicator.d.ts.map +1 -1
  37. package/dist/controls/TransitionIndicator.js +2 -21
  38. package/dist/controls/TransitionIndicator.js.map +1 -1
  39. package/dist/controls/index.js.map +1 -1
  40. package/dist/errors/ConfigurationError.js +0 -5
  41. package/dist/errors/ConfigurationError.js.map +1 -1
  42. package/dist/errors/index.js.map +1 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/items/AbstractContentItem.d.ts +2 -2
  45. package/dist/items/AbstractContentItem.d.ts.map +1 -1
  46. package/dist/items/AbstractContentItem.js +37 -133
  47. package/dist/items/AbstractContentItem.js.map +1 -1
  48. package/dist/items/Component.js +2 -27
  49. package/dist/items/Component.js.map +1 -1
  50. package/dist/items/Root.js +1 -26
  51. package/dist/items/Root.js.map +1 -1
  52. package/dist/items/RowOrColumn.js +32 -128
  53. package/dist/items/RowOrColumn.js.map +1 -1
  54. package/dist/items/Stack.d.ts +2 -2
  55. package/dist/items/Stack.d.ts.map +1 -1
  56. package/dist/items/Stack.js +27 -115
  57. package/dist/items/Stack.js.map +1 -1
  58. package/dist/items/index.js.map +1 -1
  59. package/dist/utils/BubblingEvent.js +0 -6
  60. package/dist/utils/BubblingEvent.js.map +1 -1
  61. package/dist/utils/ConfigMinifier.js +13 -26
  62. package/dist/utils/ConfigMinifier.js.map +1 -1
  63. package/dist/utils/DragListener.js +8 -47
  64. package/dist/utils/DragListener.js.map +1 -1
  65. package/dist/utils/EventEmitter.d.ts +1 -1
  66. package/dist/utils/EventEmitter.d.ts.map +1 -1
  67. package/dist/utils/EventEmitter.js +5 -25
  68. package/dist/utils/EventEmitter.js.map +1 -1
  69. package/dist/utils/EventHub.js +8 -27
  70. package/dist/utils/EventHub.js.map +1 -1
  71. package/dist/utils/ReactComponentHandler.js +6 -35
  72. package/dist/utils/ReactComponentHandler.js.map +1 -1
  73. package/dist/utils/index.js.map +1 -1
  74. package/dist/utils/utils.js +5 -11
  75. package/dist/utils/utils.js.map +1 -1
  76. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Stack.js","names":["$","AbstractContentItem","isComponent","Header","Stack","constructor","layoutManager","config","parent","cfg","_side","_header","show","settings","hasHeaders","popout","showPopoutIcon","labels","undefined","maximise","showMaximiseIcon","close","showCloseIcon","minimise","header","content","element","append","childElementContainer","_setupHeaderPosition","_$validateClosability","setSize","i","headerSize","dimensions","headerHeight","contentWidth","width","_sided","contentHeight","height","contentItems","length","emit","emitBubblingEvent","_$init","isInitialised","_attachWheelListener","createTab","_$hide","initialItem","activeItemIndex","Error","setActiveContentItem","contentItem","indexOf","_activeContentItem","_$show","getActiveContentItem","activeContentItem","addChild","index","_$normalizeContentItem","callDownwards","removeChild","keepChild","removeTab","Math","max","isClosable","_isClosable","len","_$setClosable","_$destroy","prototype","call","_$onDrop","_dropSegment","_resetHeaderDropZone","_dropIndex","isVertical","isHorizontal","insertBefore","hasCorrectParent","isColumn","isRow","type","dimension","stack","createContentItem","rowOrColumn","replaceChild","_$highlightDropZone","x","y","_contentAreaDimensions","segment","Object","entries","area","hoverArea","x1","x2","y1","y2","_highlightHeaderDropZone","_highlightBodyDropZone","_$getArea","is","headerArea","contentArea","highlightArea","body","left","top","right","bottom","tabsLength","tabs","headerOffset","offset","dropTargetIndicator","innerHeight","tabsContainer","tabsContainerRect","get","getBoundingClientRect","placeholderRect","tabDropPlaceholder","tabElement","tabRect","before","min","after","placeHolderLeft","placeHolderRight","innerWidth","remove","side","some","elem","toggle","toString","removeClass","addClass","find","headerPosition"],"sources":["../../src/items/Stack.ts"],"sourcesContent":["import $ from 'jquery';\nimport AbstractContentItem, { isComponent } from './AbstractContentItem';\nimport type LayoutManager from '../LayoutManager';\nimport type { ComponentConfig, ItemConfigType } from '../config';\nimport { Header } from '../controls';\nimport type RowOrColumn from './RowOrColumn';\n\ninterface HoverDimensions {\n hoverArea: {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n };\n highlightArea: {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n };\n}\n\ntype ContentAreaDimensions = {\n header: HoverDimensions;\n body?: HoverDimensions;\n top?: HoverDimensions;\n bottom?: HoverDimensions;\n left?: HoverDimensions;\n right?: HoverDimensions;\n};\n\ntype BodySegment = keyof ContentAreaDimensions;\n\nexport interface StackHeaderConfig {\n show?: boolean | 'top' | 'left' | 'right' | 'bottom';\n popout?: string;\n maximise?: string;\n close?: string;\n minimise?: string;\n}\n\nexport default class Stack extends AbstractContentItem {\n private _activeContentItem: AbstractContentItem | null = null;\n\n _header: StackHeaderConfig;\n\n childElementContainer = $('<div class=\"lm_items\"></div>');\n header: Header;\n parent: RowOrColumn;\n\n isStack = true;\n\n private _dropZones = {};\n private _dropSegment: string | null = null;\n _contentAreaDimensions: ContentAreaDimensions | null = null;\n private _dropIndex: number | undefined;\n _side: boolean | 'top' | 'left' | 'right' | 'bottom';\n _sided: boolean = false;\n\n config: ComponentConfig & {\n activeItemIndex?: number;\n };\n\n constructor(\n layoutManager: LayoutManager & {\n config: LayoutManager['config'] & {\n header?: StackHeaderConfig;\n };\n },\n config: ComponentConfig & {\n header?: StackHeaderConfig;\n hasHeaders?: boolean;\n },\n parent: RowOrColumn\n ) {\n super(\n layoutManager,\n config,\n parent,\n $('<div class=\"lm_item lm_stack\"></div>')\n );\n this.parent = parent;\n this.config = config;\n\n const cfg = layoutManager.config;\n this._side = false;\n this._header = {\n // defaults' reconstruction from old configuration style\n show: cfg.settings?.hasHeaders && config.hasHeaders !== false,\n popout: cfg.settings?.showPopoutIcon ? cfg.labels?.popout : undefined,\n maximise: cfg.settings?.showMaximiseIcon\n ? cfg.labels?.maximise\n : undefined,\n close: cfg.settings?.showCloseIcon ? cfg.labels?.close : undefined,\n minimise: cfg.labels?.minimise ?? undefined,\n };\n\n // load simplified version of header configuration (https://github.com/deepstreamIO/golden-layout/pull/245)\n if (cfg.header) this._header = { ...this._header, ...cfg.header };\n if (config.header)\n // load from stack\n this._header = { ...this._header, ...config.header };\n if (config.content && config.content[0] && config.content[0].header)\n // load from component if stack omitted\n this._header = { ...this._header, ...config.content[0].header };\n\n this.header = new Header(layoutManager, this);\n\n this.element.append(this.header.element);\n this.element.append(this.childElementContainer);\n this._setupHeaderPosition();\n this._$validateClosability();\n }\n\n setSize() {\n var i,\n headerSize = this._header.show\n ? this.layoutManager.config.dimensions?.headerHeight ?? 0\n : 0,\n contentWidth =\n (this.element.width() ?? 0) - (this._sided ? headerSize : 0),\n contentHeight =\n (this.element.height() ?? 0) - (!this._sided ? headerSize : 0);\n\n this.childElementContainer.width(contentWidth);\n this.childElementContainer.height(contentHeight);\n\n for (i = 0; i < this.contentItems.length; i++) {\n this.contentItems[i].element.width(contentWidth).height(contentHeight);\n }\n this.emit('resize');\n this.emitBubblingEvent('stateChanged');\n }\n\n _$init() {\n if (this.isInitialised === true) return;\n\n this.header._attachWheelListener();\n\n super._$init();\n\n for (let i = 0; i < this.contentItems.length; i++) {\n this.header.createTab(this.contentItems[i]);\n this.contentItems[i]._$hide();\n }\n\n if (this.contentItems.length > 0) {\n const initialItem = this.contentItems[this.config.activeItemIndex || 0];\n\n if (!initialItem) {\n throw new Error('Configured activeItemIndex out of bounds');\n }\n\n this.setActiveContentItem(initialItem);\n }\n }\n\n setActiveContentItem(contentItem: AbstractContentItem) {\n if (this.contentItems.indexOf(contentItem) === -1) {\n throw new Error('contentItem is not a child of this stack');\n }\n\n if (this._activeContentItem !== null) {\n this._activeContentItem._$hide();\n }\n\n this._activeContentItem = contentItem;\n this.header.setActiveContentItem(contentItem);\n contentItem._$show();\n this.emit('activeContentItemChanged', contentItem);\n this.layoutManager.emit('activeContentItemChanged', contentItem);\n this.emitBubblingEvent('stateChanged');\n }\n\n getActiveContentItem() {\n return this.header.activeContentItem;\n }\n\n addChild(contentItem: AbstractContentItem | ItemConfigType, index?: number) {\n contentItem = this.layoutManager._$normalizeContentItem(contentItem, this);\n super.addChild(contentItem, index);\n this.childElementContainer.append(contentItem.element);\n this.header.createTab(contentItem, index);\n this.setActiveContentItem(contentItem);\n this.callDownwards('setSize');\n this._$validateClosability();\n this.emitBubblingEvent('stateChanged');\n }\n\n removeChild(contentItem: AbstractContentItem, keepChild = false) {\n var index = this.contentItems.indexOf(contentItem);\n super.removeChild(contentItem, keepChild);\n this.header.removeTab(contentItem);\n if (this.header.activeContentItem === contentItem) {\n if (this.contentItems.length > 0) {\n this.setActiveContentItem(this.contentItems[Math.max(index - 1, 0)]);\n } else {\n this._activeContentItem = null;\n }\n }\n\n this._$validateClosability();\n this.emitBubblingEvent('stateChanged');\n }\n\n /**\n * Validates that the stack is still closable or not. If a stack is able\n * to close, but has a non closable component added to it, the stack is no\n * longer closable until all components are closable.\n */\n _$validateClosability() {\n let isClosable = this.header._isClosable();\n\n for (let i = 0, len = this.contentItems.length; i < len; i++) {\n if (!isClosable) {\n break;\n }\n\n isClosable = this.contentItems[i].config.isClosable ?? false;\n }\n\n this.header._$setClosable(isClosable);\n }\n\n _$destroy() {\n AbstractContentItem.prototype._$destroy.call(this);\n this.header._$destroy();\n }\n\n /**\n * Ok, this one is going to be the tricky one: The user has dropped {contentItem} onto this stack.\n *\n * It was dropped on either the stacks header or the top, right, bottom or left bit of the content area\n * (which one of those is stored in this._dropSegment). Now, if the user has dropped on the header the case\n * is relatively clear: We add the item to the existing stack... job done (might be good to have\n * tab reordering at some point, but lets not sweat it right now)\n *\n * If the item was dropped on the content part things are a bit more complicated. If it was dropped on either the\n * top or bottom region we need to create a new column and place the items accordingly.\n * Unless, of course if the stack is already within a column... in which case we want\n * to add the newly created item to the existing column...\n * either prepend or append it, depending on wether its top or bottom.\n *\n * Same thing for rows and left / right drop segments... so in total there are 9 things that can potentially happen\n * (left, top, right, bottom) * is child of the right parent (row, column) + header drop\n *\n * @param contentItem\n */\n _$onDrop(contentItem: AbstractContentItem) {\n /*\n * The item was dropped on the header area. Just add it as a child of this stack and\n * get the hell out of this logic\n */\n if (this._dropSegment === 'header') {\n this._resetHeaderDropZone();\n this.addChild(contentItem, this._dropIndex);\n return;\n }\n\n /*\n * The stack is empty. Let's just add the element.\n */\n if (this._dropSegment === 'body') {\n this.addChild(contentItem);\n return;\n }\n\n /*\n * The item was dropped on the top-, left-, bottom- or right- part of the content. Let's\n * aggregate some conditions to make the if statements later on more readable\n */\n const isVertical =\n this._dropSegment === 'top' || this._dropSegment === 'bottom';\n const isHorizontal =\n this._dropSegment === 'left' || this._dropSegment === 'right';\n const insertBefore =\n this._dropSegment === 'top' || this._dropSegment === 'left';\n const hasCorrectParent =\n (isVertical && this.parent.isColumn) ||\n (isHorizontal && this.parent.isRow);\n const type = isVertical ? 'column' : 'row';\n const dimension = isVertical ? 'height' : 'width';\n\n /*\n * The content item can be either a component or a stack. If it is a component, wrap it into a stack\n */\n if (isComponent(contentItem)) {\n const stack = this.layoutManager.createContentItem(\n {\n type: 'stack',\n header: contentItem.config.header || {},\n },\n this\n );\n stack._$init();\n stack.addChild(contentItem);\n contentItem = stack;\n }\n\n /*\n * If the item is dropped on top or bottom of a column or left and right of a row, it's already\n * layd out in the correct way. Just add it as a child\n */\n if (hasCorrectParent) {\n const index = this.parent.contentItems.indexOf(this);\n this.parent.addChild(contentItem, insertBefore ? index : index + 1, true);\n this.config[dimension] = (this.config[dimension] ?? 0) * 0.5;\n contentItem.config[dimension] = this.config[dimension];\n this.parent.callDownwards('setSize');\n /*\n * This handles items that are dropped on top or bottom of a row or left / right of a column. We need\n * to create the appropriate contentItem for them to live in\n */\n } else {\n const rowOrColumn = this.layoutManager.createContentItem(\n { type: type },\n this\n ) as RowOrColumn;\n this.parent.replaceChild(this, rowOrColumn);\n\n rowOrColumn.addChild(contentItem, insertBefore ? 0 : undefined, true);\n rowOrColumn.addChild(this, insertBefore ? undefined : 0, true);\n\n this.config[dimension] = 50;\n contentItem.config[dimension] = 50;\n rowOrColumn.callDownwards('setSize');\n }\n }\n\n /**\n * If the user hovers above the header part of the stack, indicate drop positions for tabs.\n * otherwise indicate which segment of the body the dragged item would be dropped on\n *\n * @param x Absolute Screen X\n * @param y Absolute Screen Y\n */\n _$highlightDropZone(x: number, y: number) {\n if (!this._contentAreaDimensions) {\n return;\n }\n\n for (let [segment, dimensions] of Object.entries(\n this._contentAreaDimensions\n ) as [BodySegment, HoverDimensions][]) {\n const area = dimensions.hoverArea;\n\n if (area.x1 < x && area.x2 > x && area.y1 < y && area.y2 > y) {\n if (segment === 'header') {\n this._dropSegment = 'header';\n this._highlightHeaderDropZone(x);\n } else {\n this._resetHeaderDropZone();\n this._highlightBodyDropZone(segment);\n }\n\n return;\n }\n }\n }\n\n _$getArea() {\n if (this.element.is(':visible') === false) {\n return null;\n }\n\n const headerArea = super._$getArea(this.header.element);\n const contentArea = super._$getArea(this.childElementContainer);\n if (headerArea == null || contentArea == null) {\n return null;\n }\n\n const contentWidth = contentArea.x2 - contentArea.x1;\n const contentHeight = contentArea.y2 - contentArea.y1;\n\n this._contentAreaDimensions = {\n header: {\n hoverArea: {\n x1: headerArea.x1,\n y1: headerArea.y1,\n x2: headerArea.x2,\n y2: headerArea.y2,\n },\n highlightArea: {\n x1: headerArea.x1,\n y1: headerArea.y1,\n x2: headerArea.x2,\n y2: headerArea.y2,\n },\n },\n };\n\n /**\n * If this Stack is a parent to rows, columns or other stacks only its\n * header is a valid dropzone.\n */\n if (\n this._activeContentItem &&\n this._activeContentItem.isComponent === false\n ) {\n return headerArea;\n }\n\n /**\n * Highlight the entire body if the stack is empty\n */\n if (this.contentItems.length === 0) {\n this._contentAreaDimensions.body = {\n hoverArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n highlightArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n };\n\n return super._$getArea(this.element);\n }\n\n this._contentAreaDimensions.left = {\n hoverArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x1 + contentWidth * 0.25,\n y2: contentArea.y2,\n },\n highlightArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x1 + contentWidth * 0.5,\n y2: contentArea.y2,\n },\n };\n\n this._contentAreaDimensions.top = {\n hoverArea: {\n x1: contentArea.x1 + contentWidth * 0.25,\n y1: contentArea.y1,\n x2: contentArea.x1 + contentWidth * 0.75,\n y2: contentArea.y1 + contentHeight * 0.5,\n },\n highlightArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y1 + contentHeight * 0.5,\n },\n };\n\n this._contentAreaDimensions.right = {\n hoverArea: {\n x1: contentArea.x1 + contentWidth * 0.75,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n highlightArea: {\n x1: contentArea.x1 + contentWidth * 0.5,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n };\n\n this._contentAreaDimensions.bottom = {\n hoverArea: {\n x1: contentArea.x1 + contentWidth * 0.25,\n y1: contentArea.y1 + contentHeight * 0.5,\n x2: contentArea.x1 + contentWidth * 0.75,\n y2: contentArea.y2,\n },\n highlightArea: {\n x1: contentArea.x1,\n y1: contentArea.y1 + contentHeight * 0.5,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n };\n\n return super._$getArea(this.element);\n }\n\n _highlightHeaderDropZone(x: number) {\n const tabsLength = this.header.tabs.length;\n\n // I've omitted code for side edge tabs here\n // illumon doesn't need it, will slowly pull that code out elsewhere too\n\n // Empty stack\n if (tabsLength === 0) {\n const headerOffset = this.header.element.offset();\n\n // we don't have a placeholder to measure in the dom, lets just cheat and make it 100px.\n this.layoutManager.dropTargetIndicator?.highlightArea({\n x1: headerOffset?.left ?? 0,\n x2: (headerOffset?.left ?? 0) + 100,\n y1: this.header.element.offset()?.top ?? 0,\n y2:\n (this.header.element.offset()?.top ?? 0) +\n (this.header.element.innerHeight() ?? 0),\n });\n\n return;\n }\n\n const tabsContainer = this.header.tabsContainer;\n const tabsContainerRect = tabsContainer.get(0)?.getBoundingClientRect();\n const placeholderRect = this.layoutManager.tabDropPlaceholder\n .get(0)\n ?.getBoundingClientRect();\n\n if (!tabsContainerRect || !placeholderRect) {\n return;\n }\n\n if (x < tabsContainerRect.left) {\n // is over left tab controls button\n // move x to a new point to inside left edge of container\n x = tabsContainerRect.left + 1;\n } else if (x > tabsContainerRect.right) {\n // is over right tab controls button\n // move x to a new point to inside right edge of container\n x = tabsContainerRect.right - 1;\n }\n\n let tabElement: JQuery<HTMLElement> | undefined;\n let tabRect: DOMRect | undefined;\n\n // if its not inide a placeholder,\n if (!(placeholderRect.left < x && x < placeholderRect.right)) {\n // which tab is it over ...\n for (var i = 0; i < tabsLength; i++) {\n tabElement = this.header.tabs[i].element;\n tabRect = tabElement.get(0)?.getBoundingClientRect();\n if (tabRect && tabRect.left < x && x < tabRect.right) {\n this._dropIndex = i;\n break;\n }\n }\n\n // we have tabRect at this x,y from the loop above\n if (tabElement && tabRect && x < tabRect.left + tabRect.width * 0.5) {\n // mostly before an element, insert placeholder before\n tabElement.before(this.layoutManager.tabDropPlaceholder);\n } else if (tabElement) {\n // x is likely after the lhe last item, position after and increase drop index\n this._dropIndex = Math.min((this._dropIndex ?? 0) + 1, tabsLength);\n tabElement.after(this.layoutManager.tabDropPlaceholder);\n }\n }\n\n let placeHolderLeft =\n this.layoutManager.tabDropPlaceholder.offset()?.left ?? 0;\n placeHolderLeft = Math.max(\n placeHolderLeft,\n this.header.tabsContainer.offset()?.left ?? 0\n );\n var placeHolderRight =\n placeHolderLeft + (this.layoutManager.tabDropPlaceholder.width() ?? 0);\n placeHolderRight = Math.min(\n placeHolderRight,\n (this.header.tabsContainer.offset()?.left ?? 0) +\n (this.header.tabsContainer.innerWidth() ?? 0)\n );\n this.layoutManager.dropTargetIndicator?.highlightArea({\n x1: placeHolderLeft,\n x2: placeHolderRight,\n y1: this.header.element.offset()?.top ?? 0,\n y2:\n (this.header.element.offset()?.top ?? 0) +\n (this.header.element.innerHeight() ?? 0),\n });\n }\n\n _resetHeaderDropZone() {\n this.layoutManager.tabDropPlaceholder.remove();\n }\n\n _setupHeaderPosition() {\n const side = ['right', 'left', 'bottom'].some(\n elem => elem === this._header.show\n )\n ? this._header.show\n : undefined;\n\n if (!side) {\n return;\n }\n\n this.header.element.toggle(!!this._header.show);\n this._side = side;\n this._sided = ['right', 'left'].indexOf(this._side.toString()) >= 0;\n this.element.removeClass('lm_left lm_right lm_bottom');\n if (this._side) this.element.addClass('lm_' + this._side);\n if (this.element.find('.lm_header').length && this.childElementContainer) {\n const headerPosition =\n ['right', 'bottom'].indexOf(this._side.toString()) >= 0\n ? 'before'\n : 'after';\n this.header.element[headerPosition](this.childElementContainer);\n this.callDownwards('setSize');\n }\n }\n\n _highlightBodyDropZone(segment: BodySegment) {\n const highlightArea = this._contentAreaDimensions?.[segment]?.highlightArea;\n if (highlightArea) {\n this.layoutManager.dropTargetIndicator?.highlightArea(highlightArea);\n }\n this._dropSegment = segment;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Stack.js","names":["$","AbstractContentItem","isComponent","Header","Stack","constructor","layoutManager","config","parent","cfg","_side","_header","show","settings","hasHeaders","popout","showPopoutIcon","labels","undefined","maximise","showMaximiseIcon","close","showCloseIcon","minimise","header","content","element","append","childElementContainer","_setupHeaderPosition","_$validateClosability","setSize","i","headerSize","dimensions","headerHeight","contentWidth","width","_sided","contentHeight","height","contentItems","length","emit","emitBubblingEvent","_$init","isInitialised","_attachWheelListener","createTab","_$hide","initialItem","activeItemIndex","Error","setActiveContentItem","contentItem","indexOf","_activeContentItem","_$show","getActiveContentItem","activeContentItem","addChild","index","_$normalizeContentItem","callDownwards","removeChild","keepChild","removeTab","Math","max","isClosable","_isClosable","len","_$setClosable","_$destroy","prototype","call","_$onDrop","_dropSegment","_resetHeaderDropZone","_dropIndex","isVertical","isHorizontal","insertBefore","hasCorrectParent","isColumn","isRow","type","dimension","stack","createContentItem","rowOrColumn","replaceChild","_$highlightDropZone","x","y","_contentAreaDimensions","segment","Object","entries","area","hoverArea","x1","x2","y1","y2","_highlightHeaderDropZone","_highlightBodyDropZone","_$getArea","is","headerArea","contentArea","highlightArea","body","left","top","right","bottom","tabsLength","tabs","headerOffset","offset","dropTargetIndicator","innerHeight","tabsContainer","tabsContainerRect","get","getBoundingClientRect","placeholderRect","tabDropPlaceholder","tabElement","tabRect","before","min","after","placeHolderLeft","placeHolderRight","innerWidth","remove","side","some","elem","toggle","toString","removeClass","addClass","find","headerPosition"],"sources":["../../src/items/Stack.ts"],"sourcesContent":["import $ from 'jquery';\nimport AbstractContentItem, { isComponent } from './AbstractContentItem';\nimport type LayoutManager from '../LayoutManager';\nimport type { ComponentConfig, ItemConfigType } from '../config';\nimport { Header } from '../controls';\nimport type RowOrColumn from './RowOrColumn';\n\ninterface HoverDimensions {\n hoverArea: {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n };\n highlightArea: {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n };\n}\n\ntype ContentAreaDimensions = {\n header: HoverDimensions;\n body?: HoverDimensions;\n top?: HoverDimensions;\n bottom?: HoverDimensions;\n left?: HoverDimensions;\n right?: HoverDimensions;\n};\n\ntype BodySegment = keyof ContentAreaDimensions;\n\nexport interface StackHeaderConfig {\n show?: boolean | 'top' | 'left' | 'right' | 'bottom';\n popout?: string;\n maximise?: string;\n close?: string;\n minimise?: string;\n}\n\nexport default class Stack extends AbstractContentItem {\n private _activeContentItem: AbstractContentItem | null = null;\n\n _header: StackHeaderConfig;\n\n childElementContainer = $('<div class=\"lm_items\"></div>');\n header: Header;\n parent: RowOrColumn;\n\n isStack = true;\n\n private _dropZones = {};\n private _dropSegment: string | null = null;\n _contentAreaDimensions: ContentAreaDimensions | null = null;\n private _dropIndex: number | undefined;\n _side: boolean | 'top' | 'left' | 'right' | 'bottom';\n _sided: boolean = false;\n\n config: ComponentConfig & {\n activeItemIndex?: number;\n };\n\n constructor(\n layoutManager: LayoutManager & {\n config: LayoutManager['config'] & {\n header?: StackHeaderConfig;\n };\n },\n config: ComponentConfig & {\n header?: StackHeaderConfig;\n hasHeaders?: boolean;\n },\n parent: RowOrColumn\n ) {\n super(\n layoutManager,\n config,\n parent,\n $('<div class=\"lm_item lm_stack\"></div>')\n );\n this.parent = parent;\n this.config = config;\n\n const cfg = layoutManager.config;\n this._side = false;\n this._header = {\n // defaults' reconstruction from old configuration style\n show: cfg.settings?.hasHeaders && config.hasHeaders !== false,\n popout: cfg.settings?.showPopoutIcon ? cfg.labels?.popout : undefined,\n maximise: cfg.settings?.showMaximiseIcon\n ? cfg.labels?.maximise\n : undefined,\n close: cfg.settings?.showCloseIcon ? cfg.labels?.close : undefined,\n minimise: cfg.labels?.minimise ?? undefined,\n };\n\n // load simplified version of header configuration (https://github.com/deepstreamIO/golden-layout/pull/245)\n if (cfg.header) this._header = { ...this._header, ...cfg.header };\n if (config.header)\n // load from stack\n this._header = { ...this._header, ...config.header };\n if (config.content && config.content[0] && config.content[0].header)\n // load from component if stack omitted\n this._header = { ...this._header, ...config.content[0].header };\n\n this.header = new Header(layoutManager, this);\n\n this.element.append(this.header.element);\n this.element.append(this.childElementContainer);\n this._setupHeaderPosition();\n this._$validateClosability();\n }\n\n setSize() {\n var i,\n headerSize = this._header.show\n ? this.layoutManager.config.dimensions?.headerHeight ?? 0\n : 0,\n contentWidth =\n (this.element.width() ?? 0) - (this._sided ? headerSize : 0),\n contentHeight =\n (this.element.height() ?? 0) - (!this._sided ? headerSize : 0);\n\n this.childElementContainer.width(contentWidth);\n this.childElementContainer.height(contentHeight);\n\n for (i = 0; i < this.contentItems.length; i++) {\n this.contentItems[i].element.width(contentWidth).height(contentHeight);\n }\n this.emit('resize');\n this.emitBubblingEvent('stateChanged');\n }\n\n _$init() {\n if (this.isInitialised === true) return;\n\n this.header._attachWheelListener();\n\n super._$init();\n\n for (let i = 0; i < this.contentItems.length; i++) {\n this.header.createTab(this.contentItems[i]);\n this.contentItems[i]._$hide();\n }\n\n if (this.contentItems.length > 0) {\n const initialItem = this.contentItems[this.config.activeItemIndex || 0];\n\n if (!initialItem) {\n throw new Error('Configured activeItemIndex out of bounds');\n }\n\n this.setActiveContentItem(initialItem);\n }\n }\n\n setActiveContentItem(contentItem: AbstractContentItem) {\n if (this.contentItems.indexOf(contentItem) === -1) {\n throw new Error('contentItem is not a child of this stack');\n }\n\n if (this._activeContentItem !== null) {\n this._activeContentItem._$hide();\n }\n\n this._activeContentItem = contentItem;\n this.header.setActiveContentItem(contentItem);\n contentItem._$show();\n this.emit('activeContentItemChanged', contentItem);\n this.layoutManager.emit('activeContentItemChanged', contentItem);\n this.emitBubblingEvent('stateChanged');\n }\n\n getActiveContentItem() {\n return this.header.activeContentItem;\n }\n\n addChild(contentItem: AbstractContentItem | ItemConfigType, index?: number) {\n contentItem = this.layoutManager._$normalizeContentItem(contentItem, this);\n super.addChild(contentItem, index);\n this.childElementContainer.append(contentItem.element);\n this.header.createTab(contentItem, index);\n this.setActiveContentItem(contentItem);\n this.callDownwards('setSize');\n this._$validateClosability();\n this.emitBubblingEvent('stateChanged');\n }\n\n removeChild(contentItem: AbstractContentItem, keepChild = false) {\n var index = this.contentItems.indexOf(contentItem);\n super.removeChild(contentItem, keepChild);\n this.header.removeTab(contentItem);\n if (this.header.activeContentItem === contentItem) {\n if (this.contentItems.length > 0) {\n this.setActiveContentItem(this.contentItems[Math.max(index - 1, 0)]);\n } else {\n this._activeContentItem = null;\n }\n }\n\n this._$validateClosability();\n this.emitBubblingEvent('stateChanged');\n }\n\n /**\n * Validates that the stack is still closable or not. If a stack is able\n * to close, but has a non closable component added to it, the stack is no\n * longer closable until all components are closable.\n */\n _$validateClosability() {\n let isClosable = this.header._isClosable();\n\n for (let i = 0, len = this.contentItems.length; i < len; i++) {\n if (!isClosable) {\n break;\n }\n\n isClosable = this.contentItems[i].config.isClosable ?? false;\n }\n\n this.header._$setClosable(isClosable);\n }\n\n _$destroy() {\n AbstractContentItem.prototype._$destroy.call(this);\n this.header._$destroy();\n }\n\n /**\n * Ok, this one is going to be the tricky one: The user has dropped {contentItem} onto this stack.\n *\n * It was dropped on either the stacks header or the top, right, bottom or left bit of the content area\n * (which one of those is stored in this._dropSegment). Now, if the user has dropped on the header the case\n * is relatively clear: We add the item to the existing stack... job done (might be good to have\n * tab reordering at some point, but lets not sweat it right now)\n *\n * If the item was dropped on the content part things are a bit more complicated. If it was dropped on either the\n * top or bottom region we need to create a new column and place the items accordingly.\n * Unless, of course if the stack is already within a column... in which case we want\n * to add the newly created item to the existing column...\n * either prepend or append it, depending on wether its top or bottom.\n *\n * Same thing for rows and left / right drop segments... so in total there are 9 things that can potentially happen\n * (left, top, right, bottom) * is child of the right parent (row, column) + header drop\n *\n * @param contentItem\n */\n _$onDrop(contentItem: AbstractContentItem) {\n /*\n * The item was dropped on the header area. Just add it as a child of this stack and\n * get the hell out of this logic\n */\n if (this._dropSegment === 'header') {\n this._resetHeaderDropZone();\n this.addChild(contentItem, this._dropIndex);\n return;\n }\n\n /*\n * The stack is empty. Let's just add the element.\n */\n if (this._dropSegment === 'body') {\n this.addChild(contentItem);\n return;\n }\n\n /*\n * The item was dropped on the top-, left-, bottom- or right- part of the content. Let's\n * aggregate some conditions to make the if statements later on more readable\n */\n const isVertical =\n this._dropSegment === 'top' || this._dropSegment === 'bottom';\n const isHorizontal =\n this._dropSegment === 'left' || this._dropSegment === 'right';\n const insertBefore =\n this._dropSegment === 'top' || this._dropSegment === 'left';\n const hasCorrectParent =\n (isVertical && this.parent.isColumn) ||\n (isHorizontal && this.parent.isRow);\n const type = isVertical ? 'column' : 'row';\n const dimension = isVertical ? 'height' : 'width';\n\n /*\n * The content item can be either a component or a stack. If it is a component, wrap it into a stack\n */\n if (isComponent(contentItem)) {\n const stack = this.layoutManager.createContentItem(\n {\n type: 'stack',\n header: contentItem.config.header || {},\n },\n this\n );\n stack._$init();\n stack.addChild(contentItem);\n contentItem = stack;\n }\n\n /*\n * If the item is dropped on top or bottom of a column or left and right of a row, it's already\n * layd out in the correct way. Just add it as a child\n */\n if (hasCorrectParent) {\n const index = this.parent.contentItems.indexOf(this);\n this.parent.addChild(contentItem, insertBefore ? index : index + 1, true);\n this.config[dimension] = (this.config[dimension] ?? 0) * 0.5;\n contentItem.config[dimension] = this.config[dimension];\n this.parent.callDownwards('setSize');\n /*\n * This handles items that are dropped on top or bottom of a row or left / right of a column. We need\n * to create the appropriate contentItem for them to live in\n */\n } else {\n const rowOrColumn = this.layoutManager.createContentItem(\n { type: type },\n this\n ) as RowOrColumn;\n this.parent.replaceChild(this, rowOrColumn);\n\n rowOrColumn.addChild(contentItem, insertBefore ? 0 : undefined, true);\n rowOrColumn.addChild(this, insertBefore ? undefined : 0, true);\n\n this.config[dimension] = 50;\n contentItem.config[dimension] = 50;\n rowOrColumn.callDownwards('setSize');\n }\n }\n\n /**\n * If the user hovers above the header part of the stack, indicate drop positions for tabs.\n * otherwise indicate which segment of the body the dragged item would be dropped on\n *\n * @param x Absolute Screen X\n * @param y Absolute Screen Y\n */\n _$highlightDropZone(x: number, y: number) {\n if (!this._contentAreaDimensions) {\n return;\n }\n\n for (let [segment, dimensions] of Object.entries(\n this._contentAreaDimensions\n ) as [BodySegment, HoverDimensions][]) {\n const area = dimensions.hoverArea;\n\n if (area.x1 < x && area.x2 > x && area.y1 < y && area.y2 > y) {\n if (segment === 'header') {\n this._dropSegment = 'header';\n this._highlightHeaderDropZone(x);\n } else {\n this._resetHeaderDropZone();\n this._highlightBodyDropZone(segment);\n }\n\n return;\n }\n }\n }\n\n _$getArea() {\n if (this.element.is(':visible') === false) {\n return null;\n }\n\n const headerArea = super._$getArea(this.header.element);\n const contentArea = super._$getArea(this.childElementContainer);\n if (headerArea == null || contentArea == null) {\n return null;\n }\n\n const contentWidth = contentArea.x2 - contentArea.x1;\n const contentHeight = contentArea.y2 - contentArea.y1;\n\n this._contentAreaDimensions = {\n header: {\n hoverArea: {\n x1: headerArea.x1,\n y1: headerArea.y1,\n x2: headerArea.x2,\n y2: headerArea.y2,\n },\n highlightArea: {\n x1: headerArea.x1,\n y1: headerArea.y1,\n x2: headerArea.x2,\n y2: headerArea.y2,\n },\n },\n };\n\n /**\n * If this Stack is a parent to rows, columns or other stacks only its\n * header is a valid dropzone.\n */\n if (\n this._activeContentItem &&\n this._activeContentItem.isComponent === false\n ) {\n return headerArea;\n }\n\n /**\n * Highlight the entire body if the stack is empty\n */\n if (this.contentItems.length === 0) {\n this._contentAreaDimensions.body = {\n hoverArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n highlightArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n };\n\n return super._$getArea(this.element);\n }\n\n this._contentAreaDimensions.left = {\n hoverArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x1 + contentWidth * 0.25,\n y2: contentArea.y2,\n },\n highlightArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x1 + contentWidth * 0.5,\n y2: contentArea.y2,\n },\n };\n\n this._contentAreaDimensions.top = {\n hoverArea: {\n x1: contentArea.x1 + contentWidth * 0.25,\n y1: contentArea.y1,\n x2: contentArea.x1 + contentWidth * 0.75,\n y2: contentArea.y1 + contentHeight * 0.5,\n },\n highlightArea: {\n x1: contentArea.x1,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y1 + contentHeight * 0.5,\n },\n };\n\n this._contentAreaDimensions.right = {\n hoverArea: {\n x1: contentArea.x1 + contentWidth * 0.75,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n highlightArea: {\n x1: contentArea.x1 + contentWidth * 0.5,\n y1: contentArea.y1,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n };\n\n this._contentAreaDimensions.bottom = {\n hoverArea: {\n x1: contentArea.x1 + contentWidth * 0.25,\n y1: contentArea.y1 + contentHeight * 0.5,\n x2: contentArea.x1 + contentWidth * 0.75,\n y2: contentArea.y2,\n },\n highlightArea: {\n x1: contentArea.x1,\n y1: contentArea.y1 + contentHeight * 0.5,\n x2: contentArea.x2,\n y2: contentArea.y2,\n },\n };\n\n return super._$getArea(this.element);\n }\n\n _highlightHeaderDropZone(x: number) {\n const tabsLength = this.header.tabs.length;\n\n // I've omitted code for side edge tabs here\n // illumon doesn't need it, will slowly pull that code out elsewhere too\n\n // Empty stack\n if (tabsLength === 0) {\n const headerOffset = this.header.element.offset();\n\n // we don't have a placeholder to measure in the dom, lets just cheat and make it 100px.\n this.layoutManager.dropTargetIndicator?.highlightArea({\n x1: headerOffset?.left ?? 0,\n x2: (headerOffset?.left ?? 0) + 100,\n y1: this.header.element.offset()?.top ?? 0,\n y2:\n (this.header.element.offset()?.top ?? 0) +\n (this.header.element.innerHeight() ?? 0),\n });\n\n return;\n }\n\n const tabsContainer = this.header.tabsContainer;\n const tabsContainerRect = tabsContainer.get(0)?.getBoundingClientRect();\n const placeholderRect = this.layoutManager.tabDropPlaceholder\n .get(0)\n ?.getBoundingClientRect();\n\n if (!tabsContainerRect || !placeholderRect) {\n return;\n }\n\n if (x < tabsContainerRect.left) {\n // is over left tab controls button\n // move x to a new point to inside left edge of container\n x = tabsContainerRect.left + 1;\n } else if (x > tabsContainerRect.right) {\n // is over right tab controls button\n // move x to a new point to inside right edge of container\n x = tabsContainerRect.right - 1;\n }\n\n let tabElement: JQuery<HTMLElement> | undefined;\n let tabRect: DOMRect | undefined;\n\n // if its not inide a placeholder,\n if (!(placeholderRect.left < x && x < placeholderRect.right)) {\n // which tab is it over ...\n for (var i = 0; i < tabsLength; i++) {\n tabElement = this.header.tabs[i].element;\n tabRect = tabElement.get(0)?.getBoundingClientRect();\n if (tabRect && tabRect.left < x && x < tabRect.right) {\n this._dropIndex = i;\n break;\n }\n }\n\n // we have tabRect at this x,y from the loop above\n if (tabElement && tabRect && x < tabRect.left + tabRect.width * 0.5) {\n // mostly before an element, insert placeholder before\n tabElement.before(this.layoutManager.tabDropPlaceholder);\n } else if (tabElement) {\n // x is likely after the lhe last item, position after and increase drop index\n this._dropIndex = Math.min((this._dropIndex ?? 0) + 1, tabsLength);\n tabElement.after(this.layoutManager.tabDropPlaceholder);\n }\n }\n\n let placeHolderLeft =\n this.layoutManager.tabDropPlaceholder.offset()?.left ?? 0;\n placeHolderLeft = Math.max(\n placeHolderLeft,\n this.header.tabsContainer.offset()?.left ?? 0\n );\n var placeHolderRight =\n placeHolderLeft + (this.layoutManager.tabDropPlaceholder.width() ?? 0);\n placeHolderRight = Math.min(\n placeHolderRight,\n (this.header.tabsContainer.offset()?.left ?? 0) +\n (this.header.tabsContainer.innerWidth() ?? 0)\n );\n this.layoutManager.dropTargetIndicator?.highlightArea({\n x1: placeHolderLeft,\n x2: placeHolderRight,\n y1: this.header.element.offset()?.top ?? 0,\n y2:\n (this.header.element.offset()?.top ?? 0) +\n (this.header.element.innerHeight() ?? 0),\n });\n }\n\n _resetHeaderDropZone() {\n this.layoutManager.tabDropPlaceholder.remove();\n }\n\n _setupHeaderPosition() {\n const side = ['right', 'left', 'bottom'].some(\n elem => elem === this._header.show\n )\n ? this._header.show\n : undefined;\n\n if (!side) {\n return;\n }\n\n this.header.element.toggle(!!this._header.show);\n this._side = side;\n this._sided = ['right', 'left'].indexOf(this._side.toString()) >= 0;\n this.element.removeClass('lm_left lm_right lm_bottom');\n if (this._side) this.element.addClass('lm_' + this._side);\n if (this.element.find('.lm_header').length && this.childElementContainer) {\n const headerPosition =\n ['right', 'bottom'].indexOf(this._side.toString()) >= 0\n ? 'before'\n : 'after';\n this.header.element[headerPosition](this.childElementContainer);\n this.callDownwards('setSize');\n }\n }\n\n _highlightBodyDropZone(segment: BodySegment) {\n const highlightArea = this._contentAreaDimensions?.[segment]?.highlightArea;\n if (highlightArea) {\n this.layoutManager.dropTargetIndicator?.highlightArea(highlightArea);\n }\n this._dropSegment = segment;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","AbstractContentItem","ContentItem","Component","Root","RowOrColumn","Stack"],"sources":["../../src/items/index.ts"],"sourcesContent":["export * from './AbstractContentItem';\nexport { default as AbstractContentItem } from './AbstractContentItem';\nexport { default as ContentItem } from './AbstractContentItem';\nexport { default as Component } from './Component';\nexport { default as Root } from './Root';\nexport { default as RowOrColumn } from './RowOrColumn';\nexport { default as Stack } from './Stack';\n"],"mappings":";SACSA,OAAO,IAAIC,mB;SACXD,OAAO,IAAIE,W;SACXF,OAAO,IAAIG,S;SACXH,OAAO,IAAII,I;SACXJ,OAAO,IAAIK,W;SACXL,OAAO,IAAIM,K"}
1
+ {"version":3,"file":"index.js","names":["default","AbstractContentItem","ContentItem","Component","Root","RowOrColumn","Stack"],"sources":["../../src/items/index.ts"],"sourcesContent":["export * from './AbstractContentItem';\nexport { default as AbstractContentItem } from './AbstractContentItem';\nexport { default as ContentItem } from './AbstractContentItem';\nexport { default as Component } from './Component';\nexport { default as Root } from './Root';\nexport { default as RowOrColumn } from './RowOrColumn';\nexport { default as Stack } from './Stack';\n"],"mappings":";SACSA,OAAO,IAAIC,mBAAmB;AAAA,SAC9BD,OAAO,IAAIE,WAAW;AAAA,SACtBF,OAAO,IAAIG,SAAS;AAAA,SACpBH,OAAO,IAAII,IAAI;AAAA,SACfJ,OAAO,IAAIK,WAAW;AAAA,SACtBL,OAAO,IAAIM,KAAK"}
@@ -1,21 +1,15 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  export default class BubblingEvent {
4
3
  constructor(name, origin) {
5
4
  _defineProperty(this, "name", void 0);
6
-
7
5
  _defineProperty(this, "origin", void 0);
8
-
9
6
  _defineProperty(this, "isPropagationStopped", void 0);
10
-
11
7
  this.name = name;
12
8
  this.origin = origin;
13
9
  this.isPropagationStopped = false;
14
10
  }
15
-
16
11
  stopPropagation() {
17
12
  this.isPropagationStopped = true;
18
13
  }
19
-
20
14
  }
21
15
  //# sourceMappingURL=BubblingEvent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BubblingEvent.js","names":["BubblingEvent","constructor","name","origin","isPropagationStopped","stopPropagation"],"sources":["../../src/utils/BubblingEvent.ts"],"sourcesContent":["export default class BubblingEvent {\n name: string;\n\n origin: unknown;\n\n isPropagationStopped: boolean;\n\n constructor(name: string, origin: unknown) {\n this.name = name;\n this.origin = origin;\n this.isPropagationStopped = false;\n }\n\n stopPropagation() {\n this.isPropagationStopped = true;\n }\n}\n"],"mappings":";;AAAA,eAAe,MAAMA,aAAN,CAAoB;EAOjCC,WAAW,CAACC,IAAD,EAAeC,MAAf,EAAgC;IAAA;;IAAA;;IAAA;;IACzC,KAAKD,IAAL,GAAYA,IAAZ;IACA,KAAKC,MAAL,GAAcA,MAAd;IACA,KAAKC,oBAAL,GAA4B,KAA5B;EACD;;EAEDC,eAAe,GAAG;IAChB,KAAKD,oBAAL,GAA4B,IAA5B;EACD;;AAfgC"}
1
+ {"version":3,"file":"BubblingEvent.js","names":["BubblingEvent","constructor","name","origin","isPropagationStopped","stopPropagation"],"sources":["../../src/utils/BubblingEvent.ts"],"sourcesContent":["export default class BubblingEvent {\n name: string;\n\n origin: unknown;\n\n isPropagationStopped: boolean;\n\n constructor(name: string, origin: unknown) {\n this.name = name;\n this.origin = origin;\n this.isPropagationStopped = false;\n }\n\n stopPropagation() {\n this.isPropagationStopped = true;\n }\n}\n"],"mappings":";AAAA,eAAe,MAAMA,aAAa,CAAC;EAOjCC,WAAW,CAACC,IAAY,EAAEC,MAAe,EAAE;IAAA;IAAA;IAAA;IACzC,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,oBAAoB,GAAG,KAAK;EACnC;EAEAC,eAAe,GAAG;IAChB,IAAI,CAACD,oBAAoB,GAAG,IAAI;EAClC;AACF"}
@@ -3,9 +3,14 @@
3
3
  * and values with one letter substitutes. Config options must
4
4
  * retain array position/index, add new options at the end.
5
5
  */
6
- var _keys = ['settings', 'hasHeaders', 'constrainDragToContainer', 'selectionEnabled', 'dimensions', 'borderWidth', 'minItemHeight', 'minItemWidth', 'headerHeight', 'dragProxyWidth', 'dragProxyHeight', 'labels', 'close', 'maximise', 'minimise', 'popout', 'content', 'componentName', 'componentState', 'id', 'width', 'type', 'height', 'isClosable', 'title', 'popoutWholeStack', 'openPopouts', 'parentId', 'activeItemIndex', 'reorderEnabled', 'borderGrabWidth' //Maximum 36 entries, do not cross this line!
6
+
7
+ var _keys = ['settings', 'hasHeaders', 'constrainDragToContainer', 'selectionEnabled', 'dimensions', 'borderWidth', 'minItemHeight', 'minItemWidth', 'headerHeight', 'dragProxyWidth', 'dragProxyHeight', 'labels', 'close', 'maximise', 'minimise', 'popout', 'content', 'componentName', 'componentState', 'id', 'width', 'type', 'height', 'isClosable', 'title', 'popoutWholeStack', 'openPopouts', 'parentId', 'activeItemIndex', 'reorderEnabled', 'borderGrabWidth'
8
+
9
+ //Maximum 36 entries, do not cross this line!
7
10
  ];
11
+
8
12
  var _values = [true, false, 'row', 'column', 'stack', 'component', 'close', 'maximise', 'minimise', 'open in new window'];
13
+
9
14
  /**
10
15
  * Takes a GoldenLayout configuration object and
11
16
  * replaces its keys and values recursively with
@@ -15,18 +20,15 @@ var _values = [true, false, 'row', 'column', 'stack', 'component', 'close', 'max
15
20
  *
16
21
  * @returns minified config
17
22
  */
18
-
19
23
  export function minifyConfig(config) {
20
24
  if (_keys.length > 36) {
21
25
  throw new Error('Too many keys in config minifier map');
22
26
  }
23
-
24
27
  var min = {};
25
-
26
28
  _nextLevel(config, min, '_min');
27
-
28
29
  return min;
29
30
  }
31
+
30
32
  /**
31
33
  * Takes a configuration Object that was previously minified
32
34
  * using minifyConfig and returns its original version
@@ -35,18 +37,15 @@ export function minifyConfig(config) {
35
37
  *
36
38
  * @returns the original configuration
37
39
  */
38
-
39
40
  export function unminifyConfig(minifiedConfig) {
40
41
  if (_keys.length > 36) {
41
42
  throw new Error('Too many keys in config minifier map');
42
43
  }
43
-
44
44
  var orig = {};
45
-
46
45
  _nextLevel(minifiedConfig, orig, '_max');
47
-
48
46
  return orig;
49
47
  }
48
+
50
49
  /**
51
50
  * Recursive function, called for every level of the config structure
52
51
  *
@@ -54,10 +53,8 @@ export function unminifyConfig(minifiedConfig) {
54
53
  * @param min
55
54
  * @param translationFnName
56
55
  */
57
-
58
56
  function _nextLevel(from, to, translationFnName) {
59
57
  var translationFn = translationFnName === '_min' ? _min : _max;
60
-
61
58
  for (var key in from) {
62
59
  /**
63
60
  * In case something has extended Object prototypes
@@ -68,36 +65,32 @@ function _nextLevel(from, to, translationFnName) {
68
65
  * For Arrays and Objects, create a new Array/Object
69
66
  * on the minified object and recurse into it
70
67
  */
71
-
72
68
  if (typeof fromItem === 'object' && fromItem != null) {
73
69
  var toItem = fromItem instanceof Array ? [] : {};
74
-
75
70
  if (Array.isArray(to)) {
76
71
  to[Number.parseInt(key, 10)] = toItem;
77
72
  } else {
78
73
  var minKey = translationFn(key, _keys);
79
74
  to[minKey] = toItem;
80
75
  }
81
-
82
76
  _nextLevel(fromItem, toItem, translationFnName);
77
+
83
78
  /**
84
79
  * For primitive values (Strings, Numbers, Boolean etc.)
85
80
  * minify the value
86
81
  */
87
-
88
82
  } else {
89
83
  var _toItem = translationFn(fromItem, _values);
90
-
91
84
  if (Array.isArray(to)) {
92
85
  to[Number.parseInt(key, 10)] = _toItem;
93
86
  } else {
94
87
  var _minKey = translationFn(key, _keys);
95
-
96
88
  to[_minKey] = _toItem;
97
89
  }
98
90
  }
99
91
  }
100
92
  }
93
+
101
94
  /**
102
95
  * Minifies value based on a dictionary
103
96
  *
@@ -106,8 +99,6 @@ function _nextLevel(from, to, translationFnName) {
106
99
  *
107
100
  * @returns The minified version
108
101
  */
109
-
110
-
111
102
  function _min(value, dictionary) {
112
103
  /**
113
104
  * If a value actually is a single character, prefix it
@@ -116,14 +107,14 @@ function _min(value, dictionary) {
116
107
  if (typeof value === 'string' && value.length === 1) {
117
108
  return '___' + value;
118
109
  }
119
-
120
110
  var index = dictionary.indexOf(value);
111
+
121
112
  /**
122
113
  * value not found in the dictionary, return it unmodified
123
114
  */
124
-
125
115
  if (index === -1) {
126
116
  return value;
117
+
127
118
  /**
128
119
  * value found in dictionary, return its base36 counterpart
129
120
  */
@@ -131,7 +122,6 @@ function _min(value, dictionary) {
131
122
  return index.toString(36);
132
123
  }
133
124
  }
134
-
135
125
  function _max(value, dictionary) {
136
126
  /**
137
127
  * value is a single character. Assume that it's a translation
@@ -140,21 +130,18 @@ function _max(value, dictionary) {
140
130
  if (typeof value === 'string' && value.length === 1) {
141
131
  return dictionary[parseInt(value, 36)];
142
132
  }
133
+
143
134
  /**
144
135
  * value originally was a single character and was prefixed with ___
145
136
  * to avoid mistaking it for a translation. Remove the prefix
146
137
  * and return the original character
147
138
  */
148
-
149
-
150
139
  if (typeof value === 'string' && value.substr(0, 3) === '___') {
151
140
  return value[3];
152
141
  }
153
142
  /**
154
143
  * value was not minified
155
144
  */
156
-
157
-
158
145
  return value;
159
146
  }
160
147
  //# sourceMappingURL=ConfigMinifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigMinifier.js","names":["_keys","_values","minifyConfig","config","length","Error","min","_nextLevel","unminifyConfig","minifiedConfig","orig","from","to","translationFnName","translationFn","_min","_max","key","hasOwnProperty","fromItem","Array","isArray","Number","parseInt","toItem","minKey","value","dictionary","index","indexOf","toString","substr"],"sources":["../../src/utils/ConfigMinifier.ts"],"sourcesContent":["import type { Config } from '../config';\n\n/**\n * Minifies and unminifies configs by replacing frequent keys\n * and values with one letter substitutes. Config options must\n * retain array position/index, add new options at the end.\n */\n\nconst _keys = [\n 'settings',\n 'hasHeaders',\n 'constrainDragToContainer',\n 'selectionEnabled',\n 'dimensions',\n 'borderWidth',\n 'minItemHeight',\n 'minItemWidth',\n 'headerHeight',\n 'dragProxyWidth',\n 'dragProxyHeight',\n 'labels',\n 'close',\n 'maximise',\n 'minimise',\n 'popout',\n 'content',\n 'componentName',\n 'componentState',\n 'id',\n 'width',\n 'type',\n 'height',\n 'isClosable',\n 'title',\n 'popoutWholeStack',\n 'openPopouts',\n 'parentId',\n 'activeItemIndex',\n 'reorderEnabled',\n 'borderGrabWidth',\n\n //Maximum 36 entries, do not cross this line!\n];\n\nconst _values = [\n true,\n false,\n 'row',\n 'column',\n 'stack',\n 'component',\n 'close',\n 'maximise',\n 'minimise',\n 'open in new window',\n];\n\n/**\n * Takes a GoldenLayout configuration object and\n * replaces its keys and values recursively with\n * one letter counterparts\n *\n * @param config A GoldenLayout config object\n *\n * @returns minified config\n */\nexport function minifyConfig(config: Partial<Config>) {\n if (_keys.length > 36) {\n throw new Error('Too many keys in config minifier map');\n }\n\n const min = {};\n _nextLevel(config, min, '_min');\n return min;\n}\n\n/**\n * Takes a configuration Object that was previously minified\n * using minifyConfig and returns its original version\n *\n * @param minifiedConfig\n *\n * @returns the original configuration\n */\nexport function unminifyConfig(\n minifiedConfig: Record<string, unknown>\n): Config {\n if (_keys.length > 36) {\n throw new Error('Too many keys in config minifier map');\n }\n\n const orig = {};\n _nextLevel(minifiedConfig, orig, '_max');\n return orig as Config;\n}\n\n/**\n * Recursive function, called for every level of the config structure\n *\n * @param orig\n * @param min\n * @param translationFnName\n */\nfunction _nextLevel(\n from: unknown[] | Record<string, unknown>,\n to: unknown[] | Record<string, unknown>,\n translationFnName: '_min' | '_max'\n) {\n const translationFn = translationFnName === '_min' ? _min : _max;\n for (let key in from) {\n /**\n * In case something has extended Object prototypes\n */\n if (!from.hasOwnProperty(key)) continue;\n\n const fromItem = Array.isArray(from)\n ? from[Number.parseInt(key, 10)]\n : from[key];\n /**\n * For Arrays and Objects, create a new Array/Object\n * on the minified object and recurse into it\n */\n if (typeof fromItem === 'object' && fromItem != null) {\n const toItem = fromItem instanceof Array ? [] : {};\n\n if (Array.isArray(to)) {\n to[Number.parseInt(key, 10)] = toItem;\n } else {\n const minKey = translationFn(key, _keys);\n to[minKey] = toItem;\n }\n\n _nextLevel(\n fromItem as Record<string, unknown>,\n toItem,\n translationFnName\n );\n\n /**\n * For primitive values (Strings, Numbers, Boolean etc.)\n * minify the value\n */\n } else {\n const toItem = translationFn(fromItem, _values);\n\n if (Array.isArray(to)) {\n to[Number.parseInt(key, 10)] = toItem;\n } else {\n const minKey = translationFn(key, _keys);\n to[minKey] = toItem;\n }\n }\n }\n}\n\n/**\n * Minifies value based on a dictionary\n *\n * @param value\n * @param dictionary\n *\n * @returns The minified version\n */\nfunction _min<T>(value: T, dictionary: T[]): T | string {\n /**\n * If a value actually is a single character, prefix it\n * with ___ to avoid mistaking it for a minification code\n */\n if (typeof value === 'string' && value.length === 1) {\n return '___' + value;\n }\n\n var index = dictionary.indexOf(value);\n\n /**\n * value not found in the dictionary, return it unmodified\n */\n if (index === -1) {\n return value;\n\n /**\n * value found in dictionary, return its base36 counterpart\n */\n } else {\n return index.toString(36);\n }\n}\n\nfunction _max<T>(value: T, dictionary: T[]): T | string {\n /**\n * value is a single character. Assume that it's a translation\n * and return the original value from the dictionary\n */\n if (typeof value === 'string' && value.length === 1) {\n return dictionary[parseInt(value, 36)];\n }\n\n /**\n * value originally was a single character and was prefixed with ___\n * to avoid mistaking it for a translation. Remove the prefix\n * and return the original character\n */\n if (typeof value === 'string' && value.substr(0, 3) === '___') {\n return value[3];\n }\n /**\n * value was not minified\n */\n return value;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigMinifier.js","names":["_keys","_values","minifyConfig","config","length","Error","min","_nextLevel","unminifyConfig","minifiedConfig","orig","from","to","translationFnName","translationFn","_min","_max","key","hasOwnProperty","fromItem","Array","isArray","Number","parseInt","toItem","minKey","value","dictionary","index","indexOf","toString","substr"],"sources":["../../src/utils/ConfigMinifier.ts"],"sourcesContent":["import type { Config } from '../config';\n\n/**\n * Minifies and unminifies configs by replacing frequent keys\n * and values with one letter substitutes. Config options must\n * retain array position/index, add new options at the end.\n */\n\nconst _keys = [\n 'settings',\n 'hasHeaders',\n 'constrainDragToContainer',\n 'selectionEnabled',\n 'dimensions',\n 'borderWidth',\n 'minItemHeight',\n 'minItemWidth',\n 'headerHeight',\n 'dragProxyWidth',\n 'dragProxyHeight',\n 'labels',\n 'close',\n 'maximise',\n 'minimise',\n 'popout',\n 'content',\n 'componentName',\n 'componentState',\n 'id',\n 'width',\n 'type',\n 'height',\n 'isClosable',\n 'title',\n 'popoutWholeStack',\n 'openPopouts',\n 'parentId',\n 'activeItemIndex',\n 'reorderEnabled',\n 'borderGrabWidth',\n\n //Maximum 36 entries, do not cross this line!\n];\n\nconst _values = [\n true,\n false,\n 'row',\n 'column',\n 'stack',\n 'component',\n 'close',\n 'maximise',\n 'minimise',\n 'open in new window',\n];\n\n/**\n * Takes a GoldenLayout configuration object and\n * replaces its keys and values recursively with\n * one letter counterparts\n *\n * @param config A GoldenLayout config object\n *\n * @returns minified config\n */\nexport function minifyConfig(config: Partial<Config>) {\n if (_keys.length > 36) {\n throw new Error('Too many keys in config minifier map');\n }\n\n const min = {};\n _nextLevel(config, min, '_min');\n return min;\n}\n\n/**\n * Takes a configuration Object that was previously minified\n * using minifyConfig and returns its original version\n *\n * @param minifiedConfig\n *\n * @returns the original configuration\n */\nexport function unminifyConfig(\n minifiedConfig: Record<string, unknown>\n): Config {\n if (_keys.length > 36) {\n throw new Error('Too many keys in config minifier map');\n }\n\n const orig = {};\n _nextLevel(minifiedConfig, orig, '_max');\n return orig as Config;\n}\n\n/**\n * Recursive function, called for every level of the config structure\n *\n * @param orig\n * @param min\n * @param translationFnName\n */\nfunction _nextLevel(\n from: unknown[] | Record<string, unknown>,\n to: unknown[] | Record<string, unknown>,\n translationFnName: '_min' | '_max'\n) {\n const translationFn = translationFnName === '_min' ? _min : _max;\n for (let key in from) {\n /**\n * In case something has extended Object prototypes\n */\n if (!from.hasOwnProperty(key)) continue;\n\n const fromItem = Array.isArray(from)\n ? from[Number.parseInt(key, 10)]\n : from[key];\n /**\n * For Arrays and Objects, create a new Array/Object\n * on the minified object and recurse into it\n */\n if (typeof fromItem === 'object' && fromItem != null) {\n const toItem = fromItem instanceof Array ? [] : {};\n\n if (Array.isArray(to)) {\n to[Number.parseInt(key, 10)] = toItem;\n } else {\n const minKey = translationFn(key, _keys);\n to[minKey] = toItem;\n }\n\n _nextLevel(\n fromItem as Record<string, unknown>,\n toItem,\n translationFnName\n );\n\n /**\n * For primitive values (Strings, Numbers, Boolean etc.)\n * minify the value\n */\n } else {\n const toItem = translationFn(fromItem, _values);\n\n if (Array.isArray(to)) {\n to[Number.parseInt(key, 10)] = toItem;\n } else {\n const minKey = translationFn(key, _keys);\n to[minKey] = toItem;\n }\n }\n }\n}\n\n/**\n * Minifies value based on a dictionary\n *\n * @param value\n * @param dictionary\n *\n * @returns The minified version\n */\nfunction _min<T>(value: T, dictionary: T[]): T | string {\n /**\n * If a value actually is a single character, prefix it\n * with ___ to avoid mistaking it for a minification code\n */\n if (typeof value === 'string' && value.length === 1) {\n return '___' + value;\n }\n\n var index = dictionary.indexOf(value);\n\n /**\n * value not found in the dictionary, return it unmodified\n */\n if (index === -1) {\n return value;\n\n /**\n * value found in dictionary, return its base36 counterpart\n */\n } else {\n return index.toString(36);\n }\n}\n\nfunction _max<T>(value: T, dictionary: T[]): T | string {\n /**\n * value is a single character. Assume that it's a translation\n * and return the original value from the dictionary\n */\n if (typeof value === 'string' && value.length === 1) {\n return dictionary[parseInt(value, 36)];\n }\n\n /**\n * value originally was a single character and was prefixed with ___\n * to avoid mistaking it for a translation. Remove the prefix\n * and return the original character\n */\n if (typeof value === 'string' && value.substr(0, 3) === '___') {\n return value[3];\n }\n /**\n * value was not minified\n */\n return value;\n}\n"],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import $ from 'jquery';
4
3
  import EventEmitter from "./EventEmitter.js";
5
-
6
4
  class DragListener extends EventEmitter {
7
5
  /**
8
6
  * The delay after which to start the drag in milliseconds
@@ -12,54 +10,39 @@ class DragListener extends EventEmitter {
12
10
  * The distance the mouse needs to be moved to qualify as a drag
13
11
  */
14
12
  //TODO - works better with delay only
13
+
15
14
  constructor(eElement) {
16
15
  var _this$_eElement;
17
-
18
16
  var destroyAfterMouseUp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
19
17
  super();
20
-
21
18
  _defineProperty(this, "_eElement", void 0);
22
-
23
19
  _defineProperty(this, "_oDocument", void 0);
24
-
25
20
  _defineProperty(this, "_eBody", void 0);
26
-
27
21
  _defineProperty(this, "_destroyAfterMouseUp", void 0);
28
-
29
22
  _defineProperty(this, "_nDelay", 400);
30
-
31
23
  _defineProperty(this, "_timeout", void 0);
32
-
33
24
  _defineProperty(this, "timeout", void 0);
34
-
35
25
  _defineProperty(this, "_nDistance", 10);
36
-
37
26
  _defineProperty(this, "_nX", 0);
38
-
39
27
  _defineProperty(this, "_nY", 0);
40
-
41
28
  _defineProperty(this, "_nOriginalX", 0);
42
-
43
29
  _defineProperty(this, "_nOriginalY", 0);
44
-
45
30
  _defineProperty(this, "_bDragging", false);
46
-
47
31
  this._eElement = eElement;
48
32
  this._oDocument = $(document);
49
- this._eBody = $(document.body); // used by drag sources, to destroy listener at the right time
50
-
33
+ this._eBody = $(document.body);
34
+ // used by drag sources, to destroy listener at the right time
51
35
  this._destroyAfterMouseUp = destroyAfterMouseUp;
52
36
  this.onMouseMove = this.onMouseMove.bind(this);
53
37
  this.onMouseUp = this.onMouseUp.bind(this);
54
38
  this.onMouseDown = this.onMouseDown.bind(this);
55
- this._startDrag = this._startDrag.bind(this); // https://github.com/microsoft/TypeScript/issues/48546
39
+ this._startDrag = this._startDrag.bind(this);
56
40
 
41
+ // https://github.com/microsoft/TypeScript/issues/48546
57
42
  (_this$_eElement = this._eElement) === null || _this$_eElement === void 0 ? void 0 : _this$_eElement.on('mousedown', this.onMouseDown);
58
43
  }
59
-
60
44
  destroy() {
61
45
  var _this$_eElement2, _this$_oDocument;
62
-
63
46
  (_this$_eElement2 = this._eElement) === null || _this$_eElement2 === void 0 ? void 0 : _this$_eElement2.unbind('mousedown', this.onMouseDown);
64
47
  (_this$_oDocument = this._oDocument) === null || _this$_oDocument === void 0 ? void 0 : _this$_oDocument.unbind('mouseup', this.onMouseUp);
65
48
  this._eElement = undefined;
@@ -68,15 +51,11 @@ class DragListener extends EventEmitter {
68
51
  clearTimeout(this._timeout);
69
52
  this._timeout = undefined;
70
53
  }
71
-
72
54
  onMouseDown(oEvent) {
73
55
  oEvent.preventDefault();
74
-
75
56
  if (oEvent.button === 0) {
76
57
  var _coordinates$x, _coordinates$y, _this$_oDocument2, _this$_oDocument3;
77
-
78
58
  var coordinates = this._getCoordinates(oEvent);
79
-
80
59
  this._nOriginalX = (_coordinates$x = coordinates.x) !== null && _coordinates$x !== void 0 ? _coordinates$x : 0;
81
60
  this._nOriginalY = (_coordinates$y = coordinates.y) !== null && _coordinates$y !== void 0 ? _coordinates$y : 0;
82
61
  (_this$_oDocument2 = this._oDocument) === null || _this$_oDocument2 === void 0 ? void 0 : _this$_oDocument2.on('mousemove', this.onMouseMove);
@@ -84,61 +63,47 @@ class DragListener extends EventEmitter {
84
63
  this._timeout = window.setTimeout(this._startDrag, this._nDelay);
85
64
  }
86
65
  }
87
-
88
66
  onMouseMove(oEvent) {
89
67
  if (this._timeout != null) {
90
68
  var _coordinates$x2, _coordinates$y2;
91
-
92
69
  oEvent.preventDefault();
93
-
94
70
  var coordinates = this._getCoordinates(oEvent);
95
-
96
71
  this._nX = ((_coordinates$x2 = coordinates.x) !== null && _coordinates$x2 !== void 0 ? _coordinates$x2 : 0) - this._nOriginalX;
97
72
  this._nY = ((_coordinates$y2 = coordinates.y) !== null && _coordinates$y2 !== void 0 ? _coordinates$y2 : 0) - this._nOriginalY;
98
-
99
73
  if (this._bDragging === false) {
100
74
  if (Math.abs(this._nX) > this._nDistance || Math.abs(this._nY) > this._nDistance) {
101
75
  this._startDrag();
102
76
  }
103
77
  }
104
-
105
78
  if (this._bDragging) {
106
79
  this.emit('drag', this._nX, this._nY, oEvent);
107
80
  }
108
81
  }
109
82
  }
110
-
111
83
  onMouseUp(oEvent) {
112
84
  if (this._timeout != null) {
113
85
  var _this$_oDocument4, _this$_oDocument5, _this$_oDocument6, _this$_oDocument6$fin, _this$_eBody;
114
-
115
86
  clearTimeout(this._timeout);
116
87
  (_this$_oDocument4 = this._oDocument) === null || _this$_oDocument4 === void 0 ? void 0 : _this$_oDocument4.unbind('mousemove', this.onMouseMove);
117
88
  (_this$_oDocument5 = this._oDocument) === null || _this$_oDocument5 === void 0 ? void 0 : _this$_oDocument5.unbind('mouseup', this.onMouseUp);
118
89
  (_this$_oDocument6 = this._oDocument) === null || _this$_oDocument6 === void 0 ? void 0 : (_this$_oDocument6$fin = _this$_oDocument6.find('iframe')) === null || _this$_oDocument6$fin === void 0 ? void 0 : _this$_oDocument6$fin.css('pointer-events', '');
119
-
120
90
  if (this._bDragging === true) {
121
91
  this._bDragging = false;
122
92
  this.emit('dragStop', oEvent, this._nOriginalX + this._nX);
123
- } // after dragStop, so that .lm_dragging is removed after size is processed
124
- // and any overflow: hidden remains applied during the calculations
125
-
93
+ }
126
94
 
95
+ // after dragStop, so that .lm_dragging is removed after size is processed
96
+ // and any overflow: hidden remains applied during the calculations
127
97
  (_this$_eBody = this._eBody) === null || _this$_eBody === void 0 ? void 0 : _this$_eBody.removeClass('lm_dragging');
128
-
129
98
  if (!(this._eElement instanceof Window)) {
130
99
  var _this$_eElement3;
131
-
132
100
  (_this$_eElement3 = this._eElement) === null || _this$_eElement3 === void 0 ? void 0 : _this$_eElement3.removeClass('lm_dragging');
133
101
  }
134
-
135
102
  if (this._destroyAfterMouseUp) this.destroy();
136
103
  }
137
104
  }
138
-
139
105
  _startDrag() {
140
106
  var _this$_eBody2, _this$_eElement4, _this$_oDocument7, _this$_oDocument7$fin;
141
-
142
107
  window.clearTimeout(this._timeout);
143
108
  this._bDragging = true;
144
109
  (_this$_eBody2 = this._eBody) === null || _this$_eBody2 === void 0 ? void 0 : _this$_eBody2.addClass('lm_dragging');
@@ -146,17 +111,13 @@ class DragListener extends EventEmitter {
146
111
  (_this$_oDocument7 = this._oDocument) === null || _this$_oDocument7 === void 0 ? void 0 : (_this$_oDocument7$fin = _this$_oDocument7.find('iframe')) === null || _this$_oDocument7$fin === void 0 ? void 0 : _this$_oDocument7$fin.css('pointer-events', 'none');
147
112
  this.emit('dragStart', this._nOriginalX, this._nOriginalY);
148
113
  }
149
-
150
114
  _getCoordinates(event) {
151
115
  var _event$pageX, _event$pageY;
152
-
153
116
  return {
154
117
  x: (_event$pageX = event.pageX) !== null && _event$pageX !== void 0 ? _event$pageX : 0,
155
118
  y: (_event$pageY = event.pageY) !== null && _event$pageY !== void 0 ? _event$pageY : 0
156
119
  };
157
120
  }
158
-
159
121
  }
160
-
161
122
  export default DragListener;
162
123
  //# sourceMappingURL=DragListener.js.map