dockview-react 1.14.0 → 1.14.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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * dockview-react
3
- * @version 1.14.0
3
+ * @version 1.14.2
4
4
  * @link https://github.com/mathuo/dockview
5
5
  * @license MIT
6
6
  */
@@ -274,7 +274,7 @@
274
274
  }
275
275
  }
276
276
 
277
- var Disposable;
277
+ exports.DockviewDisposable = void 0;
278
278
  (function (Disposable) {
279
279
  Disposable.NONE = {
280
280
  dispose: () => {
@@ -289,7 +289,7 @@
289
289
  };
290
290
  }
291
291
  Disposable.from = from;
292
- })(Disposable || (Disposable = {}));
292
+ })(exports.DockviewDisposable || (exports.DockviewDisposable = {}));
293
293
  class CompositeDisposable {
294
294
  get isDisposed() {
295
295
  return this._isDisposed;
@@ -312,7 +312,7 @@
312
312
  }
313
313
  class MutableDisposable {
314
314
  constructor() {
315
- this._disposable = Disposable.NONE;
315
+ this._disposable = exports.DockviewDisposable.NONE;
316
316
  }
317
317
  set value(disposable) {
318
318
  if (this._disposable) {
@@ -323,7 +323,7 @@
323
323
  dispose() {
324
324
  if (this._disposable) {
325
325
  this._disposable.dispose();
326
- this._disposable = Disposable.NONE;
326
+ this._disposable = exports.DockviewDisposable.NONE;
327
327
  }
328
328
  }
329
329
  }
@@ -1750,7 +1750,7 @@
1750
1750
  this.orientation = orientation;
1751
1751
  this.proportionalLayout = proportionalLayout;
1752
1752
  this.styles = styles;
1753
- this._childrenDisposable = Disposable.NONE;
1753
+ this._childrenDisposable = exports.DockviewDisposable.NONE;
1754
1754
  this.children = [];
1755
1755
  this._onDidChange = new Emitter();
1756
1756
  this.onDidChange = this._onDidChange.event;
@@ -1898,7 +1898,7 @@
1898
1898
  this.setChildVisible(i, visible);
1899
1899
  });
1900
1900
  }
1901
- return Disposable.NONE;
1901
+ return exports.DockviewDisposable.NONE;
1902
1902
  }));
1903
1903
  }
