dockview-core 1.16.0 → 1.17.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 (84) hide show
  1. package/dist/cjs/api/component.api.d.ts +6 -4
  2. package/dist/cjs/dnd/groupDragHandler.js +1 -1
  3. package/dist/cjs/dockview/components/tab/defaultTab.js +2 -2
  4. package/dist/cjs/dockview/components/tab/tab.js +1 -1
  5. package/dist/cjs/dockview/components/titlebar/tabsContainer.js +2 -2
  6. package/dist/cjs/dockview/components/watermark/watermark.d.ts +0 -7
  7. package/dist/cjs/dockview/components/watermark/watermark.js +3 -18
  8. package/dist/cjs/dockview/deserializer.js +4 -0
  9. package/dist/cjs/dockview/dockviewComponent.d.ts +2 -0
  10. package/dist/cjs/dockview/dockviewComponent.js +77 -58
  11. package/dist/cjs/dockview/dockviewGroupPanel.d.ts +4 -0
  12. package/dist/cjs/dockview/dockviewGroupPanel.js +49 -2
  13. package/dist/cjs/dockview/dockviewGroupPanelModel.d.ts +4 -0
  14. package/dist/cjs/dockview/dockviewGroupPanelModel.js +0 -1
  15. package/dist/cjs/dockview/dockviewPanel.d.ts +14 -1
  16. package/dist/cjs/dockview/dockviewPanel.js +36 -0
  17. package/dist/cjs/dockview/options.d.ts +16 -9
  18. package/dist/cjs/dockview/types.d.ts +5 -2
  19. package/dist/cjs/dom.d.ts +7 -0
  20. package/dist/cjs/dom.js +63 -1
  21. package/dist/cjs/gridview/baseComponentGridview.d.ts +3 -2
  22. package/dist/cjs/gridview/baseComponentGridview.js +30 -5
  23. package/dist/cjs/gridview/gridviewComponent.d.ts +2 -3
  24. package/dist/cjs/gridview/gridviewComponent.js +2 -2
  25. package/dist/cjs/gridview/gridviewPanel.d.ts +6 -0
  26. package/dist/cjs/overlay/overlay.js +6 -6
  27. package/dist/cjs/paneview/paneviewComponent.d.ts +1 -0
  28. package/dist/cjs/paneview/paneviewComponent.js +11 -3
  29. package/dist/cjs/splitview/splitviewComponent.d.ts +4 -4
  30. package/dist/cjs/splitview/splitviewComponent.js +13 -7
  31. package/dist/dockview-core.amd.js +231 -103
  32. package/dist/dockview-core.amd.js.map +1 -1
  33. package/dist/dockview-core.amd.min.js +2 -2
  34. package/dist/dockview-core.amd.min.js.map +1 -1
  35. package/dist/dockview-core.amd.min.noStyle.js +2 -2
  36. package/dist/dockview-core.amd.min.noStyle.js.map +1 -1
  37. package/dist/dockview-core.amd.noStyle.js +230 -102
  38. package/dist/dockview-core.amd.noStyle.js.map +1 -1
  39. package/dist/dockview-core.cjs.js +231 -103
  40. package/dist/dockview-core.cjs.js.map +1 -1
  41. package/dist/dockview-core.esm.js +231 -103
  42. package/dist/dockview-core.esm.js.map +1 -1
  43. package/dist/dockview-core.esm.min.js +2 -2
  44. package/dist/dockview-core.esm.min.js.map +1 -1
  45. package/dist/dockview-core.js +231 -103
  46. package/dist/dockview-core.js.map +1 -1
  47. package/dist/dockview-core.min.js +2 -2
  48. package/dist/dockview-core.min.js.map +1 -1
  49. package/dist/dockview-core.min.noStyle.js +2 -2
  50. package/dist/dockview-core.min.noStyle.js.map +1 -1
  51. package/dist/dockview-core.noStyle.js +230 -102
  52. package/dist/dockview-core.noStyle.js.map +1 -1
  53. package/dist/esm/api/component.api.d.ts +6 -4
  54. package/dist/esm/dnd/groupDragHandler.js +1 -1
  55. package/dist/esm/dockview/components/tab/defaultTab.js +2 -2
  56. package/dist/esm/dockview/components/tab/tab.js +1 -1
  57. package/dist/esm/dockview/components/titlebar/tabsContainer.js +2 -2
  58. package/dist/esm/dockview/components/watermark/watermark.d.ts +0 -7
  59. package/dist/esm/dockview/components/watermark/watermark.js +3 -18
  60. package/dist/esm/dockview/deserializer.js +4 -0
  61. package/dist/esm/dockview/dockviewComponent.d.ts +2 -0
  62. package/dist/esm/dockview/dockviewComponent.js +76 -54
  63. package/dist/esm/dockview/dockviewGroupPanel.d.ts +4 -0
  64. package/dist/esm/dockview/dockviewGroupPanel.js +33 -2
  65. package/dist/esm/dockview/dockviewGroupPanelModel.d.ts +4 -0
  66. package/dist/esm/dockview/dockviewGroupPanelModel.js +0 -1
  67. package/dist/esm/dockview/dockviewPanel.d.ts +14 -1
  68. package/dist/esm/dockview/dockviewPanel.js +20 -0
  69. package/dist/esm/dockview/options.d.ts +16 -9
  70. package/dist/esm/dockview/types.d.ts +5 -2
  71. package/dist/esm/dom.d.ts +7 -0
  72. package/dist/esm/dom.js +36 -0
  73. package/dist/esm/gridview/baseComponentGridview.d.ts +3 -2
  74. package/dist/esm/gridview/baseComponentGridview.js +30 -5
  75. package/dist/esm/gridview/gridviewComponent.d.ts +2 -3
  76. package/dist/esm/gridview/gridviewComponent.js +2 -2
  77. package/dist/esm/gridview/gridviewPanel.d.ts +6 -0
  78. package/dist/esm/overlay/overlay.js +6 -6
  79. package/dist/esm/paneview/paneviewComponent.d.ts +1 -0
  80. package/dist/esm/paneview/paneviewComponent.js +11 -3
  81. package/dist/esm/splitview/splitviewComponent.d.ts +4 -4
  82. package/dist/esm/splitview/splitviewComponent.js +13 -7
  83. package/dist/styles/dockview.css +1 -1
  84. package/package.json +1 -1
