dockview-core 4.10.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cjs/api/component.api.d.ts +3 -1
  2. package/dist/cjs/api/component.api.js +2 -2
  3. package/dist/cjs/api/dockviewPanelApi.d.ts +1 -1
  4. package/dist/cjs/dockview/components/panel/content.d.ts +7 -0
  5. package/dist/cjs/dockview/components/panel/content.js +11 -0
  6. package/dist/cjs/dockview/dockviewComponent.d.ts +7 -1
  7. package/dist/cjs/dockview/dockviewComponent.js +159 -84
  8. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +1 -0
  9. package/dist/cjs/dockview/dockviewGroupPanel.js +43 -1
  10. package/dist/cjs/dockview/dockviewGroupPanelModel.js +3 -0
  11. package/dist/cjs/dockview/dockviewPanel.d.ts +6 -4
  12. package/dist/cjs/dockview/dockviewPanel.js +12 -0
  13. package/dist/dockview-core.amd.js +162 -35
  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 +162 -35
  20. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  21. package/dist/dockview-core.cjs.js +162 -35
  22. package/dist/dockview-core.cjs.js.map +1 -1
  23. package/dist/dockview-core.esm.js +162 -35
  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 +162 -35
  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 +162 -35
  34. package/dist/dockview-core.noStyle.js.map +1 -1
  35. package/dist/esm/api/component.api.d.ts +3 -1
  36. package/dist/esm/api/component.api.js +2 -2
  37. package/dist/esm/api/dockviewPanelApi.d.ts +1 -1
  38. package/dist/esm/dockview/components/panel/content.d.ts +7 -0
  39. package/dist/esm/dockview/components/panel/content.js +11 -0
  40. package/dist/esm/dockview/dockviewComponent.d.ts +7 -1
  41. package/dist/esm/dockview/dockviewComponent.js +90 -31
  42. package/dist/esm/dockview/dockviewGroupPanel.d.ts +1 -0
  43. package/dist/esm/dockview/dockviewGroupPanel.js +43 -1
  44. package/dist/esm/dockview/dockviewGroupPanelModel.js +3 -0
  45. package/dist/esm/dockview/dockviewPanel.d.ts +6 -4
  46. package/dist/esm/dockview/dockviewPanel.js +12 -0
  47. package/package.json +1 -1
