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
  */
@@ -270,7 +270,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
270
270
  }
271
271
  }
272
272
 
273
- var Disposable;
273
+ exports.DockviewDisposable = void 0;
274
274
  (function (Disposable) {
275
275
  Disposable.NONE = {
276
276
  dispose: () => {
@@ -285,7 +285,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
285
285
  };
286
286
  }
287
287
  Disposable.from = from;
288
- })(Disposable || (Disposable = {}));
288
+ })(exports.DockviewDisposable || (exports.DockviewDisposable = {}));
289
289
  class CompositeDisposable {
290
290
  get isDisposed() {
291
291
  return this._isDisposed;
@@ -308,7 +308,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
308
308
  }
309
309
  class MutableDisposable {
310
310
  constructor() {
311
- this._disposable = Disposable.NONE;
311
+ this._disposable = exports.DockviewDisposable.NONE;
312
312
  }
313
313
  set value(disposable) {
314
314
  if (this._disposable) {
@@ -319,7 +319,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
319
319
  dispose() {
320
320
  if (this._disposable) {
321
321
  this._disposable.dispose();
322
- this._disposable = Disposable.NONE;
322
+ this._disposable = exports.DockviewDisposable.NONE;
323
323
  }
324
324
  }
325
325
  }
@@ -1746,7 +1746,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1746
1746
  this.orientation = orientation;
1747
1747
  this.proportionalLayout = proportionalLayout;
1748
1748
  this.styles = styles;
1749
- this._childrenDisposable = Disposable.NONE;
1749
+ this._childrenDisposable = exports.DockviewDisposable.NONE;
1750
1750
  this.children = [];
1751
1751
  this._onDidChange = new Emitter();
1752
1752
  this.onDidChange = this._onDidChange.event;
@@ -1894,7 +1894,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
1894
1894
  this.setChildVisible(i, visible);
1895
1895
  });
1896
1896
  }
1897
- return Disposable.NONE;
1897
+ return exports.DockviewDisposable.NONE;
1898
1898
  }));
1899
1899
  }
