dockview-angular 0.0.0-beta-0 → 4.9.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 (98) hide show
  1. package/README.md +56 -56
  2. package/dist/cjs/index.d.ts +1 -1
  3. package/dist/cjs/index.js +1 -1
  4. package/dist/cjs/lib/dockview/dockview-angular.component.d.ts +49 -0
  5. package/dist/cjs/lib/dockview/dockview-angular.component.js +255 -0
  6. package/dist/cjs/lib/dockview/types.d.ts +27 -0
  7. package/dist/cjs/lib/dockview/types.js +8 -0
  8. package/dist/cjs/lib/dockview-angular.module.d.ts +2 -0
  9. package/dist/cjs/lib/dockview-angular.module.js +37 -0
  10. package/dist/cjs/lib/gridview/angular-gridview-panel.d.ts +9 -0
  11. package/dist/cjs/lib/gridview/angular-gridview-panel.js +21 -0
  12. package/dist/cjs/lib/gridview/gridview-angular.component.d.ts +28 -0
  13. package/dist/cjs/lib/gridview/gridview-angular.component.js +139 -0
  14. package/dist/cjs/lib/gridview/types.d.ts +12 -0
  15. package/dist/cjs/lib/gridview/types.js +6 -0
  16. package/dist/cjs/lib/paneview/angular-pane-part.d.ts +13 -0
  17. package/dist/cjs/lib/paneview/angular-pane-part.js +29 -0
  18. package/dist/cjs/lib/paneview/paneview-angular.component.d.ts +31 -0
  19. package/dist/cjs/lib/paneview/paneview-angular.component.js +165 -0
  20. package/dist/cjs/lib/paneview/types.d.ts +14 -0
  21. package/dist/cjs/lib/paneview/types.js +6 -0
  22. package/dist/cjs/lib/splitview/angular-splitview-panel.d.ts +9 -0
  23. package/dist/cjs/lib/splitview/angular-splitview-panel.js +21 -0
  24. package/dist/cjs/lib/splitview/splitview-angular.component.d.ts +28 -0
  25. package/dist/cjs/lib/splitview/splitview-angular.component.js +139 -0
  26. package/dist/cjs/lib/splitview/types.d.ts +12 -0
  27. package/dist/cjs/lib/splitview/types.js +6 -0
  28. package/dist/cjs/lib/utils/angular-renderer.d.ts +18 -0
  29. package/dist/cjs/lib/utils/angular-renderer.js +62 -0
  30. package/dist/cjs/lib/utils/component-factory.d.ts +20 -0
  31. package/dist/cjs/lib/utils/component-factory.js +102 -0
  32. package/dist/cjs/lib/utils/lifecycle-utils.d.ts +18 -0
  33. package/dist/cjs/lib/utils/lifecycle-utils.js +74 -0
  34. package/dist/cjs/public-api.d.ts +13 -0
  35. package/dist/cjs/public-api.js +32 -0
  36. package/dist/dockview-angular.amd.js +7147 -3385
  37. package/dist/dockview-angular.amd.js.map +1 -1
  38. package/dist/dockview-angular.amd.min.js +2 -2
  39. package/dist/dockview-angular.amd.min.js.map +1 -1
  40. package/dist/dockview-angular.amd.min.noStyle.js +2 -2
  41. package/dist/dockview-angular.amd.min.noStyle.js.map +1 -1
  42. package/dist/dockview-angular.amd.noStyle.js +7146 -3384
  43. package/dist/dockview-angular.amd.noStyle.js.map +1 -1
  44. package/dist/dockview-angular.cjs.js +7130 -3364
  45. package/dist/dockview-angular.cjs.js.map +1 -1
  46. package/dist/dockview-angular.esm.js +7114 -3368
  47. package/dist/dockview-angular.esm.js.map +1 -1
  48. package/dist/dockview-angular.esm.min.js +2 -2
  49. package/dist/dockview-angular.esm.min.js.map +1 -1
  50. package/dist/dockview-angular.js +7150 -3388
  51. package/dist/dockview-angular.js.map +1 -1
  52. package/dist/dockview-angular.min.js +2 -2
  53. package/dist/dockview-angular.min.js.map +1 -1
  54. package/dist/dockview-angular.min.noStyle.js +2 -2
  55. package/dist/dockview-angular.min.noStyle.js.map +1 -1
  56. package/dist/dockview-angular.noStyle.js +7149 -3387
  57. package/dist/dockview-angular.noStyle.js.map +1 -1
  58. package/dist/dockview.css +1229 -0
  59. package/dist/esm/index.d.ts +1 -1
  60. package/dist/esm/index.js +1 -1
  61. package/dist/esm/lib/dockview/dockview-angular.component.d.ts +49 -0
  62. package/dist/esm/lib/dockview/dockview-angular.component.js +252 -0
  63. package/dist/esm/lib/dockview/types.d.ts +27 -0
  64. package/dist/esm/lib/dockview/types.js +2 -0
  65. package/dist/esm/lib/dockview-angular.module.d.ts +2 -0
  66. package/dist/esm/lib/dockview-angular.module.js +34 -0
  67. package/dist/esm/lib/gridview/angular-gridview-panel.d.ts +9 -0
  68. package/dist/esm/lib/gridview/angular-gridview-panel.js +17 -0
  69. package/dist/esm/lib/gridview/gridview-angular.component.d.ts +28 -0
  70. package/dist/esm/lib/gridview/gridview-angular.component.js +136 -0
  71. package/dist/esm/lib/gridview/types.d.ts +12 -0
  72. package/dist/esm/lib/gridview/types.js +2 -0
  73. package/dist/esm/lib/paneview/angular-pane-part.d.ts +13 -0
  74. package/dist/esm/lib/paneview/angular-pane-part.js +25 -0
  75. package/dist/esm/lib/paneview/paneview-angular.component.d.ts +31 -0
  76. package/dist/esm/lib/paneview/paneview-angular.component.js +162 -0
  77. package/dist/esm/lib/paneview/types.d.ts +14 -0
  78. package/dist/esm/lib/paneview/types.js +2 -0
  79. package/dist/esm/lib/splitview/angular-splitview-panel.d.ts +9 -0
  80. package/dist/esm/lib/splitview/angular-splitview-panel.js +17 -0
  81. package/dist/esm/lib/splitview/splitview-angular.component.d.ts +28 -0
  82. package/dist/esm/lib/splitview/splitview-angular.component.js +136 -0
  83. package/dist/esm/lib/splitview/types.d.ts +12 -0
  84. package/dist/esm/lib/splitview/types.js +2 -0
  85. package/dist/esm/lib/utils/angular-renderer.d.ts +18 -0
  86. package/dist/esm/lib/utils/angular-renderer.js +58 -0
  87. package/dist/esm/lib/utils/component-factory.d.ts +20 -0
  88. package/dist/esm/lib/utils/component-factory.js +98 -0
  89. package/dist/esm/lib/utils/lifecycle-utils.d.ts +18 -0
  90. package/dist/esm/lib/utils/lifecycle-utils.js +68 -0
  91. package/dist/esm/public-api.d.ts +13 -0
  92. package/dist/esm/public-api.js +16 -0
  93. package/package.json +21 -12
  94. package/dist/cjs/utils.d.ts +0 -49
  95. package/dist/cjs/utils.js +0 -141
  96. package/dist/esm/utils.d.ts +0 -49
  97. package/dist/esm/utils.js +0 -119
  98. package/dist/styles/dockview.css +0 -0
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AngularRenderer = void 0;
4
+ const core_1 = require("@angular/core");
5
+ class AngularRenderer {
6
+ constructor(options) {
7
+ this.options = options;
8
+ this.componentRef = null;
9
+ this._element = null;
10
+ }
11
+ get element() {
12
+ if (!this._element) {
13
+ throw new Error('Angular renderer not initialized');
14
+ }
15
+ return this._element;
16
+ }
17
+ init(parameters) {
18
+ this.render(parameters);
19
+ }
20
+ update(params) {
21
+ if (this.componentRef) {
22
+ Object.keys(params).forEach(key => {
23
+ if (this.componentRef.instance.hasOwnProperty(key)) {
24
+ this.componentRef.instance[key] = params[key];
25
+ }
26
+ });
27
+ this.componentRef.changeDetectorRef.detectChanges();
28
+ }
29
+ }
30
+ render(parameters) {
31
+ try {
32
+ // Create the component using modern Angular API
33
+ this.componentRef = (0, core_1.createComponent)(this.options.component, {
34
+ environmentInjector: this.options.environmentInjector || this.options.injector,
35
+ elementInjector: this.options.injector
36
+ });
37
+ // Set initial parameters
38
+ Object.keys(parameters).forEach(key => {
39
+ if (this.componentRef.instance.hasOwnProperty(key)) {
40
+ this.componentRef.instance[key] = parameters[key];
41
+ }
42
+ });
43
+ // Get the DOM element
44
+ const hostView = this.componentRef.hostView;
45
+ this._element = hostView.rootNodes[0];
46
+ // Trigger change detection
47
+ this.componentRef.changeDetectorRef.detectChanges();
48
+ }
49
+ catch (error) {
50
+ console.error('Error creating Angular component:', error);
51
+ throw error;
52
+ }
53
+ }
54
+ dispose() {
55
+ if (this.componentRef) {
56
+ this.componentRef.destroy();
57
+ this.componentRef = null;
58
+ }
59
+ this._element = null;
60
+ }
61
+ }
62
+ exports.AngularRenderer = AngularRenderer;
@@ -0,0 +1,20 @@
1
+ import { Type, Injector, EnvironmentInjector } from '@angular/core';
2
+ import { IContentRenderer, ITabRenderer, IWatermarkRenderer, IHeaderActionsRenderer, CreateComponentOptions, GridviewPanel, SplitviewPanel, IPanePart } from 'dockview-core';
3
+ export declare class AngularFrameworkComponentFactory {
4
+ private components;
5
+ private injector;
6
+ private environmentInjector?;
7
+ private tabComponents?;
8
+ private watermarkComponent?;
9
+ private headerActionsComponents?;
10
+ private defaultTabComponent?;
11
+ constructor(components: Record<string, Type<any>>, injector: Injector, environmentInjector?: EnvironmentInjector | undefined, tabComponents?: Record<string, Type<any>> | undefined, watermarkComponent?: Type<any> | undefined, headerActionsComponents?: Record<string, Type<any>> | undefined, defaultTabComponent?: Type<any> | undefined);
12
+ createDockviewComponent(options: CreateComponentOptions): IContentRenderer;
13
+ createGridviewComponent(options: CreateComponentOptions): GridviewPanel;
14
+ createSplitviewComponent(options: CreateComponentOptions): SplitviewPanel;
15
+ createPaneviewComponent(options: CreateComponentOptions): IPanePart;
16
+ createComponent(options: CreateComponentOptions): IContentRenderer;
17
+ createTabComponent(options: CreateComponentOptions): ITabRenderer | undefined;
18
+ createWatermarkComponent(): IWatermarkRenderer;
19
+ createHeaderActionsComponent(name: string): IHeaderActionsRenderer | undefined;
20
+ }
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AngularFrameworkComponentFactory = void 0;
4
+ const angular_renderer_1 = require("./angular-renderer");
5
+ const angular_gridview_panel_1 = require("../gridview/angular-gridview-panel");
6
+ const angular_splitview_panel_1 = require("../splitview/angular-splitview-panel");
7
+ const angular_pane_part_1 = require("../paneview/angular-pane-part");
8
+ class AngularFrameworkComponentFactory {
9
+ constructor(components, injector, environmentInjector, tabComponents, watermarkComponent, headerActionsComponents, defaultTabComponent) {
10
+ this.components = components;
11
+ this.injector = injector;
12
+ this.environmentInjector = environmentInjector;
13
+ this.tabComponents = tabComponents;
14
+ this.watermarkComponent = watermarkComponent;
15
+ this.headerActionsComponents = headerActionsComponents;
16
+ this.defaultTabComponent = defaultTabComponent;
17
+ }
18
+ // For DockviewComponent
19
+ createDockviewComponent(options) {
20
+ const component = this.components[options.name];
21
+ if (!component) {
22
+ throw new Error(`Component '${options.name}' not found in component registry`);
23
+ }
24
+ const renderer = new angular_renderer_1.AngularRenderer({
25
+ component,
26
+ injector: this.injector,
27
+ environmentInjector: this.environmentInjector
28
+ });
29
+ renderer.init(options);
30
+ return renderer;
31
+ }
32
+ // For GridviewComponent
33
+ createGridviewComponent(options) {
34
+ const component = this.components[options.name];
35
+ if (!component) {
36
+ throw new Error(`Component '${options.name}' not found in component registry`);
37
+ }
38
+ return new angular_gridview_panel_1.AngularGridviewPanel(options.id, options.name, component, this.injector, this.environmentInjector);
39
+ }
40
+ // For SplitviewComponent
41
+ createSplitviewComponent(options) {
42
+ const component = this.components[options.name];
43
+ if (!component) {
44
+ throw new Error(`Component '${options.name}' not found in component registry`);
45
+ }
46
+ return new angular_splitview_panel_1.AngularSplitviewPanel(options.id, options.name, component, this.injector, this.environmentInjector);
47
+ }
48
+ // For PaneviewComponent
49
+ createPaneviewComponent(options) {
50
+ const component = this.components[options.name];
51
+ if (!component) {
52
+ throw new Error(`Component '${options.name}' not found in component registry`);
53
+ }
54
+ return new angular_pane_part_1.AngularPanePart(component, this.injector, this.environmentInjector);
55
+ }
56
+ // Legacy method for backward compatibility
57
+ createComponent(options) {
58
+ return this.createDockviewComponent(options);
59
+ }
60
+ createTabComponent(options) {
61
+ let component = this.tabComponents?.[options.name];
62
+ if (!component && this.defaultTabComponent) {
63
+ component = this.defaultTabComponent;
64
+ }
65
+ if (!component) {
66
+ return undefined;
67
+ }
68
+ const renderer = new angular_renderer_1.AngularRenderer({
69
+ component,
70
+ injector: this.injector,
71
+ environmentInjector: this.environmentInjector
72
+ });
73
+ renderer.init(options);
74
+ return renderer;
75
+ }
76
+ createWatermarkComponent() {
77
+ if (!this.watermarkComponent) {
78
+ throw new Error('Watermark component not provided');
79
+ }
80
+ const renderer = new angular_renderer_1.AngularRenderer({
81
+ component: this.watermarkComponent,
82
+ injector: this.injector,
83
+ environmentInjector: this.environmentInjector
84
+ });
85
+ renderer.init({});
86
+ return renderer;
87
+ }
88
+ createHeaderActionsComponent(name) {
89
+ const component = this.headerActionsComponents?.[name];
90
+ if (!component) {
91
+ return undefined;
92
+ }
93
+ const renderer = new angular_renderer_1.AngularRenderer({
94
+ component,
95
+ injector: this.injector,
96
+ environmentInjector: this.environmentInjector
97
+ });
98
+ renderer.init({});
99
+ return renderer;
100
+ }
101
+ }
102
+ exports.AngularFrameworkComponentFactory = AngularFrameworkComponentFactory;
@@ -0,0 +1,18 @@
1
+ import { Observable } from 'rxjs';
2
+ import { DockviewIDisposable } from 'dockview-core';
3
+ export declare class AngularDisposable implements DockviewIDisposable {
4
+ private _isDisposed;
5
+ private disposeCallbacks;
6
+ get isDisposed(): boolean;
7
+ addDisposeCallback(callback: () => void): void;
8
+ dispose(): void;
9
+ }
10
+ export declare class AngularLifecycleManager {
11
+ private destroySubject;
12
+ private disposables;
13
+ get destroy$(): Observable<void>;
14
+ addDisposable(disposable: DockviewIDisposable): void;
15
+ takeUntilDestroy<T>(): (source: Observable<T>) => Observable<T>;
16
+ destroy(): void;
17
+ }
18
+ export declare function createAngularDisposable(disposeCallback?: () => void): AngularDisposable;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAngularDisposable = exports.AngularLifecycleManager = exports.AngularDisposable = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const operators_1 = require("rxjs/operators");
6
+ class AngularDisposable {
7
+ constructor() {
8
+ this._isDisposed = false;
9
+ this.disposeCallbacks = [];
10
+ }
11
+ get isDisposed() {
12
+ return this._isDisposed;
13
+ }
14
+ addDisposeCallback(callback) {
15
+ if (this._isDisposed) {
16
+ callback();
17
+ return;
18
+ }
19
+ this.disposeCallbacks.push(callback);
20
+ }
21
+ dispose() {
22
+ if (this._isDisposed) {
23
+ return;
24
+ }
25
+ this._isDisposed = true;
26
+ this.disposeCallbacks.forEach(callback => {
27
+ try {
28
+ callback();
29
+ }
30
+ catch (error) {
31
+ console.error('Error in dispose callback:', error);
32
+ }
33
+ });
34
+ this.disposeCallbacks = [];
35
+ }
36
+ }
37
+ exports.AngularDisposable = AngularDisposable;
38
+ class AngularLifecycleManager {
39
+ constructor() {
40
+ this.destroySubject = new rxjs_1.Subject();
41
+ this.disposables = [];
42
+ }
43
+ get destroy$() {
44
+ return this.destroySubject.asObservable();
45
+ }
46
+ addDisposable(disposable) {
47
+ this.disposables.push(disposable);
48
+ }
49
+ takeUntilDestroy() {
50
+ return (0, operators_1.takeUntil)(this.destroySubject);
51
+ }
52
+ destroy() {
53
+ this.destroySubject.next();
54
+ this.destroySubject.complete();
55
+ this.disposables.forEach(disposable => {
56
+ try {
57
+ disposable.dispose();
58
+ }
59
+ catch (error) {
60
+ console.error('Error disposing resource:', error);
61
+ }
62
+ });
63
+ this.disposables = [];
64
+ }
65
+ }
66
+ exports.AngularLifecycleManager = AngularLifecycleManager;
67
+ function createAngularDisposable(disposeCallback) {
68
+ const disposable = new AngularDisposable();
69
+ if (disposeCallback) {
70
+ disposable.addDisposeCallback(disposeCallback);
71
+ }
72
+ return disposable;
73
+ }
74
+ exports.createAngularDisposable = createAngularDisposable;
@@ -0,0 +1,13 @@
1
+ export * from 'dockview-core';
2
+ export * from './lib/dockview-angular.module';
3
+ export * from './lib/dockview/dockview-angular.component';
4
+ export * from './lib/gridview/gridview-angular.component';
5
+ export * from './lib/paneview/paneview-angular.component';
6
+ export * from './lib/splitview/splitview-angular.component';
7
+ export { DockviewAngularOptions, DockviewAngularEvents, IDockviewAngularPanelProps, IDockviewAngularPanelHeaderProps, IDockviewAngularWatermarkProps, IDockviewAngularHeaderActionsProps, DockviewAngularComponentOptions } from './lib/dockview/types';
8
+ export { GridviewAngularOptions, GridviewAngularEvents, GridviewAngularReadyEvent } from './lib/gridview/types';
9
+ export { PaneviewAngularOptions, PaneviewAngularEvents, PaneviewAngularReadyEvent } from './lib/paneview/types';
10
+ export { SplitviewAngularOptions, SplitviewAngularEvents, SplitviewAngularReadyEvent } from './lib/splitview/types';
11
+ export * from './lib/utils/angular-renderer';
12
+ export * from './lib/utils/component-factory';
13
+ export * from './lib/utils/lifecycle-utils';
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /*
3
+ * Public API Surface of dockview-angular
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ // Re-export everything from dockview-core
21
+ __exportStar(require("dockview-core"), exports);
22
+ // Angular module
23
+ __exportStar(require("./lib/dockview-angular.module"), exports);
24
+ // Components
25
+ __exportStar(require("./lib/dockview/dockview-angular.component"), exports);
26
+ __exportStar(require("./lib/gridview/gridview-angular.component"), exports);
27
+ __exportStar(require("./lib/paneview/paneview-angular.component"), exports);
28
+ __exportStar(require("./lib/splitview/splitview-angular.component"), exports);
29
+ // Utilities
30
+ __exportStar(require("./lib/utils/angular-renderer"), exports);
31
+ __exportStar(require("./lib/utils/component-factory"), exports);
32
+ __exportStar(require("./lib/utils/lifecycle-utils"), exports);