@deephaven/golden-layout 0.104.1-virtual-webgl.3 → 0.105.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.
|
@@ -60,7 +60,7 @@ export default class DragProxy extends EventEmitter {
|
|
|
60
60
|
});
|
|
61
61
|
this._proxyTab = this.element.find('.lm_tab');
|
|
62
62
|
this._proxyTab.attr('title', stripTags((_this$_contentItem$co = this._contentItem.config.title) !== null && _this$_contentItem$co !== void 0 ? _this$_contentItem$co : ''));
|
|
63
|
-
this.element.find('.lm_title').
|
|
63
|
+
this.element.find('.lm_title').text((_this$_contentItem$co2 = this._contentItem.config.title) !== null && _this$_contentItem$co2 !== void 0 ? _this$_contentItem$co2 : '');
|
|
64
64
|
this.childElementContainer = this.element.find('.lm_content');
|
|
65
65
|
this.childElementContainer.append(contentItem.element);
|
|
66
66
|
this._updateTree();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragProxy.js","names":["$","stripTags","EventEmitter","DragProxy","constructor","x","y","dragListener","layoutManager","contentItem","originalParent","_this$_contentItem$co","_this$_contentItem$co2","_offset$left","_offset$top","_this$_layoutManager$","_this$_layoutManager$2","_this$element$width","_this$element$height","_defineProperty","_dragListener","_layoutManager","_contentItem","_originalParent","on","_onDrag","_onDrop","tab","element","_this$_contentItem$ta","_this$_contentItem$ta2","tabDropPlaceholder","width","outerWidth","height","outerHeight","_template","_side","_sided","addClass","indexOf","toString","find","after","css","left","top","_proxyTab","attr","config","title","html","childElementContainer","append","_updateTree","_$calculateItemAreas","document","body","_setDimensions","length","_this$_proxyTab$outer","_this$_proxyTab$outer2","offset","container","_minX","_minY","_maxX","_maxY","_width","_height","_setDropPosition","emit","offsetX","offsetY","event","_event$pageX","_event$pageY","pageX","pageY","isWithinContainer","settings","constrainDragToContainer","_area","_$getArea","_lastValidArea","_$highlightDropZone","_this$_layoutManager$3","dropTargetIndicator","hide","_$onDrop","addChild","_$destroy","off","remove","parent","removeChild","_$setParent","dimensions","dragProxyWidth","dragProxyHeight","headerHeight","callDownwards"],"sources":["../../src/controls/DragProxy.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { AbstractContentItem, ItemArea, Stack } from '../items';\nimport type LayoutManager from '../LayoutManager';\nimport type { DragListener } from '../utils';\nimport { stripTags, EventEmitter } from '../utils';\n\n/**\n * This class creates a temporary container\n * for the component whilst it is being dragged\n * and handles drag events\n *\n * @param x The initial x position\n * @param y The initial y position\n * @param dragListener\n * @param layoutManager\n * @param contentItem\n * @param originalParent\n */\nexport default class DragProxy extends EventEmitter {\n private static _template =\n '<div class=\"lm_dragProxy\">' +\n '<div class=\"lm_header\">' +\n '<ul class=\"lm_tabs\">' +\n '<li class=\"lm_tab lm_active\"><i class=\"lm_left\"></i>' +\n '<span class=\"lm_title\"></span>' +\n '<i class=\"lm_right\"></i></li>' +\n '</ul>' +\n '</div>' +\n '<div class=\"lm_content\"></div>' +\n '</div>';\n\n private _dragListener: DragListener;\n private _layoutManager: LayoutManager;\n private _contentItem: AbstractContentItem;\n private _originalParent: Stack | null;\n\n private _area: ItemArea | null = null;\n private _lastValidArea: ItemArea | null = null;\n\n private _minX: number;\n private _maxX: number;\n private _minY: number;\n private _maxY: number;\n private _width: number;\n private _height: number;\n private _sided?: boolean;\n\n element: JQuery<HTMLElement>;\n childElementContainer: JQuery<HTMLElement>;\n private _proxyTab: JQuery<HTMLElement>;\n\n constructor(\n x: number,\n y: number,\n dragListener: DragListener,\n layoutManager: LayoutManager,\n contentItem: AbstractContentItem,\n originalParent: Stack | null\n ) {\n super();\n\n this._dragListener = dragListener;\n this._layoutManager = layoutManager;\n this._contentItem = contentItem;\n this._originalParent = originalParent;\n\n this._dragListener.on('drag', this._onDrag, this);\n this._dragListener.on('dragStop', this._onDrop, this);\n\n // set the inserted drag placeholder to be the size of the tab removed, before its removed\n if (this._contentItem.tab && this._contentItem.tab.element) {\n this._layoutManager.tabDropPlaceholder.width(\n this._contentItem.tab.element.outerWidth(true) ?? 0\n );\n this._layoutManager.tabDropPlaceholder.height(\n this._contentItem.tab.element.outerHeight(true) ?? 0\n );\n }\n\n this.element = $(DragProxy._template);\n if (originalParent && originalParent._side) {\n this._sided = originalParent._sided;\n this.element.addClass('lm_' + originalParent._side);\n if (['right', 'bottom'].indexOf(originalParent._side.toString()) >= 0)\n this.element.find('.lm_content').after(this.element.find('.lm_header'));\n }\n this.element.css({ left: x, top: y });\n this._proxyTab = this.element.find('.lm_tab');\n this._proxyTab.attr(\n 'title',\n stripTags(this._contentItem.config.title ?? '')\n );\n this.element.find('.lm_title').html(this._contentItem.config.title ?? '');\n this.childElementContainer = this.element.find('.lm_content');\n this.childElementContainer.append(contentItem.element);\n\n this._updateTree();\n this._layoutManager._$calculateItemAreas();\n\n $(document.body).append(this.element);\n\n // Need to set dimensions after adding the element, or `Component.setSize()` will not pass the `.is('visible')` test and won't update\n this._setDimensions();\n\n // there's no content tab to use yet, use the proxy tab size for placeholder sizing, after it's created\n if (!this._contentItem.tab && this._proxyTab.length) {\n this._layoutManager.tabDropPlaceholder.width(\n this._proxyTab.outerWidth(true) ?? 0\n );\n this._layoutManager.tabDropPlaceholder.height(\n this._proxyTab.outerHeight(true) ?? 0\n );\n }\n\n var offset = this._layoutManager.container.offset();\n\n this._minX = offset?.left ?? 0;\n this._minY = offset?.top ?? 0;\n this._maxX = (this._layoutManager.container.width() ?? 0) + this._minX;\n this._maxY = (this._layoutManager.container.height() ?? 0) + this._minY;\n this._width = this.element.width() ?? 0;\n this._height = this.element.height() ?? 0;\n\n this._setDropPosition(x, y);\n\n this._layoutManager.emit('itemPickedUp', this._contentItem);\n }\n\n /**\n * Callback on every mouseMove event during a drag. Determines if the drag is\n * still within the valid drag area and calls the layoutManager to highlight the\n * current drop area\n *\n * @param offsetX The difference from the original x position in px\n * @param offsetY The difference from the original y position in px\n * @param event\n */\n _onDrag(offsetX: number, offsetY: number, event: JQuery.TriggeredEvent) {\n const x = event.pageX ?? 0;\n const y = event.pageY ?? 0;\n const isWithinContainer =\n x > this._minX && x < this._maxX && y > this._minY && y < this._maxY;\n\n if (\n !isWithinContainer &&\n this._layoutManager.config.settings.constrainDragToContainer === true\n ) {\n return;\n }\n\n this._setDropPosition(x, y);\n }\n\n /**\n * Sets the target position, highlighting the appropriate area\n *\n * @param x The x position in px\n * @param y The y position in px\n */\n _setDropPosition(x: number, y: number) {\n this.element.css({ left: x, top: y });\n this._area = this._layoutManager._$getArea(x, y);\n\n if (this._area !== null) {\n this._lastValidArea = this._area;\n this._area.contentItem._$highlightDropZone(x, y, this._area);\n }\n }\n\n /**\n * Callback when the drag has finished. Determines the drop area\n * and adds the child to it\n */\n _onDrop() {\n this._layoutManager.dropTargetIndicator?.hide();\n\n /*\n * Valid drop area found\n */\n if (this._area !== null) {\n this._area.contentItem._$onDrop(this._contentItem, this._area);\n\n /**\n * No valid drop area available at present, but one has been found before.\n * Use it\n */\n } else if (this._lastValidArea !== null) {\n this._lastValidArea.contentItem._$onDrop(\n this._contentItem,\n this._lastValidArea\n );\n\n /**\n * No valid drop area found during the duration of the drag. Return\n * content item to its original position if a original parent is provided.\n * (Which is not the case if the drag had been initiated by createDragSource)\n */\n } else if (this._originalParent) {\n this._originalParent.addChild(this._contentItem);\n\n /**\n * The drag didn't ultimately end up with adding the content item to\n * any container. In order to ensure clean up happens, destroy the\n * content item.\n */\n } else {\n this._contentItem._$destroy();\n }\n\n this._dragListener.off('drag', this._onDrag, this);\n this._dragListener.off('dragStop', this._onDrop, this);\n\n this.element.remove();\n\n this._layoutManager.emit('itemDropped', this._contentItem);\n }\n\n /**\n * Removes the item from its original position within the tree\n */\n _updateTree() {\n /**\n * parent is null if the drag had been initiated by a external drag source\n */\n if (this._contentItem.parent) {\n this._contentItem.parent.removeChild(this._contentItem, true);\n }\n\n this._contentItem._$setParent(null);\n }\n\n /**\n * Updates the DragProxy's dimensions\n */\n _setDimensions() {\n const dimensions = this._layoutManager.config.dimensions;\n let width = dimensions.dragProxyWidth;\n let height = dimensions.dragProxyHeight;\n\n this.element.width(width);\n this.element.height(height);\n width -= this._sided ? dimensions.headerHeight : 0;\n height -= !this._sided ? dimensions.headerHeight : 0;\n this.childElementContainer.width(width);\n this.childElementContainer.height(height);\n this._contentItem.element.width(width);\n this._contentItem.element.height(height);\n this._contentItem.callDownwards('_$show');\n this._contentItem.callDownwards('setSize');\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DragProxy.js","names":["$","stripTags","EventEmitter","DragProxy","constructor","x","y","dragListener","layoutManager","contentItem","originalParent","_this$_contentItem$co","_this$_contentItem$co2","_offset$left","_offset$top","_this$_layoutManager$","_this$_layoutManager$2","_this$element$width","_this$element$height","_defineProperty","_dragListener","_layoutManager","_contentItem","_originalParent","on","_onDrag","_onDrop","tab","element","_this$_contentItem$ta","_this$_contentItem$ta2","tabDropPlaceholder","width","outerWidth","height","outerHeight","_template","_side","_sided","addClass","indexOf","toString","find","after","css","left","top","_proxyTab","attr","config","title","text","childElementContainer","append","_updateTree","_$calculateItemAreas","document","body","_setDimensions","length","_this$_proxyTab$outer","_this$_proxyTab$outer2","offset","container","_minX","_minY","_maxX","_maxY","_width","_height","_setDropPosition","emit","offsetX","offsetY","event","_event$pageX","_event$pageY","pageX","pageY","isWithinContainer","settings","constrainDragToContainer","_area","_$getArea","_lastValidArea","_$highlightDropZone","_this$_layoutManager$3","dropTargetIndicator","hide","_$onDrop","addChild","_$destroy","off","remove","parent","removeChild","_$setParent","dimensions","dragProxyWidth","dragProxyHeight","headerHeight","callDownwards"],"sources":["../../src/controls/DragProxy.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { AbstractContentItem, ItemArea, Stack } from '../items';\nimport type LayoutManager from '../LayoutManager';\nimport type { DragListener } from '../utils';\nimport { stripTags, EventEmitter } from '../utils';\n\n/**\n * This class creates a temporary container\n * for the component whilst it is being dragged\n * and handles drag events\n *\n * @param x The initial x position\n * @param y The initial y position\n * @param dragListener\n * @param layoutManager\n * @param contentItem\n * @param originalParent\n */\nexport default class DragProxy extends EventEmitter {\n private static _template =\n '<div class=\"lm_dragProxy\">' +\n '<div class=\"lm_header\">' +\n '<ul class=\"lm_tabs\">' +\n '<li class=\"lm_tab lm_active\"><i class=\"lm_left\"></i>' +\n '<span class=\"lm_title\"></span>' +\n '<i class=\"lm_right\"></i></li>' +\n '</ul>' +\n '</div>' +\n '<div class=\"lm_content\"></div>' +\n '</div>';\n\n private _dragListener: DragListener;\n private _layoutManager: LayoutManager;\n private _contentItem: AbstractContentItem;\n private _originalParent: Stack | null;\n\n private _area: ItemArea | null = null;\n private _lastValidArea: ItemArea | null = null;\n\n private _minX: number;\n private _maxX: number;\n private _minY: number;\n private _maxY: number;\n private _width: number;\n private _height: number;\n private _sided?: boolean;\n\n element: JQuery<HTMLElement>;\n childElementContainer: JQuery<HTMLElement>;\n private _proxyTab: JQuery<HTMLElement>;\n\n constructor(\n x: number,\n y: number,\n dragListener: DragListener,\n layoutManager: LayoutManager,\n contentItem: AbstractContentItem,\n originalParent: Stack | null\n ) {\n super();\n\n this._dragListener = dragListener;\n this._layoutManager = layoutManager;\n this._contentItem = contentItem;\n this._originalParent = originalParent;\n\n this._dragListener.on('drag', this._onDrag, this);\n this._dragListener.on('dragStop', this._onDrop, this);\n\n // set the inserted drag placeholder to be the size of the tab removed, before its removed\n if (this._contentItem.tab && this._contentItem.tab.element) {\n this._layoutManager.tabDropPlaceholder.width(\n this._contentItem.tab.element.outerWidth(true) ?? 0\n );\n this._layoutManager.tabDropPlaceholder.height(\n this._contentItem.tab.element.outerHeight(true) ?? 0\n );\n }\n\n this.element = $(DragProxy._template);\n if (originalParent && originalParent._side) {\n this._sided = originalParent._sided;\n this.element.addClass('lm_' + originalParent._side);\n if (['right', 'bottom'].indexOf(originalParent._side.toString()) >= 0)\n this.element.find('.lm_content').after(this.element.find('.lm_header'));\n }\n this.element.css({ left: x, top: y });\n this._proxyTab = this.element.find('.lm_tab');\n this._proxyTab.attr(\n 'title',\n stripTags(this._contentItem.config.title ?? '')\n );\n this.element.find('.lm_title').text(this._contentItem.config.title ?? '');\n this.childElementContainer = this.element.find('.lm_content');\n this.childElementContainer.append(contentItem.element);\n\n this._updateTree();\n this._layoutManager._$calculateItemAreas();\n\n $(document.body).append(this.element);\n\n // Need to set dimensions after adding the element, or `Component.setSize()` will not pass the `.is('visible')` test and won't update\n this._setDimensions();\n\n // there's no content tab to use yet, use the proxy tab size for placeholder sizing, after it's created\n if (!this._contentItem.tab && this._proxyTab.length) {\n this._layoutManager.tabDropPlaceholder.width(\n this._proxyTab.outerWidth(true) ?? 0\n );\n this._layoutManager.tabDropPlaceholder.height(\n this._proxyTab.outerHeight(true) ?? 0\n );\n }\n\n var offset = this._layoutManager.container.offset();\n\n this._minX = offset?.left ?? 0;\n this._minY = offset?.top ?? 0;\n this._maxX = (this._layoutManager.container.width() ?? 0) + this._minX;\n this._maxY = (this._layoutManager.container.height() ?? 0) + this._minY;\n this._width = this.element.width() ?? 0;\n this._height = this.element.height() ?? 0;\n\n this._setDropPosition(x, y);\n\n this._layoutManager.emit('itemPickedUp', this._contentItem);\n }\n\n /**\n * Callback on every mouseMove event during a drag. Determines if the drag is\n * still within the valid drag area and calls the layoutManager to highlight the\n * current drop area\n *\n * @param offsetX The difference from the original x position in px\n * @param offsetY The difference from the original y position in px\n * @param event\n */\n _onDrag(offsetX: number, offsetY: number, event: JQuery.TriggeredEvent) {\n const x = event.pageX ?? 0;\n const y = event.pageY ?? 0;\n const isWithinContainer =\n x > this._minX && x < this._maxX && y > this._minY && y < this._maxY;\n\n if (\n !isWithinContainer &&\n this._layoutManager.config.settings.constrainDragToContainer === true\n ) {\n return;\n }\n\n this._setDropPosition(x, y);\n }\n\n /**\n * Sets the target position, highlighting the appropriate area\n *\n * @param x The x position in px\n * @param y The y position in px\n */\n _setDropPosition(x: number, y: number) {\n this.element.css({ left: x, top: y });\n this._area = this._layoutManager._$getArea(x, y);\n\n if (this._area !== null) {\n this._lastValidArea = this._area;\n this._area.contentItem._$highlightDropZone(x, y, this._area);\n }\n }\n\n /**\n * Callback when the drag has finished. Determines the drop area\n * and adds the child to it\n */\n _onDrop() {\n this._layoutManager.dropTargetIndicator?.hide();\n\n /*\n * Valid drop area found\n */\n if (this._area !== null) {\n this._area.contentItem._$onDrop(this._contentItem, this._area);\n\n /**\n * No valid drop area available at present, but one has been found before.\n * Use it\n */\n } else if (this._lastValidArea !== null) {\n this._lastValidArea.contentItem._$onDrop(\n this._contentItem,\n this._lastValidArea\n );\n\n /**\n * No valid drop area found during the duration of the drag. Return\n * content item to its original position if a original parent is provided.\n * (Which is not the case if the drag had been initiated by createDragSource)\n */\n } else if (this._originalParent) {\n this._originalParent.addChild(this._contentItem);\n\n /**\n * The drag didn't ultimately end up with adding the content item to\n * any container. In order to ensure clean up happens, destroy the\n * content item.\n */\n } else {\n this._contentItem._$destroy();\n }\n\n this._dragListener.off('drag', this._onDrag, this);\n this._dragListener.off('dragStop', this._onDrop, this);\n\n this.element.remove();\n\n this._layoutManager.emit('itemDropped', this._contentItem);\n }\n\n /**\n * Removes the item from its original position within the tree\n */\n _updateTree() {\n /**\n * parent is null if the drag had been initiated by a external drag source\n */\n if (this._contentItem.parent) {\n this._contentItem.parent.removeChild(this._contentItem, true);\n }\n\n this._contentItem._$setParent(null);\n }\n\n /**\n * Updates the DragProxy's dimensions\n */\n _setDimensions() {\n const dimensions = this._layoutManager.config.dimensions;\n let width = dimensions.dragProxyWidth;\n let height = dimensions.dragProxyHeight;\n\n this.element.width(width);\n this.element.height(height);\n width -= this._sided ? dimensions.headerHeight : 0;\n height -= !this._sided ? dimensions.headerHeight : 0;\n this.childElementContainer.width(width);\n this.childElementContainer.height(height);\n this._contentItem.element.width(width);\n this._contentItem.element.height(height);\n this._contentItem.callDownwards('_$show');\n this._contentItem.callDownwards('setSize');\n }\n}\n"],"mappings":"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"}
|
package/dist/controls/Tab.js
CHANGED
|
@@ -73,7 +73,7 @@ export default class Tab {
|
|
|
73
73
|
var title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
74
74
|
// Disabling for illumon project, we want to manage our own tooltips
|
|
75
75
|
// this.element.attr( 'title', lm.utils.stripTags( title ) );
|
|
76
|
-
this.titleElement.
|
|
76
|
+
this.titleElement.text(title);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
/**
|
package/dist/controls/Tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.js","names":["$","isComponent","DragListener","DragProxy","Tab","constructor","header","contentItem","_this$_layoutManager$","_defineProperty","_template","titleElement","element","find","closeElement","config","isClosable","setTitle","title","on","_layoutManager","layoutManager","settings","reorderEnabled","_dragListener","_onDragStart","destroy","_onTabClick","bind","_onCloseClick","_onTabContentFocusIn","_onTabContentFocusOut","_onMouseUp","_onCloseMousedown","remove","tab","emit","container","_contentElement","arguments","length","undefined","html","setActive","isActive","addClass","removeClass","_$destroy","off","removeEventListener","x","y","_this$contentItem$par","parent","isMaximised","toggleMaximise","root","contains","document","activeElement","event","button","_this$element$get","activeContentItem","getActiveContentItem","setActiveContentItem","focus","_hideAdditionalTabsDropdown","get","scrollIntoView","inline","stopPropagation","close","removeChild","preventDefault","join"],"sources":["../../src/controls/Tab.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { AbstractContentItem } from '../items';\nimport { isComponent } from '../items';\nimport type LayoutManager from '../LayoutManager';\nimport { DragListener } from '../utils';\nimport DragProxy from './DragProxy';\nimport type Header from './Header';\n\n/**\n * Represents an individual tab within a Stack's header\n *\n * @param header\n * @param contentItem\n */\nexport default class Tab {\n /**\n * The tab's html template\n */\n private static _template = [\n '<li class=\"lm_tab\">',\n '<span class=\"lm_title_before\"></span>',\n '<span class=\"lm_title\"></span>',\n '<div class=\"lm_close_tab\" aria-label=\"Close tab\"></div>',\n '</li>',\n ].join('');\n\n header: Header;\n contentItem: AbstractContentItem;\n element = $(Tab._template);\n titleElement: JQuery<HTMLElement>;\n closeElement: JQuery<HTMLElement>;\n isActive = false;\n\n private _layoutManager: LayoutManager;\n private _dragListener?: DragListener;\n\n constructor(header: Header, contentItem: AbstractContentItem) {\n this.header = header;\n this.contentItem = contentItem;\n this.titleElement = this.element.find('.lm_title');\n this.closeElement = this.element.find('.lm_close_tab');\n this.closeElement[contentItem.config.isClosable ? 'show' : 'hide']();\n\n this.setTitle(contentItem.config.title);\n this.contentItem.on('titleChanged', this.setTitle, this);\n\n this._layoutManager = this.contentItem.layoutManager;\n\n if (\n this._layoutManager.config.settings?.reorderEnabled &&\n contentItem.config.reorderEnabled\n ) {\n this._dragListener = new DragListener(this.element);\n this._dragListener.on('dragStart', this._onDragStart, this);\n this.contentItem.on(\n 'destroy',\n this._dragListener.destroy,\n this._dragListener\n );\n }\n\n this._onTabClick = this._onTabClick.bind(this);\n this._onCloseClick = this._onCloseClick.bind(this);\n this._onTabContentFocusIn = this._onTabContentFocusIn.bind(this);\n this._onTabContentFocusOut = this._onTabContentFocusOut.bind(this);\n\n this.element.on('click', this._onTabClick);\n this.element.on('auxclick', this._onTabClick);\n this.element.on('mouseup', this._onMouseUp);\n\n if (this.contentItem.config.isClosable) {\n this.closeElement.on('click', this._onCloseClick);\n this.closeElement.on('mousedown', this._onCloseMousedown);\n } else {\n this.closeElement.remove();\n }\n\n this.contentItem.tab = this;\n this.contentItem.emit('tab', this);\n this.contentItem.layoutManager.emit('tabCreated', this);\n\n if (isComponent(this.contentItem)) {\n // add focus class to tab when content\n this.contentItem.container._contentElement\n .on('focusin', this._onTabContentFocusIn)\n .on('focusout', this._onTabContentFocusOut);\n\n this.contentItem.container.tab = this;\n this.contentItem.container.emit('tab', this);\n }\n }\n\n /**\n * Sets the tab's title to the provided string and sets\n * its title attribute to a pure text representation (without\n * html tags) of the same string.\n * @param title can contain html\n */\n setTitle(title = '') {\n // Disabling for illumon project, we want to manage our own tooltips\n // this.element.attr( 'title', lm.utils.stripTags( title ) );\n this.titleElement.html(title);\n }\n\n /**\n * Sets this tab's active state. To programmatically\n * switch tabs, use header.setActiveContentItem( item ) instead.\n * @param isActive\n */\n setActive(isActive: boolean) {\n if (isActive === this.isActive) {\n return;\n }\n this.isActive = isActive;\n\n if (isActive) {\n this.element.addClass('lm_active');\n } else {\n this.element.removeClass('lm_active');\n }\n }\n\n /**\n * Destroys the tab\n *\n * @private\n * @returns {void}\n */\n _$destroy() {\n this.element.off('click', this._onTabClick);\n this.element.off('auxclick', this._onTabClick);\n this.element.off('mouseup', this._onMouseUp);\n this.closeElement.off('click', this._onCloseClick);\n if (isComponent(this.contentItem)) {\n this.contentItem.container._contentElement.off();\n this.contentItem.container._contentElement[0].removeEventListener(\n 'click',\n this._onTabContentFocusIn,\n true\n );\n }\n if (this._dragListener) {\n this.contentItem.off(\n 'destroy',\n this._dragListener.destroy,\n this._dragListener\n );\n this._dragListener.off('dragStart', this._onDragStart);\n this._dragListener = undefined;\n }\n this.element.remove();\n }\n\n /**\n * Callback for the DragListener\n *\n * @param x The tabs absolute x position\n * @param y The tabs absolute y position\n */\n _onDragStart(x: number, y: number) {\n if (this.contentItem.parent?.isMaximised) {\n this.contentItem.parent.toggleMaximise();\n }\n\n if (!this._dragListener) {\n return;\n }\n\n new DragProxy(\n x,\n y,\n this._dragListener,\n this._layoutManager,\n this.contentItem,\n this.header.parent\n );\n }\n\n /**\n * Callback when the contentItem is focused in\n */\n _onTabContentFocusIn() {\n // Ensure only one tab is marked as having focus at a time.\n // In Firefox, if the focused element is removed from the DOM,\n // the focusout event won't trigger. This can result in two tabs\n // being erroneously marked as focused if the user's DOM element\n // is removed and they click another tab. To prevent this, we\n // remove existing \"lm_focusin\" classes first.\n $('.lm_focusin', this._layoutManager.root.element).removeClass(\n 'lm_focusin'\n );\n\n this.element.addClass('lm_focusin');\n }\n\n /**\n * Callback when the contentItem is focused out\n *\n * @param {jQuery DOM event} event\n *\n * @private\n * @returns {void}\n */\n _onTabContentFocusOut() {\n if (\n isComponent(this.contentItem) &&\n !this.contentItem.container._contentElement[0].contains(\n document.activeElement\n )\n ) {\n this.element.removeClass('lm_focusin');\n }\n }\n\n /**\n * Callback when the tab is clicked\n *\n * @param event\n */\n _onTabClick(event?: JQuery.TriggeredEvent) {\n // left mouse button or tap\n if (!event || event.button === 0) {\n var activeContentItem = this.header.parent.getActiveContentItem();\n if (\n this.contentItem !== activeContentItem &&\n isComponent(this.contentItem)\n ) {\n this.header.parent.setActiveContentItem(this.contentItem);\n } else if (\n isComponent(this.contentItem) &&\n !this.contentItem.container._contentElement[0].contains(\n document.activeElement\n )\n ) {\n // if no focus inside put focus onto the container\n // so focusin always fires for tabclicks\n this.contentItem.container._contentElement.focus();\n }\n\n if (isComponent(this.contentItem)) {\n this.contentItem.container.emit('tabClicked', event);\n }\n\n // might have been called from the dropdown\n this.header._hideAdditionalTabsDropdown();\n\n // makes sure clicked tabs scrollintoview (either those partially offscreen or in dropdown)\n this.element.get(0)?.scrollIntoView({\n inline: 'nearest',\n // behaviour smooth is not possible here, as when a tab becomes active it may attempt to take focus\n // which interupts any scroll behaviour from completeting\n });\n\n // middle mouse button\n } else if (event.button === 1 && this.contentItem.config.isClosable) {\n this._onCloseClick(event);\n }\n }\n\n /**\n * Callback when the tab's close button is\n * clicked\n *\n * @param event\n */\n _onCloseClick(event: JQuery.TriggeredEvent) {\n event.stopPropagation();\n if (isComponent(this.contentItem)) {\n this.contentItem.container.close();\n } else {\n this.header.parent.removeChild(this.contentItem);\n }\n }\n\n /**\n * Callback to prevent paste into active input on Linux\n * when closing a tab via middle click.\n * @param event\n */\n _onMouseUp(event: JQuery.TriggeredEvent) {\n if (event.button === 1) {\n event.preventDefault(); // This seems to prevent the paste event from firing\n event.stopPropagation(); // Stop propagation just in case\n }\n }\n\n /**\n * Callback to capture tab close button mousedown\n * to prevent tab from activating.\n *\n * @param event\n */\n _onCloseMousedown(event: Event) {\n event.stopPropagation();\n }\n}\n"],"mappings":";;;AAAA,OAAOA,CAAC,MAAM,QAAQ;AAAC,SAEdC,WAAW;AAAA,SAEXC,YAAY;AAAA,OACdC,SAAS;AAGhB;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMC,GAAG,CAAC;EACvB;AACF;AACA;;EAmBEC,WAAWA,CAACC,MAAc,EAAEC,WAAgC,EAAE;IAAA,IAAAC,qBAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBARpDT,CAAC,CAACI,GAAG,CAACM,SAAS,CAAC;IAAAD,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAGf,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAMd,IAAI,CAACH,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACI,YAAY,GAAG,IAAI,CAACC,OAAO,CAACC,IAAI,CAAC,WAAW,CAAC;IAClD,IAAI,CAACC,YAAY,GAAG,IAAI,CAACF,OAAO,CAACC,IAAI,CAAC,eAAe,CAAC;IACtD,IAAI,CAACC,YAAY,CAACP,WAAW,CAACQ,MAAM,CAACC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAEpE,IAAI,CAACC,QAAQ,CAACV,WAAW,CAACQ,MAAM,CAACG,KAAK,CAAC;IACvC,IAAI,CAACX,WAAW,CAACY,EAAE,CAAC,cAAc,EAAE,IAAI,CAACF,QAAQ,EAAE,IAAI,CAAC;IAExD,IAAI,CAACG,cAAc,GAAG,IAAI,CAACb,WAAW,CAACc,aAAa;IAEpD,IACE,CAAAb,qBAAA,OAAI,CAACY,cAAc,CAACL,MAAM,CAACO,QAAQ,cAAAd,qBAAA,eAAnCA,qBAAA,CAAqCe,cAAc,IACnDhB,WAAW,CAACQ,MAAM,CAACQ,cAAc,EACjC;MACA,IAAI,CAACC,aAAa,GAAG,IAAItB,YAAY,CAAC,IAAI,CAACU,OAAO,CAAC;MACnD,IAAI,CAACY,aAAa,CAACL,EAAE,CAAC,WAAW,EAAE,IAAI,CAACM,YAAY,EAAE,IAAI,CAAC;MAC3D,IAAI,CAAClB,WAAW,CAACY,EAAE,CACjB,SAAS,EACT,IAAI,CAACK,aAAa,CAACE,OAAO,EAC1B,IAAI,CAACF,aACP,CAAC;IACH;IAEA,IAAI,CAACG,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACD,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACE,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACF,IAAI,CAAC,IAAI,CAAC;IAChE,IAAI,CAACG,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACH,IAAI,CAAC,IAAI,CAAC;IAElE,IAAI,CAAChB,OAAO,CAACO,EAAE,CAAC,OAAO,EAAE,IAAI,CAACQ,WAAW,CAAC;IAC1C,IAAI,CAACf,OAAO,CAACO,EAAE,CAAC,UAAU,EAAE,IAAI,CAACQ,WAAW,CAAC;IAC7C,IAAI,CAACf,OAAO,CAACO,EAAE,CAAC,SAAS,EAAE,IAAI,CAACa,UAAU,CAAC;IAE3C,IAAI,IAAI,CAACzB,WAAW,CAACQ,MAAM,CAACC,UAAU,EAAE;MACtC,IAAI,CAACF,YAAY,CAACK,EAAE,CAAC,OAAO,EAAE,IAAI,CAACU,aAAa,CAAC;MACjD,IAAI,CAACf,YAAY,CAACK,EAAE,CAAC,WAAW,EAAE,IAAI,CAACc,iBAAiB,CAAC;IAC3D,CAAC,MAAM;MACL,IAAI,CAACnB,YAAY,CAACoB,MAAM,CAAC,CAAC;IAC5B;IAEA,IAAI,CAAC3B,WAAW,CAAC4B,GAAG,GAAG,IAAI;IAC3B,IAAI,CAAC5B,WAAW,CAAC6B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IAClC,IAAI,CAAC7B,WAAW,CAACc,aAAa,CAACe,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;IAEvD,IAAInC,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAAE;MACjC;MACA,IAAI,CAACA,WAAW,CAAC8B,SAAS,CAACC,eAAe,CACvCnB,EAAE,CAAC,SAAS,EAAE,IAAI,CAACW,oBAAoB,CAAC,CACxCX,EAAE,CAAC,UAAU,EAAE,IAAI,CAACY,qBAAqB,CAAC;MAE7C,IAAI,CAACxB,WAAW,CAAC8B,SAAS,CAACF,GAAG,GAAG,IAAI;MACrC,IAAI,CAAC5B,WAAW,CAAC8B,SAAS,CAACD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IAC9C;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEnB,QAAQA,CAAA,EAAa;IAAA,IAAZC,KAAK,GAAAqB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IACjB;IACA;IACA,IAAI,CAAC5B,YAAY,CAAC+B,IAAI,CAACxB,KAAK,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;AACA;EACEyB,SAASA,CAACC,QAAiB,EAAE;IAC3B,IAAIA,QAAQ,KAAK,IAAI,CAACA,QAAQ,EAAE;MAC9B;IACF;IACA,IAAI,CAACA,QAAQ,GAAGA,QAAQ;IAExB,IAAIA,QAAQ,EAAE;MACZ,IAAI,CAAChC,OAAO,CAACiC,QAAQ,CAAC,WAAW,CAAC;IACpC,CAAC,MAAM;MACL,IAAI,CAACjC,OAAO,CAACkC,WAAW,CAAC,WAAW,CAAC;IACvC;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,SAASA,CAAA,EAAG;IACV,IAAI,CAACnC,OAAO,CAACoC,GAAG,CAAC,OAAO,EAAE,IAAI,CAACrB,WAAW,CAAC;IAC3C,IAAI,CAACf,OAAO,CAACoC,GAAG,CAAC,UAAU,EAAE,IAAI,CAACrB,WAAW,CAAC;IAC9C,IAAI,CAACf,OAAO,CAACoC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAChB,UAAU,CAAC;IAC5C,IAAI,CAAClB,YAAY,CAACkC,GAAG,CAAC,OAAO,EAAE,IAAI,CAACnB,aAAa,CAAC;IAClD,IAAI5B,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAAE;MACjC,IAAI,CAACA,WAAW,CAAC8B,SAAS,CAACC,eAAe,CAACU,GAAG,CAAC,CAAC;MAChD,IAAI,CAACzC,WAAW,CAAC8B,SAAS,CAACC,eAAe,CAAC,CAAC,CAAC,CAACW,mBAAmB,CAC/D,OAAO,EACP,IAAI,CAACnB,oBAAoB,EACzB,IACF,CAAC;IACH;IACA,IAAI,IAAI,CAACN,aAAa,EAAE;MACtB,IAAI,CAACjB,WAAW,CAACyC,GAAG,CAClB,SAAS,EACT,IAAI,CAACxB,aAAa,CAACE,OAAO,EAC1B,IAAI,CAACF,aACP,CAAC;MACD,IAAI,CAACA,aAAa,CAACwB,GAAG,CAAC,WAAW,EAAE,IAAI,CAACvB,YAAY,CAAC;MACtD,IAAI,CAACD,aAAa,GAAGiB,SAAS;IAChC;IACA,IAAI,CAAC7B,OAAO,CAACsB,MAAM,CAAC,CAAC;EACvB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACET,YAAYA,CAACyB,CAAS,EAAEC,CAAS,EAAE;IAAA,IAAAC,qBAAA;IACjC,KAAAA,qBAAA,GAAI,IAAI,CAAC7C,WAAW,CAAC8C,MAAM,cAAAD,qBAAA,eAAvBA,qBAAA,CAAyBE,WAAW,EAAE;MACxC,IAAI,CAAC/C,WAAW,CAAC8C,MAAM,CAACE,cAAc,CAAC,CAAC;IAC1C;IAEA,IAAI,CAAC,IAAI,CAAC/B,aAAa,EAAE;MACvB;IACF;IAEA,IAAIrB,SAAS,CACX+C,CAAC,EACDC,CAAC,EACD,IAAI,CAAC3B,aAAa,EAClB,IAAI,CAACJ,cAAc,EACnB,IAAI,CAACb,WAAW,EAChB,IAAI,CAACD,MAAM,CAAC+C,MACd,CAAC;EACH;;EAEA;AACF;AACA;EACEvB,oBAAoBA,CAAA,EAAG;IACrB;IACA;IACA;IACA;IACA;IACA;IACA9B,CAAC,CAAC,aAAa,EAAE,IAAI,CAACoB,cAAc,CAACoC,IAAI,CAAC5C,OAAO,CAAC,CAACkC,WAAW,CAC5D,YACF,CAAC;IAED,IAAI,CAAClC,OAAO,CAACiC,QAAQ,CAAC,YAAY,CAAC;EACrC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEd,qBAAqBA,CAAA,EAAG;IACtB,IACE9B,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,IAC7B,CAAC,IAAI,CAACA,WAAW,CAAC8B,SAAS,CAACC,eAAe,CAAC,CAAC,CAAC,CAACmB,QAAQ,CACrDC,QAAQ,CAACC,aACX,CAAC,EACD;MACA,IAAI,CAAC/C,OAAO,CAACkC,WAAW,CAAC,YAAY,CAAC;IACxC;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEnB,WAAWA,CAACiC,KAA6B,EAAE;IACzC;IACA,IAAI,CAACA,KAAK,IAAIA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;MAAA,IAAAC,iBAAA;MAChC,IAAIC,iBAAiB,GAAG,IAAI,CAACzD,MAAM,CAAC+C,MAAM,CAACW,oBAAoB,CAAC,CAAC;MACjE,IACE,IAAI,CAACzD,WAAW,KAAKwD,iBAAiB,IACtC9D,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAC7B;QACA,IAAI,CAACD,MAAM,CAAC+C,MAAM,CAACY,oBAAoB,CAAC,IAAI,CAAC1D,WAAW,CAAC;MAC3D,CAAC,MAAM,IACLN,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,IAC7B,CAAC,IAAI,CAACA,WAAW,CAAC8B,SAAS,CAACC,eAAe,CAAC,CAAC,CAAC,CAACmB,QAAQ,CACrDC,QAAQ,CAACC,aACX,CAAC,EACD;QACA;QACA;QACA,IAAI,CAACpD,WAAW,CAAC8B,SAAS,CAACC,eAAe,CAAC4B,KAAK,CAAC,CAAC;MACpD;MAEA,IAAIjE,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAAE;QACjC,IAAI,CAACA,WAAW,CAAC8B,SAAS,CAACD,IAAI,CAAC,YAAY,EAAEwB,KAAK,CAAC;MACtD;;MAEA;MACA,IAAI,CAACtD,MAAM,CAAC6D,2BAA2B,CAAC,CAAC;;MAEzC;MACA,CAAAL,iBAAA,OAAI,CAAClD,OAAO,CAACwD,GAAG,CAAC,CAAC,CAAC,cAAAN,iBAAA,uBAAnBA,iBAAA,CAAqBO,cAAc,CAAC;QAClCC,MAAM,EAAE;QACR;QACA;MACF,CAAC,CAAC;;MAEF;IACF,CAAC,MAAM,IAAIV,KAAK,CAACC,MAAM,KAAK,CAAC,IAAI,IAAI,CAACtD,WAAW,CAACQ,MAAM,CAACC,UAAU,EAAE;MACnE,IAAI,CAACa,aAAa,CAAC+B,KAAK,CAAC;IAC3B;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE/B,aAAaA,CAAC+B,KAA4B,EAAE;IAC1CA,KAAK,CAACW,eAAe,CAAC,CAAC;IACvB,IAAItE,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAAE;MACjC,IAAI,CAACA,WAAW,CAAC8B,SAAS,CAACmC,KAAK,CAAC,CAAC;IACpC,CAAC,MAAM;MACL,IAAI,CAAClE,MAAM,CAAC+C,MAAM,CAACoB,WAAW,CAAC,IAAI,CAAClE,WAAW,CAAC;IAClD;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEyB,UAAUA,CAAC4B,KAA4B,EAAE;IACvC,IAAIA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;MACtBD,KAAK,CAACc,cAAc,CAAC,CAAC,CAAC,CAAC;MACxBd,KAAK,CAACW,eAAe,CAAC,CAAC,CAAC,CAAC;IAC3B;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEtC,iBAAiBA,CAAC2B,KAAY,EAAE;IAC9BA,KAAK,CAACW,eAAe,CAAC,CAAC;EACzB;AACF;AAAC9D,eAAA,CAzRoBL,GAAG,eAIK,CACzB,qBAAqB,EACrB,uCAAuC,EACvC,gCAAgC,EAChC,yDAAyD,EACzD,OAAO,CACR,CAACuE,IAAI,CAAC,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"Tab.js","names":["$","isComponent","DragListener","DragProxy","Tab","constructor","header","contentItem","_this$_layoutManager$","_defineProperty","_template","titleElement","element","find","closeElement","config","isClosable","setTitle","title","on","_layoutManager","layoutManager","settings","reorderEnabled","_dragListener","_onDragStart","destroy","_onTabClick","bind","_onCloseClick","_onTabContentFocusIn","_onTabContentFocusOut","_onMouseUp","_onCloseMousedown","remove","tab","emit","container","_contentElement","arguments","length","undefined","text","setActive","isActive","addClass","removeClass","_$destroy","off","removeEventListener","x","y","_this$contentItem$par","parent","isMaximised","toggleMaximise","root","contains","document","activeElement","event","button","_this$element$get","activeContentItem","getActiveContentItem","setActiveContentItem","focus","_hideAdditionalTabsDropdown","get","scrollIntoView","inline","stopPropagation","close","removeChild","preventDefault","join"],"sources":["../../src/controls/Tab.ts"],"sourcesContent":["import $ from 'jquery';\nimport type { AbstractContentItem } from '../items';\nimport { isComponent } from '../items';\nimport type LayoutManager from '../LayoutManager';\nimport { DragListener } from '../utils';\nimport DragProxy from './DragProxy';\nimport type Header from './Header';\n\n/**\n * Represents an individual tab within a Stack's header\n *\n * @param header\n * @param contentItem\n */\nexport default class Tab {\n /**\n * The tab's html template\n */\n private static _template = [\n '<li class=\"lm_tab\">',\n '<span class=\"lm_title_before\"></span>',\n '<span class=\"lm_title\"></span>',\n '<div class=\"lm_close_tab\" aria-label=\"Close tab\"></div>',\n '</li>',\n ].join('');\n\n header: Header;\n contentItem: AbstractContentItem;\n element = $(Tab._template);\n titleElement: JQuery<HTMLElement>;\n closeElement: JQuery<HTMLElement>;\n isActive = false;\n\n private _layoutManager: LayoutManager;\n private _dragListener?: DragListener;\n\n constructor(header: Header, contentItem: AbstractContentItem) {\n this.header = header;\n this.contentItem = contentItem;\n this.titleElement = this.element.find('.lm_title');\n this.closeElement = this.element.find('.lm_close_tab');\n this.closeElement[contentItem.config.isClosable ? 'show' : 'hide']();\n\n this.setTitle(contentItem.config.title);\n this.contentItem.on('titleChanged', this.setTitle, this);\n\n this._layoutManager = this.contentItem.layoutManager;\n\n if (\n this._layoutManager.config.settings?.reorderEnabled &&\n contentItem.config.reorderEnabled\n ) {\n this._dragListener = new DragListener(this.element);\n this._dragListener.on('dragStart', this._onDragStart, this);\n this.contentItem.on(\n 'destroy',\n this._dragListener.destroy,\n this._dragListener\n );\n }\n\n this._onTabClick = this._onTabClick.bind(this);\n this._onCloseClick = this._onCloseClick.bind(this);\n this._onTabContentFocusIn = this._onTabContentFocusIn.bind(this);\n this._onTabContentFocusOut = this._onTabContentFocusOut.bind(this);\n\n this.element.on('click', this._onTabClick);\n this.element.on('auxclick', this._onTabClick);\n this.element.on('mouseup', this._onMouseUp);\n\n if (this.contentItem.config.isClosable) {\n this.closeElement.on('click', this._onCloseClick);\n this.closeElement.on('mousedown', this._onCloseMousedown);\n } else {\n this.closeElement.remove();\n }\n\n this.contentItem.tab = this;\n this.contentItem.emit('tab', this);\n this.contentItem.layoutManager.emit('tabCreated', this);\n\n if (isComponent(this.contentItem)) {\n // add focus class to tab when content\n this.contentItem.container._contentElement\n .on('focusin', this._onTabContentFocusIn)\n .on('focusout', this._onTabContentFocusOut);\n\n this.contentItem.container.tab = this;\n this.contentItem.container.emit('tab', this);\n }\n }\n\n /**\n * Sets the tab's title to the provided string and sets\n * its title attribute to a pure text representation (without\n * html tags) of the same string.\n * @param title can contain html\n */\n setTitle(title = '') {\n // Disabling for illumon project, we want to manage our own tooltips\n // this.element.attr( 'title', lm.utils.stripTags( title ) );\n this.titleElement.text(title);\n }\n\n /**\n * Sets this tab's active state. To programmatically\n * switch tabs, use header.setActiveContentItem( item ) instead.\n * @param isActive\n */\n setActive(isActive: boolean) {\n if (isActive === this.isActive) {\n return;\n }\n this.isActive = isActive;\n\n if (isActive) {\n this.element.addClass('lm_active');\n } else {\n this.element.removeClass('lm_active');\n }\n }\n\n /**\n * Destroys the tab\n *\n * @private\n * @returns {void}\n */\n _$destroy() {\n this.element.off('click', this._onTabClick);\n this.element.off('auxclick', this._onTabClick);\n this.element.off('mouseup', this._onMouseUp);\n this.closeElement.off('click', this._onCloseClick);\n if (isComponent(this.contentItem)) {\n this.contentItem.container._contentElement.off();\n this.contentItem.container._contentElement[0].removeEventListener(\n 'click',\n this._onTabContentFocusIn,\n true\n );\n }\n if (this._dragListener) {\n this.contentItem.off(\n 'destroy',\n this._dragListener.destroy,\n this._dragListener\n );\n this._dragListener.off('dragStart', this._onDragStart);\n this._dragListener = undefined;\n }\n this.element.remove();\n }\n\n /**\n * Callback for the DragListener\n *\n * @param x The tabs absolute x position\n * @param y The tabs absolute y position\n */\n _onDragStart(x: number, y: number) {\n if (this.contentItem.parent?.isMaximised) {\n this.contentItem.parent.toggleMaximise();\n }\n\n if (!this._dragListener) {\n return;\n }\n\n new DragProxy(\n x,\n y,\n this._dragListener,\n this._layoutManager,\n this.contentItem,\n this.header.parent\n );\n }\n\n /**\n * Callback when the contentItem is focused in\n */\n _onTabContentFocusIn() {\n // Ensure only one tab is marked as having focus at a time.\n // In Firefox, if the focused element is removed from the DOM,\n // the focusout event won't trigger. This can result in two tabs\n // being erroneously marked as focused if the user's DOM element\n // is removed and they click another tab. To prevent this, we\n // remove existing \"lm_focusin\" classes first.\n $('.lm_focusin', this._layoutManager.root.element).removeClass(\n 'lm_focusin'\n );\n\n this.element.addClass('lm_focusin');\n }\n\n /**\n * Callback when the contentItem is focused out\n *\n * @param {jQuery DOM event} event\n *\n * @private\n * @returns {void}\n */\n _onTabContentFocusOut() {\n if (\n isComponent(this.contentItem) &&\n !this.contentItem.container._contentElement[0].contains(\n document.activeElement\n )\n ) {\n this.element.removeClass('lm_focusin');\n }\n }\n\n /**\n * Callback when the tab is clicked\n *\n * @param event\n */\n _onTabClick(event?: JQuery.TriggeredEvent) {\n // left mouse button or tap\n if (!event || event.button === 0) {\n var activeContentItem = this.header.parent.getActiveContentItem();\n if (\n this.contentItem !== activeContentItem &&\n isComponent(this.contentItem)\n ) {\n this.header.parent.setActiveContentItem(this.contentItem);\n } else if (\n isComponent(this.contentItem) &&\n !this.contentItem.container._contentElement[0].contains(\n document.activeElement\n )\n ) {\n // if no focus inside put focus onto the container\n // so focusin always fires for tabclicks\n this.contentItem.container._contentElement.focus();\n }\n\n if (isComponent(this.contentItem)) {\n this.contentItem.container.emit('tabClicked', event);\n }\n\n // might have been called from the dropdown\n this.header._hideAdditionalTabsDropdown();\n\n // makes sure clicked tabs scrollintoview (either those partially offscreen or in dropdown)\n this.element.get(0)?.scrollIntoView({\n inline: 'nearest',\n // behaviour smooth is not possible here, as when a tab becomes active it may attempt to take focus\n // which interupts any scroll behaviour from completeting\n });\n\n // middle mouse button\n } else if (event.button === 1 && this.contentItem.config.isClosable) {\n this._onCloseClick(event);\n }\n }\n\n /**\n * Callback when the tab's close button is\n * clicked\n *\n * @param event\n */\n _onCloseClick(event: JQuery.TriggeredEvent) {\n event.stopPropagation();\n if (isComponent(this.contentItem)) {\n this.contentItem.container.close();\n } else {\n this.header.parent.removeChild(this.contentItem);\n }\n }\n\n /**\n * Callback to prevent paste into active input on Linux\n * when closing a tab via middle click.\n * @param event\n */\n _onMouseUp(event: JQuery.TriggeredEvent) {\n if (event.button === 1) {\n event.preventDefault(); // This seems to prevent the paste event from firing\n event.stopPropagation(); // Stop propagation just in case\n }\n }\n\n /**\n * Callback to capture tab close button mousedown\n * to prevent tab from activating.\n *\n * @param event\n */\n _onCloseMousedown(event: Event) {\n event.stopPropagation();\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.
|
|
3
|
+
"version": "0.105.0",
|
|
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.
|
|
13
|
+
"@deephaven/components": "^0.105.0",
|
|
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": "97c59b021737c590429aa58b65b970afc99fda23"
|
|
60
60
|
}
|