ngx-rs-ant 1.9.8 → 2.0.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.
@@ -19,7 +19,6 @@ import CustomStore from 'devextreme/data/custom_store';
19
19
  import * as i2$2 from 'devextreme-angular/core';
20
20
  import * as i5 from 'devextreme-angular/ui/data-grid';
21
21
  import * as i6 from 'devextreme-angular/ui/nested';
22
- import * as i3$1 from 'devextreme-angular/ui/accordion';
23
22
  import * as i6$1 from 'devextreme-angular/ui/load-panel';
24
23
  import * as i7 from 'devextreme-angular/ui/text-box';
25
24
  import * as i8 from 'devextreme-angular/ui/validator';
@@ -51,10 +50,10 @@ class DividerLineComponent {
51
50
  }
52
51
  }
53
52
  DividerLineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DividerLineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
- DividerLineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DividerLineComponent, selector: "rs-divider-line", inputs: { direction: "direction", targetElement: "targetElement" }, host: { properties: { "style": "this._style" } }, ngImport: i0, template: "", styles: ["coast-divider:hover>:host{position:absolute;top:-5px;border:1px dashed var(--coast-default-color, rgb(51, 122, 183))}\n"] });
53
+ DividerLineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DividerLineComponent, selector: "rs-divider-line", inputs: { direction: "direction", targetElement: "targetElement" }, host: { properties: { "style": "this._style" } }, ngImport: i0, template: "", styles: ["rs-divider:hover>:host{position:absolute;top:-5px;border:1px dashed var(--coast-default-color, rgb(51, 122, 183))}\n"] });
55
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DividerLineComponent, decorators: [{
56
55
  type: Component,
57
- args: [{ selector: 'rs-divider-line', template: "", styles: ["coast-divider:hover>:host{position:absolute;top:-5px;border:1px dashed var(--coast-default-color, rgb(51, 122, 183))}\n"] }]
56
+ args: [{ selector: 'rs-divider-line', template: "", styles: ["rs-divider:hover>:host{position:absolute;top:-5px;border:1px dashed var(--coast-default-color, rgb(51, 122, 183))}\n"] }]
58
57
  }], propDecorators: { direction: [{
59
58
  type: Input
60
59
  }], targetElement: [{
@@ -93,10 +92,10 @@ class DividerComponent {
93
92
  }
94
93
  }
95
94
  DividerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
96
- DividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DividerComponent, selector: "rs-divider", inputs: { direction: "direction", targetElement: "targetElement" }, outputs: { dividerClick: "dividerClick" }, host: { listeners: { "click": "onClick()" }, properties: { "style": "this._style" } }, ngImport: i0, template: "<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n", styles: [":host{position:absolute;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;width:24px;height:24px;background-color:#fff;border-radius:12px;cursor:pointer}:host .divider-image{width:12px;height:12px;background-size:contain;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAACO0lEQVRIDa2Uy6tNURzHN7cwMUAmHncot0QeV5QiBgZKmWEgzDDx+ANu5soMcUkxIY+iEFIKEZnIyMC9GZAMrke6hXt9Pvus1VnntPbZ53B/9dnrt36P7zpr7bVPUTRtD+5j+Arv4QwshDpbTIG1o2CvGmq12CVmk/ADnsGnMHccgCpbRiLWjuA/BTXUUrM0VzNwD+aVkcbjIMNveJnEUrePyWuYgP1JYi6+WmqWO3FLrpqKMy3tHE8LtzemLc99ITfcEm1MXERNtYsxcGs520nQBV61JWcyHw253W25OFVzbDqPj1D1MheF6tWM24LvcAD6w7yqdwF5tYvT4K90y6m5zQ/wE37BC9Bmw2f4Ah6DNdamFo/vlEHP3pvwB87CLjgGNrrwEbgY/K2MQ8E/zHg0+NbaY68aaqmpdmlLeT4HBSPf8RXQloA3ylvzDTx/34OmsLWxz9Hdqtlivo/l4NXy1syB1C4ziSK547THXjXU6tk20uECnn1fz91dNJynJu5gUxf1PZV4nr6DdzABj2BK7Rpq/votcDX4GxinxNagovjDoOZLdBcPwvy/h/souMDaROlGiK1PYv/kbg5C19u6V4b43bZ4z1M/GF/uQKbzFjF3NpjJdRXaEQQuVFQr7AK3K/Idw36Jb2Ec+jtU3iHnIqs61GRTe4naeDKbbQbXhbqbzVC9N4OSEfAPbD7UmbfMa7uirjDmD+H464/HQM3oB2f9lVxd7l9vFoVv4ESuIRN7QkzxaZlc8RcdnI7tMHZBlAAAAABJRU5ErkJggg==)}:host:hover{background-color:var(--coast-default-color, rgb(51, 122, 183))}\n"], dependencies: [{ kind: "component", type: DividerLineComponent, selector: "rs-divider-line", inputs: ["direction", "targetElement"] }] });
95
+ DividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DividerComponent, selector: "rs-divider", inputs: { direction: "direction", targetElement: "targetElement" }, outputs: { dividerClick: "dividerClick" }, host: { listeners: { "click": "onClick()" }, properties: { "style": "this._style" } }, ngImport: i0, template: "<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n", styles: [":host{position:absolute;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;width:24px;height:24px;background-color:#fff;border-radius:12px;pointer-events:all;cursor:pointer}:host .divider-image{width:12px;height:12px;background-size:contain;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAACO0lEQVRIDa2Uy6tNURzHN7cwMUAmHncot0QeV5QiBgZKmWEgzDDx+ANu5soMcUkxIY+iEFIKEZnIyMC9GZAMrke6hXt9Pvus1VnntPbZ53B/9dnrt36P7zpr7bVPUTRtD+5j+Arv4QwshDpbTIG1o2CvGmq12CVmk/ADnsGnMHccgCpbRiLWjuA/BTXUUrM0VzNwD+aVkcbjIMNveJnEUrePyWuYgP1JYi6+WmqWO3FLrpqKMy3tHE8LtzemLc99ITfcEm1MXERNtYsxcGs520nQBV61JWcyHw253W25OFVzbDqPj1D1MheF6tWM24LvcAD6w7yqdwF5tYvT4K90y6m5zQ/wE37BC9Bmw2f4Ah6DNdamFo/vlEHP3pvwB87CLjgGNrrwEbgY/K2MQ8E/zHg0+NbaY68aaqmpdmlLeT4HBSPf8RXQloA3ylvzDTx/34OmsLWxz9Hdqtlivo/l4NXy1syB1C4ziSK547THXjXU6tk20uECnn1fz91dNJynJu5gUxf1PZV4nr6DdzABj2BK7Rpq/votcDX4GxinxNagovjDoOZLdBcPwvy/h/souMDaROlGiK1PYv/kbg5C19u6V4b43bZ4z1M/GF/uQKbzFjF3NpjJdRXaEQQuVFQr7AK3K/Idw36Jb2Ec+jtU3iHnIqs61GRTe4naeDKbbQbXhbqbzVC9N4OSEfAPbD7UmbfMa7uirjDmD+H464/HQM3oB2f9lVxd7l9vFoVv4ESuIRN7QkzxaZlc8RcdnI7tMHZBlAAAAABJRU5ErkJggg==)}:host:hover{background-color:var(--coast-default-color, rgb(51, 122, 183))}\n"], dependencies: [{ kind: "component", type: DividerLineComponent, selector: "rs-divider-line", inputs: ["direction", "targetElement"] }] });
97
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DividerComponent, decorators: [{
98
97
  type: Component,
99
- args: [{ selector: 'rs-divider', template: "<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n", styles: [":host{position:absolute;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;width:24px;height:24px;background-color:#fff;border-radius:12px;cursor:pointer}:host .divider-image{width:12px;height:12px;background-size:contain;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAACO0lEQVRIDa2Uy6tNURzHN7cwMUAmHncot0QeV5QiBgZKmWEgzDDx+ANu5soMcUkxIY+iEFIKEZnIyMC9GZAMrke6hXt9Pvus1VnntPbZ53B/9dnrt36P7zpr7bVPUTRtD+5j+Arv4QwshDpbTIG1o2CvGmq12CVmk/ADnsGnMHccgCpbRiLWjuA/BTXUUrM0VzNwD+aVkcbjIMNveJnEUrePyWuYgP1JYi6+WmqWO3FLrpqKMy3tHE8LtzemLc99ITfcEm1MXERNtYsxcGs520nQBV61JWcyHw253W25OFVzbDqPj1D1MheF6tWM24LvcAD6w7yqdwF5tYvT4K90y6m5zQ/wE37BC9Bmw2f4Ah6DNdamFo/vlEHP3pvwB87CLjgGNrrwEbgY/K2MQ8E/zHg0+NbaY68aaqmpdmlLeT4HBSPf8RXQloA3ylvzDTx/34OmsLWxz9Hdqtlivo/l4NXy1syB1C4ziSK547THXjXU6tk20uECnn1fz91dNJynJu5gUxf1PZV4nr6DdzABj2BK7Rpq/votcDX4GxinxNagovjDoOZLdBcPwvy/h/souMDaROlGiK1PYv/kbg5C19u6V4b43bZ4z1M/GF/uQKbzFjF3NpjJdRXaEQQuVFQr7AK3K/Idw36Jb2Ec+jtU3iHnIqs61GRTe4naeDKbbQbXhbqbzVC9N4OSEfAPbD7UmbfMa7uirjDmD+H464/HQM3oB2f9lVxd7l9vFoVv4ESuIRN7QkzxaZlc8RcdnI7tMHZBlAAAAABJRU5ErkJggg==)}:host:hover{background-color:var(--coast-default-color, rgb(51, 122, 183))}\n"] }]
98
+ args: [{ selector: 'rs-divider', template: "<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n", styles: [":host{position:absolute;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;width:24px;height:24px;background-color:#fff;border-radius:12px;pointer-events:all;cursor:pointer}:host .divider-image{width:12px;height:12px;background-size:contain;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGKADAAQAAAABAAAAGAAAAADiNXWtAAACO0lEQVRIDa2Uy6tNURzHN7cwMUAmHncot0QeV5QiBgZKmWEgzDDx+ANu5soMcUkxIY+iEFIKEZnIyMC9GZAMrke6hXt9Pvus1VnntPbZ53B/9dnrt36P7zpr7bVPUTRtD+5j+Arv4QwshDpbTIG1o2CvGmq12CVmk/ADnsGnMHccgCpbRiLWjuA/BTXUUrM0VzNwD+aVkcbjIMNveJnEUrePyWuYgP1JYi6+WmqWO3FLrpqKMy3tHE8LtzemLc99ITfcEm1MXERNtYsxcGs520nQBV61JWcyHw253W25OFVzbDqPj1D1MheF6tWM24LvcAD6w7yqdwF5tYvT4K90y6m5zQ/wE37BC9Bmw2f4Ah6DNdamFo/vlEHP3pvwB87CLjgGNrrwEbgY/K2MQ8E/zHg0+NbaY68aaqmpdmlLeT4HBSPf8RXQloA3ylvzDTx/34OmsLWxz9Hdqtlivo/l4NXy1syB1C4ziSK547THXjXU6tk20uECnn1fz91dNJynJu5gUxf1PZV4nr6DdzABj2BK7Rpq/votcDX4GxinxNagovjDoOZLdBcPwvy/h/souMDaROlGiK1PYv/kbg5C19u6V4b43bZ4z1M/GF/uQKbzFjF3NpjJdRXaEQQuVFQr7AK3K/Idw36Jb2Ec+jtU3iHnIqs61GRTe4naeDKbbQbXhbqbzVC9N4OSEfAPbD7UmbfMa7uirjDmD+H464/HQM3oB2f9lVxd7l9vFoVv4ESuIRN7QkzxaZlc8RcdnI7tMHZBlAAAAABJRU5ErkJggg==)}:host:hover{background-color:var(--coast-default-color, rgb(51, 122, 183))}\n"] }]
100
99
  }], propDecorators: { direction: [{
101
100
  type: Input
102
101
  }], targetElement: [{
@@ -116,30 +115,6 @@ class PluginActiveComponent {
116
115
  this.showClose = true;
117
116
  this.showDivider = false;
118
117
  this.itemRemove = new EventEmitter();
119
- this.targetRect = {
120
- width: 0,
121
- height: 0
122
- };
123
- this._targetRect = {};
124
- this.width = 0;
125
- this.height = 0;
126
- }
127
- get _style() {
128
- if (!this.targetElement) {
129
- return {};
130
- }
131
- const elementRect = this.targetElement.getBoundingClientRect();
132
- this._targetRect.width = elementRect.width;
133
- this._targetRect.height = elementRect.height;
134
- return {
135
- width: elementRect.width + 'px',
136
- height: elementRect.height + 'px'
137
- };
138
- }
139
- ngOnInit() {
140
- setTimeout(() => {
141
- this.targetRect = this._targetRect;
142
- });
143
118
  }
144
119
  onItemCloseIconClick($event) {
145
120
  this.itemRemove.emit();
@@ -149,36 +124,20 @@ class PluginActiveComponent {
149
124
  }
150
125
  }
151
126
  PluginActiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginActiveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
152
- PluginActiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginActiveComponent, selector: "rs-plugin-active", host: { properties: { "style": "this._style" } }, ngImport: i0, template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"coast-icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.coast-icon-drag{cursor:move}:host .active-item .active-bar i.coast-icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DividerComponent, selector: "rs-divider", inputs: ["direction", "targetElement"], outputs: ["dividerClick"] }] });
127
+ PluginActiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginActiveComponent, selector: "rs-plugin-active", ngImport: i0, template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"coast-icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;inset:0;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-21px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.coast-icon-drag{cursor:move}:host .active-item .active-bar i.coast-icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DividerComponent, selector: "rs-divider", inputs: ["direction", "targetElement"], outputs: ["dividerClick"] }] });
153
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginActiveComponent, decorators: [{
154
129
  type: Component,
155
- args: [{ selector: 'rs-plugin-active', template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"coast-icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-23px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.coast-icon-drag{cursor:move}:host .active-item .active-bar i.coast-icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"] }]
156
- }], propDecorators: { _style: [{
157
- type: HostBinding,
158
- args: ['style']
159
- }] } });
130
+ args: [{ selector: 'rs-plugin-active', template: "<div class=\"active-item\">\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"coast-icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"\u6DFB\u52A0\u884C\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"\u6DFB\u52A0\u5217\" (click)=\"splitItem('row')\"></i>\r\n <i *ngIf=\"showClose\" class=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n", styles: [":host{display:none;position:absolute;inset:0;border:1px solid var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .active-item{width:100%;height:100%}:host .active-item .active-bar{padding:2px 4px;color:#fff;background-color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-21px;right:-1px;display:flex;flex-flow:row nowrap;align-items:center;pointer-events:all;white-space:nowrap}:host .active-item .active-bar i{flex:none;cursor:pointer}:host .active-item .active-bar i:not(:last-child){margin-right:8px}:host .active-item .active-bar i.coast-icon-drag{cursor:move}:host .active-item .active-bar i.coast-icon-close:hover{color:var(--coast-danger-color, rgb(217, 83, 79))}:host .active-item .active-bar span{flex:1;margin-right:8px}.plugin-active>:host{display:block}\n"] }]
131
+ }] });
160
132
 
