@deephaven/golden-layout 0.85.3-beta.0 → 0.85.3-beta.2
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.
- package/dist/LayoutManager.d.ts +23 -11
- package/dist/LayoutManager.d.ts.map +1 -1
- package/dist/LayoutManager.js +49 -21
- package/dist/LayoutManager.js.map +1 -1
- package/dist/config/Config.d.ts +2 -2
- package/dist/config/Config.d.ts.map +1 -1
- package/dist/config/Config.js.map +1 -1
- package/dist/config/ItemConfig.d.ts +38 -14
- package/dist/config/ItemConfig.d.ts.map +1 -1
- package/dist/config/ItemConfig.js +2 -0
- package/dist/config/ItemConfig.js.map +1 -1
- package/dist/controls/BrowserPopout.d.ts +2 -2
- package/dist/controls/BrowserPopout.d.ts.map +1 -1
- package/dist/controls/BrowserPopout.js.map +1 -1
- package/dist/controls/DragSource.d.ts +3 -3
- package/dist/controls/DragSource.d.ts.map +1 -1
- package/dist/controls/DragSource.js.map +1 -1
- package/dist/controls/Header.d.ts +3 -3
- package/dist/controls/Header.d.ts.map +1 -1
- package/dist/controls/Header.js.map +1 -1
- package/dist/items/AbstractContentItem.d.ts +5 -12
- package/dist/items/AbstractContentItem.d.ts.map +1 -1
- package/dist/items/AbstractContentItem.js.map +1 -1
- package/dist/items/Component.d.ts +2 -2
- package/dist/items/Component.d.ts.map +1 -1
- package/dist/items/Component.js +2 -1
- package/dist/items/Component.js.map +1 -1
- package/dist/items/Root.d.ts +3 -5
- package/dist/items/Root.d.ts.map +1 -1
- package/dist/items/Root.js.map +1 -1
- package/dist/items/RowOrColumn.d.ts +5 -6
- package/dist/items/RowOrColumn.d.ts.map +1 -1
- package/dist/items/RowOrColumn.js +2 -1
- package/dist/items/RowOrColumn.js.map +1 -1
- package/dist/items/Stack.d.ts +7 -21
- package/dist/items/Stack.d.ts.map +1 -1
- package/dist/items/Stack.js +7 -4
- package/dist/items/Stack.js.map +1 -1
- package/package.json +3 -3
package/dist/items/Stack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stack.js","names":["$","AbstractContentItem","isComponent","Header","Stack","constructor","layoutManager","config","parent","_cfg$settings","_cfg$settings2","_cfg$labels","_cfg$settings3","_cfg$labels2","_cfg$settings4","_cfg$labels3","_cfg$labels$minimise","_cfg$labels4","_defineProperty","cfg","_side","_header","show","settings","hasHeaders","popout","showPopoutIcon","labels","undefined","maximise","showMaximiseIcon","close","showCloseIcon","minimise","header","_objectSpread","content","element","append","childElementContainer","_setupHeaderPosition","_$validateClosability","setSize","_this$layoutManager$c","_this$layoutManager$c2","_this$element$width","_this$element$height","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","arguments","removeTab","Math","max","isClosable","_isClosable","len","_this$contentItems$i$","_$setClosable","_$destroy","prototype","call","_$onDrop","_dropSegment","_resetHeaderDropZone","_dropIndex","isVertical","isHorizontal","insertBefore","hasCorrectParent","isColumn","isRow","type","dimension","stack","createContentItem","_this$config$dimensio","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","_tabsContainer$get","_this$layoutManager$t","_this$layoutManager$t2","_this$layoutManager$t3","_this$header$tabsCont","_this$header$tabsCont2","_this$layoutManager$t4","_this$header$tabsCont3","_this$header$tabsCont4","_this$header$tabsCont5","_this$layoutManager$d2","_this$header$element$6","_this$header$element$7","_this$header$element$8","_this$header$element$9","_this$header$element$10","tabsLength","tabs","_this$layoutManager$d","_headerOffset$left","_headerOffset$left2","_this$header$element$","_this$header$element$2","_this$header$element$3","_this$header$element$4","_this$header$element$5","headerOffset","offset","dropTargetIndicator","innerHeight","tabsContainer","tabsContainerRect","get","getBoundingClientRect","placeholderRect","tabDropPlaceholder","tabElement","tabRect","_tabElement$get","before","_this$_dropIndex","min","after","placeHolderLeft","placeHolderRight","innerWidth","remove","side","some","elem","toggle","toString","removeClass","addClass","find","headerPosition","_this$_contentAreaDim","_this$_contentAreaDim2","_this$layoutManager$d3"],"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 this.header.element.toggle(!!this._header.show);\n\n if (!side) {\n return;\n }\n\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","RowOrColumn","Stack","constructor","layoutManager","config","parent","_cfg$settings","_cfg$settings2","_cfg$labels","_cfg$settings3","_cfg$labels2","_cfg$settings4","_cfg$labels3","_cfg$labels$minimise","_cfg$labels4","_defineProperty","cfg","_side","_header","show","settings","hasHeaders","popout","showPopoutIcon","labels","undefined","maximise","showMaximiseIcon","close","showCloseIcon","minimise","header","_objectSpread","content","element","append","childElementContainer","_setupHeaderPosition","_$validateClosability","setSize","_this$layoutManager$c","_this$layoutManager$c2","_this$element$width","_this$element$height","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","arguments","removeTab","Math","max","isClosable","_isClosable","len","_this$contentItems$i$","_$setClosable","_$destroy","prototype","call","_$onDrop","_dropSegment","_resetHeaderDropZone","_dropIndex","isVertical","isHorizontal","insertBefore","hasCorrectParent","isColumn","isRow","type","dimension","stack","createContentItem","_this$config$dimensio","_this$parent","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","_tabsContainer$get","_this$layoutManager$t","_this$layoutManager$t2","_this$layoutManager$t3","_this$header$tabsCont","_this$header$tabsCont2","_this$layoutManager$t4","_this$header$tabsCont3","_this$header$tabsCont4","_this$header$tabsCont5","_this$layoutManager$d2","_this$header$element$6","_this$header$element$7","_this$header$element$8","_this$header$element$9","_this$header$element$10","tabsLength","tabs","_this$layoutManager$d","_headerOffset$left","_headerOffset$left2","_this$header$element$","_this$header$element$2","_this$header$element$3","_this$header$element$4","_this$header$element$5","headerOffset","offset","dropTargetIndicator","innerHeight","tabsContainer","tabsContainerRect","get","getBoundingClientRect","placeholderRect","tabDropPlaceholder","tabElement","tabRect","_tabElement$get","before","_this$_dropIndex","min","after","placeHolderLeft","placeHolderRight","innerWidth","remove","side","some","elem","toggle","toString","removeClass","addClass","find","headerPosition","_this$_contentAreaDim","_this$_contentAreaDim2","_this$layoutManager$d3"],"sources":["../../src/items/Stack.ts"],"sourcesContent":["import $ from 'jquery';\nimport AbstractContentItem, { isComponent } from './AbstractContentItem';\nimport type LayoutManager from '../LayoutManager';\nimport type {\n ItemConfig,\n StackItemConfig,\n StackItemHeaderConfig,\n} from '../config';\nimport { Header } from '../controls';\nimport 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 default class Stack extends AbstractContentItem {\n private _activeContentItem: AbstractContentItem | null = null;\n\n _header: StackItemHeaderConfig;\n\n childElementContainer = $('<div class=\"lm_items\"></div>');\n header: Header;\n parent: AbstractContentItem | null;\n\n isStack = true;\n\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: StackItemConfig;\n\n constructor(\n layoutManager: LayoutManager & {\n config: LayoutManager['config'] & {\n header?: StackItemHeaderConfig;\n };\n },\n config: StackItemConfig,\n parent: AbstractContentItem | null\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 | ItemConfig, 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 this.parent instanceof RowOrColumn &&\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\n // Should be a `RowOrColumn` if `hasCorrectParent` is true\n (this.parent as RowOrColumn).addChild(\n contentItem,\n insertBefore ? index : index + 1,\n true\n );\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({ type }, this);\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 this.header.element.toggle(!!this._header.show);\n\n if (!side) {\n return;\n }\n\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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/golden-layout",
|
|
3
|
-
"version": "0.85.3-beta.
|
|
3
|
+
"version": "0.85.3-beta.2+50f2a6d0",
|
|
4
4
|
"author": "Deephaven Data Labs LLC",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"description": "A multi-screen javascript Layout manager",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"source": "src/index.ts",
|
|
11
11
|
"type": "module",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@deephaven/components": "^0.85.3-beta.
|
|
13
|
+
"@deephaven/components": "^0.85.3-beta.2+50f2a6d0",
|
|
14
14
|
"jquery": "^3.6.0",
|
|
15
15
|
"nanoid": "^5.0.7"
|
|
16
16
|
},
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"karma-browserify": "^8.1.0",
|
|
57
57
|
"watchify": "^4.0.0"
|
|
58
58
|
},
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "50f2a6d05fc8d38d9e9ed3d86c31c01c01991c5e"
|
|
60
60
|
}
|