1904
1904
  dispose() {
@@ -2599,7 +2599,7 @@
2599
2599
  this.gridview.locked = !!options.locked;
2600
2600
  this.element.appendChild(this.gridview.element);
2601
2601
  this.layout(0, 0, true); // set some elements height/widths
2602
- this.addDisposables(Disposable.from(() => {
2602
+ this.addDisposables(exports.DockviewDisposable.from(() => {
2603
2603
  var _a;
2604
2604
  (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
2605
2605
  }), this.gridview.onDidChange(() => {
@@ -6181,52 +6181,40 @@
6181
6181
  }
6182
6182
  constructor() {
6183
6183
  super();
6184
- //
6185
- this.params = {};
6186
6184
  this._element = document.createElement('div');
6187
6185
  this._element.className = 'dv-default-tab';
6188
- //
6189
6186
  this._content = document.createElement('div');
6190
6187
  this._content.className = 'dv-default-tab-content';
6191
6188
  this.action = document.createElement('div');
6192
6189
  this.action.className = 'dv-default-tab-action';
6193
6190
  this.action.appendChild(createCloseButton());
6194
- //
6195
6191
  this._element.appendChild(this._content);
6196
6192
  this._element.appendChild(this.action);
6197
- //
6198
6193
  this.addDisposables(addDisposableListener(this.action, 'mousedown', (ev) => {
6199
6194
  ev.preventDefault();
6200
6195
  }));
6201
6196
  this.render();
6202
6197
  }
6203
- update(event) {
6204
- this.params = Object.assign(Object.assign({}, this.params), event.params);
6205
- this.render();
6206
- }
6207
- focus() {
6208
- //noop
6209
- }
6210
6198
  init(params) {
6211
- this.params = params;
6212
- this._content.textContent = params.title;
6213
- addDisposableListener(this.action, 'click', (ev) => {
6214
- ev.preventDefault(); //
6215
- this.params.api.close();
6216
- });
6217
- }
6218
- onGroupChange(_group) {
6219
- this.render();
6220
- }
6221
- onPanelVisibleChange(_isPanelVisible) {
6199
+ this._title = params.title;
6200
+ this.addDisposables(params.api.onDidTitleChange((event) => {
6201
+ this._title = event.title;
6202
+ this.render();
6203
+ }), addDisposableListener(this.action, 'mousedown', (ev) => {
6204
+ ev.preventDefault();
6205
+ }), addDisposableListener(this.action, 'click', (ev) => {
6206
+ if (ev.defaultPrevented) {
6207
+ return;
6208
+ }
6209
+ ev.preventDefault();
6210
+ params.api.close();
6211
+ }));
6222
6212
  this.render();
6223
6213
  }
6224
- layout(_width, _height) {
6225
- // noop
6226
- }
6227
6214
  render() {
6228
- if (this._content.textContent !== this.params.title) {
6229
- this._content.textContent = this.params.title;
6215
+ var _a;
6216
+ if (this._content.textContent !== this._title) {
6217
+ this._content.textContent = (_a = this._title) !== null && _a !== void 0 ? _a : '';
6230
6218
  }
6231
6219
  }
6232
6220
  }
@@ -6707,7 +6695,7 @@
6707
6695
  this.element = element;
6708
6696
  this.map = {};
6709
6697
  this._disposed = false;
6710
- this.addDisposables(Disposable.from(() => {
6698
+ this.addDisposables(exports.DockviewDisposable.from(() => {
6711
6699
  for (const value of Object.values(this.map)) {
6712
6700
  value.disposable.dispose();
6713
6701
  value.destroy.dispose();
@@ -6732,8 +6720,8 @@
6732
6720
  element.className = 'dv-render-overlay';
6733
6721
  this.map[panel.api.id] = {
6734
6722
  panel,
6735
- disposable: Disposable.NONE,
6736
- destroy: Disposable.NONE,
6723
+ disposable: exports.DockviewDisposable.NONE,
6724
+ destroy: exports.DockviewDisposable.NONE,
6737
6725
  element,
6738
6726
  };
6739
6727
  }
@@ -6797,7 +6785,7 @@
6797
6785
  }
6798
6786
  resize();
6799
6787
  }));
6800
- this.map[panel.api.id].destroy = Disposable.from(() => {
6788
+ this.map[panel.api.id].destroy = exports.DockviewDisposable.from(() => {
6801
6789
  var _a;
6802
6790
  if (panel.view.content.element.parentElement === focusContainer) {
6803
6791
  focusContainer.removeChild(panel.view.content.element);
@@ -7094,7 +7082,7 @@
7094
7082
  this.updateWatermark();
7095
7083
  }), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
7096
7084
  this._bufferOnDidLayoutChange.fire();
7097
- }), Disposable.from(() => {
7085
+ }), exports.DockviewDisposable.from(() => {
7098
7086
  // iterate over a copy of the array since .dispose() mutates the original array
7099
7087
  for (const group of [...this._floatingGroups]) {
7100
7088
  group.dispose();
@@ -7310,7 +7298,7 @@
7310
7298
  */
7311
7299
  addDisposableWindowListener(_window.window, 'resize', () => {
7312
7300
  group.layout(window.innerWidth, window.innerHeight);
7313
- }), overlayRenderContainer, Disposable.from(() => {
7301
+ }), overlayRenderContainer, exports.DockviewDisposable.from(() => {
7314
7302
  if (this.getPanel(referenceGroup.id)) {
7315
7303
  this.movingLock(() => moveGroupWithoutDestroying({
7316
7304
  from: group,
@@ -9415,15 +9403,13 @@
9415
9403
  const addPortal = React.useCallback((portal) => {
9416
9404
  setPortals((existingPortals) => [...existingPortals, portal]);
9417
9405
  let disposed = false;
9418
- return {
9419
- dispose: () => {
9420
- if (disposed) {
9421
- throw new Error('invalid operation: resource already disposed');
9422
- }
9423
- disposed = true;
9424
- setPortals((existingPortals) => existingPortals.filter((p) => p !== portal));
9425
- },
9426
- };
9406
+ return exports.DockviewDisposable.from(() => {
9407
+ if (disposed) {
9408
+ throw new Error('invalid operation: resource already disposed');
9409
+ }
9410
+ disposed = true;
9411
+ setPortals((existingPortals) => existingPortals.filter((p) => p !== portal));
9412
+ });
9427
9413
  }, []);
9428
9414
  return [portals, addPortal];
9429
9415
  };
@@ -9838,8 +9824,21 @@
9838
9824
  }
9839
9825
  return t;
9840
9826
  };
9827
+ function useTitle(api) {
9828
+ const [title, setTitle] = React.useState(api.title);
9829
+ React.useEffect(() => {
9830
+ const disposable = api.onDidTitleChange((event) => {
9831
+ setTitle(event.title);
9832
+ });
9833
+ return () => {
9834
+ disposable.dispose();
9835
+ };
9836
+ }, [api]);
9837
+ return title;
9838
+ }
9841
9839
  const DockviewDefaultTab = (_a) => {
9842
9840
  var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
9841
+ const title = useTitle(api);
9843
9842
  const onClose = React.useCallback((event) => {
9844
9843
  event.preventDefault();
9845
9844
  if (closeActionOverride) {
@@ -9862,7 +9861,7 @@
9862
9861
  }
9863
9862
  }, [api, rest.onClick]);
9864
9863
  return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onClick: onClick, className: "dv-default-tab" }),
9865
- React.createElement("span", { className: "dv-default-tab-content" }, api.title),
9864
+ React.createElement("span", { className: "dv-default-tab-content" }, title),
9866
9865
  !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onMouseDown: onMouseDown, onClick: onClose },
9867
9866
  React.createElement(CloseButton, null)))));
9868
9867
  };