161
133
  class PluginHoverComponent {
162
- get _style() {
163
- if (!this.targetElement) {
164
- return {};
165
- }
166
- const elementRect = this.targetElement.getBoundingClientRect();
167
- return {
168
- width: elementRect.width + 'px',
169
- height: elementRect.height + 'px'
170
- };
171
- }
172
134
  }
173
135
  PluginHoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginHoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
174
- PluginHoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginHoverComponent, selector: "rs-plugin-hover", host: { properties: { "style": "this._style" } }, ngImport: i0, template: "<div class=\"hover-title\">{{ name }}</div>\n", styles: [":host{display:none;position:absolute;border:1px dashed var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .hover-title{color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-18px;left:0}.plugin-active>:host{display:none!important}.plugin-hover>:host{display:block}\n"] });
136
+ PluginHoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PluginHoverComponent, selector: "rs-plugin-hover", ngImport: i0, template: "<div class=\"hover-title\">{{ name }}</div>\n", styles: [":host{display:none;position:absolute;inset:0;border:1px dashed var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .hover-title{color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-17px;left:-1px}.plugin-active>:host{display:none!important}.plugin-hover>:host{display:block}\n"] });
175
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PluginHoverComponent, decorators: [{
176
138
  type: Component,
177
- args: [{ selector: 'rs-plugin-hover', template: "<div class=\"hover-title\">{{ name }}</div>\n", styles: [":host{display:none;position:absolute;border:1px dashed var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .hover-title{color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-18px;left:0}.plugin-active>:host{display:none!important}.plugin-hover>:host{display:block}\n"] }]
178
- }], propDecorators: { _style: [{
179
- type: HostBinding,
180
- args: ['style']
181
- }] } });
139
+ args: [{ selector: 'rs-plugin-hover', template: "<div class=\"hover-title\">{{ name }}</div>\n", styles: [":host{display:none;position:absolute;inset:0;border:1px dashed var(--coast-default-color, rgb(51, 122, 183));pointer-events:none}:host .hover-title{color:var(--coast-default-color, rgb(51, 122, 183));position:absolute;top:-17px;left:-1px}.plugin-active>:host{display:none!important}.plugin-hover>:host{display:block}\n"] }]
140
+ }] });
182
141
 
