dockview-angular 0.0.0-beta-0 → 0.0.0-experimental-4e3871a-20251228

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 +256 -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 +35 -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 +140 -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 +166 -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 +140 -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 +70 -0
  30. package/dist/cjs/lib/utils/component-factory.d.ts +20 -0
  31. package/dist/cjs/lib/utils/component-factory.js +103 -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 +7677 -3744
  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 +7688 -3755
  43. package/dist/dockview-angular.amd.noStyle.js.map +1 -1
  44. package/dist/dockview-angular.cjs.js +6703 -2766
  45. package/dist/dockview-angular.cjs.js.map +1 -1
  46. package/dist/dockview-angular.esm.js +7649 -3733
  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 +7680 -3747
  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 +7691 -3758
  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 +253 -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 +32 -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 +137 -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 +163 -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 +137 -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 +66 -0
  87. package/dist/esm/lib/utils/component-factory.d.ts +20 -0
  88. package/dist/esm/lib/utils/component-factory.js +99 -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 +67 -58
  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,70 @@
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
+ // If already initialized, just update the parameters
19
+ if (this.componentRef) {
20
+ this.update(parameters);
21
+ }
22
+ else {
23
+ this.render(parameters);
24
+ }
25
+ }
26
+ update(params) {
27
+ if (this.componentRef) {
28
+ Object.keys(params).forEach(key => {
29
+ // Use 'in' operator instead of hasOwnProperty to support getter/setter properties
30
+ if (key in this.componentRef.instance) {
31
+ this.componentRef.instance[key] = params[key];
32
+ }
33
+ });
34
+ this.componentRef.changeDetectorRef.detectChanges();
35
+ }
36
+ }
37
+ render(parameters) {
38
+ try {
39
+ // Create the component using modern Angular API
40
+ this.componentRef = (0, core_1.createComponent)(this.options.component, {
41
+ environmentInjector: this.options.environmentInjector || this.options.injector,
42
+ elementInjector: this.options.injector
43
+ });
44
+ // Set initial parameters
45
+ Object.keys(parameters).forEach(key => {
46
+ // Use 'in' operator instead of hasOwnProperty to support getter/setter properties
47
+ if (key in this.componentRef.instance) {
48
+ this.componentRef.instance[key] = parameters[key];
49
+ }
50
+ });
51
+ // Get the DOM element
52
+ const hostView = this.componentRef.hostView;
53
+ this._element = hostView.rootNodes[0];
54
+ // Trigger change detection
55
+ this.componentRef.changeDetectorRef.detectChanges();
56
+ }
57
+ catch (error) {
58
+ console.error('Error creating Angular component:', error);
59
+ throw error;
60
+ }
61
+ }
62
+ dispose() {
63
+ if (this.componentRef) {
64
+ this.componentRef.destroy();
65
+ this.componentRef = null;
66
+ }
67
+ this._element = null;
68
+ }
69
+ }
70
+ 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,103 @@
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
+ // Initialize with empty props - dockview-core will call init() again with actual IGroupHeaderProps
99
+ renderer.init({});
100
+ return renderer;
101
+ }
102
+ }
103
+ 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);