@@ -12,6 +12,7 @@ import { IDockviewPanel } from './dockviewPanel';
12
12
  import { DockviewPanelRenderer } from '../overlay/overlayRenderContainer';
13
13
  import { IGroupHeaderProps } from './framework';
14
14
  import { FloatingGroupOptions } from './dockviewComponent';
15
+ import { Contraints } from '../gridview/gridviewPanel';
15
16
  export interface IHeaderActionsRenderer extends IDisposable {
16
17
  readonly element: HTMLElement;
17
18
  init(params: IGroupHeaderProps): void;
@@ -71,19 +72,23 @@ export declare class DockviewUnhandledDragOverEvent implements DockviewDndOverla
71
72
  accept(): void;
72
73
  }
73
74
  export declare const PROPERTY_KEYS: (keyof DockviewOptions)[];
75
+ export interface CreateComponentOptions {
76
+ /**
77
+ * The unqiue identifer of the component
78
+ */
79
+ id: string;
80
+ /**
81
+ * The component name, this should determine what is rendered.
82
+ */
83
+ name: string;
84
+ }
74
85
  export interface DockviewFrameworkOptions {
75
86
  defaultTabComponent?: string;
76
87
  createRightHeaderActionComponent?: (group: DockviewGroupPanel) => IHeaderActionsRenderer;
77
88
  createLeftHeaderActionComponent?: (group: DockviewGroupPanel) => IHeaderActionsRenderer;
78
89
  createPrefixHeaderActionComponent?: (group: DockviewGroupPanel) => IHeaderActionsRenderer;
79
- createTabComponent?: (options: {
80
- id: string;
81
- name: string;
82
- }) => ITabRenderer | undefined;
83
- createComponent: (options: {
84
- id: string;
85
- name: string;
86
- }) => IContentRenderer;
90
+ createTabComponent?: (options: CreateComponentOptions) => ITabRenderer | undefined;
91
+ createComponent: (options: CreateComponentOptions) => IContentRenderer;
87
92
  createWatermarkComponent?: () => IWatermarkRenderer;
88
93
  }
89
94
  export type DockviewComponentOptions = DockviewOptions & DockviewFrameworkOptions;