183
142
  class PluginNotFoundComponent {
184
143
  }
@@ -2392,26 +2351,78 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2392
2351
  }]
2393
2352
  }], ctorParameters: function () { return [{ type: i1$1.HttpClient }]; } });
2394
2353
 
2395
- class DataDetailService {
2396
- constructor(http) {
2397
- this.http = http;
2354
+ class DrawerComponent {
2355
+ constructor() {
2356
+ this.size = 'default';
2357
+ this._width = '480px';
2398
2358
  }
2399
- getInstanceSections(tenant, className, oid) {
2400
- return this.http.get('api/data/custom', {
2401
- params: {
2402
- tenant,
2403
- className,
2404
- oid,
2405
- executor: 'com.cs.system.section.GetInstanceSections'
2406
- }
2407
- });
2359
+ ngOnInit() {
2360
+ if (this.size === 'default') {
2361
+ this._width = '480px';
2362
+ }
2363
+ else if (this.size === 'large') {
2364
+ this._width = '960px';
2365
+ }
2366
+ else {
2367
+ this._width = this.size;
2368
+ }
2369
+ }
2370
+ hide($event) {
2371
+ // 在service中重写
2372
+ }
2373
+ stopPropagation($event) {
2374
+ $event.stopPropagation();
2375
+ }
2376
+ autoHide($event) {
2377
+ if (this.config?.hideOnOutsideClick) {
2378
+ this.hide();
2379
+ }
2408
2380
  }
2409
2381
  }
2410
- DataDetailService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataDetailService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2411
- DataDetailServiceprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataDetailService });
2412
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataDetailService, decorators: [{
2413
- type: Injectable
2414
- }], ctorParameters: function () { return [{ type: i1$1.HttpClient }]; } });
2382
+ DrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2383
+ DrawerComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DrawerComponent, selector: "rs-drawer", host: { listeners: { "click": "stopPropagation($event)", "window:click": "autoHide($event)" } }, ngImport: i0, template: "<div class=\"drawer\" [class.hide-on-outside-click]=\"config?.hideOnOutsideClick\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n</div>\n", styles: [":host .drawer{position:absolute;top:0;right:0;bottom:0;height:100%;z-index:var(--coast-z-index-framework, 1000);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-left:1px solid var(--coast-border-color, rgb(221, 221, 221));box-shadow:-8px 0 4px -4px #252b3a3d;display:flex;flex-flow:column nowrap}:host .drawer.hide-on-outside-click{z-index:var(--coast-z-index-drawer, 2000)}:host .drawer .drawer-header{flex:0 0 36px;padding:8px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221));display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end}:host .drawer .drawer-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .drawer .drawer-close{position:absolute;height:100%;width:20px;top:0;left:-20px;display:flex;flex-flow:row nowrap;align-items:center}:host .drawer .drawer-close dx-button{box-shadow:-8px 0 4px -4px #252b3a3d}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }] });
2384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerComponent, decorators: [{
2385
+ type: Component,
2386
+ args: [{ selector: 'rs-drawer', template: "<div class=\"drawer\" [class.hide-on-outside-click]=\"config?.hideOnOutsideClick\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n</div>\n", styles: [":host .drawer{position:absolute;top:0;right:0;bottom:0;height:100%;z-index:var(--coast-z-index-framework, 1000);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-left:1px solid var(--coast-border-color, rgb(221, 221, 221));box-shadow:-8px 0 4px -4px #252b3a3d;display:flex;flex-flow:column nowrap}:host .drawer.hide-on-outside-click{z-index:var(--coast-z-index-drawer, 2000)}:host .drawer .drawer-header{flex:0 0 36px;padding:8px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221));display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end}:host .drawer .drawer-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .drawer .drawer-close{position:absolute;height:100%;width:20px;top:0;left:-20px;display:flex;flex-flow:row nowrap;align-items:center}:host .drawer .drawer-close dx-button{box-shadow:-8px 0 4px -4px #252b3a3d}\n"] }]
2387
+ }], ctorParameters: function () { return []; }, propDecorators: { stopPropagation: [{
2388
+ type: HostListener,
2389
+ args: ['click', ['$event']]
2390
+ }], autoHide: [{
2391
+ type: HostListener,
2392
+ args: ['window:click', ['$event']]
2393
+ }] } });
2394
+
2395
+ class DrawerService {
2396
+ open(viewContainerRef, size = 'default', contentTemplate, contentTemplateContext, headerTemplate, headerTemplateContext, config) {
2397
+ // 若已存在抽屉,先关闭
2398
+ const drawers = viewContainerRef.element.nativeElement.parentElement.querySelectorAll('RS-DRAWER');
2399
+ for (let i = 0; i < drawers.length; i++) {
2400
+ drawers[i].querySelector('.drawer-close .coast-icon-arrow-right-filling').click();
2401
+ }
2402
+ const drawerRef = viewContainerRef.createComponent(DrawerComponent);
2403
+ drawerRef.instance.hide = ($event) => {
2404
+ $event?.event?.stopPropagation();
2405
+ drawerRef.hostView.destroy();
2406
+ };
2407
+ drawerRef.instance.size = size;
2408
+ drawerRef.instance.headerTemplate = headerTemplate;
2409
+ drawerRef.instance.headerTemplateContext = headerTemplateContext;
2410
+ drawerRef.instance.contentTemplate = contentTemplate;
2411
+ drawerRef.instance.contentTemplateContext = contentTemplateContext;
2412
+ drawerRef.instance.config = config || {
2413
+ hideOnOutsideClick: true
2414
+ };
2415
+ return drawerRef.instance;
2416
+ }
2417
+ }
2418
+ DrawerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2419
+ DrawerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerService, providedIn: 'root' });
2420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerService, decorators: [{
2421
+ type: Injectable,
2422
+ args: [{
2423
+ providedIn: 'root'
2424
+ }]
2425
+ }] });
2415
2426
 
