@datagrok-libraries/dock-spawn-dg 0.1.1 → 0.1.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datagrok-libraries/dock-spawn-dg",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "A TypeScript Version of dock-spawn with changes for Datagrok",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -118,7 +118,7 @@ export class DockManager {
118
118
  return this.checkYBoundsWithinDockContainer(container, currentMousePosition, previousMousePosition, resizeNorth, resizeSouth);
119
119
  let rect = this.element.getBoundingClientRect();
120
120
  let dy = Math.floor(currentMousePosition.y - previousMousePosition.y);
121
- let topBounds = container.offsetTop + dy + rect.top < 0;
121
+ let topBounds = container.offsetTop + dy < 0;
122
122
  let bottomBounds = container.offsetTop + dy + rect.top > (window.innerHeight - 16);
123
123
  if (topBounds) {
124
124
  previousMousePosition.y = currentMousePosition.y;
@@ -156,7 +156,7 @@ export class DockManager {
156
156
 
157
157
  let rect = this.element.getBoundingClientRect();
158
158
  let dy = Math.floor(currentMousePosition.y - previousMousePosition.y);
159
- let topBounds = container.offsetTop + dy + rect.top < 0;
159
+ let topBounds = container.offsetTop + dy < 0;
160
160
  let bottomBounds = container.offsetTop + dy + rect.top > (window.innerHeight - 16);
161
161
  if (topBounds) {
162
162
  previousMousePosition.y = currentMousePosition.y;
@@ -1 +1 @@
1
- {"version":3,"file":"PanelContainer.d.ts","sourceRoot":"","sources":["PanelContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PanelContainer.d.ts","sourceRoot":"","sources":["PanelContainer.ts"],"names":[],"mappings":"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"}
@@ -383,12 +383,14 @@ export class PanelContainer {
383
383
  this.elementPanel.style.height = height + 'px';
384
384
  //if (this.elementContentContainer.parentElement != this.dockManager.config.dialogRootElement)
385
385
  // this.dockManager.config.dialogRootElement.appendChild(this.elementContentContainer);
386
- const rect = this.elementContentWrapper.getBoundingClientRect();
387
- const rootRect = this.dockManager.config.dialogRootElement.getBoundingClientRect();
388
- this.elementContentContainer.style.left = (rect.x - rootRect.x) + 'px';
389
- this.elementContentContainer.style.top = (rect.y - rootRect.y) + 'px';
390
- this.elementContentContainer.style.width = rect.width + 'px';
391
- this.elementContentContainer.style.height = rect.height + 'px';
386
+ requestAnimationFrame(() => {
387
+ const rect = this.elementContentWrapper.getBoundingClientRect();
388
+ const rootRect = this.dockManager.config.dialogRootElement.getBoundingClientRect();
389
+ this.elementContentContainer.style.left = (rect.x - rootRect.x) + 'px';
390
+ this.elementContentContainer.style.top = (rect.y - rootRect.y) + 'px';
391
+ this.elementContentContainer.style.width = rect.width + 'px';
392
+ this.elementContentContainer.style.height = rect.height + 'px';
393
+ });
392
394
  }
393
395
  setDialogPosition(x, y) {
394
396
  this.elementContentContainer.style.left = x + 'px';
@@ -482,12 +482,14 @@ export class PanelContainer implements IDockContainerWithSize {
482
482
 
483
483
  //if (this.elementContentContainer.parentElement != this.dockManager.config.dialogRootElement)
484
484
  // this.dockManager.config.dialogRootElement.appendChild(this.elementContentContainer);
485
- const rect = this.elementContentWrapper.getBoundingClientRect();
486
- const rootRect = this.dockManager.config.dialogRootElement.getBoundingClientRect();
487
- this.elementContentContainer.style.left = (rect.x - rootRect.x) + 'px';
488
- this.elementContentContainer.style.top = (rect.y - rootRect.y) + 'px';
489
- this.elementContentContainer.style.width = rect.width + 'px';
490
- this.elementContentContainer.style.height = rect.height + 'px';
485
+ requestAnimationFrame(() => {
486
+ const rect = this.elementContentWrapper.getBoundingClientRect();
487
+ const rootRect = this.dockManager.config.dialogRootElement.getBoundingClientRect();
488
+ this.elementContentContainer.style.left = (rect.x - rootRect.x) + 'px';
489
+ this.elementContentContainer.style.top = (rect.y - rootRect.y) + 'px';
490
+ this.elementContentContainer.style.width = rect.width + 'px';
491
+ this.elementContentContainer.style.height = rect.height + 'px';
492
+ });
491
493
  }
492
494
 
493
495
  setDialogPosition(x: number, y: number) {
@@ -15,6 +15,8 @@ export declare class DockSpawnTsWebcomponent extends HTMLElement {
15
15
  private initDockManager;
16
16
  set activePanelTitle(panelTitle: string);
17
17
  getElementInSlot(slot: HTMLSlotElement): HTMLElement;
18
+ saveLayout(): string;
19
+ loadLayout(layout: string): Promise<void>;
18
20
  private handleAddedChildNode;
19
21
  private handleRemovedChildNode;
20
22
  connectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DockSpawnTsWebcomponent.d.ts","sourceRoot":"","sources":["DockSpawnTsWebcomponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAavC,qBAAa,uBAAwB,SAAQ,WAAW;IAC7C,WAAW,EAAE,WAAW,CAAC;IAChC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,mBAAmB,CAA+C;IAC1E,OAAO,CAAC,QAAQ,CAAuB;;IAWvC,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,eAAe;IA6CvB,IAAW,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAM7C;IAEM,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW;IAI3D,OAAO,CAAC,oBAAoB;IAoD5B,OAAO,CAAC,sBAAsB;IAO9B,iBAAiB;IASjB,oBAAoB;IAEpB,MAAM;IAKN,qBAAqB,CAAC,kBAAkB,EAAE,WAAW,GAAG,cAAc,GAAG,QAAQ;IAOjF,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKpH,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKpI,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKrI,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKlI,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKpI,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;CAK1J"}
1
+ {"version":3,"file":"DockSpawnTsWebcomponent.d.ts","sourceRoot":"","sources":["DockSpawnTsWebcomponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAavC,qBAAa,uBAAwB,SAAQ,WAAW;IAC7C,WAAW,EAAE,WAAW,CAAC;IAChC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,mBAAmB,CAA+C;IAC1E,OAAO,CAAC,QAAQ,CAAuB;;IAWvC,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,eAAe;IA6CvB,IAAW,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAM7C;IAEM,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW;IAIpD,UAAU;IAIJ,UAAU,CAAC,MAAM,EAAE,MAAM;IAUtC,OAAO,CAAC,oBAAoB;IAsD5B,OAAO,CAAC,sBAAsB;IAO9B,iBAAiB;IASjB,oBAAoB;IAEpB,MAAM;IAKN,qBAAqB,CAAC,kBAAkB,EAAE,WAAW,GAAG,cAAc,GAAG,QAAQ;IAOjF,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKpH,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKpI,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKrI,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKlI,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;IAKpI,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO;CAK1J"}
@@ -1,3 +1,12 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import { DockManager } from "../DockManager";
2
11
  import { PanelContainer } from "../PanelContainer";
3
12
  import { PanelType } from "../enums/PanelType";
@@ -57,17 +66,17 @@ export class DockSpawnTsWebcomponent extends HTMLElement {
57
66
  }
58
67
  this.observer = new MutationObserver((mutations) => {
59
68
  mutations.forEach((mutation) => {
60
- mutation.addedNodes.forEach((node) => {
61
- this.handleAddedChildNode(node);
62
- });
63
69
  mutation.removedNodes.forEach((node) => {
64
70
  this.handleRemovedChildNode(node);
65
71
  });
72
+ mutation.addedNodes.forEach((node) => {
73
+ this.handleAddedChildNode(node);
74
+ });
66
75
  });
67
76
  });
68
77
  this.observer.observe(this, { childList: true });
69
78
  elementResized(this).pipe(debounceTime(50), takeUntil(this.destroy$)).subscribe(() => this.resize());
70
- this.dispatchEvent(new CustomEvent('manager-init-finished'));
79
+ this.dispatchEvent(new CustomEvent('manager-init-finished', { detail: this.dockManager }));
71
80
  }
72
81
  set activePanelTitle(panelTitle) {
73
82
  var _a, _b, _c, _d, _e, _f;
@@ -80,6 +89,20 @@ export class DockSpawnTsWebcomponent extends HTMLElement {
80
89
  getElementInSlot(slot) {
81
90
  return this.slotElementMap.get(slot);
82
91
  }
92
+ saveLayout() {
93
+ return this.dockManager.saveState();
94
+ }
95
+ loadLayout(layout) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ this.observer.disconnect();
98
+ const oldPanels = this.dockManager.getPanels();
99
+ yield this.dockManager.loadState(layout);
100
+ oldPanels.forEach((panel) => panel.elementContentContainer.remove());
101
+ this.dockManager.element.firstChild.remove();
102
+ this.observer.observe(this, { childList: true });
103
+ this.dockManager.invalidate();
104
+ });
105
+ }
83
106
  handleAddedChildNode(element) {
84
107
  var _a;
85
108
  if (element instanceof Comment || (element instanceof Text && element.textContent.length === 0))
@@ -126,6 +149,7 @@ export class DockSpawnTsWebcomponent extends HTMLElement {
126
149
  this.dockManager.dockFill(dockRelativeTo, container);
127
150
  if (element.style.display == 'none')
128
151
  element.style.display = 'block';
152
+ this.dispatchEvent(new CustomEvent('panel-opened', { detail: element }));
129
153
  }
130
154
  handleRemovedChildNode(element) {
131
155
  let panel = this.elementContainerMap.get(element);
@@ -72,12 +72,12 @@ export class DockSpawnTsWebcomponent extends HTMLElement {
72
72
 
73
73
  this.observer = new MutationObserver((mutations) => {
74
74
  mutations.forEach((mutation) => {
75
- mutation.addedNodes.forEach((node) => {
76
- this.handleAddedChildNode(node as HTMLElement);
77
- });
78
75
  mutation.removedNodes.forEach((node) => {
79
76
  this.handleRemovedChildNode(node as HTMLElement);
80
77
  });
78
+ mutation.addedNodes.forEach((node) => {
79
+ this.handleAddedChildNode(node as HTMLElement);
80
+ });
81
81
  });
82
82
  });
83
83
  this.observer.observe(this, {childList: true});
@@ -86,7 +86,7 @@ export class DockSpawnTsWebcomponent extends HTMLElement {
86
86
  debounceTime(50),
87
87
  takeUntil(this.destroy$)
88
88
  ).subscribe(() => this.resize());
89
- this.dispatchEvent(new CustomEvent('manager-init-finished'));
89
+ this.dispatchEvent(new CustomEvent('manager-init-finished', {detail: this.dockManager}));
90
90
  }
91
91
 
92
92
  public set activePanelTitle(panelTitle: string) {
@@ -101,6 +101,20 @@ export class DockSpawnTsWebcomponent extends HTMLElement {
101
101
  return this.slotElementMap.get(slot);
102
102
  }
103
103
 
104
+ public saveLayout() {
105
+ return this.dockManager.saveState();
106
+ }
107
+
108
+ public async loadLayout(layout: string) {
109
+ this.observer.disconnect();
110
+ const oldPanels = this.dockManager.getPanels();
111
+ await this.dockManager.loadState(layout);
112
+ oldPanels.forEach((panel) => panel.elementContentContainer.remove());
113
+ this.dockManager.element.firstChild.remove();
114
+ this.observer.observe(this, { childList: true });
115
+ this.dockManager.invalidate();
116
+ }
117
+
104
118
  private handleAddedChildNode(element: HTMLElement) {
105
119
  if (element instanceof Comment || (element instanceof Text && element.textContent.length === 0)) return;
106
120
 
@@ -151,6 +165,8 @@ export class DockSpawnTsWebcomponent extends HTMLElement {
151
165
 
152
166
  if ((<HTMLElement>element).style.display == 'none')
153
167
  (<HTMLElement>element).style.display = 'block';
168
+
169
+ this.dispatchEvent(new CustomEvent('panel-opened', {detail: element}));
154
170
  }
155
171
 
156
172
  private handleRemovedChildNode(element: HTMLElement) {