dockview-core 3.0.0 → 3.0.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.
Files changed (47) hide show
  1. package/dist/cjs/dockview/dockviewComponent.d.ts +1 -1
  2. package/dist/cjs/dockview/dockviewComponent.js +12 -2
  3. package/dist/cjs/gridview/baseComponentGridview.d.ts +1 -1
  4. package/dist/cjs/gridview/baseComponentGridview.js +3 -2
  5. package/dist/cjs/gridview/gridviewComponent.d.ts +1 -1
  6. package/dist/cjs/gridview/gridviewComponent.js +2 -2
  7. package/dist/cjs/paneview/paneviewComponent.d.ts +1 -1
  8. package/dist/cjs/paneview/paneviewComponent.js +6 -2
  9. package/dist/cjs/splitview/splitview.d.ts +1 -1
  10. package/dist/cjs/splitview/splitview.js +3 -3
  11. package/dist/cjs/splitview/splitviewComponent.d.ts +1 -1
  12. package/dist/cjs/splitview/splitviewComponent.js +6 -2
  13. package/dist/dockview-core.amd.js +33 -14
  14. package/dist/dockview-core.amd.js.map +1 -1
  15. package/dist/dockview-core.amd.min.js +2 -2
  16. package/dist/dockview-core.amd.min.js.map +1 -1
  17. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  18. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  19. package/dist/dockview-core.amd.noStyle.js +33 -14
  20. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  21. package/dist/dockview-core.cjs.js +33 -14
  22. package/dist/dockview-core.cjs.js.map +1 -1
  23. package/dist/dockview-core.esm.js +33 -14
  24. package/dist/dockview-core.esm.js.map +1 -1
  25. package/dist/dockview-core.esm.min.js +2 -2
  26. package/dist/dockview-core.esm.min.js.map +1 -1
  27. package/dist/dockview-core.js +33 -14
  28. package/dist/dockview-core.js.map +1 -1
  29. package/dist/dockview-core.min.js +2 -2
  30. package/dist/dockview-core.min.js.map +1 -1
  31. package/dist/dockview-core.min.noStyle.js +2 -2
  32. package/dist/dockview-core.min.noStyle.js.map +1 -1
  33. package/dist/dockview-core.noStyle.js +33 -14
  34. package/dist/dockview-core.noStyle.js.map +1 -1
  35. package/dist/esm/dockview/dockviewComponent.d.ts +1 -1
  36. package/dist/esm/dockview/dockviewComponent.js +12 -2
  37. package/dist/esm/gridview/baseComponentGridview.d.ts +1 -1
  38. package/dist/esm/gridview/baseComponentGridview.js +3 -2
  39. package/dist/esm/gridview/gridviewComponent.d.ts +1 -1
  40. package/dist/esm/gridview/gridviewComponent.js +2 -2
  41. package/dist/esm/paneview/paneviewComponent.d.ts +1 -1
  42. package/dist/esm/paneview/paneviewComponent.js +6 -2
  43. package/dist/esm/splitview/splitview.d.ts +1 -1
  44. package/dist/esm/splitview/splitview.js +3 -3
  45. package/dist/esm/splitview/splitviewComponent.d.ts +1 -1
  46. package/dist/esm/splitview/splitviewComponent.js +6 -2
  47. package/package.json +1 -1
@@ -207,7 +207,7 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
207
207
  get api(): DockviewApi;
208
208
  get gap(): number;
209
209
  get floatingGroups(): DockviewFloatingGroupPanel[];
210
- constructor(parentElement: HTMLElement, options: DockviewComponentOptions);
210
+ constructor(container: HTMLElement, options: DockviewComponentOptions);
211
211
  setVisible(panel: DockviewGroupPanel, visible: boolean): void;
212
212
  addPopoutGroup(itemToPopout: DockviewPanel | DockviewGroupPanel, options?: DockviewPopoutGroupOptions): Promise<boolean>;
213
213
  addFloatingGroup(item: DockviewPanel | DockviewGroupPanel, options?: FloatingGroupOptionsInternal): void;
@@ -107,9 +107,9 @@ function moveGroupWithoutDestroying(options) {
107
107
  }