2416
2427
  class FormService {
2417
2428
  constructor(http) {
@@ -2648,105 +2659,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2648
2659
  type: Output
2649
2660
  }] } });
2650
2661
 
2651
- class DataDetailComponent {
2652
- constructor(viewContainerRef, service) {
2653
- this.viewContainerRef = viewContainerRef;
2654
- this.service = service;
2655
- this.sections = [];
2656
- this.loading = false;
2657
- }
2658
- ngOnInit() {
2659
- this.loading = true;
2660
- this.service.getInstanceSections(this.tenant, this.className, this.oid).subscribe(response => {
2661
- window.coast.tabManager.setTitle.next({
2662
- id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,
2663
- title: response.data.title
2664
- });
2665
- this.sections = response.data.list;
2666
- this.loading = false;
2667
- });
2668
- }
2669
- }
2670
- DataDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataDetailComponent, deps: [{ token: i0.ViewContainerRef }, { token: DataDetailService }], target: i0.ɵɵFactoryTarget.Component });
2671
- DataDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DataDetailComponent, selector: "coast-data-detail", providers: [DataDetailService], ngImport: i0, template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\n <span>\u60A8\u65E0\u6743\u67E5\u770B\u8BE5\u6570\u636E\u5B9E\u4F8B\u4EFB\u4F55\u4FE1\u606F</span>\n</div>\n<ng-container *ngIf=\"sections.length > 0\">\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\n [selectedItems]=\"sections\" [focusStateEnabled]=\"false\">\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\n <div class=\"section-title-name\">{{ section.name }}</div>\n </div>\n <div *dxTemplate=\"let section of 'item'\">\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\" [params]=\"params\"\n [tabViewContainerRef]=\"tabViewContainerRef\" [readonly]=\"true\"></rs-form>\n </div>\n </dx-accordion>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host div.empty{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div.empty span{text-align:center;-webkit-user-select:none;user-select:none}:host .section-title{border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .section-title .section-title-name{height:24px;font-size:14px;font-weight:700;padding:4px 8px;display:flex;flex-flow:column nowrap;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.DxAccordionComponent, selector: "dx-accordion", inputs: ["accessKey", "activeStateEnabled", "animationDuration", "collapsible", "dataSource", "deferRendering", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "itemHoldTimeout", "items", "itemTemplate", "itemTitleTemplate", "keyExpr", "multiple", "noDataText", "repaintChangesOnly", "rtlEnabled", "selectedIndex", "selectedItem", "selectedItemKeys", "selectedItems", "tabIndex", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onItemClick", "onItemContextMenu", "onItemHold", "onItemRendered", "onItemTitleClick", "onOptionChanged", "onSelectionChanged", "accessKeyChange", "activeStateEnabledChange", "animationDurationChange", "collapsibleChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemHoldTimeoutChange", "itemsChange", "itemTemplateChange", "itemTitleTemplateChange", "keyExprChange", "multipleChange", "noDataTextChange", "repaintChangesOnlyChange", "rtlEnabledChange", "selectedIndexChange", "selectedItemChange", "selectedItemKeysChange", "selectedItemsChange", "tabIndexChange", "visibleChange", "widthChange"] }, { kind: "directive", type: i2$2.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i6.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i6$1.DxLoadPanelComponent, selector: "dx-load-panel", inputs: ["animation", "closeOnOutsideClick", "container", "copyRootClassesToWrapper", "deferRendering", "delay", "elementAttr", "focusStateEnabled", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "indicatorSrc", "maxHeight", "maxWidth", "message", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showIndicator", "showPane", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "closeOnOutsideClickChange", "containerChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "delayChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "indicatorSrcChange", "maxHeightChange", "maxWidthChange", "messageChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showIndicatorChange", "showPaneChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: FormComponent, selector: "rs-form", inputs: ["tenant", "className", "oid", "copyOid", "template", "extraAttrMap", "params", "tabViewContainerRef", "onlyFrontEnd", "model", "readonly"], outputs: ["onDataLoaded", "submitCallback"] }] });
2672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataDetailComponent, decorators: [{
2673
- type: Component,
2674
- args: [{ selector: 'coast-data-detail', providers: [DataDetailService], template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\n <span>\u60A8\u65E0\u6743\u67E5\u770B\u8BE5\u6570\u636E\u5B9E\u4F8B\u4EFB\u4F55\u4FE1\u606F</span>\n</div>\n<ng-container *ngIf=\"sections.length > 0\">\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\n [selectedItems]=\"sections\" [focusStateEnabled]=\"false\">\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\n <div class=\"section-title-name\">{{ section.name }}</div>\n </div>\n <div *dxTemplate=\"let section of 'item'\">\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\" [params]=\"params\"\n [tabViewContainerRef]=\"tabViewContainerRef\" [readonly]=\"true\"></rs-form>\n </div>\n </dx-accordion>\n</ng-container>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host div.empty{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div.empty span{text-align:center;-webkit-user-select:none;user-select:none}:host .section-title{border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221))}:host .section-title .section-title-name{height:24px;font-size:14px;font-weight:700;padding:4px 8px;display:flex;flex-flow:column nowrap;justify-content:center}\n"] }]
2675
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: DataDetailService }]; } });
2676
-
2677
- class DrawerComponent {
2678
- constructor() {
2679
- this.size = 'default';
2680
- this._width = '480px';
2681
- }
2682
- ngOnInit() {
2683
- if (this.size === 'default') {
2684
- this._width = '480px';
2685
- }
2686
- else if (this.size === 'large') {
2687
- this._width = '960px';
2688
- }
2689
- else {
2690
- this._width = this.size;
2691
- }
2692
- }
2693
- hide($event) {
2694
- // 在service中重写
2695
- }
2696
- stopPropagation($event) {
2697
- $event.stopPropagation();
2698
- }
2699
- autoHide($event) {
2700
- if (this.config?.hideOnOutsideClick) {
2701
- this.hide();
2702
- }
2703
- }
2704
- }
2705
- DrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2706
- DrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DrawerComponent, selector: "rs-drawer", host: { listeners: { "click": "stopPropagation($event)", "window:click": "autoHide($event)" } }, ngImport: i0, template: "<div class=\"drawer\" [class.hide-on-outside-click]=\"config?.hideOnOutsideClick\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n</div>\n", styles: [":host .drawer{position:absolute;top:0;right:0;bottom:0;height:100%;z-index:var(--coast-z-index-framework, 1000);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-left:1px solid var(--coast-border-color, rgb(221, 221, 221));box-shadow:-8px 0 4px -4px #252b3a3d;display:flex;flex-flow:column nowrap}:host .drawer.hide-on-outside-click{z-index:var(--coast-z-index-drawer, 2000)}:host .drawer .drawer-header{flex:0 0 36px;padding:8px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221));display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end}:host .drawer .drawer-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .drawer .drawer-close{position:absolute;height:100%;width:20px;top:0;left:-20px;display:flex;flex-flow:row nowrap;align-items:center}:host .drawer .drawer-close dx-button{box-shadow:-8px 0 4px -4px #252b3a3d}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }] });
2707
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerComponent, decorators: [{
2708
- type: Component,
2709
- args: [{ selector: 'rs-drawer', template: "<div class=\"drawer\" [class.hide-on-outside-click]=\"config?.hideOnOutsideClick\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n</div>\n", styles: [":host .drawer{position:absolute;top:0;right:0;bottom:0;height:100%;z-index:var(--coast-z-index-framework, 1000);background-color:var(--coast-base-bg-color, rgb(255, 255, 255));border-left:1px solid var(--coast-border-color, rgb(221, 221, 221));box-shadow:-8px 0 4px -4px #252b3a3d;display:flex;flex-flow:column nowrap}:host .drawer.hide-on-outside-click{z-index:var(--coast-z-index-drawer, 2000)}:host .drawer .drawer-header{flex:0 0 36px;padding:8px;border-bottom:1px solid var(--coast-border-color, rgb(221, 221, 221));display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end}:host .drawer .drawer-content{flex:1;overflow:auto;display:flex;flex-flow:column nowrap}:host .drawer .drawer-close{position:absolute;height:100%;width:20px;top:0;left:-20px;display:flex;flex-flow:row nowrap;align-items:center}:host .drawer .drawer-close dx-button{box-shadow:-8px 0 4px -4px #252b3a3d}\n"] }]
2710
- }], ctorParameters: function () { return []; }, propDecorators: { stopPropagation: [{
2711
- type: HostListener,
2712
- args: ['click', ['$event']]
2713
- }], autoHide: [{
2714
- type: HostListener,
2715
- args: ['window:click', ['$event']]
2716
- }] } });
2717
-
2718
- class DrawerService {
2719
- open(viewContainerRef, size = 'default', contentTemplate, contentTemplateContext, headerTemplate, headerTemplateContext, config) {
2720
- // 若已存在抽屉,先关闭
2721
- const drawers = viewContainerRef.element.nativeElement.parentElement.querySelectorAll('RS-DRAWER');
2722
- for (let i = 0; i < drawers.length; i++) {
2723
- drawers[i].querySelector('.drawer-close .coast-icon-arrow-right-filling').click();
2724
- }
2725
- const drawerRef = viewContainerRef.createComponent(DrawerComponent);
2726
- drawerRef.instance.hide = ($event) => {
2727
- $event?.event?.stopPropagation();
2728
- drawerRef.hostView.destroy();
2729
- };
2730
- drawerRef.instance.size = size;
2731
- drawerRef.instance.headerTemplate = headerTemplate;
2732
- drawerRef.instance.headerTemplateContext = headerTemplateContext;
2733
- drawerRef.instance.contentTemplate = contentTemplate;
2734
- drawerRef.instance.contentTemplateContext = contentTemplateContext;
2735
- drawerRef.instance.config = config || {
2736
- hideOnOutsideClick: true
2737
- };
2738
- return drawerRef.instance;
2739
- }
2740
- }
2741
- DrawerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2742
- DrawerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerService, providedIn: 'root' });
2743
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerService, decorators: [{
2744
- type: Injectable,
2745
- args: [{
2746
- providedIn: 'root'
2747
- }]
2748
- }] });
2749
-
2750
2662
  class InstanceLinkTemplateComponent {
2751
2663
  constructor(drawerService) {
2752
2664
  this.drawerService = drawerService;
@@ -2762,7 +2674,7 @@ class InstanceLinkTemplateComponent {
2762
2674
  type: 'detail',
2763
2675
  id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,
2764
2676
  title: '',
2765
- component: DataDetailComponent,
2677
+ component: 'coast-dynamic-data-detail',
2766
2678
  config: {
2767
2679
  tenant: this.tenant,
2768
2680
  className: this.className,
@@ -3199,32 +3111,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3199
3111
  }]
3200
3112
  }] });