1900
1900
  dispose() {
@@ -2595,7 +2595,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
2595
2595
  this.gridview.locked = !!options.locked;
2596
2596
  this.element.appendChild(this.gridview.element);
2597
2597
  this.layout(0, 0, true); // set some elements height/widths
2598
- this.addDisposables(Disposable.from(() => {
2598
+ this.addDisposables(exports.DockviewDisposable.from(() => {
2599
2599
  var _a;
2600
2600
  (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
2601
2601
  }), this.gridview.onDidChange(() => {
@@ -6177,52 +6177,40 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6177
6177
  }
6178
6178
  constructor() {
6179
6179
  super();
6180
- //
6181
- this.params = {};
6182
6180
  this._element = document.createElement('div');
6183
6181
  this._element.className = 'dv-default-tab';
6184
- //
6185
6182
  this._content = document.createElement('div');
6186
6183
  this._content.className = 'dv-default-tab-content';
6187
6184
  this.action = document.createElement('div');
6188
6185
  this.action.className = 'dv-default-tab-action';
6189
6186
  this.action.appendChild(createCloseButton());
6190
- //
6191
6187
  this._element.appendChild(this._content);
6192
6188
  this._element.appendChild(this.action);
6193
- //
6194
6189
  this.addDisposables(addDisposableListener(this.action, 'mousedown', (ev) => {
6195
6190
  ev.preventDefault();
6196
6191
  }));
6197
6192
  this.render();
6198
6193
  }
6199
- update(event) {
6200
- this.params = Object.assign(Object.assign({}, this.params), event.params);
6201
- this.render();
6202
- }
6203
- focus() {
6204
- //noop
6205
- }
6206
6194
  init(params) {
6207
- this.params = params;
6208
- this._content.textContent = params.title;
6209
- addDisposableListener(this.action, 'click', (ev) => {
6210
- ev.preventDefault(); //
6211
- this.params.api.close();
6212
- });
6213
- }
6214
- onGroupChange(_group) {
6215
- this.render();
6216
- }
6217
- onPanelVisibleChange(_isPanelVisible) {
6195
+ this._title = params.title;
6196
+ this.addDisposables(params.api.onDidTitleChange((event) => {
6197
+ this._title = event.title;
6198
+ this.render();
6199
+ }), addDisposableListener(this.action, 'mousedown', (ev) => {
6200
+ ev.preventDefault();
6201
+ }), addDisposableListener(this.action, 'click', (ev) => {
6202
+ if (ev.defaultPrevented) {
6203
+ return;
6204
+ }
6205
+ ev.preventDefault();
6206
+ params.api.close();
6207
+ }));
6218
6208
  this.render();
6219
6209
  }
6220
- layout(_width, _height) {
6221
- // noop
6222
- }
6223
6210
  render() {
6224
- if (this._content.textContent !== this.params.title) {
6225
- this._content.textContent = this.params.title;
6211
+ var _a;
6212
+ if (this._content.textContent !== this._title) {
6213
+ this._content.textContent = (_a = this._title) !== null && _a !== void 0 ? _a : '';
6226
6214
  }
6227
6215
  }
6228
6216
  }
@@ -6703,7 +6691,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6703
6691
  this.element = element;
6704
6692
  this.map = {};
6705
6693
  this._disposed = false;
6706
- this.addDisposables(Disposable.from(() => {
6694
+ this.addDisposables(exports.DockviewDisposable.from(() => {
6707
6695
  for (const value of Object.values(this.map)) {
6708
6696
  value.disposable.dispose();
6709
6697
  value.destroy.dispose();
@@ -6728,8 +6716,8 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6728
6716
  element.className = 'dv-render-overlay';
6729
6717
  this.map[panel.api.id] = {
6730
6718
  panel,
6731
- disposable: Disposable.NONE,
6732
- destroy: Disposable.NONE,
6719
+ disposable: exports.DockviewDisposable.NONE,
6720
+ destroy: exports.DockviewDisposable.NONE,
6733
6721
  element,
6734
6722
  };
6735
6723
  }
@@ -6793,7 +6781,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
6793
6781
  }
6794
6782
  resize();
6795
6783
  }));
6796
- this.map[panel.api.id].destroy = Disposable.from(() => {
6784
+ this.map[panel.api.id].destroy = exports.DockviewDisposable.from(() => {
6797
6785
  var _a;
6798
6786
  if (panel.view.content.element.parentElement === focusContainer) {
6799
6787
  focusContainer.removeChild(panel.view.content.element);
@@ -7090,7 +7078,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7090
7078
  this.updateWatermark();
7091
7079
  }), exports.DockviewEvent.any(this.onDidAddPanel, this.onDidRemovePanel, this.onDidActivePanelChange)(() => {
7092
7080
  this._bufferOnDidLayoutChange.fire();
7093
- }), Disposable.from(() => {
7081
+ }), exports.DockviewDisposable.from(() => {
7094
7082
  // iterate over a copy of the array since .dispose() mutates the original array
7095
7083
  for (const group of [...this._floatingGroups]) {
7096
7084
  group.dispose();
@@ -7306,7 +7294,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
7306
7294
  */
7307
7295
  addDisposableWindowListener(_window.window, 'resize', () => {
7308
7296
  group.layout(window.innerWidth, window.innerHeight);
7309
- }), overlayRenderContainer, Disposable.from(() => {
7297
+ }), overlayRenderContainer, exports.DockviewDisposable.from(() => {
7310
7298
  if (this.getPanel(referenceGroup.id)) {
7311
7299
  this.movingLock(() => moveGroupWithoutDestroying({
7312
7300
  from: group,
@@ -9411,15 +9399,13 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
9411
9399
  const addPortal = React.useCallback((portal) => {
9412
9400
  setPortals((existingPortals) => [...existingPortals, portal]);
9413
9401
  let disposed = false;
9414
- return {
9415
- dispose: () => {
9416
- if (disposed) {
9417
- throw new Error('invalid operation: resource already disposed');
9418
- }
9419
- disposed = true;
9420
- setPortals((existingPortals) => existingPortals.filter((p) => p !== portal));
9421
- },
9422
- };
9402
+ return exports.DockviewDisposable.from(() => {
9403
+ if (disposed) {
9404
+ throw new Error('invalid operation: resource already disposed');
9405
+ }
9406
+ disposed = true;
9407
+ setPortals((existingPortals) => existingPortals.filter((p) => p !== portal));
9408
+ });
9423
9409
  }, []);
9424
9410
  return [portals, addPortal];
9425
9411
  };
@@ -9834,8 +9820,21 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
9834
9820
  }
9835
9821
  return t;
9836
9822
  };
9823
+ function useTitle(api) {
9824
+ const [title, setTitle] = React.useState(api.title);
9825
+ React.useEffect(() => {
9826
+ const disposable = api.onDidTitleChange((event) => {
9827
+ setTitle(event.title);
9828
+ });
9829
+ return () => {
9830
+ disposable.dispose();
9831
+ };
9832
+ }, [api]);
9833
+ return title;
9834
+ }
9837
9835
  const DockviewDefaultTab = (_a) => {
9838
9836
  var { api, containerApi: _containerApi, params: _params, hideClose, closeActionOverride } = _a, rest = __rest(_a, ["api", "containerApi", "params", "hideClose", "closeActionOverride"]);
9837
+ const title = useTitle(api);
9839
9838
  const onClose = React.useCallback((event) => {
9840
9839
  event.preventDefault();
9841
9840
  if (closeActionOverride) {
@@ -9858,7 +9857,7 @@ define(['exports', 'react', 'react-dom'], (function (exports, React, ReactDOM) {
9858
9857
  }
9859
9858
  }, [api, rest.onClick]);
9860
9859
  return (React.createElement("div", Object.assign({ "data-testid": "dockview-dv-default-tab" }, rest, { onClick: onClick, className: "dv-default-tab" }),
9861
- React.createElement("span", { className: "dv-default-tab-content" }, api.title),
9860
+ React.createElement("span", { className: "dv-default-tab-content" }, title),
9862
9861
  !hideClose && (React.createElement("div", { className: "dv-default-tab-action", onMouseDown: onMouseDown, onClick: onClose },
9863
9862
  React.createElement(CloseButton, null)))));
9864
9863
  };