@deephaven/golden-layout 0.38.0 → 0.38.1-beta.11
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/controls/Tab.d.ts
CHANGED
|
@@ -49,13 +49,6 @@ export default class Tab {
|
|
|
49
49
|
_onDragStart(x: number, y: number): void;
|
|
50
50
|
/**
|
|
51
51
|
* Callback when the contentItem is focused in
|
|
52
|
-
*
|
|
53
|
-
* Why [0].focus():
|
|
54
|
-
* https://github.com/jquery/jquery/commit/fe5f04de8fde9c69ed48283b99280aa6df3795c7
|
|
55
|
-
* From jquery source: "If this is an inner synthetic event for an event with a bubbling surrogate (focus or blur),
|
|
56
|
-
* assume that the surrogate already propagated from triggering the native event and prevent that from happening
|
|
57
|
-
* again here. This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the bubbling surrogate
|
|
58
|
-
* propagates *after* the non-bubbling base), but that seems less bad than duplication."
|
|
59
52
|
*/
|
|
60
53
|
_onTabContentFocusIn(): void;
|
|
61
54
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../src/controls/Tab.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAKpD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS,CAMb;IAEX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,mBAAmB,CAAC;IACjC,OAAO,sBAAoB;IAC3B,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,UAAS;IAEjB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAe;gBAEzB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../src/controls/Tab.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAKpD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS,CAMb;IAEX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,mBAAmB,CAAC;IACjC,OAAO,sBAAoB;IAC3B,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,UAAS;IAEjB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAC,CAAe;gBAEzB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB;IAuD5D;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,SAAK;IAMnB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,OAAO;IAa3B;;;;;OAKG;IACH,SAAS;IAwBT;;;;;OAKG;IACH,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAmBjC;;OAEG;IACH,oBAAoB;IAcpB;;;;;;;OAOG;IACH,qBAAqB;IAWrB;;;;OAIG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc;IAwCzC;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc;IAS1C;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK;CAG/B"}
|
package/dist/controls/Tab.js
CHANGED
|
@@ -57,9 +57,6 @@ export default class Tab {
|
|
|
57
57
|
if (isComponent(this.contentItem)) {
|
|
58
58
|
// add focus class to tab when content
|
|
59
59
|
this.contentItem.container._contentElement.on('focusin', this._onTabContentFocusIn).on('focusout', this._onTabContentFocusOut);
|
|
60
|
-
this.contentItem.container._contentElement[0].addEventListener('click', this._onTabContentFocusIn, true // capture, so it occurs before onClick from react events
|
|
61
|
-
);
|
|
62
|
-
|
|
63
60
|
this.contentItem.container.tab = this;
|
|
64
61
|
this.contentItem.container.emit('tab', this);
|
|
65
62
|
}
|
|
@@ -136,21 +133,15 @@ export default class Tab {
|
|
|
136
133
|
|
|
137
134
|
/**
|
|
138
135
|
* Callback when the contentItem is focused in
|
|
139
|
-
*
|
|
140
|
-
* Why [0].focus():
|
|
141
|
-
* https://github.com/jquery/jquery/commit/fe5f04de8fde9c69ed48283b99280aa6df3795c7
|
|
142
|
-
* From jquery source: "If this is an inner synthetic event for an event with a bubbling surrogate (focus or blur),
|
|
143
|
-
* assume that the surrogate already propagated from triggering the native event and prevent that from happening
|
|
144
|
-
* again here. This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the bubbling surrogate
|
|
145
|
-
* propagates *after* the non-bubbling base), but that seems less bad than duplication."
|
|
146
136
|
*/
|
|
147
137
|
_onTabContentFocusIn() {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
138
|
+
// Ensure only one tab is marked as having focus at a time.
|
|
139
|
+
// In Firefox, if the focused element is removed from the DOM,
|
|
140
|
+
// the focusout event won't trigger. This can result in two tabs
|
|
141
|
+
// being erroneously marked as focused if the user's DOM element
|
|
142
|
+
// is removed and they click another tab. To prevent this, we
|
|
143
|
+
// remove existing "lm_focusin" classes first.
|
|
144
|
+
$('.lm_focusin', this._layoutManager.root.element).removeClass('lm_focusin');
|
|
154
145
|
this.element.addClass('lm_focusin');
|
|
155
146
|
}
|
|
156
147
|
|
package/dist/controls/Tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tab.js","names":["$","isComponent","DragListener","DragProxy","Tab","constructor","header","contentItem","_template","titleElement","element","find","closeElement","config","isClosable","setTitle","title","on","_layoutManager","layoutManager","settings","reorderEnabled","_dragListener","_onDragStart","destroy","_onTabClick","bind","_onCloseClick","_onTabContentFocusIn","_onTabContentFocusOut","_onCloseMousedown","remove","tab","emit","container","_contentElement","addEventListener","html","setActive","isActive","addClass","removeClass","_$destroy","off","removeEventListener","undefined","x","y","parent","isMaximised","toggleMaximise","contains","document","activeElement","focus","event","button","activeContentItem","getActiveContentItem","setActiveContentItem","_hideAdditionalTabsDropdown","get","scrollIntoView","inline","stopPropagation","close","removeChild","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\"></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\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 this.contentItem.container._contentElement[0].addEventListener(\n 'click',\n this._onTabContentFocusIn,\n true // capture, so it occurs before onClick from react events\n );\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.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 * Why [0].focus():\n * https://github.com/jquery/jquery/commit/fe5f04de8fde9c69ed48283b99280aa6df3795c7\n * From jquery source: \"If this is an inner synthetic event for an event with a bubbling surrogate (focus or blur),\n * assume that the surrogate already propagated from triggering the native event and prevent that from happening\n * again here. This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the bubbling surrogate\n * propagates *after* the non-bubbling base), but that seems less bad than duplication.\"\n */\n _onTabContentFocusIn() {\n if (\n isComponent(this.contentItem) &&\n !this.contentItem.container._contentElement[0].contains(\n document.activeElement\n )\n ) {\n // jquery 3.4.0 and later, jquery method optimizes out the focus from\n // happening in proper order. Can use HTMLElement.focus() to avoid.\n this.contentItem.container._contentElement[0].focus(); // [0] needed to use dom focus, not jquery method\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 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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"}
|
|
1
|
+
{"version":3,"file":"Tab.js","names":["$","isComponent","DragListener","DragProxy","Tab","constructor","header","contentItem","_template","titleElement","element","find","closeElement","config","isClosable","setTitle","title","on","_layoutManager","layoutManager","settings","reorderEnabled","_dragListener","_onDragStart","destroy","_onTabClick","bind","_onCloseClick","_onTabContentFocusIn","_onTabContentFocusOut","_onCloseMousedown","remove","tab","emit","container","_contentElement","html","setActive","isActive","addClass","removeClass","_$destroy","off","removeEventListener","undefined","x","y","parent","isMaximised","toggleMaximise","root","contains","document","activeElement","event","button","activeContentItem","getActiveContentItem","setActiveContentItem","focus","_hideAdditionalTabsDropdown","get","scrollIntoView","inline","stopPropagation","close","removeChild","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\"></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\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.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 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,WAAW,CAACC,MAAc,EAAEC,WAAgC,EAAE;IAAA;IAAA;IAAA;IAAA,iCARpDP,CAAC,CAACI,GAAG,CAACI,SAAS,CAAC;IAAA;IAAA;IAAA,kCAGf,KAAK;IAAA;IAAA;IAMd,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACE,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,CAACL,WAAW,CAACM,MAAM,CAACC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE;IAEpE,IAAI,CAACC,QAAQ,CAACR,WAAW,CAACM,MAAM,CAACG,KAAK,CAAC;IACvC,IAAI,CAACT,WAAW,CAACU,EAAE,CAAC,cAAc,EAAE,IAAI,CAACF,QAAQ,EAAE,IAAI,CAAC;IAExD,IAAI,CAACG,cAAc,GAAG,IAAI,CAACX,WAAW,CAACY,aAAa;IAEpD,IACE,6BAAI,CAACD,cAAc,CAACL,MAAM,CAACO,QAAQ,kDAAnC,sBAAqCC,cAAc,IACnDd,WAAW,CAACM,MAAM,CAACQ,cAAc,EACjC;MACA,IAAI,CAACC,aAAa,GAAG,IAAIpB,YAAY,CAAC,IAAI,CAACQ,OAAO,CAAC;MACnD,IAAI,CAACY,aAAa,CAACL,EAAE,CAAC,WAAW,EAAE,IAAI,CAACM,YAAY,EAAE,IAAI,CAAC;MAC3D,IAAI,CAAChB,WAAW,CAACU,EAAE,CACjB,SAAS,EACT,IAAI,CAACK,aAAa,CAACE,OAAO,EAC1B,IAAI,CAACF,aAAa,CACnB;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;IAE7C,IAAI,IAAI,CAAClB,WAAW,CAACM,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,CAACa,iBAAiB,CAAC;IAC3D,CAAC,MAAM;MACL,IAAI,CAAClB,YAAY,CAACmB,MAAM,EAAE;IAC5B;IAEA,IAAI,CAACxB,WAAW,CAACyB,GAAG,GAAG,IAAI;IAC3B,IAAI,CAACzB,WAAW,CAAC0B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IAClC,IAAI,CAAC1B,WAAW,CAACY,aAAa,CAACc,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC;IAEvD,IAAIhC,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAAE;MACjC;MACA,IAAI,CAACA,WAAW,CAAC2B,SAAS,CAACC,eAAe,CACvClB,EAAE,CAAC,SAAS,EAAE,IAAI,CAACW,oBAAoB,CAAC,CACxCX,EAAE,CAAC,UAAU,EAAE,IAAI,CAACY,qBAAqB,CAAC;MAE7C,IAAI,CAACtB,WAAW,CAAC2B,SAAS,CAACF,GAAG,GAAG,IAAI;MACrC,IAAI,CAACzB,WAAW,CAAC2B,SAAS,CAACD,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IAC9C;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACElB,QAAQ,GAAa;IAAA,IAAZC,KAAK,uEAAG,EAAE;IACjB;IACA;IACA,IAAI,CAACP,YAAY,CAAC2B,IAAI,CAACpB,KAAK,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;AACA;EACEqB,SAAS,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,CAAC5B,OAAO,CAAC6B,QAAQ,CAAC,WAAW,CAAC;IACpC,CAAC,MAAM;MACL,IAAI,CAAC7B,OAAO,CAAC8B,WAAW,CAAC,WAAW,CAAC;IACvC;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,SAAS,GAAG;IACV,IAAI,CAAC/B,OAAO,CAACgC,GAAG,CAAC,OAAO,EAAE,IAAI,CAACjB,WAAW,CAAC;IAC3C,IAAI,CAACf,OAAO,CAACgC,GAAG,CAAC,UAAU,EAAE,IAAI,CAACjB,WAAW,CAAC;IAC9C,IAAI,CAACb,YAAY,CAAC8B,GAAG,CAAC,OAAO,EAAE,IAAI,CAACf,aAAa,CAAC;IAClD,IAAI1B,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAAE;MACjC,IAAI,CAACA,WAAW,CAAC2B,SAAS,CAACC,eAAe,CAACO,GAAG,EAAE;MAChD,IAAI,CAACnC,WAAW,CAAC2B,SAAS,CAACC,eAAe,CAAC,CAAC,CAAC,CAACQ,mBAAmB,CAC/D,OAAO,EACP,IAAI,CAACf,oBAAoB,EACzB,IAAI,CACL;IACH;IACA,IAAI,IAAI,CAACN,aAAa,EAAE;MACtB,IAAI,CAACf,WAAW,CAACmC,GAAG,CAClB,SAAS,EACT,IAAI,CAACpB,aAAa,CAACE,OAAO,EAC1B,IAAI,CAACF,aAAa,CACnB;MACD,IAAI,CAACA,aAAa,CAACoB,GAAG,CAAC,WAAW,EAAE,IAAI,CAACnB,YAAY,CAAC;MACtD,IAAI,CAACD,aAAa,GAAGsB,SAAS;IAChC;IACA,IAAI,CAAClC,OAAO,CAACqB,MAAM,EAAE;EACvB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACER,YAAY,CAACsB,CAAS,EAAEC,CAAS,EAAE;IAAA;IACjC,6BAAI,IAAI,CAACvC,WAAW,CAACwC,MAAM,kDAAvB,sBAAyBC,WAAW,EAAE;MACxC,IAAI,CAACzC,WAAW,CAACwC,MAAM,CAACE,cAAc,EAAE;IAC1C;IAEA,IAAI,CAAC,IAAI,CAAC3B,aAAa,EAAE;MACvB;IACF;IAEA,IAAInB,SAAS,CACX0C,CAAC,EACDC,CAAC,EACD,IAAI,CAACxB,aAAa,EAClB,IAAI,CAACJ,cAAc,EACnB,IAAI,CAACX,WAAW,EAChB,IAAI,CAACD,MAAM,CAACyC,MAAM,CACnB;EACH;;EAEA;AACF;AACA;EACEnB,oBAAoB,GAAG;IACrB;IACA;IACA;IACA;IACA;IACA;IACA5B,CAAC,CAAC,aAAa,EAAE,IAAI,CAACkB,cAAc,CAACgC,IAAI,CAACxC,OAAO,CAAC,CAAC8B,WAAW,CAC5D,YAAY,CACb;IAED,IAAI,CAAC9B,OAAO,CAAC6B,QAAQ,CAAC,YAAY,CAAC;EACrC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEV,qBAAqB,GAAG;IACtB,IACE5B,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,IAC7B,CAAC,IAAI,CAACA,WAAW,CAAC2B,SAAS,CAACC,eAAe,CAAC,CAAC,CAAC,CAACgB,QAAQ,CACrDC,QAAQ,CAACC,aAAa,CACvB,EACD;MACA,IAAI,CAAC3C,OAAO,CAAC8B,WAAW,CAAC,YAAY,CAAC;IACxC;EACF;;EAEA;AACF;AACA;AACA;AACA;EACEf,WAAW,CAAC6B,KAA6B,EAAE;IACzC;IACA,IAAI,CAACA,KAAK,IAAIA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;MAAA;MAChC,IAAIC,iBAAiB,GAAG,IAAI,CAAClD,MAAM,CAACyC,MAAM,CAACU,oBAAoB,EAAE;MACjE,IACE,IAAI,CAAClD,WAAW,KAAKiD,iBAAiB,IACtCvD,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAC7B;QACA,IAAI,CAACD,MAAM,CAACyC,MAAM,CAACW,oBAAoB,CAAC,IAAI,CAACnD,WAAW,CAAC;MAC3D,CAAC,MAAM,IACLN,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,IAC7B,CAAC,IAAI,CAACA,WAAW,CAAC2B,SAAS,CAACC,eAAe,CAAC,CAAC,CAAC,CAACgB,QAAQ,CACrDC,QAAQ,CAACC,aAAa,CACvB,EACD;QACA;QACA;QACA,IAAI,CAAC9C,WAAW,CAAC2B,SAAS,CAACC,eAAe,CAACwB,KAAK,EAAE;MACpD;MAEA,IAAI1D,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAAE;QACjC,IAAI,CAACA,WAAW,CAAC2B,SAAS,CAACD,IAAI,CAAC,YAAY,EAAEqB,KAAK,CAAC;MACtD;;MAEA;MACA,IAAI,CAAChD,MAAM,CAACsD,2BAA2B,EAAE;;MAEzC;MACA,yBAAI,CAAClD,OAAO,CAACmD,GAAG,CAAC,CAAC,CAAC,sDAAnB,kBAAqBC,cAAc,CAAC;QAClCC,MAAM,EAAE;QACR;QACA;MACF,CAAC,CAAC;;MAEF;IACF,CAAC,MAAM,IAAIT,KAAK,CAACC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAChD,WAAW,CAACM,MAAM,CAACC,UAAU,EAAE;MACnE,IAAI,CAACa,aAAa,CAAC2B,KAAK,CAAC;IAC3B;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE3B,aAAa,CAAC2B,KAA4B,EAAE;IAC1CA,KAAK,CAACU,eAAe,EAAE;IACvB,IAAI/D,WAAW,CAAC,IAAI,CAACM,WAAW,CAAC,EAAE;MACjC,IAAI,CAACA,WAAW,CAAC2B,SAAS,CAAC+B,KAAK,EAAE;IACpC,CAAC,MAAM;MACL,IAAI,CAAC3D,MAAM,CAACyC,MAAM,CAACmB,WAAW,CAAC,IAAI,CAAC3D,WAAW,CAAC;IAClD;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEuB,iBAAiB,CAACwB,KAAY,EAAE;IAC9BA,KAAK,CAACU,eAAe,EAAE;EACzB;AACF;AAAC,gBA3QoB5D,GAAG,eAIK,CACzB,qBAAqB,EACrB,uCAAuC,EACvC,gCAAgC,EAChC,kCAAkC,EAClC,OAAO,CACR,CAAC+D,IAAI,CAAC,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/golden-layout",
|
|
3
|
-
"version": "0.38.
|
|
3
|
+
"version": "0.38.1-beta.11+02215b63",
|
|
4
4
|
"author": "Deephaven Data Labs LLC",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"description": "A multi-screen javascript Layout manager",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"karma-browserify": "^8.1.0",
|
|
55
55
|
"watchify": "^4.0.0"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "02215b6323c58678ae37578ea9d0e0dda68ff880"
|
|
58
58
|
}
|