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.
- package/README.md +56 -56
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/lib/dockview/dockview-angular.component.d.ts +49 -0
- package/dist/cjs/lib/dockview/dockview-angular.component.js +256 -0
- package/dist/cjs/lib/dockview/types.d.ts +27 -0
- package/dist/cjs/lib/dockview/types.js +8 -0
- package/dist/cjs/lib/dockview-angular.module.d.ts +2 -0
- package/dist/cjs/lib/dockview-angular.module.js +35 -0
- package/dist/cjs/lib/gridview/angular-gridview-panel.d.ts +9 -0
- package/dist/cjs/lib/gridview/angular-gridview-panel.js +21 -0
- package/dist/cjs/lib/gridview/gridview-angular.component.d.ts +28 -0
- package/dist/cjs/lib/gridview/gridview-angular.component.js +140 -0
- package/dist/cjs/lib/gridview/types.d.ts +12 -0
- package/dist/cjs/lib/gridview/types.js +6 -0
- package/dist/cjs/lib/paneview/angular-pane-part.d.ts +13 -0
- package/dist/cjs/lib/paneview/angular-pane-part.js +29 -0
- package/dist/cjs/lib/paneview/paneview-angular.component.d.ts +31 -0
- package/dist/cjs/lib/paneview/paneview-angular.component.js +166 -0
- package/dist/cjs/lib/paneview/types.d.ts +14 -0
- package/dist/cjs/lib/paneview/types.js +6 -0
- package/dist/cjs/lib/splitview/angular-splitview-panel.d.ts +9 -0
- package/dist/cjs/lib/splitview/angular-splitview-panel.js +21 -0
- package/dist/cjs/lib/splitview/splitview-angular.component.d.ts +28 -0
- package/dist/cjs/lib/splitview/splitview-angular.component.js +140 -0
- package/dist/cjs/lib/splitview/types.d.ts +12 -0
- package/dist/cjs/lib/splitview/types.js +6 -0
- package/dist/cjs/lib/utils/angular-renderer.d.ts +18 -0
- package/dist/cjs/lib/utils/angular-renderer.js +70 -0
- package/dist/cjs/lib/utils/component-factory.d.ts +20 -0
- package/dist/cjs/lib/utils/component-factory.js +103 -0
- package/dist/cjs/lib/utils/lifecycle-utils.d.ts +18 -0
- package/dist/cjs/lib/utils/lifecycle-utils.js +74 -0
- package/dist/cjs/public-api.d.ts +13 -0
- package/dist/cjs/public-api.js +32 -0
- package/dist/dockview-angular.amd.js +7677 -3744
- package/dist/dockview-angular.amd.js.map +1 -1
- package/dist/dockview-angular.amd.min.js +2 -2
- package/dist/dockview-angular.amd.min.js.map +1 -1
- package/dist/dockview-angular.amd.min.noStyle.js +2 -2
- package/dist/dockview-angular.amd.min.noStyle.js.map +1 -1
- package/dist/dockview-angular.amd.noStyle.js +7688 -3755
- package/dist/dockview-angular.amd.noStyle.js.map +1 -1
- package/dist/dockview-angular.cjs.js +6703 -2766
- package/dist/dockview-angular.cjs.js.map +1 -1
- package/dist/dockview-angular.esm.js +7649 -3733
- package/dist/dockview-angular.esm.js.map +1 -1
- package/dist/dockview-angular.esm.min.js +2 -2
- package/dist/dockview-angular.esm.min.js.map +1 -1
- package/dist/dockview-angular.js +7680 -3747
- package/dist/dockview-angular.js.map +1 -1
- package/dist/dockview-angular.min.js +2 -2
- package/dist/dockview-angular.min.js.map +1 -1
- package/dist/dockview-angular.min.noStyle.js +2 -2
- package/dist/dockview-angular.min.noStyle.js.map +1 -1
- package/dist/dockview-angular.noStyle.js +7691 -3758
- package/dist/dockview-angular.noStyle.js.map +1 -1
- package/dist/dockview.css +1229 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/lib/dockview/dockview-angular.component.d.ts +49 -0
- package/dist/esm/lib/dockview/dockview-angular.component.js +253 -0
- package/dist/esm/lib/dockview/types.d.ts +27 -0
- package/dist/esm/lib/dockview/types.js +2 -0
- package/dist/esm/lib/dockview-angular.module.d.ts +2 -0
- package/dist/esm/lib/dockview-angular.module.js +32 -0
- package/dist/esm/lib/gridview/angular-gridview-panel.d.ts +9 -0
- package/dist/esm/lib/gridview/angular-gridview-panel.js +17 -0
- package/dist/esm/lib/gridview/gridview-angular.component.d.ts +28 -0
- package/dist/esm/lib/gridview/gridview-angular.component.js +137 -0
- package/dist/esm/lib/gridview/types.d.ts +12 -0
- package/dist/esm/lib/gridview/types.js +2 -0
- package/dist/esm/lib/paneview/angular-pane-part.d.ts +13 -0
- package/dist/esm/lib/paneview/angular-pane-part.js +25 -0
- package/dist/esm/lib/paneview/paneview-angular.component.d.ts +31 -0
- package/dist/esm/lib/paneview/paneview-angular.component.js +163 -0
- package/dist/esm/lib/paneview/types.d.ts +14 -0
- package/dist/esm/lib/paneview/types.js +2 -0
- package/dist/esm/lib/splitview/angular-splitview-panel.d.ts +9 -0
- package/dist/esm/lib/splitview/angular-splitview-panel.js +17 -0
- package/dist/esm/lib/splitview/splitview-angular.component.d.ts +28 -0
- package/dist/esm/lib/splitview/splitview-angular.component.js +137 -0
- package/dist/esm/lib/splitview/types.d.ts +12 -0
- package/dist/esm/lib/splitview/types.js +2 -0
- package/dist/esm/lib/utils/angular-renderer.d.ts +18 -0
- package/dist/esm/lib/utils/angular-renderer.js +66 -0
- package/dist/esm/lib/utils/component-factory.d.ts +20 -0
- package/dist/esm/lib/utils/component-factory.js +99 -0
- package/dist/esm/lib/utils/lifecycle-utils.d.ts +18 -0
- package/dist/esm/lib/utils/lifecycle-utils.js +68 -0
- package/dist/esm/public-api.d.ts +13 -0
- package/dist/esm/public-api.js +16 -0
- package/package.json +67 -58
- package/dist/cjs/utils.d.ts +0 -49
- package/dist/cjs/utils.js +0 -141
- package/dist/esm/utils.d.ts +0 -49
- package/dist/esm/utils.js +0 -119
- package/dist/styles/dockview.css +0 -0
package/README.md
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
<h1>dockview</h1>
|
|
3
|
-
|
|
4
|
-
<p>Zero dependency layout manager supporting tabs, groups, grids and splitviews with ReactJS support written in TypeScript</p>
|
|
5
|
-
|
|
6
|
-
</div>
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
[](https://www.npmjs.com/package/dockview)
|
|
11
|
-
[](https://www.npmjs.com/package/dockview)
|
|
12
|
-
[](https://github.com/mathuo/dockview/actions?query=workflow%3ACI)
|
|
13
|
-
[](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
|
|
14
|
-
[](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
|
|
15
|
-
[](https://bundlephobia.com/result?p=dockview)
|
|
16
|
-
|
|
17
|
-
##
|
|
18
|
-
|
|
19
|
-
Please see the website: https://dockview.dev
|
|
20
|
-
|
|
21
|
-
## Features
|
|
22
|
-
|
|
23
|
-
- Serialization / deserialization with full layout management
|
|
24
|
-
- Support for split-views, grid-views and 'dockable' views
|
|
25
|
-
- Themeable and customizable
|
|
26
|
-
- Tab and Group docking / Drag n' Drop
|
|
27
|
-
- Popout Windows
|
|
28
|
-
- Floating Groups
|
|
29
|
-
- Extensive API
|
|
30
|
-
- Supports Shadow DOMs
|
|
31
|
-
- High test coverage
|
|
32
|
-
- Documentation website with live examples
|
|
33
|
-
- Transparent builds and Code Analysis
|
|
34
|
-
- Security at mind - verifed publishing and builds through GitHub Actions
|
|
35
|
-
|
|
36
|
-
Want to verify our builds? Go [here](https://www.npmjs.com/package/dockview#Provenance).
|
|
37
|
-
|
|
38
|
-
## Quick start
|
|
39
|
-
|
|
40
|
-
Dockview has a peer dependency on `react >= 16.8.0` and `react-dom >= 16.8.0`. You can install dockview from [npm](https://www.npmjs.com/package/dockview).
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
npm install --save dockview
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Within your project you must import or reference the stylesheet at `dockview/dist/styles/dockview.css` and attach a theme.
|
|
47
|
-
|
|
48
|
-
```css
|
|
49
|
-
@import '~dockview/dist/styles/dockview.css';
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
You should also attach a dockview theme to an element containing your components. For example:
|
|
53
|
-
|
|
54
|
-
```html
|
|
55
|
-
<body classname="dockview-theme-dark"></body>
|
|
56
|
-
```
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>dockview</h1>
|
|
3
|
+
|
|
4
|
+
<p>Zero dependency layout manager supporting tabs, groups, grids and splitviews with ReactJS support written in TypeScript</p>
|
|
5
|
+
|
|
6
|
+
</div>
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
[](https://www.npmjs.com/package/dockview)
|
|
11
|
+
[](https://www.npmjs.com/package/dockview)
|
|
12
|
+
[](https://github.com/mathuo/dockview/actions?query=workflow%3ACI)
|
|
13
|
+
[](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
|
|
14
|
+
[](https://sonarcloud.io/summary/overall?id=mathuo_dockview)
|
|
15
|
+
[](https://bundlephobia.com/result?p=dockview)
|
|
16
|
+
|
|
17
|
+
##
|
|
18
|
+
|
|
19
|
+
Please see the website: https://dockview.dev
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
- Serialization / deserialization with full layout management
|
|
24
|
+
- Support for split-views, grid-views and 'dockable' views
|
|
25
|
+
- Themeable and customizable
|
|
26
|
+
- Tab and Group docking / Drag n' Drop
|
|
27
|
+
- Popout Windows
|
|
28
|
+
- Floating Groups
|
|
29
|
+
- Extensive API
|
|
30
|
+
- Supports Shadow DOMs
|
|
31
|
+
- High test coverage
|
|
32
|
+
- Documentation website with live examples
|
|
33
|
+
- Transparent builds and Code Analysis
|
|
34
|
+
- Security at mind - verifed publishing and builds through GitHub Actions
|
|
35
|
+
|
|
36
|
+
Want to verify our builds? Go [here](https://www.npmjs.com/package/dockview#Provenance).
|
|
37
|
+
|
|
38
|
+
## Quick start
|
|
39
|
+
|
|
40
|
+
Dockview has a peer dependency on `react >= 16.8.0` and `react-dom >= 16.8.0`. You can install dockview from [npm](https://www.npmjs.com/package/dockview).
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
npm install --save dockview
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Within your project you must import or reference the stylesheet at `dockview/dist/styles/dockview.css` and attach a theme.
|
|
47
|
+
|
|
48
|
+
```css
|
|
49
|
+
@import '~dockview/dist/styles/dockview.css';
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
You should also attach a dockview theme to an element containing your components. For example:
|
|
53
|
+
|
|
54
|
+
```html
|
|
55
|
+
<body classname="dockview-theme-dark"></body>
|
|
56
|
+
```
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '
|
|
1
|
+
export * from './public-api';
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,4 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("
|
|
17
|
+
__exportStar(require("./public-api"), exports);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { EventEmitter, OnDestroy, OnInit, Type, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { DockviewApi, DockviewOptions, DockviewReadyEvent, DockviewDidDropEvent, DockviewWillDropEvent } from 'dockview-core';
|
|
3
|
+
export interface DockviewAngularOptions extends DockviewOptions {
|
|
4
|
+
components: Record<string, Type<any>>;
|
|
5
|
+
tabComponents?: Record<string, Type<any>>;
|
|
6
|
+
watermarkComponent?: Type<any>;
|
|
7
|
+
defaultTabComponent?: Type<any>;
|
|
8
|
+
leftHeaderActionsComponent?: Type<any>;
|
|
9
|
+
rightHeaderActionsComponent?: Type<any>;
|
|
10
|
+
prefixHeaderActionsComponent?: Type<any>;
|
|
11
|
+
}
|
|
12
|
+
export declare class DockviewAngularComponent implements OnInit, OnDestroy, OnChanges {
|
|
13
|
+
private containerRef;
|
|
14
|
+
components: Record<string, Type<any>>;
|
|
15
|
+
tabComponents?: Record<string, Type<any>>;
|
|
16
|
+
watermarkComponent?: Type<any>;
|
|
17
|
+
defaultTabComponent?: Type<any>;
|
|
18
|
+
leftHeaderActionsComponent?: Type<any>;
|
|
19
|
+
rightHeaderActionsComponent?: Type<any>;
|
|
20
|
+
prefixHeaderActionsComponent?: Type<any>;
|
|
21
|
+
className?: string;
|
|
22
|
+
orientation?: 'horizontal' | 'vertical';
|
|
23
|
+
hideBorders?: boolean;
|
|
24
|
+
rootOverlayModel?: 'always' | 'never';
|
|
25
|
+
defaultTabComponent_?: string;
|
|
26
|
+
tabHeight?: number;
|
|
27
|
+
disableFloatingGroups?: boolean;
|
|
28
|
+
floatingGroupBounds?: 'boundedWithinViewport';
|
|
29
|
+
popoutUrl?: string;
|
|
30
|
+
debug?: boolean;
|
|
31
|
+
locked?: boolean;
|
|
32
|
+
disableAutoResizing?: boolean;
|
|
33
|
+
singleTabMode?: 'fullwidth' | 'default';
|
|
34
|
+
ready: EventEmitter<DockviewReadyEvent>;
|
|
35
|
+
didDrop: EventEmitter<DockviewDidDropEvent>;
|
|
36
|
+
willDrop: EventEmitter<DockviewWillDropEvent>;
|
|
37
|
+
private dockviewApi?;
|
|
38
|
+
private lifecycleManager;
|
|
39
|
+
private injector;
|
|
40
|
+
private environmentInjector;
|
|
41
|
+
ngOnInit(): void;
|
|
42
|
+
ngOnDestroy(): void;
|
|
43
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
44
|
+
getDockviewApi(): DockviewApi | undefined;
|
|
45
|
+
private initializeDockview;
|
|
46
|
+
private extractCoreOptions;
|
|
47
|
+
private createFrameworkOptions;
|
|
48
|
+
private setupEventListeners;
|
|
49
|
+
}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DockviewAngularComponent = void 0;
|
|
13
|
+
const core_1 = require("@angular/core");
|
|
14
|
+
const dockview_core_1 = require("dockview-core");
|
|
15
|
+
const component_factory_1 = require("../utils/component-factory");
|
|
16
|
+
const lifecycle_utils_1 = require("../utils/lifecycle-utils");
|
|
17
|
+
let DockviewAngularComponent = class DockviewAngularComponent {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.ready = new core_1.EventEmitter();
|
|
20
|
+
this.didDrop = new core_1.EventEmitter();
|
|
21
|
+
this.willDrop = new core_1.EventEmitter();
|
|
22
|
+
this.lifecycleManager = new lifecycle_utils_1.AngularLifecycleManager();
|
|
23
|
+
this.injector = (0, core_1.inject)(core_1.Injector);
|
|
24
|
+
this.environmentInjector = (0, core_1.inject)(core_1.EnvironmentInjector);
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
this.initializeDockview();
|
|
28
|
+
}
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
this.lifecycleManager.destroy();
|
|
31
|
+
if (this.dockviewApi) {
|
|
32
|
+
this.dockviewApi.dispose();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
ngOnChanges(changes) {
|
|
36
|
+
if (this.dockviewApi) {
|
|
37
|
+
const coreChanges = {};
|
|
38
|
+
let hasChanges = false;
|
|
39
|
+
// Check for changes in core dockview properties
|
|
40
|
+
dockview_core_1.PROPERTY_KEYS_DOCKVIEW.forEach(key => {
|
|
41
|
+
if (changes[key] && !changes[key].isFirstChange()) {
|
|
42
|
+
coreChanges[key] = changes[key].currentValue;
|
|
43
|
+
hasChanges = true;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
if (hasChanges) {
|
|
47
|
+
this.dockviewApi.updateOptions(coreChanges);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
getDockviewApi() {
|
|
52
|
+
return this.dockviewApi;
|
|
53
|
+
}
|
|
54
|
+
initializeDockview() {
|
|
55
|
+
if (!this.components) {
|
|
56
|
+
throw new Error('DockviewAngularComponent: components input is required');
|
|
57
|
+
}
|
|
58
|
+
const coreOptions = this.extractCoreOptions();
|
|
59
|
+
const frameworkOptions = this.createFrameworkOptions();
|
|
60
|
+
this.dockviewApi = (0, dockview_core_1.createDockview)(this.containerRef.nativeElement, {
|
|
61
|
+
...coreOptions,
|
|
62
|
+
...frameworkOptions
|
|
63
|
+
});
|
|
64
|
+
// Set up event listeners
|
|
65
|
+
this.setupEventListeners();
|
|
66
|
+
// Emit ready event
|
|
67
|
+
this.ready.emit({ api: this.dockviewApi });
|
|
68
|
+
}
|
|
69
|
+
extractCoreOptions() {
|
|
70
|
+
const coreOptions = {};
|
|
71
|
+
dockview_core_1.PROPERTY_KEYS_DOCKVIEW.forEach(key => {
|
|
72
|
+
const value = this[key];
|
|
73
|
+
if (value !== undefined) {
|
|
74
|
+
coreOptions[key] = value;
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return coreOptions;
|
|
78
|
+
}
|
|
79
|
+
createFrameworkOptions() {
|
|
80
|
+
const headerActionsComponents = {};
|
|
81
|
+
if (this.leftHeaderActionsComponent) {
|
|
82
|
+
headerActionsComponents['left'] = this.leftHeaderActionsComponent;
|
|
83
|
+
}
|
|
84
|
+
if (this.rightHeaderActionsComponent) {
|
|
85
|
+
headerActionsComponents['right'] = this.rightHeaderActionsComponent;
|
|
86
|
+
}
|
|
87
|
+
if (this.prefixHeaderActionsComponent) {
|
|
88
|
+
headerActionsComponents['prefix'] = this.prefixHeaderActionsComponent;
|
|
89
|
+
}
|
|
90
|
+
const componentFactory = new component_factory_1.AngularFrameworkComponentFactory(this.components, this.injector, this.environmentInjector, this.tabComponents, this.watermarkComponent, headerActionsComponents, this.defaultTabComponent);
|
|
91
|
+
return {
|
|
92
|
+
createComponent: (options) => {
|
|
93
|
+
return componentFactory.createDockviewComponent(options);
|
|
94
|
+
},
|
|
95
|
+
createTabComponent: (options) => {
|
|
96
|
+
return componentFactory.createTabComponent(options);
|
|
97
|
+
},
|
|
98
|
+
createWatermarkComponent: this.watermarkComponent
|
|
99
|
+
? () => {
|
|
100
|
+
return componentFactory.createWatermarkComponent();
|
|
101
|
+
}
|
|
102
|
+
: undefined,
|
|
103
|
+
createLeftHeaderActionComponent: this.leftHeaderActionsComponent
|
|
104
|
+
? (group) => {
|
|
105
|
+
return componentFactory.createHeaderActionsComponent('left');
|
|
106
|
+
}
|
|
107
|
+
: undefined,
|
|
108
|
+
createRightHeaderActionComponent: this.rightHeaderActionsComponent
|
|
109
|
+
? (group) => {
|
|
110
|
+
return componentFactory.createHeaderActionsComponent('right');
|
|
111
|
+
}
|
|
112
|
+
: undefined,
|
|
113
|
+
createPrefixHeaderActionComponent: this.prefixHeaderActionsComponent
|
|
114
|
+
? (group) => {
|
|
115
|
+
return componentFactory.createHeaderActionsComponent('prefix');
|
|
116
|
+
}
|
|
117
|
+
: undefined
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
setupEventListeners() {
|
|
121
|
+
if (!this.dockviewApi) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
// Set up event subscriptions using lifecycle manager
|
|
125
|
+
const api = this.dockviewApi;
|
|
126
|
+
if (this.didDrop.observers.length > 0) {
|
|
127
|
+
const disposable = api.onDidDrop(event => {
|
|
128
|
+
this.didDrop.emit(event);
|
|
129
|
+
});
|
|
130
|
+
this.lifecycleManager.addDisposable(disposable);
|
|
131
|
+
}
|
|
132
|
+
if (this.willDrop.observers.length > 0) {
|
|
133
|
+
const disposable = api.onWillDrop(event => {
|
|
134
|
+
this.willDrop.emit(event);
|
|
135
|
+
});
|
|
136
|
+
this.lifecycleManager.addDisposable(disposable);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
exports.DockviewAngularComponent = DockviewAngularComponent;
|
|
141
|
+
__decorate([
|
|
142
|
+
(0, core_1.ViewChild)('dockviewContainer', { static: true }),
|
|
143
|
+
__metadata("design:type", core_1.ElementRef)
|
|
144
|
+
], DockviewAngularComponent.prototype, "containerRef", void 0);
|
|
145
|
+
__decorate([
|
|
146
|
+
(0, core_1.Input)(),
|
|
147
|
+
__metadata("design:type", Object)
|
|
148
|
+
], DockviewAngularComponent.prototype, "components", void 0);
|
|
149
|
+
__decorate([
|
|
150
|
+
(0, core_1.Input)(),
|
|
151
|
+
__metadata("design:type", Object)
|
|
152
|
+
], DockviewAngularComponent.prototype, "tabComponents", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
(0, core_1.Input)(),
|
|
155
|
+
__metadata("design:type", core_1.Type)
|
|
156
|
+
], DockviewAngularComponent.prototype, "watermarkComponent", void 0);
|
|
157
|
+
__decorate([
|
|
158
|
+
(0, core_1.Input)(),
|
|
159
|
+
__metadata("design:type", core_1.Type)
|
|
160
|
+
], DockviewAngularComponent.prototype, "defaultTabComponent", void 0);
|
|
161
|
+
__decorate([
|
|
162
|
+
(0, core_1.Input)(),
|
|
163
|
+
__metadata("design:type", core_1.Type)
|
|
164
|
+
], DockviewAngularComponent.prototype, "leftHeaderActionsComponent", void 0);
|
|
165
|
+
__decorate([
|
|
166
|
+
(0, core_1.Input)(),
|
|
167
|
+
__metadata("design:type", core_1.Type)
|
|
168
|
+
], DockviewAngularComponent.prototype, "rightHeaderActionsComponent", void 0);
|
|
169
|
+
__decorate([
|
|
170
|
+
(0, core_1.Input)(),
|
|
171
|
+
__metadata("design:type", core_1.Type)
|
|
172
|
+
], DockviewAngularComponent.prototype, "prefixHeaderActionsComponent", void 0);
|
|
173
|
+
__decorate([
|
|
174
|
+
(0, core_1.Input)(),
|
|
175
|
+
__metadata("design:type", String)
|
|
176
|
+
], DockviewAngularComponent.prototype, "className", void 0);
|
|
177
|
+
__decorate([
|
|
178
|
+
(0, core_1.Input)(),
|
|
179
|
+
__metadata("design:type", String)
|
|
180
|
+
], DockviewAngularComponent.prototype, "orientation", void 0);
|
|
181
|
+
__decorate([
|
|
182
|
+
(0, core_1.Input)(),
|
|
183
|
+
__metadata("design:type", Boolean)
|
|
184
|
+
], DockviewAngularComponent.prototype, "hideBorders", void 0);
|
|
185
|
+
__decorate([
|
|
186
|
+
(0, core_1.Input)(),
|
|
187
|
+
__metadata("design:type", String)
|
|
188
|
+
], DockviewAngularComponent.prototype, "rootOverlayModel", void 0);
|
|
189
|
+
__decorate([
|
|
190
|
+
(0, core_1.Input)(),
|
|
191
|
+
__metadata("design:type", String)
|
|
192
|
+
], DockviewAngularComponent.prototype, "defaultTabComponent_", void 0);
|
|
193
|
+
__decorate([
|
|
194
|
+
(0, core_1.Input)(),
|
|
195
|
+
__metadata("design:type", Number)
|
|
196
|
+
], DockviewAngularComponent.prototype, "tabHeight", void 0);
|
|
197
|
+
__decorate([
|
|
198
|
+
(0, core_1.Input)(),
|
|
199
|
+
__metadata("design:type", Boolean)
|
|
200
|
+
], DockviewAngularComponent.prototype, "disableFloatingGroups", void 0);
|
|
201
|
+
__decorate([
|
|
202
|
+
(0, core_1.Input)(),
|
|
203
|
+
__metadata("design:type", String)
|
|
204
|
+
], DockviewAngularComponent.prototype, "floatingGroupBounds", void 0);
|
|
205
|
+
__decorate([
|
|
206
|
+
(0, core_1.Input)(),
|
|
207
|
+
__metadata("design:type", String)
|
|
208
|
+
], DockviewAngularComponent.prototype, "popoutUrl", void 0);
|
|
209
|
+
__decorate([
|
|
210
|
+
(0, core_1.Input)(),
|
|
211
|
+
__metadata("design:type", Boolean)
|
|
212
|
+
], DockviewAngularComponent.prototype, "debug", void 0);
|
|
213
|
+
__decorate([
|
|
214
|
+
(0, core_1.Input)(),
|
|
215
|
+
__metadata("design:type", Boolean)
|
|
216
|
+
], DockviewAngularComponent.prototype, "locked", void 0);
|
|
217
|
+
__decorate([
|
|
218
|
+
(0, core_1.Input)(),
|
|
219
|
+
__metadata("design:type", Boolean)
|
|
220
|
+
], DockviewAngularComponent.prototype, "disableAutoResizing", void 0);
|
|
221
|
+
__decorate([
|
|
222
|
+
(0, core_1.Input)(),
|
|
223
|
+
__metadata("design:type", String)
|
|
224
|
+
], DockviewAngularComponent.prototype, "singleTabMode", void 0);
|
|
225
|
+
__decorate([
|
|
226
|
+
(0, core_1.Output)(),
|
|
227
|
+
__metadata("design:type", Object)
|
|
228
|
+
], DockviewAngularComponent.prototype, "ready", void 0);
|
|
229
|
+
__decorate([
|
|
230
|
+
(0, core_1.Output)(),
|
|
231
|
+
__metadata("design:type", Object)
|
|
232
|
+
], DockviewAngularComponent.prototype, "didDrop", void 0);
|
|
233
|
+
__decorate([
|
|
234
|
+
(0, core_1.Output)(),
|
|
235
|
+
__metadata("design:type", Object)
|
|
236
|
+
], DockviewAngularComponent.prototype, "willDrop", void 0);
|
|
237
|
+
exports.DockviewAngularComponent = DockviewAngularComponent = __decorate([
|
|
238
|
+
(0, core_1.Component)({
|
|
239
|
+
selector: 'dv-dockview',
|
|
240
|
+
standalone: true,
|
|
241
|
+
template: '<div #dockviewContainer class="dockview-container"></div>',
|
|
242
|
+
styles: [`
|
|
243
|
+
:host {
|
|
244
|
+
display: block;
|
|
245
|
+
width: 100%;
|
|
246
|
+
height: 100%;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.dockview-container {
|
|
250
|
+
width: 100%;
|
|
251
|
+
height: 100%;
|
|
252
|
+
}
|
|
253
|
+
`],
|
|
254
|
+
changeDetection: core_1.ChangeDetectionStrategy.OnPush
|
|
255
|
+
})
|
|
256
|
+
], DockviewAngularComponent);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Type } from '@angular/core';
|
|
2
|
+
import { DockviewOptions, DockviewReadyEvent, DockviewDidDropEvent, DockviewWillDropEvent, IDockviewPanelProps, IDockviewPanelHeaderProps, IWatermarkPanelProps, IDockviewHeaderActionsProps } from 'dockview-core';
|
|
3
|
+
export interface IDockviewAngularPanelProps extends IDockviewPanelProps {
|
|
4
|
+
}
|
|
5
|
+
export interface IDockviewAngularPanelHeaderProps extends IDockviewPanelHeaderProps {
|
|
6
|
+
}
|
|
7
|
+
export interface IDockviewAngularWatermarkProps extends IWatermarkPanelProps {
|
|
8
|
+
}
|
|
9
|
+
export interface IDockviewAngularHeaderActionsProps extends IDockviewHeaderActionsProps {
|
|
10
|
+
}
|
|
11
|
+
export interface DockviewAngularOptions extends DockviewOptions {
|
|
12
|
+
components: Record<string, Type<any>>;
|
|
13
|
+
tabComponents?: Record<string, Type<any>>;
|
|
14
|
+
watermarkComponent?: Type<any>;
|
|
15
|
+
defaultTabComponent?: Type<any>;
|
|
16
|
+
leftHeaderActionsComponent?: Type<any>;
|
|
17
|
+
rightHeaderActionsComponent?: Type<any>;
|
|
18
|
+
prefixHeaderActionsComponent?: Type<any>;
|
|
19
|
+
}
|
|
20
|
+
export interface DockviewAngularComponentOptions extends DockviewAngularOptions {
|
|
21
|
+
}
|
|
22
|
+
export interface DockviewAngularEvents {
|
|
23
|
+
ready: DockviewReadyEvent;
|
|
24
|
+
didDrop: DockviewDidDropEvent;
|
|
25
|
+
willDrop: DockviewWillDropEvent;
|
|
26
|
+
}
|
|
27
|
+
export { DockviewApi, DockviewReadyEvent, DockviewDidDropEvent, DockviewWillDropEvent, DockviewOptions } from 'dockview-core';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DockviewWillDropEvent = exports.DockviewDidDropEvent = exports.DockviewApi = void 0;
|
|
4
|
+
// Re-export commonly used types from dockview-core
|
|
5
|
+
var dockview_core_1 = require("dockview-core");
|
|
6
|
+
Object.defineProperty(exports, "DockviewApi", { enumerable: true, get: function () { return dockview_core_1.DockviewApi; } });
|
|
7
|
+
Object.defineProperty(exports, "DockviewDidDropEvent", { enumerable: true, get: function () { return dockview_core_1.DockviewDidDropEvent; } });
|
|
8
|
+
Object.defineProperty(exports, "DockviewWillDropEvent", { enumerable: true, get: function () { return dockview_core_1.DockviewWillDropEvent; } });
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DockviewAngularModule = void 0;
|
|
10
|
+
const core_1 = require("@angular/core");
|
|
11
|
+
const common_1 = require("@angular/common");
|
|
12
|
+
const dockview_angular_component_1 = require("./dockview/dockview-angular.component");
|
|
13
|
+
const gridview_angular_component_1 = require("./gridview/gridview-angular.component");
|
|
14
|
+
const paneview_angular_component_1 = require("./paneview/paneview-angular.component");
|
|
15
|
+
const splitview_angular_component_1 = require("./splitview/splitview-angular.component");
|
|
16
|
+
let DockviewAngularModule = class DockviewAngularModule {
|
|
17
|
+
};
|
|
18
|
+
exports.DockviewAngularModule = DockviewAngularModule;
|
|
19
|
+
exports.DockviewAngularModule = DockviewAngularModule = __decorate([
|
|
20
|
+
(0, core_1.NgModule)({
|
|
21
|
+
imports: [
|
|
22
|
+
common_1.CommonModule,
|
|
23
|
+
dockview_angular_component_1.DockviewAngularComponent,
|
|
24
|
+
gridview_angular_component_1.GridviewAngularComponent,
|
|
25
|
+
paneview_angular_component_1.PaneviewAngularComponent,
|
|
26
|
+
splitview_angular_component_1.SplitviewAngularComponent
|
|
27
|
+
],
|
|
28
|
+
exports: [
|
|
29
|
+
dockview_angular_component_1.DockviewAngularComponent,
|
|
30
|
+
gridview_angular_component_1.GridviewAngularComponent,
|
|
31
|
+
paneview_angular_component_1.PaneviewAngularComponent,
|
|
32
|
+
splitview_angular_component_1.SplitviewAngularComponent
|
|
33
|
+
]
|
|
34
|
+
})
|
|
35
|
+
], DockviewAngularModule);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Type, Injector, EnvironmentInjector } from '@angular/core';
|
|
2
|
+
import { GridviewPanel, IFrameworkPart } from 'dockview-core';
|
|
3
|
+
export declare class AngularGridviewPanel extends GridviewPanel {
|
|
4
|
+
private readonly angularComponent;
|
|
5
|
+
private readonly injector;
|
|
6
|
+
private readonly environmentInjector?;
|
|
7
|
+
constructor(id: string, component: string, angularComponent: Type<any>, injector: Injector, environmentInjector?: EnvironmentInjector | undefined);
|
|
8
|
+
getComponent(): IFrameworkPart;
|
|
9
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AngularGridviewPanel = void 0;
|
|
4
|
+
const dockview_core_1 = require("dockview-core");
|
|
5
|
+
const angular_renderer_1 = require("../utils/angular-renderer");
|
|
6
|
+
class AngularGridviewPanel extends dockview_core_1.GridviewPanel {
|
|
7
|
+
constructor(id, component, angularComponent, injector, environmentInjector) {
|
|
8
|
+
super(id, component);
|
|
9
|
+
this.angularComponent = angularComponent;
|
|
10
|
+
this.injector = injector;
|
|
11
|
+
this.environmentInjector = environmentInjector;
|
|
12
|
+
}
|
|
13
|
+
getComponent() {
|
|
14
|
+
return new angular_renderer_1.AngularRenderer({
|
|
15
|
+
component: this.angularComponent,
|
|
16
|
+
injector: this.injector,
|
|
17
|
+
environmentInjector: this.environmentInjector
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.AngularGridviewPanel = AngularGridviewPanel;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { EventEmitter, OnDestroy, OnInit, Type, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { GridviewApi, GridviewOptions } from 'dockview-core';
|
|
3
|
+
import { GridviewAngularReadyEvent } from './types';
|
|
4
|
+
export interface GridviewAngularOptions extends GridviewOptions {
|
|
5
|
+
components: Record<string, Type<any>>;
|
|
6
|
+
}
|
|
7
|
+
export declare class GridviewAngularComponent implements OnInit, OnDestroy, OnChanges {
|
|
8
|
+
private containerRef;
|
|
9
|
+
components: Record<string, Type<any>>;
|
|
10
|
+
className?: string;
|
|
11
|
+
orientation?: 'horizontal' | 'vertical';
|
|
12
|
+
proportionalLayout?: boolean;
|
|
13
|
+
hideBorders?: boolean;
|
|
14
|
+
debug?: boolean;
|
|
15
|
+
disableAutoResizing?: boolean;
|
|
16
|
+
ready: EventEmitter<GridviewAngularReadyEvent>;
|
|
17
|
+
private gridviewApi?;
|
|
18
|
+
private lifecycleManager;
|
|
19
|
+
private injector;
|
|
20
|
+
private environmentInjector;
|
|
21
|
+
ngOnInit(): void;
|
|
22
|
+
ngOnDestroy(): void;
|
|
23
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
24
|
+
getGridviewApi(): GridviewApi | undefined;
|
|
25
|
+
private initializeGridview;
|
|
26
|
+
private extractCoreOptions;
|
|
27
|
+
private createFrameworkOptions;
|
|
28
|
+
}
|