@@ -481,7 +481,9 @@ export declare class DockviewApi implements CommonApi<SerializedDockview> {
481
481
  /**
482
482
  * Create a component from a serialized object.
483
483
  */
484
- fromJSON(data: SerializedDockview): void;
484
+ fromJSON(data: SerializedDockview, options?: {
485
+ reuseExistingPanels: boolean;
486
+ }): void;
485
487
  /**
486
488
  * Create a serialized object of the current component.
487
489
  */
@@ -942,8 +942,8 @@ var DockviewApi = /** @class */ (function () {
942
942
  /**
943
943
  * Create a component from a serialized object.
944
944
  */
945
- DockviewApi.prototype.fromJSON = function (data) {
946
- this.component.fromJSON(data);
945
+ DockviewApi.prototype.fromJSON = function (data, options) {
946
+ this.component.fromJSON(data, options);
947
947
  };
948
948
  /**
949
949
  * Create a serialized object of the current component.
@@ -18,7 +18,7 @@ export interface ActiveGroupEvent {
18
18
  export interface GroupChangedEvent {
19
19
  }
20
20
  export type DockviewPanelMoveParams = DockviewGroupMoveParams;
21
- export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' | 'onDidConstraintsChange' | 'setConstraints'> {
21
+ export interface DockviewPanelApi extends Omit<GridviewPanelApi, 'setVisible' | 'onDidConstraintsChange'> {
22
22
  /**
23
23
  * The id of the tab component renderer
24
24
  *
@@ -17,6 +17,7 @@ export interface IContentContainer extends IDisposable {
17
17
  renderPanel(panel: IDockviewPanel, options: {
18
18
  asActive: boolean;
19
19
  }): void;
20
+ refreshFocusState(): void;
20
21
  }
21
22
  export declare class ContentContainer extends CompositeDisposable implements IContentContainer {
22
23
  private readonly accessor;
@@ -24,6 +25,7 @@ export declare class ContentContainer extends CompositeDisposable implements ICo
24
25
  private readonly _element;
25
26
  private panel;
26
27
  private readonly disposable;
28
+ private focusTracker;
27
29
  private readonly _onDidFocus;
28
30
  readonly onDidFocus: Event<void>;
29
31
  private readonly _onDidBlur;
@@ -40,4 +42,9 @@ export declare class ContentContainer extends CompositeDisposable implements ICo
40
42
  layout(_width: number, _height: number): void;
41
43
  closePanel(): void;
42
44
  dispose(): void;
45
+ /**
46
+ * Refresh the focus tracker state to handle cases where focus state
47
+ * gets out of sync due to programmatic panel activation
48
+ */
49
+ refreshFocusState(): void;
43
50
  }
@@ -118,6 +118,7 @@ var ContentContainer = /** @class */ (function (_super) {
118
118
  }
119
119
  if (doRender) {
120
120
  var focusTracker = (0, dom_1.trackFocus)(container);
121
+ this.focusTracker = focusTracker;
121
122
  var disposable = new lifecycle_1.CompositeDisposable();
122
123
  disposable.addDisposables(focusTracker, focusTracker.onDidFocus(function () { return _this._onDidFocus.fire(); }), focusTracker.onDidBlur(function () { return _this._onDidBlur.fire(); }));
123
124
  this.disposable.value = disposable;
@@ -145,6 +146,16 @@ var ContentContainer = /** @class */ (function (_super) {
145
146
  this.disposable.dispose();
146
147
  _super.prototype.dispose.call(this);
147
148
  };
149
+ /**
150
+ * Refresh the focus tracker state to handle cases where focus state
151
+ * gets out of sync due to programmatic panel activation
152
+ */
153
+ ContentContainer.prototype.refreshFocusState = function () {
154
+ var _a;
155
+ if ((_a = this.focusTracker) === null || _a === void 0 ? void 0 : _a.refreshState) {
156
+ this.focusTracker.refreshState();
157
+ }
158
+ };
148
159
  return ContentContainer;
149
160
  }(lifecycle_1.CompositeDisposable));
150
161
  exports.ContentContainer = ContentContainer;
@@ -94,6 +94,7 @@ type MoveGroupOrPanelOptions = {
94
94
  index?: number;
95
95
  };
96
96
  skipSetActive?: boolean;
97
+ keepEmptyGroups?: boolean;
97
98
  };
98
99
  export interface FloatingGroupOptions {
99
100
  x?: number;
@@ -175,6 +176,9 @@ export interface IDockviewComponent extends IBaseGrid<DockviewGroupPanel> {
175
176
  window: Window;
176
177
  }) => void;
177
178
  }): Promise<boolean>;
179
+ fromJSON(data: any, options?: {
180
+ reuseExistingPanels: boolean;
181
+ }): void;
178
182
  }
179
183
  export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> implements IDockviewComponent {
180
184
  private readonly nextGroupId;
@@ -260,7 +264,9 @@ export declare class DockviewComponent extends BaseGrid<DockviewGroupPanel> impl
260
264
  * @returns A JSON respresentation of the layout
261
265
  */
262
266
  toJSON(): SerializedDockview;
263
- fromJSON(data: SerializedDockview): void;
267
+ fromJSON(data: SerializedDockview, options?: {
268
+ reuseExistingPanels: boolean;
269
+ }): void;
264
270
  clear(): void;
265
271
  closeAllGroups(): void;
266
272
  addPanel<T extends object = Parameters>(options: AddPanelOptions<T>): DockviewPanel;