@@ -149,7 +154,9 @@ export type AddPanelOptions<P extends object = Parameters> = {
149
154
  * Defaults to `false` which forces newly added panels to become active.
150
155
  */
151
156
  inactive?: boolean;
152
- } & Partial<AddPanelOptionsUnion>;
157
+ initialWidth?: number;
158
+ initialHeight?: number;
159
+ } & Partial<AddPanelOptionsUnion> & Partial<Contraints>;
153
160
  type AddGroupOptionsWithPanel = {
154
161
  referencePanel: string | IDockviewPanel;
155
162
  direction?: Omit<Direction, 'within'>;
@@ -2,7 +2,7 @@ import { DockviewPanelApi } from '../api/dockviewPanelApi';
2
2
  import { PanelInitParameters, IPanel } from '../panel/types';
3
3
  import { DockviewApi } from '../api/component.api';
4
4
  import { Optional } from '../types';
5
- import { DockviewGroupPanel, IDockviewGroupPanel } from './dockviewGroupPanel';
5
+ import { IDockviewGroupPanel } from './dockviewGroupPanel';
6
6
  import { DockviewPanelRenderer } from '../overlay/overlayRenderContainer';
7
7
  export interface HeaderPartInitParameters {
8
8
  title: string;
@@ -19,7 +19,6 @@ type RendererMethodOptionalList = 'dispose' | 'update' | 'layout' | 'toJSON' | '
19
19
  export interface IWatermarkRenderer extends Optional<Omit<IPanel, 'id' | 'init'>, RendererMethodOptionalList> {
20
20
  readonly element: HTMLElement;
21
21
  init: (params: WatermarkRendererInitParameters) => void;
22
- updateParentGroup(group: DockviewGroupPanel, visible: boolean): void;
23
22
  }
24
23
  export interface ITabRenderer extends Optional<Omit<IPanel, 'id'>, RendererMethodOptionalList> {
25
24
  readonly element: HTMLElement;
@@ -40,5 +39,9 @@ export interface GroupviewPanelState {
40
39
  params?: {
41
40
  [key: string]: any;
42
41
  };
42
+ minimumWidth?: number;
43
+ minimumHeight?: number;
44
+ maximumWidth?: number;
45
+ maximumHeight?: number;
43
46
  }
44
47
  export {};
package/dist/cjs/dom.d.ts CHANGED
@@ -30,3 +30,10 @@ export declare function addTestId(element: HTMLElement, id: string): void;
30
30
  export declare function disableIframePointEvents(): {
31
31
  release: () => void;
32
32
  };
33
+ export declare function getDockviewTheme(element: HTMLElement): string | undefined;
34
+ export declare class Classnames {
35
+ private readonly element;
36
+ private _classNames;
37
+ constructor(element: HTMLElement);
38
+ setClassNames(classNames: string): void;
39
+ }
package/dist/cjs/dom.js CHANGED
@@ -51,7 +51,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
51
51
  return to.concat(ar || Array.prototype.slice.call(from));
52
52
  };
53
53
  Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.disableIframePointEvents = exports.addTestId = exports.isInDocument = exports.getDomNodePagePosition = exports.addStyles = exports.quasiDefaultPrevented = exports.quasiPreventDefault = exports.trackFocus = exports.getElementsByTagName = exports.isAncestor = exports.toggleClass = exports.addClasses = exports.removeClasses = exports.watchElementResize = void 0;
54
+ exports.Classnames = exports.getDockviewTheme = exports.disableIframePointEvents = exports.addTestId = exports.isInDocument = exports.getDomNodePagePosition = exports.addStyles = exports.quasiDefaultPrevented = exports.quasiPreventDefault = exports.trackFocus = exports.getElementsByTagName = exports.isAncestor = exports.toggleClass = exports.addClasses = exports.removeClasses = exports.watchElementResize = void 0;
55
55
  var events_1 = require("./events");
56
56
  var lifecycle_1 = require("./lifecycle");
57
57
  function watchElementResize(element, cb) {
@@ -343,3 +343,65 @@ function disableIframePointEvents() {
343
343
  };
344
344
  }
345
345
  exports.disableIframePointEvents = disableIframePointEvents;
346
+ function getDockviewTheme(element) {
347
+ function toClassList(element) {
348
+ var list = [];
349
+ for (var i = 0; i < element.classList.length; i++) {
350
+ list.push(element.classList.item(i));
351
+ }
352
+ return list;
353
+ }
354
+ var theme = undefined;
355
+ var parent = element;
356
+ while (parent !== null) {
357
+ theme = toClassList(parent).find(function (cls) {
358
+ return cls.startsWith('dockview-theme-');
359
+ });
360
+ if (typeof theme === 'string') {
361
+ break;
362
+ }
363
+ parent = parent.parentElement;
364
+ }
365
+ return theme;
366
+ }
367
+ exports.getDockviewTheme = getDockviewTheme;
368
+ var Classnames = /** @class */ (function () {
369
+ function Classnames(element) {
370
+ this.element = element;
371
+ this._classNames = [];
372
+ }
373
+ Classnames.prototype.setClassNames = function (classNames) {
374
+ var e_7, _a, e_8, _b;
375
+ try {
376
+ for (var _c = __values(this._classNames), _d = _c.next(); !_d.done; _d = _c.next()) {
377
+ var className = _d.value;
378
+ (0, exports.toggleClass)(this.element, className, false);
379
+ }
380
+ }
381
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
382
+ finally {
383
+ try {
384
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
385
+ }
386
+ finally { if (e_7) throw e_7.error; }
387
+ }
388
+ this._classNames = classNames
389
+ .split(' ')
390
+ .filter(function (v) { return v.trim().length > 0; });
391
+ try {
392
+ for (var _e = __values(this._classNames), _f = _e.next(); !_f.done; _f = _e.next()) {
393
+ var className = _f.value;
394
+ (0, exports.toggleClass)(this.element, className, true);
395
+ }
396
+ }
397
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
398
+ finally {
399
+ try {
400
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
401
+ }
402
+ finally { if (e_8) throw e_8.error; }
403
+ }
404
+ };
405
+ return Classnames;
406
+ }());
407
+ exports.Classnames = Classnames;
@@ -12,7 +12,6 @@ export interface BaseGridOptions {
12
12
  readonly proportionalLayout: boolean;
13
13
  readonly orientation: Orientation;
14
14
  readonly styles?: ISplitviewStyles;
15
- readonly parentElement: HTMLElement;
16
15
  readonly disableAutoResizing?: boolean;
17
16
  readonly locked?: boolean;
18
17
  readonly margin?: number;
@@ -63,6 +62,7 @@ export declare abstract class BaseGrid<T extends IGridPanelView> extends Resizab
63
62
  readonly onDidLayoutChange: Event<void>;
64
63
  private readonly _onDidViewVisibilityChangeMicroTaskQueue;
65
64
  readonly onDidViewVisibilityChangeMicroTaskQueue: Event<void>;
65
+ private readonly _classNames;
66
66
  get id(): string;
67
67
  get size(): number;
68
68
  get groups(): T[];
@@ -75,12 +75,13 @@ export declare abstract class BaseGrid<T extends IGridPanelView> extends Resizab
75
75
  get activeGroup(): T | undefined;
76
76
  get locked(): boolean;
77
77
  set locked(value: boolean);
78
- constructor(options: BaseGridOptions);
78
+ constructor(parentElement: HTMLElement, options: BaseGridOptions);
79
79
  abstract toJSON(): object;
80
80
  abstract fromJSON(data: any): void;
81
81
  abstract clear(): void;
82
82
  setVisible(panel: T, visible: boolean): void;
83
83
  isVisible(panel: T): boolean;
84
+ updateOptions(options: Partial<BaseGridOptions>): void;
84
85
  maximizeGroup(panel: T): void;
85
86
  isMaximizedGroup(panel: T): boolean;
86
87
  exitMaximizedGroup(): void;
@@ -33,6 +33,7 @@ var lifecycle_1 = require("../lifecycle");
33
33
  var math_1 = require("../math");
34
34
  var splitview_1 = require("../splitview/splitview");
35
35
  var resizable_1 = require("../resizable");
36
+ var dom_1 = require("../dom");
36
37
  var nextLayoutId = (0, math_1.sequentialNumberGenerator)();
37
38
  function toTarget(direction) {
38
39
  switch (direction) {
@@ -52,7 +53,8 @@ function toTarget(direction) {
52
53
  exports.toTarget = toTarget;
53
54
  var BaseGrid = /** @class */ (function (_super) {
54
55
  __extends(BaseGrid, _super);
55
- function BaseGrid(options) {
56
+ function BaseGrid(parentElement, options) {
57
+ var _a;
56
58
  var _this = _super.call(this, document.createElement('div'), options.disableAutoResizing) || this;
57
59
  _this._id = nextLayoutId.next();
58
60
  _this._groups = new Map();
@@ -68,10 +70,9 @@ var BaseGrid = /** @class */ (function (_super) {
68
70
  _this.onDidViewVisibilityChangeMicroTaskQueue = _this._onDidViewVisibilityChangeMicroTaskQueue.onEvent;
69
71
  _this.element.style.height = '100%';
70
72
  _this.element.style.width = '100%';
71
- if (typeof options.className === 'string') {
72
- _this.element.classList.add(options.className);
73
- }
74
- options.parentElement.appendChild(_this.element);
73
+ _this._classNames = new dom_1.Classnames(_this.element);
74
+ _this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
75
+ parentElement.appendChild(_this.element);
75
76
  _this.gridview = new gridview_1.Gridview(!!options.proportionalLayout, options.styles, options.orientation, options.locked, options.margin);
76
77
  _this.gridview.locked = !!options.locked;
77
78
  _this.element.appendChild(_this.gridview.element);
@@ -177,6 +178,30 @@ var BaseGrid = /** @class */ (function (_super) {
177
178
  BaseGrid.prototype.isVisible = function (panel) {
178
179
  return this.gridview.isViewVisible((0, gridview_1.getGridLocation)(panel.element));
179
180
  };
181
+ BaseGrid.prototype.updateOptions = function (options) {
182
+ var _a, _b, _c, _d;
183
+ if (typeof options.proportionalLayout === 'boolean') {
184
+ // this.gridview.proportionalLayout = options.proportionalLayout; // not supported
185
+ }
186
+ if (options.orientation) {
187
+ this.gridview.orientation = options.orientation;
188
+ }
189
+ if ('styles' in options) {
190
+ // this.gridview.styles = options.styles; // not supported
191
+ }
192
+ if ('disableResizing' in options) {
193
+ this.disableResizing = (_a = options.disableAutoResizing) !== null && _a !== void 0 ? _a : false;
194
+ }
195
+ if ('locked' in options) {
196
+ this.locked = (_b = options.locked) !== null && _b !== void 0 ? _b : false;
197
+ }
198
+ if ('margin' in options) {
199
+ this.gridview.margin = (_c = options.margin) !== null && _c !== void 0 ? _c : 0;
200
+ }
201
+ if ('className' in options) {
202
+ this._classNames.setClassNames((_d = options.className) !== null && _d !== void 0 ? _d : '');
203
+ }
204
+ };
180
205
  BaseGrid.prototype.maximizeGroup = function (panel) {
181
206
  this.gridview.maximizeView(panel);
182
207
  this.doSetGroupActive(panel);
@@ -25,11 +25,10 @@ export interface AddComponentOptions<T extends object = Parameters> extends Base
25
25
  export interface IGridPanelComponentView extends IGridPanelView {
26
26
  init: (params: GridviewInitParameters) => void;
27
27
  }
28
- export type GridviewComponentUpdateOptions = Pick<GridviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents'>;
29
28
  export interface IGridviewComponent extends IBaseGrid<GridviewPanel> {
30
29
  readonly orientation: Orientation;
31
30
  readonly onDidLayoutFromJSON: Event<void>;
32
- updateOptions(options: Partial<GridviewComponentUpdateOptions>): void;
31
+ updateOptions(options: Partial<GridviewComponentOptions>): void;
33
32
  addPanel<T extends object = Parameters>(options: AddComponentOptions<T>): IGridviewPanel;
34
33
  removePanel(panel: IGridviewPanel, sizing?: Sizing): void;
35
34
  focus(): void;
@@ -63,7 +62,7 @@ export declare class GridviewComponent extends BaseGrid<GridviewPanel> implement
63
62
  get deserializer(): IPanelDeserializer | undefined;
64
63
  set deserializer(value: IPanelDeserializer | undefined);
65
64
  constructor(parentElement: HTMLElement, options: GridviewComponentOptions);
66
- updateOptions(options: Partial<GridviewComponentUpdateOptions>): void;
65
+ updateOptions(options: Partial<GridviewComponentOptions>): void;
67
66
  removePanel(panel: GridviewPanel): void;
68
67
  /**
69
68
  * Serialize the current state of the layout
@@ -63,8 +63,7 @@ var events_1 = require("../events");
63
63
  var GridviewComponent = /** @class */ (function (_super) {
64
64
  __extends(GridviewComponent, _super);
65
65
  function GridviewComponent(parentElement, options) {
66
- var _this = _super.call(this, {
67
- parentElement: parentElement,
66
+ var _this = _super.call(this, parentElement, {
68
67
  proportionalLayout: options.proportionalLayout,
69
68
  orientation: options.orientation,
70
69
  styles: options.styles,
@@ -123,6 +122,7 @@ var GridviewComponent = /** @class */ (function (_super) {
123
122
  configurable: true
124
123
  });
125
124
  GridviewComponent.prototype.updateOptions = function (options) {
125
+ _super.prototype.updateOptions.call(this, options);
126
126
  var hasOrientationChanged = typeof options.orientation === 'string' &&
127
127
  this.gridview.orientation !== options.orientation;
128
128
  this._options = __assign(__assign({}, this.options), options);
@@ -6,6 +6,12 @@ import { LayoutPriority } from '../splitview/splitview';
6
6
  import { Event } from '../events';
7
7
  import { IViewSize } from './gridview';
8
8
  import { BaseGrid, IGridPanelView } from './baseComponentGridview';
9
+ export interface Contraints {
10
+ minimumWidth?: number;
11
+ maximumWidth?: number;
12
+ minimumHeight?: number;
13
+ maximumHeight?: number;
14
+ }
9
15
  export interface GridviewInitParameters extends PanelInitParameters {
10
16
  minimumWidth?: number;
11
17
  maximumWidth?: number;
@@ -225,7 +225,7 @@ var Overlay = /** @class */ (function (_super) {
225
225
  dispose: function () {
226
226
  iframes.release();
227
227
  },
228
- }, (0, events_1.addDisposableWindowListener)(window, 'mousemove', function (e) {
228
+ }, (0, events_1.addDisposableWindowListener)(window, 'pointermove', function (e) {
229
229
  var containerRect = _this.options.container.getBoundingClientRect();
230
230
  var x = e.clientX - containerRect.left;
231
231
  var y = e.clientY - containerRect.top;
@@ -268,7 +268,7 @@ var Overlay = /** @class */ (function (_super) {
268
268
  _this._onDidChangeEnd.fire();
269
269
  }));
270
270
  };
271
- this.addDisposables(move, (0, events_1.addDisposableListener)(dragTarget, 'mousedown', function (event) {
271
+ this.addDisposables(move, (0, events_1.addDisposableListener)(dragTarget, 'pointerdown', function (event) {
272
272
  if (event.defaultPrevented) {
273
273
  event.preventDefault();
274
274
  return;
@@ -279,7 +279,7 @@ var Overlay = /** @class */ (function (_super) {
279
279
  return;
280
280
  }
281
281
  track();
282
- }), (0, events_1.addDisposableListener)(this.options.content, 'mousedown', function (event) {
282
+ }), (0, events_1.addDisposableListener)(this.options.content, 'pointerdown', function (event) {
283
283
  if (event.defaultPrevented) {
284
284
  return;
285
285
  }
@@ -291,7 +291,7 @@ var Overlay = /** @class */ (function (_super) {
291
291
  if (event.shiftKey) {
292
292
  track();
293
293
  }
294
- }), (0, events_1.addDisposableListener)(this.options.content, 'mousedown', function () {
294
+ }), (0, events_1.addDisposableListener)(this.options.content, 'pointerdown', function () {
295
295
  arialLevelTracker.push(_this._element);
296
296
  }, true));
297
297
  if (options.inDragMode) {
@@ -304,11 +304,11 @@ var Overlay = /** @class */ (function (_super) {
304
304
  resizeHandleElement.className = "dv-resize-handle-".concat(direction);
305
305
  this._element.appendChild(resizeHandleElement);
306
306
  var move = new lifecycle_1.MutableDisposable();
307
- this.addDisposables(move, (0, events_1.addDisposableListener)(resizeHandleElement, 'mousedown', function (e) {
307
+ this.addDisposables(move, (0, events_1.addDisposableListener)(resizeHandleElement, 'pointerdown', function (e) {
308
308
  e.preventDefault();
309
309
  var startPosition = null;
310
310
  var iframes = (0, dom_1.disableIframePointEvents)();
311
- move.value = new lifecycle_1.CompositeDisposable((0, events_1.addDisposableWindowListener)(window, 'mousemove', function (e) {
311
+ move.value = new lifecycle_1.CompositeDisposable((0, events_1.addDisposableWindowListener)(window, 'pointermove', function (e) {
312
312
  var containerRect = _this.options.container.getBoundingClientRect();
313
313
  var overlayRect = _this._element.getBoundingClientRect();
314
314
  var y = e.clientY - containerRect.top;
@@ -103,6 +103,7 @@ export declare class PaneviewComponent extends Resizable implements IPaneviewCom
103
103
  readonly onDidAddView: Event<PaneviewPanel>;
104
104
  private readonly _onDidRemoveView;
105
105
  readonly onDidRemoveView: Event<PaneviewPanel>;
106
+ private readonly _classNames;
106
107
  get id(): string;
107
108
  get panels(): PaneviewPanel[];
108
109
  set paneview(value: Paneview);
@@ -64,6 +64,7 @@ var draggablePaneviewPanel_1 = require("./draggablePaneviewPanel");
64
64
  var defaultPaneviewHeader_1 = require("./defaultPaneviewHeader");
65
65
  var math_1 = require("../math");
66
66
  var resizable_1 = require("../resizable");
67
+ var dom_1 = require("../dom");
67
68
  var nextLayoutId = (0, math_1.sequentialNumberGenerator)();
68
69
  var PaneFramework = /** @class */ (function (_super) {
69
70
  __extends(PaneFramework, _super);
@@ -84,6 +85,7 @@ exports.PaneFramework = PaneFramework;
84
85
  var PaneviewComponent = /** @class */ (function (_super) {
85
86
  __extends(PaneviewComponent, _super);
86
87
  function PaneviewComponent(parentElement, options) {
88
+ var _a;
87
89
  var _this = _super.call(this, parentElement, options.disableAutoResizing) || this;
88
90
  _this._id = nextLayoutId.next();
89
91
  _this._disposable = new lifecycle_1.MutableDisposable();
@@ -98,10 +100,9 @@ var PaneviewComponent = /** @class */ (function (_super) {
98
100
  _this.onDidAddView = _this._onDidAddView.event;
99
101
  _this._onDidRemoveView = new events_1.Emitter();
100
102
  _this.onDidRemoveView = _this._onDidRemoveView.event;
101
- if (typeof options.className === 'string') {
102
- _this.element.classList.add(options.className);
103
- }
104
103
  _this.addDisposables(_this._onDidLayoutChange, _this._onDidLayoutfromJSON, _this._onDidDrop, _this._onDidAddView, _this._onDidRemoveView);
104
+ _this._classNames = new dom_1.Classnames(_this.element);
105
+ _this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
105
106
  _this._options = options;
106
107
  if (!options.components) {
107
108
  options.components = {};
@@ -191,6 +192,13 @@ var PaneviewComponent = /** @class */ (function (_super) {
191
192
  //noop
192
193
  };
193
194
  PaneviewComponent.prototype.updateOptions = function (options) {
195
+ var _a, _b;
196
+ if ('className' in options) {
197
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
198
+ }
199
+ if ('disableResizing' in options) {
200
+ this.disableResizing = (_b = options.disableAutoResizing) !== null && _b !== void 0 ? _b : false;
201
+ }
194
202
  this._options = __assign(__assign({}, this.options), options);
195
203
  };
196
204
  PaneviewComponent.prototype.addPanel = function (options) {
@@ -1,5 +1,5 @@
1
1
  import { IDisposable } from '../lifecycle';
2
- import { IView, LayoutPriority, Orientation, Sizing, Splitview } from './splitview';
2
+ import { IView, LayoutPriority, Orientation, Sizing, Splitview, SplitViewOptions } from './splitview';
3
3
  import { SplitviewComponentOptions } from './options';
4
4
  import { BaseComponentOptions, Parameters } from '../panel/types';
5
5
  import { Event } from '../events';
@@ -31,7 +31,6 @@ export interface AddSplitviewComponentOptions<T extends Parameters = Parameters>
31
31
  minimumSize?: number;
32
32
  maximumSize?: number;
33
33
  }
34
- export type SplitviewComponentUpdateOptions = Pick<SplitviewComponentOptions, 'orientation' | 'components' | 'frameworkComponents'>;
35
34
  export interface ISplitviewComponent extends IDisposable {
36
35
  readonly minimumSize: number;
37
36
  readonly maximumSize: number;
@@ -43,7 +42,7 @@ export interface ISplitviewComponent extends IDisposable {
43
42
  readonly onDidRemoveView: Event<IView>;
44
43
  readonly onDidLayoutFromJSON: Event<void>;
45
44
  readonly panels: SplitviewPanel[];
46
- updateOptions(options: Partial<SplitviewComponentUpdateOptions>): void;
45
+ updateOptions(options: Partial<SplitViewOptions>): void;
47
46
  addPanel<T extends object = Parameters>(options: AddSplitviewComponentOptions<T>): ISplitviewPanel;
48
47
  layout(width: number, height: number): void;
49
48
  onDidLayoutChange: Event<void>;
@@ -73,6 +72,7 @@ export declare class SplitviewComponent extends Resizable implements ISplitviewC
73
72
  readonly onDidRemoveView: Event<IView>;
74
73
  private readonly _onDidLayoutChange;
75
74
  readonly onDidLayoutChange: Event<void>;
75
+ private readonly _classNames;
76
76
  get panels(): SplitviewPanel[];
77
77
  get options(): SplitviewComponentOptions;
78
78
  get length(): number;
@@ -84,7 +84,7 @@ export declare class SplitviewComponent extends Resizable implements ISplitviewC
84
84
  get height(): number;
85
85
  get width(): number;
86
86
  constructor(parentElement: HTMLElement, options: SplitviewComponentOptions);
87
- updateOptions(options: Partial<SplitviewComponentUpdateOptions>): void;
87
+ updateOptions(options: Partial<SplitviewComponentOptions>): void;
88
88
  focus(): void;
89
89
  movePanel(from: number, to: number): void;
90
90
  setVisible(panel: SplitviewPanel, visible: boolean): void;
@@ -59,12 +59,14 @@ var splitview_1 = require("./splitview");
59
59
  var events_1 = require("../events");
60
60
  var componentFactory_1 = require("../panel/componentFactory");
61
61
  var resizable_1 = require("../resizable");
62
+ var dom_1 = require("../dom");
62
63
  /**
63
64
  * A high-level implementation of splitview that works using 'panels'
64
65
  */
65
66
  var SplitviewComponent = /** @class */ (function (_super) {
66
67
  __extends(SplitviewComponent, _super);
67
68
  function SplitviewComponent(parentElement, options) {
69
+ var _a;
68
70
  var _this = _super.call(this, parentElement, options.disableAutoResizing) || this;
69
71
  _this._splitviewChangeDisposable = new lifecycle_1.MutableDisposable();
70
72
  _this._panels = new Map();
@@ -76,9 +78,8 @@ var SplitviewComponent = /** @class */ (function (_super) {
76
78
  _this.onDidRemoveView = _this._onDidRemoveView.event;
77
79
  _this._onDidLayoutChange = new events_1.Emitter();
78
80
  _this.onDidLayoutChange = _this._onDidLayoutChange.event;
79
- if (typeof options.className === 'string') {
80
- _this.element.classList.add(options.className);
81
- }
81
+ _this._classNames = new dom_1.Classnames(_this.element);
82
+ _this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
82
83
  _this._options = options;
83
84
  if (!options.components) {
84
85
  options.components = {};
@@ -167,12 +168,17 @@ var SplitviewComponent = /** @class */ (function (_super) {
167
168
  configurable: true
168
169
  });
169
170
  SplitviewComponent.prototype.updateOptions = function (options) {
170
- var hasOrientationChanged = typeof options.orientation === 'string' &&
171
- this.options.orientation !== options.orientation;
172
- this._options = __assign(__assign({}, this.options), options);
173
- if (hasOrientationChanged) {
171
+ var _a, _b;
172
+ if ('className' in options) {
173
+ this._classNames.setClassNames((_a = options.className) !== null && _a !== void 0 ? _a : '');
174
+ }
175
+ if ('disableResizing' in options) {
176
+ this.disableResizing = (_b = options.disableAutoResizing) !== null && _b !== void 0 ? _b : false;
177
+ }
178
+ if (typeof options.orientation === 'string') {
174
179
  this.splitview.orientation = options.orientation;
175
180
  }
181
+ this._options = __assign(__assign({}, this.options), options);
176
182
  this.splitview.layout(this.splitview.size, this.splitview.orthogonalSize);
177
183
  };
178
184
  SplitviewComponent.prototype.focus = function () {