3201
3113
 
3202
- class DataDetailModule {
3203
- }
3204
- DataDetailModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataDetailModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3205
- DataDetailModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DataDetailModule, declarations: [DataDetailComponent], imports: [CommonModule,
3206
- DevExtremeModule,
3207
- FormModule], exports: [DataDetailComponent] });
3208
- DataDetailModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataDetailModule, imports: [CommonModule,
3209
- DevExtremeModule,
3210
- FormModule] });
3211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataDetailModule, decorators: [{
3212
- type: NgModule,
3213
- args: [{
3214
- declarations: [
3215
- DataDetailComponent
3216
- ],
3217
- imports: [
3218
- CommonModule,
3219
- DevExtremeModule,
3220
- FormModule
3221
- ],
3222
- exports: [
3223
- DataDetailComponent
3224
- ]
3225
- }]
3226
- }] });
3227
-
3228
3114
  class DrawerModule {
3229
3115
  }
3230
3116
  DrawerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -3960,5 +3846,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3960
3846
  * Generated bundle index. Do not edit.
3961
3847
  */
3962
3848
 
3963
- export { BoxContainerComponent, BoxContainerModule, CamundaBpmnEditorComponent, CamundaBpmnEditorModule, CamundaBpmnViewerComponent, CamundaBpmnViewerModule, CellComponentBase, CellConfigBase, ChangeFilter, CodeEditorComponent, CodeEditorModule, CustomTemplateDirective, DataDetailComponent, DataDetailModule, DataGridComponent, DataGridFactory, DataGridModule, DataGridService, DrawerComponent, DrawerModule, DrawerService, DynamicParamsComponent, DynamicParamsModule, FieldSelectorComponent, FormComponent, FormItemComponentBase, FormItemConfigBase, FormModule, FormService, FullscreenDirective, IconSelectorComponent, IconSelectorModule, ItemConfigComponent, ItemStyleComponent, ModalComponent, ModalComponentBase, ModalConfigBase, ModalModule, ModalService, PageItemComponentBase, PageItemConfigBase, PdfViewerComponent, PluginManager, RowButtonsTemplateDirective, TooltipContentTemplateDirective, WebsocketModule, WebsocketService, download_file, file_type_icon, filename_from_disposition, format_date, format_datetime, format_file_size, localeSortMethod, notify_error, notify_success, notify_warning, support_preview_ext, validate, validate_group, validate_group_by_name };
3849
+ export { BoxContainerComponent, BoxContainerModule, CamundaBpmnEditorComponent, CamundaBpmnEditorModule, CamundaBpmnViewerComponent, CamundaBpmnViewerModule, CellComponentBase, CellConfigBase, ChangeFilter, CodeEditorComponent, CodeEditorModule, CustomTemplateDirective, DataGridComponent, DataGridFactory, DataGridModule, DataGridService, DrawerComponent, DrawerModule, DrawerService, DynamicParamsComponent, DynamicParamsModule, FieldSelectorComponent, FormComponent, FormItemComponentBase, FormItemConfigBase, FormModule, FormService, FullscreenDirective, IconSelectorComponent, IconSelectorModule, ItemConfigComponent, ItemStyleComponent, ModalComponent, ModalComponentBase, ModalConfigBase, ModalModule, ModalService, PageItemComponentBase, PageItemConfigBase, PdfViewerComponent, PluginManager, RowButtonsTemplateDirective, TooltipContentTemplateDirective, WebsocketModule, WebsocketService, download_file, file_type_icon, filename_from_disposition, format_date, format_datetime, format_file_size, localeSortMethod, notify_error, notify_success, notify_warning, support_preview_ext, validate, validate_group, validate_group_by_name };
3964
3850
  //# sourceMappingURL=ngx-rs-ant.mjs.map