108
108
  var DockviewComponent = /** @class */ (function (_super) {
109
109
  __extends(DockviewComponent, _super);
110
- function DockviewComponent(parentElement, options) {
110
+ function DockviewComponent(container, options) {
111
111
  var _a;
112
- var _this = _super.call(this, parentElement, {
112
+ var _this = _super.call(this, container, {
113
113
  proportionalLayout: true,
114
114
  orientation: splitview_1.Orientation.HORIZONTAL,
115
115
  styles: options.hideBorders
@@ -562,6 +562,16 @@ var DockviewComponent = /** @class */ (function (_super) {
562
562
  group.model.renderContainer =
563
563
  _this.overlayRenderContainer;
564
564
  returnedGroup = group;
565
+ var alreadyRemoved = !_this._popoutGroups.find(function (p) { return p.popoutGroup === group; });
566
+ if (alreadyRemoved) {
567
+ /**
568
+ * If this popout group was explicitly removed then we shouldn't run the additional
569
+ * steps. To tell if the running of this disposable is the result of this popout group
570
+ * being explicitly removed we can check if this popout group is still referenced in
571
+ * the `this._popoutGroups` list.
572
+ */
573
+ return;
574
+ }
565
575
  if (floatingBox) {
566
576
  _this.addFloatingGroup(group, {
567
577
  height: floatingBox.height,
@@ -81,7 +81,7 @@ export declare abstract class BaseGrid<T extends IGridPanelView> extends Resizab
81
81
  get activeGroup(): T | undefined;
82
82
  get locked(): boolean;
83
83
  set locked(value: boolean);
84
- constructor(parentElement: HTMLElement, options: BaseGridOptions);
84
+ constructor(container: HTMLElement, options: BaseGridOptions);
85
85
  abstract toJSON(): object;
86
86
  abstract fromJSON(data: any): void;
87
87
  abstract clear(): void;
@@ -53,7 +53,7 @@ function toTarget(direction) {
53
53
  exports.toTarget = toTarget;
54
54
  var BaseGrid = /** @class */ (function (_super) {
55
55
  __extends(BaseGrid, _super);
56
- function BaseGrid(parentElement, options) {
56
+ function BaseGrid(container, options) {
57
57
  var _a;
58
58
  var _this = _super.call(this, document.createElement('div'), options.disableAutoResizing) || this;
59
59
  _this._id = nextLayoutId.next();
@@ -74,7 +74,8 @@ var BaseGrid = /** @class */ (function (_super) {
74
74
  _this.element.style.width = '100%';
75
75
  _this._classNames = new dom_1.Classnames(_this.element);
76
76
  _this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
77
- parentElement.appendChild(_this.element);
77
+ // the container is owned by the third-party, do not modify/delete it
78
+ container.appendChild(_this.element);
78
79
  _this.gridview = new gridview_1.Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
79
80
  _this.gridview.locked = !!options.locked;
80
81
  _this.element.appendChild(_this.gridview.element);
@@ -61,7 +61,7 @@ export declare class GridviewComponent extends BaseGrid<GridviewPanel> implement
61
61
  get options(): GridviewComponentOptions;
62
62
  get deserializer(): IPanelDeserializer | undefined;
63
63
  set deserializer(value: IPanelDeserializer | undefined);
64
- constructor(parentElement: HTMLElement, options: GridviewComponentOptions);
64
+ constructor(container: HTMLElement, options: GridviewComponentOptions);
65
65
  updateOptions(options: Partial<GridviewComponentOptions>): void;
66
66
  removePanel(panel: GridviewPanel): void;
67
67
  /**
@@ -61,9 +61,9 @@ var baseComponentGridview_1 = require("./baseComponentGridview");
61
61
  var events_1 = require("../events");
62
62
  var GridviewComponent = /** @class */ (function (_super) {
63
63
  __extends(GridviewComponent, _super);
64
- function GridviewComponent(parentElement, options) {
64
+ function GridviewComponent(container, options) {
65
65
  var _a;
66
- var _this = _super.call(this, parentElement, {
66
+ var _this = _super.call(this, container, {
67
67
  proportionalLayout: (_a = options.proportionalLayout) !== null && _a !== void 0 ? _a : true,
68
68
  orientation: options.orientation,
69
69
  styles: options.hideBorders
@@ -110,7 +110,7 @@ export declare class PaneviewComponent extends Resizable implements IPaneviewCom
110
110
  get height(): number;
111
111
  get width(): number;
112
112
  get options(): PaneviewComponentOptions;
113
- constructor(parentElement: HTMLElement, options: PaneviewComponentOptions);
113
+ constructor(container: HTMLElement, options: PaneviewComponentOptions);
114
114
  setVisible(panel: PaneviewPanel, visible: boolean): void;
115
115
  focus(): void;
116
116
  updateOptions(options: Partial<PaneviewComponentOptions>): void;
@@ -83,9 +83,9 @@ var PaneFramework = /** @class */ (function (_super) {
83
83
  exports.PaneFramework = PaneFramework;
84
84
  var PaneviewComponent = /** @class */ (function (_super) {
85
85
  __extends(PaneviewComponent, _super);
86
- function PaneviewComponent(parentElement, options) {
86
+ function PaneviewComponent(container, options) {
87
87
  var _a;
88
- var _this = _super.call(this, parentElement, options.disableAutoResizing) || this;
88
+ var _this = _super.call(this, document.createElement('div'), options.disableAutoResizing) || this;
89
89
  _this._id = nextLayoutId.next();
90
90
  _this._disposable = new lifecycle_1.MutableDisposable();
91
91
  _this._viewDisposables = new Map();
@@ -101,9 +101,13 @@ var PaneviewComponent = /** @class */ (function (_super) {
101
101
  _this.onDidRemoveView = _this._onDidRemoveView.event;
102
102
  _this._onUnhandledDragOverEvent = new events_1.Emitter();
103
103
  _this.onUnhandledDragOverEvent = _this._onUnhandledDragOverEvent.event;
104
+ _this.element.style.height = '100%';
105
+ _this.element.style.width = '100%';
104
106
  _this.addDisposables(_this._onDidLayoutChange, _this._onDidLayoutfromJSON, _this._onDidDrop, _this._onDidAddView, _this._onDidRemoveView, _this._onUnhandledDragOverEvent);
105
107
  _this._classNames = new dom_1.Classnames(_this.element);
106
108
  _this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
109
+ // the container is owned by the third-party, do not modify/delete it
110
+ container.appendChild(_this.element);
107
111
  _this._options = options;
108
112
  _this.paneview = new paneview_1.Paneview(_this.element, {
109
113
  // only allow paneview in the vertical orientation for now
@@ -14,7 +14,7 @@ export interface ISplitviewStyles {
14
14
  separatorBorder: string;
15
15
  }
16
16
  export interface SplitViewOptions {
17
- orientation: Orientation;
17
+ orientation?: Orientation;
18
18
  descriptor?: ISplitViewDescriptor;
19
19
  proportionalLayout?: boolean;
20
20
  styles?: ISplitviewStyles;
@@ -79,7 +79,7 @@ var Sizing;
79
79
  var Splitview = /** @class */ (function () {
80
80
  function Splitview(container, options) {
81
81
  var _this = this;
82
- var _a;
82
+ var _a, _b;
83
83
  this.container = container;
84
84
  this.viewItems = [];
85
85
  this.sashes = [];
@@ -201,9 +201,9 @@ var Splitview = /** @class */ (function () {
201
201
  //
202
202
  return delta;
203
203
  };
204
- this._orientation = options.orientation;
204
+ this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : Orientation.VERTICAL;
205
205
  this.element = this.createContainer();
206
- this.margin = (_a = options.margin) !== null && _a !== void 0 ? _a : 0;
206
+ this.margin = (_b = options.margin) !== null && _b !== void 0 ? _b : 0;
207
207
  this.proportionalLayout =
208
208
  options.proportionalLayout === undefined
209
209
  ? true
@@ -83,7 +83,7 @@ export declare class SplitviewComponent extends Resizable implements ISplitviewC
83
83
  get maximumSize(): number;
84
84
  get height(): number;
85
85
  get width(): number;
86
- constructor(parentElement: HTMLElement, options: SplitviewComponentOptions);
86
+ constructor(container: HTMLElement, options: SplitviewComponentOptions);
87
87
  updateOptions(options: Partial<SplitviewComponentOptions>): void;
88
88
  focus(): void;
89
89
  movePanel(from: number, to: number): void;
@@ -64,9 +64,9 @@ var dom_1 = require("../dom");
64
64
  */
65
65
  var SplitviewComponent = /** @class */ (function (_super) {
66
66
  __extends(SplitviewComponent, _super);
67
- function SplitviewComponent(parentElement, options) {
67
+ function SplitviewComponent(container, options) {
68
68
  var _a;
69
- var _this = _super.call(this, parentElement, options.disableAutoResizing) || this;
69
+ var _this = _super.call(this, document.createElement('div'), options.disableAutoResizing) || this;
70
70
  _this._splitviewChangeDisposable = new lifecycle_1.MutableDisposable();
71
71
  _this._panels = new Map();
72
72
  _this._onDidLayoutfromJSON = new events_1.Emitter();
@@ -77,8 +77,12 @@ var SplitviewComponent = /** @class */ (function (_super) {
77
77
  _this.onDidRemoveView = _this._onDidRemoveView.event;
78
78
  _this._onDidLayoutChange = new events_1.Emitter();
79
79
  _this.onDidLayoutChange = _this._onDidLayoutChange.event;
80
+ _this.element.style.height = '100%';
81
+ _this.element.style.width = '100%';
80
82
  _this._classNames = new dom_1.Classnames(_this.element);
81
83
  _this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
84
+ // the container is owned by the third-party, do not modify/delete it
85
+ container.appendChild(_this.element);
82
86
  _this._options = options;
83
87
  _this.splitview = new splitview_1.Splitview(_this.element, options);
84
88
  _this.addDisposables(_this._onDidAddView, _this._onDidLayoutfromJSON, _this._onDidRemoveView, _this._onDidLayoutChange);
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-core
3
- * @version 3.0.0
3
+ * @version 3.0.2
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -880,7 +880,7 @@ define(['exports'], (function (exports) { 'use strict';
880
880
  this._margin = value;
881
881
  }
882
882
  constructor(container, options) {
883
- var _a;
883
+ var _a, _b;
884
884
  this.container = container;
885
885
  this.viewItems = [];
886
886
  this.sashes = [];
@@ -978,9 +978,9 @@ define(['exports'], (function (exports) { 'use strict';
978
978
  //
979
979
  return delta;
980
980
  };
981
- this._orientation = options.orientation;
981
+ this._orientation = (_a = options.orientation) !== null && _a !== void 0 ? _a : exports.Orientation.VERTICAL;
982
982
  this.element = this.createContainer();
983
- this.margin = (_a = options.margin) !== null && _a !== void 0 ? _a : 0;
983
+ this.margin = (_b = options.margin) !== null && _b !== void 0 ? _b : 0;
984
984
  this.proportionalLayout =
985
985
  options.proportionalLayout === undefined
986
986
  ? true
@@ -2799,7 +2799,7 @@ define(['exports'], (function (exports) { 'use strict';
2799
2799
  set locked(value) {
2800
2800
  this.gridview.locked = value;
2801
2801
  }
2802
- constructor(parentElement, options) {
2802
+ constructor(container, options) {
2803
2803
  var _a;
2804
2804
  super(document.createElement('div'), options.disableAutoResizing);
2805
2805
  this._id = nextLayoutId$1.next();
@@ -2820,7 +2820,8 @@ define(['exports'], (function (exports) { 'use strict';
2820
2820
  this.element.style.width = '100%';
2821
2821
  this._classNames = new Classnames(this.element);
2822
2822
  this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
2823
- parentElement.appendChild(this.element);
2823
+ // the container is owned by the third-party, do not modify/delete it
2824
+ container.appendChild(this.element);
2824
2825
  this.gridview = new Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
2825
2826
  this.gridview.locked = !!options.locked;
2826
2827
  this.element.appendChild(this.gridview.element);
@@ -7540,9 +7541,9 @@ define(['exports'], (function (exports) { 'use strict';
7540
7541
  get floatingGroups() {
7541
7542
  return this._floatingGroups;
7542
7543
  }
7543
- constructor(parentElement, options) {
7544
+ constructor(container, options) {
7544
7545
  var _a;
7545
- super(parentElement, {
7546
+ super(container, {
7546
7547
  proportionalLayout: true,
7547
7548
  orientation: exports.Orientation.HORIZONTAL,
7548
7549
  styles: options.hideBorders
@@ -7898,6 +7899,16 @@ define(['exports'], (function (exports) { 'use strict';
7898
7899
  group.model.renderContainer =
7899
7900
  this.overlayRenderContainer;
7900
7901
  returnedGroup = group;
7902
+ const alreadyRemoved = !this._popoutGroups.find((p) => p.popoutGroup === group);
7903
+ if (alreadyRemoved) {
7904
+ /**
7905
+ * If this popout group was explicitly removed then we shouldn't run the additional
7906
+ * steps. To tell if the running of this disposable is the result of this popout group
7907
+ * being explicitly removed we can check if this popout group is still referenced in
7908
+ * the `this._popoutGroups` list.
7909
+ */
7910
+ return;
7911
+ }
7901
7912
  if (floatingBox) {
7902
7913
  this.addFloatingGroup(group, {
7903
7914
  height: floatingBox.height,
@@ -9074,9 +9085,9 @@ define(['exports'], (function (exports) { 'use strict';
9074
9085
  set deserializer(value) {
9075
9086
  this._deserializer = value;
9076
9087
  }
9077
- constructor(parentElement, options) {
9088
+ constructor(container, options) {
9078
9089
  var _a;
9079
- super(parentElement, {
9090
+ super(container, {
9080
9091
  proportionalLayout: (_a = options.proportionalLayout) !== null && _a !== void 0 ? _a : true,
9081
9092
  orientation: options.orientation,
9082
9093
  styles: options.hideBorders
@@ -9365,9 +9376,9 @@ define(['exports'], (function (exports) { 'use strict';
9365
9376
  ? this.splitview.size
9366
9377
  : this.splitview.orthogonalSize;
9367
9378
  }
9368
- constructor(parentElement, options) {
9379
+ constructor(container, options) {
9369
9380
  var _a;
9370
- super(parentElement, options.disableAutoResizing);
9381
+ super(document.createElement('div'), options.disableAutoResizing);
9371
9382
  this._splitviewChangeDisposable = new MutableDisposable();
9372
9383
  this._panels = new Map();
9373
9384
  this._onDidLayoutfromJSON = new Emitter();
@@ -9378,8 +9389,12 @@ define(['exports'], (function (exports) { 'use strict';
9378
9389
  this.onDidRemoveView = this._onDidRemoveView.event;
9379
9390
  this._onDidLayoutChange = new Emitter();
9380
9391
  this.onDidLayoutChange = this._onDidLayoutChange.event;
9392
+ this.element.style.height = '100%';
9393
+ this.element.style.width = '100%';
9381
9394
  this._classNames = new Classnames(this.element);
9382
9395
  this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9396
+ // the container is owned by the third-party, do not modify/delete it
9397
+ container.appendChild(this.element);
9383
9398
  this._options = options;
9384
9399
  this.splitview = new Splitview(this.element, options);
9385
9400
  this.addDisposables(this._onDidAddView, this._onDidLayoutfromJSON, this._onDidRemoveView, this._onDidLayoutChange);
@@ -9689,9 +9704,9 @@ define(['exports'], (function (exports) { 'use strict';
9689
9704
  get options() {
9690
9705
  return this._options;
9691
9706
  }
9692
- constructor(parentElement, options) {
9707
+ constructor(container, options) {
9693
9708
  var _a;
9694
- super(parentElement, options.disableAutoResizing);
9709
+ super(document.createElement('div'), options.disableAutoResizing);
9695
9710
  this._id = nextLayoutId.next();
9696
9711
  this._disposable = new MutableDisposable();
9697
9712
  this._viewDisposables = new Map();
@@ -9707,9 +9722,13 @@ define(['exports'], (function (exports) { 'use strict';
9707
9722
  this.onDidRemoveView = this._onDidRemoveView.event;
9708
9723
  this._onUnhandledDragOverEvent = new Emitter();
9709
9724
  this.onUnhandledDragOverEvent = this._onUnhandledDragOverEvent.event;
9725
+ this.element.style.height = '100%';
9726
+ this.element.style.width = '100%';
9710
9727
  this.addDisposables(this._onDidLayoutChange, this._onDidLayoutfromJSON, this._onDidDrop, this._onDidAddView, this._onDidRemoveView, this._onUnhandledDragOverEvent);
9711
9728
  this._classNames = new Classnames(this.element);
9712
9729
  this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
9730
+ // the container is owned by the third-party, do not modify/delete it
9731
+ container.appendChild(this.element);
9713
9732
  this._options = options;
9714
9733
  this.paneview = new Paneview(this.element, {
9715
9734
  // only allow paneview in the vertical orientation for now