ngx-rs-ant 0.6.0 → 0.6.2
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.
|
@@ -10,11 +10,11 @@ export class ItemBlankComponent {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
ItemBlankComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ItemBlankComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
-
ItemBlankComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ItemBlankComponent, selector: "rs-item-blank", outputs: { dropItem: "dropItem" }, ngImport: i0, template: "<div\n dDroppable\n [dropScope]=\"'
|
|
13
|
+
ItemBlankComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ItemBlankComponent, selector: "rs-item-blank", outputs: { dropItem: "dropItem" }, ngImport: i0, template: "<div\n dDroppable\n [dropScope]=\"['page', 'form']\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>\u62D6\u62FD\u7EC4\u4EF6\u5230\u6B64\u5904</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--devui-dividing-line, #f2f2f3);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQMAAAAAMksxAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAZQTFRF8fHxAAAAMCd7XAAAAAJ0Uk5T/wDltzBKAAABJUlEQVR4nFVSy23EIBCdAiKxBaxCC1tBaGk7YG/OjZYSOQptLKKB8Y0D8ssbjBPl9gQz7wfigQbgQxygEXjIAjwDcJEV+PbYb1KAlNDusgE+Q1Va3EPFptJDjwVVZfcNiqwCV9BiIlhW9DdPkEn5GggKRV4igVL2AYJGpc8TFAMa5lXhzHuc69dwEO6DkBI9OhNVii60ERu3VxrjRUVRet7DsMoUbpgny+LRb5b0K2C/CAWejCxCSYVl9wcQSaMEzuRRArcqebzxcMCnUcKQsBKiiVoJoR1+4DfWSodILCGa5zXTvKWo5L5ars0C/iuh003F7GecbG62YVujunzypDqZTcsK76HF2UYP41HM4WoO7eEWNLUUyaHf/3L9JvXnBwjzS/wAoXR0PDbjCSUAAAAASUVORK5CYII=) repeat var(--devui-unavailable, #f5f5f5);display:flex;flex-flow:row nowrap;justify-content:center;pointer-events:all}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{text-align:center;-webkit-user-select:none;user-select:none}:host div.active{background-color:var(--devui-waiting, #beccfa)}:host.plugin-hover>div{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1.DroppableDirective, selector: "[dDroppable]", inputs: ["dragOverClass", "dropScope", "placeholderTag", "placeholderStyle", "placeholderText", "allowDropOnItem", "dragOverItemClass", "nestingTargetRect", "switchWhileCrossEdge", "defaultDropPosition", "dropSortCountSelector", "dropSortVirtualScrollOption"], outputs: ["dragEnterEvent", "dragOverEvent", "dragLeaveEvent", "dropEvent"] }] });
|
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ItemBlankComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
|
-
args: [{ selector: 'rs-item-blank', template: "<div\n dDroppable\n [dropScope]=\"'
|
|
16
|
+
args: [{ selector: 'rs-item-blank', template: "<div\n dDroppable\n [dropScope]=\"['page', 'form']\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>\u62D6\u62FD\u7EC4\u4EF6\u5230\u6B64\u5904</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--devui-dividing-line, #f2f2f3);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQMAAAAAMksxAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAZQTFRF8fHxAAAAMCd7XAAAAAJ0Uk5T/wDltzBKAAABJUlEQVR4nFVSy23EIBCdAiKxBaxCC1tBaGk7YG/OjZYSOQptLKKB8Y0D8ssbjBPl9gQz7wfigQbgQxygEXjIAjwDcJEV+PbYb1KAlNDusgE+Q1Va3EPFptJDjwVVZfcNiqwCV9BiIlhW9DdPkEn5GggKRV4igVL2AYJGpc8TFAMa5lXhzHuc69dwEO6DkBI9OhNVii60ERu3VxrjRUVRet7DsMoUbpgny+LRb5b0K2C/CAWejCxCSYVl9wcQSaMEzuRRArcqebzxcMCnUcKQsBKiiVoJoR1+4DfWSodILCGa5zXTvKWo5L5ars0C/iuh003F7GecbG62YVujunzypDqZTcsK76HF2UYP41HM4WoO7eEWNLUUyaHf/3L9JvXnBwjzS/wAoXR0PDbjCSUAAAAASUVORK5CYII=) repeat var(--devui-unavailable, #f5f5f5);display:flex;flex-flow:row nowrap;justify-content:center;pointer-events:all}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{text-align:center;-webkit-user-select:none;user-select:none}:host div.active{background-color:var(--devui-waiting, #beccfa)}:host.plugin-hover>div{pointer-events:none}\n"] }]
|
|
17
17
|
}], propDecorators: { dropItem: [{
|
|
18
18
|
type: Output
|
|
19
19
|
}] } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1ibGFuay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2l0ZW0tYmxhbmsvaXRlbS1ibGFuay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcnMtYW50L3NyYy9ib3gtY29udGFpbmVyL2JveC1pdGVtL2l0ZW0tYmxhbmsvaXRlbS1ibGFuay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQU85RCxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBT0UsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0FLL0I7SUFIQyxTQUFTLENBQUMsTUFBVztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7K0dBTlUsa0JBQWtCO21HQUFsQixrQkFBa0Isd0ZDUC9CLGlNQVFBOzJGRERhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxlQUFlOzhCQU16QixRQUFRO3NCQURQLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdycy1pdGVtLWJsYW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2l0ZW0tYmxhbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pdGVtLWJsYW5rLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSXRlbUJsYW5rQ29tcG9uZW50IHtcbiAgQE91dHB1dCgpXG4gIGRyb3BJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGRyb3BFdmVudCgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZHJvcEl0ZW0uZW1pdCgkZXZlbnQuZHJhZ0RhdGEpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGREcm9wcGFibGVcbiAgW2Ryb3BTY29wZV09XCJbJ3BhZ2UnLCAnZm9ybSddXCJcbiAgZHJhZ092ZXJDbGFzcz1cImFjdGl2ZVwiXG4gIChkcm9wRXZlbnQpPVwiZHJvcEV2ZW50KCRldmVudClcIlxuPlxuICA8c3Bhbj7mi5bmi73nu4Tku7bliLDmraTlpIQ8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|
package/fesm2015/ngx-rs-ant.mjs
CHANGED
|
@@ -397,10 +397,10 @@ class ItemBlankComponent {
|
|
|
397
397
|
}
|
|
398
398
|
}
|
|
399
399
|
ItemBlankComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ItemBlankComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
400
|
-
ItemBlankComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ItemBlankComponent, selector: "rs-item-blank", outputs: { dropItem: "dropItem" }, ngImport: i0, template: "<div\n dDroppable\n [dropScope]=\"'
|
|
400
|
+
ItemBlankComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ItemBlankComponent, selector: "rs-item-blank", outputs: { dropItem: "dropItem" }, ngImport: i0, template: "<div\n dDroppable\n [dropScope]=\"['page', 'form']\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>\u62D6\u62FD\u7EC4\u4EF6\u5230\u6B64\u5904</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--devui-dividing-line, #f2f2f3);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQMAAAAAMksxAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAZQTFRF8fHxAAAAMCd7XAAAAAJ0Uk5T/wDltzBKAAABJUlEQVR4nFVSy23EIBCdAiKxBaxCC1tBaGk7YG/OjZYSOQptLKKB8Y0D8ssbjBPl9gQz7wfigQbgQxygEXjIAjwDcJEV+PbYb1KAlNDusgE+Q1Va3EPFptJDjwVVZfcNiqwCV9BiIlhW9DdPkEn5GggKRV4igVL2AYJGpc8TFAMa5lXhzHuc69dwEO6DkBI9OhNVii60ERu3VxrjRUVRet7DsMoUbpgny+LRb5b0K2C/CAWejCxCSYVl9wcQSaMEzuRRArcqebzxcMCnUcKQsBKiiVoJoR1+4DfWSodILCGa5zXTvKWo5L5ars0C/iuh003F7GecbG62YVujunzypDqZTcsK76HF2UYP41HM4WoO7eEWNLUUyaHf/3L9JvXnBwjzS/wAoXR0PDbjCSUAAAAASUVORK5CYII=) repeat var(--devui-unavailable, #f5f5f5);display:flex;flex-flow:row nowrap;justify-content:center;pointer-events:all}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{text-align:center;-webkit-user-select:none;user-select:none}:host div.active{background-color:var(--devui-waiting, #beccfa)}:host.plugin-hover>div{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$1.DroppableDirective, selector: "[dDroppable]", inputs: ["dragOverClass", "dropScope", "placeholderTag", "placeholderStyle", "placeholderText", "allowDropOnItem", "dragOverItemClass", "nestingTargetRect", "switchWhileCrossEdge", "defaultDropPosition", "dropSortCountSelector", "dropSortVirtualScrollOption"], outputs: ["dragEnterEvent", "dragOverEvent", "dragLeaveEvent", "dropEvent"] }] });
|
|
401
401
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ItemBlankComponent, decorators: [{
|
|
402
402
|
type: Component,
|
|
403
|
-
args: [{ selector: 'rs-item-blank', template: "<div\n dDroppable\n [dropScope]=\"'
|
|
403
|
+
args: [{ selector: 'rs-item-blank', template: "<div\n dDroppable\n [dropScope]=\"['page', 'form']\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>\u62D6\u62FD\u7EC4\u4EF6\u5230\u6B64\u5904</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--devui-dividing-line, #f2f2f3);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQMAAAAAMksxAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAZQTFRF8fHxAAAAMCd7XAAAAAJ0Uk5T/wDltzBKAAABJUlEQVR4nFVSy23EIBCdAiKxBaxCC1tBaGk7YG/OjZYSOQptLKKB8Y0D8ssbjBPl9gQz7wfigQbgQxygEXjIAjwDcJEV+PbYb1KAlNDusgE+Q1Va3EPFptJDjwVVZfcNiqwCV9BiIlhW9DdPkEn5GggKRV4igVL2AYJGpc8TFAMa5lXhzHuc69dwEO6DkBI9OhNVii60ERu3VxrjRUVRet7DsMoUbpgny+LRb5b0K2C/CAWejCxCSYVl9wcQSaMEzuRRArcqebzxcMCnUcKQsBKiiVoJoR1+4DfWSodILCGa5zXTvKWo5L5ars0C/iuh003F7GecbG62YVujunzypDqZTcsK76HF2UYP41HM4WoO7eEWNLUUyaHf/3L9JvXnBwjzS/wAoXR0PDbjCSUAAAAASUVORK5CYII=) repeat var(--devui-unavailable, #f5f5f5);display:flex;flex-flow:row nowrap;justify-content:center;pointer-events:all}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{text-align:center;-webkit-user-select:none;user-select:none}:host div.active{background-color:var(--devui-waiting, #beccfa)}:host.plugin-hover>div{pointer-events:none}\n"] }]
|
|
404
404
|
}], propDecorators: { dropItem: [{
|
|
405
405
|
type: Output
|
|
406
406
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider-line/divider-line.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider-line/divider-line.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-active/plugin-active.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/plugin-active.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-hover/plugin-hover.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-hover/plugin-hover.component.html","../../../projects/ngx-rs-ant/src/box-container/PluginManager.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/item-config.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/item-config.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style-blank/style-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style-blank/style-blank.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style/style.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style/style.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/item-style.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/item-style.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item-host.directive.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-blank/item-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-blank/item-blank.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item.component.html","../../../projects/ngx-rs-ant/src/box-container/box-container.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-container.component.html","../../../projects/ngx-rs-ant/src/box-container/box-container.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.service.ts","../../../projects/ngx-rs-ant/src/data-grid/master-detail-template.directive.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.html","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.component.ts","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.component.html","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.module.ts","../../../projects/ngx-rs-ant/src/form/form.service.ts","../../../projects/ngx-rs-ant/src/form/form.component.ts","../../../projects/ngx-rs-ant/src/form/form.component.html","../../../projects/ngx-rs-ant/src/form/form.module.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.html","../../../projects/ngx-rs-ant/src/modal/modal.module.ts","../../../projects/ngx-rs-ant/src/modal/modal.service.ts","../../../projects/ngx-rs-ant/src/public-api.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\n\n@Component({\n selector: 'rs-divider-line',\n templateUrl: './divider-line.component.html',\n styleUrls: ['./divider-line.component.scss']\n})\nexport class DividerLineComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n height: elementRect.width + 'px'\n };\n }\n if (this.direction === 'column') {\n return {\n height: elementRect.height + 'px'\n };\n }\n return {};\n }\n}\n","","import {Component, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss']\n})\nexport class DividerComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n @Output()\n dividerClick = new EventEmitter();\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n top: elementRect.height / 2 - 12 + 'px',\n left: '4px',\n transform: 'rotate(270deg)'\n };\n }\n if (this.direction === 'column') {\n return {\n top: '4px',\n left: elementRect.width / 2 - 12 + 'px'\n };\n }\n return {};\n }\n\n @HostListener('click')\n onClick() {\n this.dividerClick.emit();\n }\n}\n","<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n","import {Component, EventEmitter, HostBinding, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-active',\r\n templateUrl: './plugin-active.component.html',\r\n styleUrls: ['./plugin-active.component.scss']\r\n})\r\nexport class PluginActiveComponent implements OnInit {\r\n name!: string;\r\n showClose: boolean = true;\r\n showDivider: boolean = false;\r\n itemRemove = new EventEmitter();\r\n targetElement: any;\r\n targetRect: any = {\r\n width: 0,\r\n height: 0\r\n };\r\n _targetRect: any = {};\r\n width: number = 0;\r\n _width: number = 0;\r\n height: number = 0;\r\n _height: number = 0;\r\n\r\n @HostBinding('style') get _style() {\r\n if (!this.targetElement) {\r\n return {};\r\n }\r\n const elementRect = this.targetElement.getBoundingClientRect();\r\n this._targetRect.width = elementRect.width;\r\n this._targetRect.height = elementRect.height;\r\n return {\r\n width: elementRect.width + 'px',\r\n height: elementRect.height + 'px',\r\n top: this.targetElement.offsetTop + 'px',\r\n left: this.targetElement.offsetLeft + 'px'\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.targetRect = this._targetRect;\r\n });\r\n }\r\n\r\n onItemCloseIconClick($event: any) {\r\n this.itemRemove.emit();\r\n }\r\n\r\n splitItem(direction: 'row' | 'column') {\r\n // 在布局型组件中实例化时重写\r\n }\r\n}\r\n","<div class=\"active-bar\">\r\n <span>{{name}}</span>\r\n <i *ngIf=\"showClose\" class=\"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","import {Component, HostBinding} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-hover',\r\n templateUrl: './plugin-hover.component.html',\r\n styleUrls: ['./plugin-hover.component.scss']\r\n})\r\nexport class PluginHoverComponent {\r\n name!: string;\r\n targetElement: any;\r\n\r\n @HostBinding('style') get _style() {\r\n if (!this.targetElement) {\r\n return {};\r\n }\r\n const elementRect = this.targetElement.getBoundingClientRect();\r\n return {\r\n width: elementRect.width + 'px',\r\n height: elementRect.height + 'px',\r\n top: this.targetElement.offsetTop + 'px',\r\n left: this.targetElement.offsetLeft + 'px'\r\n };\r\n }\r\n}\r\n","<div class=\"hover-title\">{{name}}</div>\n","import {ComponentRef, ViewContainerRef} from '@angular/core';\r\nimport {PluginFactory} from 'coast-plugin-register';\r\nimport {PluginActiveComponent} from './plugin-active/plugin-active.component';\r\nimport {PluginHoverComponent} from './plugin-hover/plugin-hover.component';\r\nimport {Subject} from 'rxjs';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\n\r\nexport class PluginManager {\r\n static hoverItems: any[] = [];\r\n static activeItem = new Subject<any>();\r\n static activeItems: any[] = [];\r\n\r\n static createComponent(boxItem: BoxItemComponent, index: number, style: any, config: any): any {\r\n const plugin = PluginFactory.get(config.name);\r\n if (!plugin) {\r\n console.error('undefined plugin: ' + config.name);\r\n return;\r\n }\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n viewContainerRef.clear();\r\n const componentRef = viewContainerRef.createComponent(plugin.component);\r\n const instance: any = componentRef.instance;\r\n Object.assign(instance, config.pluginConfig);\r\n if (plugin.type === 'form') {\r\n instance.formGroup = boxItem.boxContainer.formGroup;\r\n }\r\n instance.tabViewContainerRef = boxItem.boxContainer.tabViewContainerRef;\r\n if (boxItem.boxContainer.editMode) {\r\n instance.onRemove = () => {\r\n boxItem.config.list.splice(index, 1, {type: 'blank', style: boxItem.config.list[index].style});\r\n boxItem.load();\r\n };\r\n componentRef.location.nativeElement.style.pointerEvents = 'all';\r\n for (let child of componentRef.location.nativeElement.children) {\r\n child.style.pointerEvents = 'none';\r\n }\r\n this.createHoverComponent(viewContainerRef, componentRef, plugin.caption);\r\n this.createActiveComponent(boxItem, index, componentRef, style, {\r\n caption: plugin.caption,\r\n config\r\n }, true);\r\n }\r\n return componentRef;\r\n }\r\n\r\n static createHoverComponent(viewContainerRef: ViewContainerRef, componentRef: ComponentRef<any>, caption: string): any {\r\n const hoverComponentRef = viewContainerRef.createComponent(PluginHoverComponent);\r\n hoverComponentRef.instance.name = caption;\r\n hoverComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const hoverElement = hoverComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(hoverElement);\r\n this.hoverItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('mouseenter', ($event: any) => {\r\n for (let hoverItem of this.hoverItems) {\r\n hoverItem.classList.remove('plugin-hover');\r\n }\r\n $event.target.classList.add('plugin-hover');\r\n });\r\n componentRef.location.nativeElement.addEventListener('mouseleave', ($event: any) => {\r\n $event.target.classList.remove('plugin-hover');\r\n $event.target.parentElement.parentElement.classList.add('plugin-hover');\r\n });\r\n return hoverComponentRef;\r\n }\r\n\r\n static createActiveComponent(boxItem: BoxItemComponent, index: number, componentRef: ComponentRef<any>,\r\n style: any, config: any, showClose: boolean): any {\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(activeElement);\r\n this.activeItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems.indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({boxItem, index, style, config: config.config});\r\n $event.target.classList.add('plugin-active');\r\n });\r\n activeComponentRef.instance.itemRemove.subscribe(() => {\r\n this.activeItem.next('');\r\n viewContainerRef.clear();\r\n componentRef.instance.onRemove();\r\n });\r\n return activeComponentRef;\r\n }\r\n}\r\n","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\nimport {PluginFactory} from \"coast-plugin-register\";\n\n@Component({\n selector: 'rs-item-config',\n templateUrl: './item-config.component.html',\n styleUrls: ['./item-config.component.scss']\n})\nexport class ItemConfigComponent implements OnInit {\n @ViewChild('pageConfigContent', {static: true, read: ViewContainerRef}) pageConfigContent!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(item => {\n if (!item) {\n return;\n }\n this.pageConfigContent.clear();\n const pluginConfig = PluginFactory.getConfig(item.config?.name);\n if (!pluginConfig) {\n return;\n }\n const componentRef = this.pageConfigContent.createComponent(pluginConfig.component);\n const instance: any = componentRef.instance;\n instance.config = item.config.pluginConfig;\n instance.configChange.subscribe(() => {\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\n componentRef.location.nativeElement.click();\n });\n });\n }\n}\n","<ng-container #pageConfigContent></ng-container>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-style-blank',\n templateUrl: './style-blank.component.html',\n styleUrls: ['./style-blank.component.scss']\n})\nexport class StyleBlankComponent {\n}\n","<div>\n <span>请在左侧画布选中节点</span>\n</div>\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'rs-style',\n templateUrl: './style.component.html',\n styleUrls: ['./style.component.scss']\n})\nexport class StyleComponent implements OnInit {\n style: any;\n width: number | undefined;\n height: number | undefined;\n\n ngOnInit(): void {\n this.style.width = this.style.width ? this.style.width : 'auto';\n this.style.height = this.style.height ? this.style.height : 'auto';\n if (this.style.width !== 'auto') {\n this.width = this.style.width.substring(0, this.style.width.length - 2);\n }\n if (this.style.height !== 'auto') {\n this.height = this.style.height.substring(0, this.style.height.length - 2);\n }\n }\n\n select(name: string, value: any) {\n const that: any = this;\n if (value === 'auto') {\n this.style[name] = 'auto';\n } else {\n if (!that[name]) {\n that[name] = value;\n }\n this.style[name] = that[name] + 'px';\n }\n }\n\n typing(name: string, value: any) {\n if (value) {\n this.style[name] = value + 'px';\n } else {\n this.style[name] = 'auto';\n }\n }\n}\n","<div class=\"config-item\">\n <div class=\"item-title\">宽度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\n (click)=\"select('width','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\n (click)=\"select('width',240)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定宽度</div>\n <div class=\"item-setting\">\n <d-input-number [allowEmpty]=\"true\" [(ngModel)]=\"width\"\n (whileValueChanging)=\"typing('width', $event)\"></d-input-number>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">高度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\n (click)=\"select('height','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\n (click)=\"select('height',800)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定高度</div>\n <div class=\"item-setting\">\n <d-input-number [allowEmpty]=\"true\" [(ngModel)]=\"height\"\n (whileValueChanging)=\"typing('height', $event)\"></d-input-number>\n </div>\n</div>\n","import {ChangeDetectorRef, Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\nimport {StyleBlankComponent} from \"./style-blank/style-blank.component\";\nimport {StyleComponent} from \"./style/style.component\";\n\n@Component({\n selector: 'rs-item-style',\n templateUrl: './item-style.component.html',\n styleUrls: ['./item-style.component.scss']\n})\nexport class ItemStyleComponent implements OnInit {\n @ViewChild('pageStyleContent', {static: true, read: ViewContainerRef}) pageStyleContent!: ViewContainerRef;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n }\n\n ngOnInit(): void {\n this.pageStyleContent.createComponent(StyleBlankComponent);\n PluginManager.activeItem.subscribe(item => {\n this.pageStyleContent.clear();\n if (item) {\n const componentRef = this.pageStyleContent.createComponent(StyleComponent);\n const instance: any = componentRef.instance;\n instance.style = item.style;\n } else {\n this.pageStyleContent.createComponent(StyleBlankComponent);\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n}\n","<ng-container #pageStyleContent></ng-container>\n","import {Directive, ElementRef, Input, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[rsBoxItemHost]'\n})\nexport class BoxItemHostDirective {\n @Input()\n hostId: any;\n\n constructor(private el: ElementRef, public viewContainerRef: ViewContainerRef) {\n this.el.nativeElement.hostId = this.hostId;\n }\n}\n","import {Component, EventEmitter, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-item-blank',\n templateUrl: './item-blank.component.html',\n styleUrls: ['./item-blank.component.scss']\n})\nexport class ItemBlankComponent {\n @Output()\n dropItem = new EventEmitter();\n\n dropEvent($event: any) {\n this.dropItem.emit($event.dragData);\n }\n}\n","<div\n dDroppable\n [dropScope]=\"'default'\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>拖拽组件到此处</span>\n</div>\n","import {Component, EventEmitter, HostBinding, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\nimport {BoxItemHostDirective} from './box-item-host.directive';\nimport {PluginManager} from '../PluginManager';\nimport {ItemBlankComponent} from \"./item-blank/item-blank.component\";\n\n@Component({\n selector: 'rs-box-item',\n templateUrl: './box-item.component.html',\n styleUrls: ['./box-item.component.scss']\n})\nexport class BoxItemComponent implements OnInit {\n boxContainer: any;\n style: any = {};\n config: any = {};\n pDirection?: 'row' | 'column';\n\n @HostBinding('style.flex-direction') get _direction() {\n return this.config.direction;\n }\n\n @HostBinding('style') get _style() {\n if (this.pDirection) {\n return {};\n }\n const width = this.style?.width ? this.style.width : 'auto';\n const height = this.style?.height ? this.style.height : 'auto';\n return this._calcStyle(this.pDirection, width, height);\n }\n\n @Output()\n leaveOneItem = new EventEmitter();\n @ViewChildren(BoxItemHostDirective) itemHosts!: QueryList<BoxItemHostDirective>;\n\n ngOnInit(): void {\n this.load();\n }\n\n load() {\n setTimeout(() => {\n for (let i = 0; i < this.itemHosts.length; i++) {\n const itemHost: any = this.itemHosts.get(i);\n itemHost.viewContainerRef.clear();\n const item = this.config.list[i];\n switch (item.type) {\n case 'plugin':\n PluginManager.createComponent(this, i, item.style, item.config);\n break;\n case 'item':\n const boxItemComponentRef = itemHost.viewContainerRef.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this.boxContainer;\n instance.style = item.style;\n instance.config = item.config;\n instance.pDirection = this.config.direction;\n if (this.boxContainer.editMode) {\n instance.leaveOneItem.subscribe((item: any) => {\n if (item.type === 'item' && item.direction === this.config.direction) {\n this.config.list.splice(i, 1, ...item.list);\n } else {\n this.config.list.splice(i, 1, item);\n }\n this.load();\n });\n PluginManager.createHoverComponent(itemHost.viewContainerRef, boxItemComponentRef, '格子容器');\n PluginManager.createActiveComponent(this, i, boxItemComponentRef, item.style, {\n name: 'coast-box-container',\n caption: '格子容器'\n }, false);\n }\n break;\n case 'blank':\n default:\n if (this.boxContainer.editMode) {\n this.createBlankComponent(i);\n }\n break;\n }\n }\n });\n }\n\n private createBlankComponent(index: number) {\n const viewContainerRef: any = this.itemHosts.get(index)?.viewContainerRef;\n const containerBlankComponentRef: any = viewContainerRef.createComponent(ItemBlankComponent);\n containerBlankComponentRef.instance.dropItem.subscribe((plugin: any) => {\n this.config.list[index] = {\n type: 'plugin',\n style: this.config.list[index].style,\n config: {\n name: plugin.name,\n pluginConfig: plugin.pluginConfig || {}\n }\n }\n this.load();\n });\n containerBlankComponentRef.instance.onRemove = () => {\n this.config.list.splice(index, 1);\n if (this.config.list.length === 1) {\n this.leaveOneItem.emit(this.config.list[0]);\n } else {\n this.load();\n }\n };\n PluginManager.createHoverComponent(viewContainerRef, containerBlankComponentRef, '占位格');\n const activeComponentRef = PluginManager.createActiveComponent(this, index, containerBlankComponentRef,\n this.config.list[index].style, {\n name: 'coast-box-container',\n caption: '占位格'\n }, this.config.list.length > 1);\n activeComponentRef.instance.showDivider = true;\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\n if (this.config.direction === direction) {\n this.config.list.splice(index, 0, {type: 'blank', style: {}});\n this.load();\n } else {\n if (this.config.list.length === 1) {\n this.config.direction = direction;\n this.config.list.push({type: 'blank', style: {}});\n } else {\n this.config.list.splice(index, 1, {\n type: 'item',\n style: this.config.list[index].style,\n config: {\n direction,\n list: [{type: 'blank', style: {}}, {type: 'blank', style: {}}]\n }\n });\n }\n this.load();\n }\n };\n }\n\n calcStyle(item: any) {\n const width = item.style?.width ? item.style.width : 'auto';\n const height = item.style?.height ? item.style.height : 'auto';\n return this._calcStyle(this.config.direction, width, height);\n }\n\n private _calcStyle(direction: any, width: string, height: string) {\n if (direction === 'row') {\n return {\n flex: width === 'auto' ? '1' : '0 0 ' + width,\n height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n } else if (direction === 'column') {\n return {\n width,\n flex: height === 'auto' ? 'auto' : '0 0 ' + height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n }\n return {\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n };\n }\n}\n","<ng-container *ngFor=\"let item of config.list; index as index\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n</ng-container>\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {BoxItemComponent} from './box-item/box-item.component';\n\n@Component({\n selector: 'rs-box-container',\n templateUrl: './box-container.component.html',\n styleUrls: ['./box-container.component.scss']\n})\nexport class BoxContainerComponent implements OnInit {\n @Input()\n editMode: boolean = false;\n @Input()\n config: any = {\n direction: 'row',\n list: [{type: 'blank', style: {}}]\n };\n @Input()\n formGroup?: any;\n @Input()\n tabViewContainerRef?: ViewContainerRef;\n @ViewChild('boxContainerContent', {static: true, read: ViewContainerRef}) boxContainerContent!: ViewContainerRef;\n\n ngOnInit(): void {\n const boxItemComponentRef = this.boxContainerContent.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this;\n instance.config = this.config;\n instance.leaveOneItem?.subscribe((item: any) => {\n if (item.type === 'item') {\n Object.assign(instance.config, item);\n } else {\n instance.config.direction = 'row';\n }\n instance.load();\n });\n }\n}\n","<ng-container #boxContainerContent></ng-container>\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {BoxContainerComponent} from './box-container.component';\r\nimport {BoxItemHostDirective} from './box-item/box-item-host.directive';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\nimport {DevUIModule} from 'ng-devui';\r\nimport {PluginActiveComponent} from \"./plugin-active/plugin-active.component\";\r\nimport {PluginHoverComponent} from \"./plugin-hover/plugin-hover.component\";\r\nimport {DividerComponent} from \"./plugin-active/divider/divider.component\";\r\nimport {DividerLineComponent} from \"./plugin-active/divider/divider-line/divider-line.component\";\r\nimport {ItemConfigComponent} from './box-item/item-config/item-config.component';\r\nimport {ItemStyleComponent} from './box-item/item-style/item-style.component';\r\nimport {StyleBlankComponent} from './box-item/item-style/style-blank/style-blank.component';\r\nimport {ItemBlankComponent} from './box-item/item-blank/item-blank.component';\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {StyleComponent} from './box-item/item-style/style/style.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n BoxContainerComponent,\r\n BoxItemHostDirective,\r\n BoxItemComponent,\r\n PluginActiveComponent,\r\n DividerComponent,\r\n DividerLineComponent,\r\n PluginHoverComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent,\r\n StyleBlankComponent,\r\n ItemBlankComponent,\r\n StyleComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevUIModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n BoxContainerComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent\r\n ]\r\n})\r\nexport class BoxContainerModule {\r\n}\r\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {map} from \"rxjs\";\n\n@Injectable()\nexport class DataGridService {\n constructor(private http: HttpClient) {\n }\n\n getMetadataByView(tenant: any, className: any, view?: any) {\n return this.http.get<any>('api/metadata/view/' + className, {\n params: {\n tenant,\n view: view || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, template?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getMany(tenant: any, className: any, params: any) {\n const api = 'api/data/' + className;\n return this.http.get<any>(api + params, {\n params: {\n tenant\n }\n }).pipe(\n map(response => {\n return {\n data: response.data.list,\n totalCount: response.data.count\n }\n })\n );\n }\n}\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[rsMasterDetailTemplate]'\n})\nexport class MasterDetailTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\n","import {Component, ContentChild, Input, OnInit, ViewChild} from '@angular/core';\nimport CustomStore from \"devextreme/data/custom_store\";\nimport {lastValueFrom} from \"rxjs\";\nimport {DxDataGridComponent} from \"devextreme-angular\";\nimport {DataGridService} from \"./data-grid.service\";\nimport {MasterDetailTemplateDirective} from \"./master-detail-template.directive\";\n\n@Component({\n selector: 'rs-data-grid',\n templateUrl: './data-grid.component.html',\n styleUrls: ['./data-grid.component.scss'],\n providers: [DataGridService]\n})\nexport class DataGridComponent implements OnInit {\n @Input()\n tenant!: any;\n @Input()\n className!: any;\n @Input()\n view?: any;\n @Input()\n filter?: any;\n @Input()\n enableMasterDetail = false;\n dataSource: any = {};\n columns: any[] = [];\n typeMap: any = {\n STRING: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n TEXT: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n BOOLEAN: {\n dataType: 'boolean',\n filterOperations: []\n },\n INTEGER: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DOUBLE: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DATE: {\n dataType: 'date',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],\n format: 'yyyy/MM/dd'\n },\n DATETIME: {\n dataType: 'datetime',\n filterOperations: ['>', '<', 'between'],\n format: 'yyyy/MM/dd HH:mm:ss'\n }\n };\n @ViewChild(DxDataGridComponent, {static: true}) dxDataGrid!: DxDataGridComponent;\n @ContentChild(MasterDetailTemplateDirective) masterDetailTemplate!: MasterDetailTemplateDirective;\n\n constructor(private service: DataGridService) {\n }\n\n ngOnInit() {\n this.reload();\n }\n\n reload() {\n this.dxDataGrid.instance?.state(null);\n this.service.getMetadataByView(this.tenant, this.className, this.view || '').subscribe((response: any) => {\n this.columns = [];\n for (let column of response.data.columns) {\n if (column.type === 'NORMAL') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: this.typeMap[column.dataType].dataType,\n alignment: 'left',\n filterOperations: this.typeMap[column.dataType].filterOperations,\n format: this.typeMap[column.dataType].format\n });\n } else if (column.type === 'FILE') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: 'string',\n alignment: 'left',\n filterOperations: []\n });\n } else if (column.type === 'RELATION') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: 'string',\n alignment: 'left',\n filterOperations: ['=']\n });\n }\n }\n });\n this.dataSource = new CustomStore({\n key: 'oid',\n byKey: (key) => {\n return lastValueFrom(this.service.getOne(this.tenant, this.className, key));\n },\n load: (loadOptions: any) => {\n let params = '?';\n if (loadOptions.skip || loadOptions.take) {\n params += 'offset=' + loadOptions.skip;\n params += '&limit=' + loadOptions.take;\n } else {\n params += 'limit=0';\n }\n if (loadOptions.sort) {\n let first = true;\n for (const thisSort of loadOptions.sort) {\n if (first) {\n params += '&orderBy=' + thisSort.selector;\n } else {\n params += ',' + thisSort.selector;\n }\n if (thisSort.desc) {\n params += ' desc';\n }\n first = false;\n }\n }\n let filter;\n if (loadOptions.filter) {\n filter = loadOptions.filter;\n }\n if (this.filter) {\n if (filter) {\n filter = [filter, 'and', this.filter];\n } else {\n filter = this.filter;\n }\n }\n if (filter) {\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\n }\n return lastValueFrom(this.service.getMany(this.tenant, this.className, params + '&view=' + (this.view || '')));\n }\n });\n }\n\n refresh(callback?: any) {\n this.dxDataGrid.instance.refresh().then(() => {\n if (callback) {\n callback();\n }\n });\n }\n\n getSelectedRowKeys() {\n return this.dxDataGrid.instance.getSelectedRowKeys();\n }\n}\n","<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\n [showBorders]=\"true\"\n [showColumnLines]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n [allowColumnResizing]=\"true\"\n columnResizingMode=\"widget\"\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\n (onRowExpanding)=\"$event.component.collapseAll(-1)\"\n>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-remote-operations [filtering]=\"true\"\n [sorting]=\"true\"\n [paging]=\"true\">\n </dxo-remote-operations>\n <dxo-master-detail [enabled]=\"enableMasterDetail\" template=\"masterDetailTemplate\"></dxo-master-detail>\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let rowInfo of 'masterDetailTemplate'\">\n <ng-container [ngTemplateOutlet]=\"masterDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataGridComponent} from './data-grid.component';\nimport {DxDataGridModule} from \"devextreme-angular\";\nimport {MasterDetailTemplateDirective} from './master-detail-template.directive';\n\n@NgModule({\n declarations: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ],\n imports: [\n CommonModule,\n DxDataGridModule\n ],\n exports: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ]\n})\nexport class DataGridModule {\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'rs-dynamic-params',\n templateUrl: './dynamic-params.component.html',\n styleUrls: ['./dynamic-params.component.scss']\n})\nexport class DynamicParamsComponent {\n @Input()\n params!: { name: string, value: string }[];\n\n add() {\n this.params.push({name: '', value: ''});\n }\n\n delete(index: number) {\n this.params.splice(index, 1);\n }\n}\n","<form dForm labelSize=\"sm\">\n <d-form-item>\n <d-form-label>动态参数</d-form-label>\n <d-form-control>\n <d-button icon=\"icon-add\" [bsSize]=\"'sm'\" (btnClick)=\"add()\"></d-button>\n </d-form-control>\n </d-form-item>\n <d-form-item>\n <d-form-label></d-form-label>\n <d-form-control>\n <div *ngFor=\"let param of params; let index = index\">\n <input dTextInput [name]=\"'name' + index\" placeholder=\"参数名\" [(ngModel)]=\"param.name\"/>\n <input dTextInput [name]=\"'value' + index\" placeholder=\"参数值\" [(ngModel)]=\"param.value\"/>\n <d-button icon=\"icon-close\" [bsStyle]=\"'text'\" (btnClick)=\"delete(index)\"></d-button>\n </div>\n </d-form-control>\n </d-form-item>\n</form>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DynamicParamsComponent} from './dynamic-params.component';\nimport {FormsModule} from \"@angular/forms\";\nimport {DevUIModule} from \"ng-devui\";\n\n@NgModule({\n declarations: [\n DynamicParamsComponent\n ],\n imports: [\n CommonModule,\n DevUIModule,\n FormsModule\n ],\n exports: [\n DynamicParamsComponent\n ]\n})\nexport class DynamicParamsModule {\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\n\n@Injectable()\nexport class FormService {\n constructor(private http: HttpClient) {\n }\n\n getFormTemplateConfig(tenant: any, className: any, template?: any) {\n return this.http.get<any>('api/metadata/form/' + className, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, attributes?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n attributes: attributes || []\n }\n });\n }\n\n createOrUpdate(tenant: any, className: any, model: any) {\n let api = 'api/data/' + className;\n if (model.oid) {\n api += '/' + model.oid;\n }\n return this.http.post<any>(api, model, {\n params: {\n tenant\n }\n });\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {FormLayout} from \"ng-devui\";\nimport {UntypedFormGroup} from \"@angular/forms\";\nimport {FormService} from \"./form.service\";\n\n@Component({\n selector: 'rs-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n providers: [FormService]\n})\nexport class FormComponent implements OnInit {\n @Input()\n tenant!: any;\n @Input()\n className!: any;\n @Input()\n oid?: any;\n @Input()\n copyOid?: any;\n @Input()\n template?: any;\n layoutDirection: FormLayout = FormLayout.Vertical;\n config: any;\n formGroup = new UntypedFormGroup({})\n @ViewChild('formSubmitter') formSubmitter!: ElementRef;\n @Output()\n submitCallback = new EventEmitter<any>();\n\n constructor(private service: FormService) {\n }\n\n ngOnInit() {\n this.service.getFormTemplateConfig(this.tenant, this.className, this.template).subscribe((response: any) => {\n this.config = response.data.template;\n if (this.copyOid || this.oid) {\n const attributes = Object.keys(this.formGroup.controls);\n this.service.getOne(this.tenant, this.className, this.copyOid || this.oid, attributes).subscribe((response: any) => {\n if (this.copyOid) {\n delete response.data.oid;\n }\n this.formGroup.patchValue(response.data);\n });\n }\n });\n }\n\n protected submitForm($event: any) {\n if (!$event.valid) {\n this.submitCallback.emit();\n return;\n }\n this.service.createOrUpdate(this.tenant, this.className, {\n oid: this.oid,\n ...this.formGroup.value\n }).subscribe((response: any) => {\n this.submitCallback.emit(response);\n });\n }\n\n submit() {\n this.formSubmitter.nativeElement.click();\n }\n}\n","<form dForm [formGroup]=\"formGroup\" [layout]=\"layoutDirection\" (dSubmit)=\"submitForm($event)\">\n <ng-container *ngIf=\"config\">\n <rs-box-container [config]=\"config\" [formGroup]=\"formGroup\"></rs-box-container>\n </ng-container>\n <button #formSubmitter dFormSubmit=\"click\"></button>\n</form>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormComponent} from './form.component';\nimport {DevUIModule} from \"ng-devui\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {BoxContainerModule} from \"../box-container/box-container.module\";\n\n@NgModule({\n declarations: [\n FormComponent\n ],\n imports: [\n CommonModule,\n DevUIModule,\n FormsModule,\n ReactiveFormsModule,\n BoxContainerModule\n ],\n exports: [\n FormComponent\n ]\n})\nexport class FormModule {\n}\n","import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\n <div class=\"modal-title\">{{title}}</div>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n </div>\n <div class=\"modal-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n ModalComponent\n ]\n})\nexport class ModalModule {\n}\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","/*\n * Public API Surface of ngx-rs-ant\n */\n\nexport * from './box-container/box-item/item-config/item-config.component';\nexport * from './box-container/box-item/item-style/item-style.component';\nexport * from './box-container/box-container.component';\nexport * from './box-container/box-container.module';\nexport * from './box-container/PluginManager';\nexport * from './data-grid/data-grid.component';\nexport * from './data-grid/master-detail-template.directive';\nexport * from './data-grid/data-grid.module';\nexport * from './data-grid/data-grid.service';\nexport * from './dynamic-params/dynamic-params.component';\nexport * from './dynamic-params/dynamic-params.module';\nexport * from './form/form.component';\nexport * from './form/form.module';\nexport * from './form/form.service';\nexport * from './modal/modal.component';\nexport * from './modal/modal.module';\nexport * from './modal/modal.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DividerLineComponent","i2.DividerComponent","i3","i1","i2.BoxItemHostDirective","i1.DataGridService","i2","i5","i4","i1.FormService","i5.BoxContainerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider-line/divider-line.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider-line/divider-line.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-active/plugin-active.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/plugin-active.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-hover/plugin-hover.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-hover/plugin-hover.component.html","../../../projects/ngx-rs-ant/src/box-container/PluginManager.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/item-config.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/item-config.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style-blank/style-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style-blank/style-blank.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style/style.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style/style.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/item-style.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/item-style.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item-host.directive.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-blank/item-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-blank/item-blank.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item.component.html","../../../projects/ngx-rs-ant/src/box-container/box-container.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-container.component.html","../../../projects/ngx-rs-ant/src/box-container/box-container.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.service.ts","../../../projects/ngx-rs-ant/src/data-grid/master-detail-template.directive.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.html","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.component.ts","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.component.html","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.module.ts","../../../projects/ngx-rs-ant/src/form/form.service.ts","../../../projects/ngx-rs-ant/src/form/form.component.ts","../../../projects/ngx-rs-ant/src/form/form.component.html","../../../projects/ngx-rs-ant/src/form/form.module.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.html","../../../projects/ngx-rs-ant/src/modal/modal.module.ts","../../../projects/ngx-rs-ant/src/modal/modal.service.ts","../../../projects/ngx-rs-ant/src/public-api.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\n\n@Component({\n selector: 'rs-divider-line',\n templateUrl: './divider-line.component.html',\n styleUrls: ['./divider-line.component.scss']\n})\nexport class DividerLineComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n height: elementRect.width + 'px'\n };\n }\n if (this.direction === 'column') {\n return {\n height: elementRect.height + 'px'\n };\n }\n return {};\n }\n}\n","","import {Component, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss']\n})\nexport class DividerComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n @Output()\n dividerClick = new EventEmitter();\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n top: elementRect.height / 2 - 12 + 'px',\n left: '4px',\n transform: 'rotate(270deg)'\n };\n }\n if (this.direction === 'column') {\n return {\n top: '4px',\n left: elementRect.width / 2 - 12 + 'px'\n };\n }\n return {};\n }\n\n @HostListener('click')\n onClick() {\n this.dividerClick.emit();\n }\n}\n","<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n","import {Component, EventEmitter, HostBinding, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-active',\r\n templateUrl: './plugin-active.component.html',\r\n styleUrls: ['./plugin-active.component.scss']\r\n})\r\nexport class PluginActiveComponent implements OnInit {\r\n name!: string;\r\n showClose: boolean = true;\r\n showDivider: boolean = false;\r\n itemRemove = new EventEmitter();\r\n targetElement: any;\r\n targetRect: any = {\r\n width: 0,\r\n height: 0\r\n };\r\n _targetRect: any = {};\r\n width: number = 0;\r\n _width: number = 0;\r\n height: number = 0;\r\n _height: number = 0;\r\n\r\n @HostBinding('style') get _style() {\r\n if (!this.targetElement) {\r\n return {};\r\n }\r\n const elementRect = this.targetElement.getBoundingClientRect();\r\n this._targetRect.width = elementRect.width;\r\n this._targetRect.height = elementRect.height;\r\n return {\r\n width: elementRect.width + 'px',\r\n height: elementRect.height + 'px',\r\n top: this.targetElement.offsetTop + 'px',\r\n left: this.targetElement.offsetLeft + 'px'\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.targetRect = this._targetRect;\r\n });\r\n }\r\n\r\n onItemCloseIconClick($event: any) {\r\n this.itemRemove.emit();\r\n }\r\n\r\n splitItem(direction: 'row' | 'column') {\r\n // 在布局型组件中实例化时重写\r\n }\r\n}\r\n","<div class=\"active-bar\">\r\n <span>{{name}}</span>\r\n <i *ngIf=\"showClose\" class=\"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","import {Component, HostBinding} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-hover',\r\n templateUrl: './plugin-hover.component.html',\r\n styleUrls: ['./plugin-hover.component.scss']\r\n})\r\nexport class PluginHoverComponent {\r\n name!: string;\r\n targetElement: any;\r\n\r\n @HostBinding('style') get _style() {\r\n if (!this.targetElement) {\r\n return {};\r\n }\r\n const elementRect = this.targetElement.getBoundingClientRect();\r\n return {\r\n width: elementRect.width + 'px',\r\n height: elementRect.height + 'px',\r\n top: this.targetElement.offsetTop + 'px',\r\n left: this.targetElement.offsetLeft + 'px'\r\n };\r\n }\r\n}\r\n","<div class=\"hover-title\">{{name}}</div>\n","import {ComponentRef, ViewContainerRef} from '@angular/core';\r\nimport {PluginFactory} from 'coast-plugin-register';\r\nimport {PluginActiveComponent} from './plugin-active/plugin-active.component';\r\nimport {PluginHoverComponent} from './plugin-hover/plugin-hover.component';\r\nimport {Subject} from 'rxjs';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\n\r\nexport class PluginManager {\r\n static hoverItems: any[] = [];\r\n static activeItem = new Subject<any>();\r\n static activeItems: any[] = [];\r\n\r\n static createComponent(boxItem: BoxItemComponent, index: number, style: any, config: any): any {\r\n const plugin = PluginFactory.get(config.name);\r\n if (!plugin) {\r\n console.error('undefined plugin: ' + config.name);\r\n return;\r\n }\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n viewContainerRef.clear();\r\n const componentRef = viewContainerRef.createComponent(plugin.component);\r\n const instance: any = componentRef.instance;\r\n Object.assign(instance, config.pluginConfig);\r\n if (plugin.type === 'form') {\r\n instance.formGroup = boxItem.boxContainer.formGroup;\r\n }\r\n instance.tabViewContainerRef = boxItem.boxContainer.tabViewContainerRef;\r\n if (boxItem.boxContainer.editMode) {\r\n instance.onRemove = () => {\r\n boxItem.config.list.splice(index, 1, {type: 'blank', style: boxItem.config.list[index].style});\r\n boxItem.load();\r\n };\r\n componentRef.location.nativeElement.style.pointerEvents = 'all';\r\n for (let child of componentRef.location.nativeElement.children) {\r\n child.style.pointerEvents = 'none';\r\n }\r\n this.createHoverComponent(viewContainerRef, componentRef, plugin.caption);\r\n this.createActiveComponent(boxItem, index, componentRef, style, {\r\n caption: plugin.caption,\r\n config\r\n }, true);\r\n }\r\n return componentRef;\r\n }\r\n\r\n static createHoverComponent(viewContainerRef: ViewContainerRef, componentRef: ComponentRef<any>, caption: string): any {\r\n const hoverComponentRef = viewContainerRef.createComponent(PluginHoverComponent);\r\n hoverComponentRef.instance.name = caption;\r\n hoverComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const hoverElement = hoverComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(hoverElement);\r\n this.hoverItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('mouseenter', ($event: any) => {\r\n for (let hoverItem of this.hoverItems) {\r\n hoverItem.classList.remove('plugin-hover');\r\n }\r\n $event.target.classList.add('plugin-hover');\r\n });\r\n componentRef.location.nativeElement.addEventListener('mouseleave', ($event: any) => {\r\n $event.target.classList.remove('plugin-hover');\r\n $event.target.parentElement.parentElement.classList.add('plugin-hover');\r\n });\r\n return hoverComponentRef;\r\n }\r\n\r\n static createActiveComponent(boxItem: BoxItemComponent, index: number, componentRef: ComponentRef<any>,\r\n style: any, config: any, showClose: boolean): any {\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(activeElement);\r\n this.activeItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems.indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({boxItem, index, style, config: config.config});\r\n $event.target.classList.add('plugin-active');\r\n });\r\n activeComponentRef.instance.itemRemove.subscribe(() => {\r\n this.activeItem.next('');\r\n viewContainerRef.clear();\r\n componentRef.instance.onRemove();\r\n });\r\n return activeComponentRef;\r\n }\r\n}\r\n","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\nimport {PluginFactory} from \"coast-plugin-register\";\n\n@Component({\n selector: 'rs-item-config',\n templateUrl: './item-config.component.html',\n styleUrls: ['./item-config.component.scss']\n})\nexport class ItemConfigComponent implements OnInit {\n @ViewChild('pageConfigContent', {static: true, read: ViewContainerRef}) pageConfigContent!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(item => {\n if (!item) {\n return;\n }\n this.pageConfigContent.clear();\n const pluginConfig = PluginFactory.getConfig(item.config?.name);\n if (!pluginConfig) {\n return;\n }\n const componentRef = this.pageConfigContent.createComponent(pluginConfig.component);\n const instance: any = componentRef.instance;\n instance.config = item.config.pluginConfig;\n instance.configChange.subscribe(() => {\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\n componentRef.location.nativeElement.click();\n });\n });\n }\n}\n","<ng-container #pageConfigContent></ng-container>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-style-blank',\n templateUrl: './style-blank.component.html',\n styleUrls: ['./style-blank.component.scss']\n})\nexport class StyleBlankComponent {\n}\n","<div>\n <span>请在左侧画布选中节点</span>\n</div>\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'rs-style',\n templateUrl: './style.component.html',\n styleUrls: ['./style.component.scss']\n})\nexport class StyleComponent implements OnInit {\n style: any;\n width: number | undefined;\n height: number | undefined;\n\n ngOnInit(): void {\n this.style.width = this.style.width ? this.style.width : 'auto';\n this.style.height = this.style.height ? this.style.height : 'auto';\n if (this.style.width !== 'auto') {\n this.width = this.style.width.substring(0, this.style.width.length - 2);\n }\n if (this.style.height !== 'auto') {\n this.height = this.style.height.substring(0, this.style.height.length - 2);\n }\n }\n\n select(name: string, value: any) {\n const that: any = this;\n if (value === 'auto') {\n this.style[name] = 'auto';\n } else {\n if (!that[name]) {\n that[name] = value;\n }\n this.style[name] = that[name] + 'px';\n }\n }\n\n typing(name: string, value: any) {\n if (value) {\n this.style[name] = value + 'px';\n } else {\n this.style[name] = 'auto';\n }\n }\n}\n","<div class=\"config-item\">\n <div class=\"item-title\">宽度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\n (click)=\"select('width','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\n (click)=\"select('width',240)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定宽度</div>\n <div class=\"item-setting\">\n <d-input-number [allowEmpty]=\"true\" [(ngModel)]=\"width\"\n (whileValueChanging)=\"typing('width', $event)\"></d-input-number>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">高度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\n (click)=\"select('height','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\n (click)=\"select('height',800)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定高度</div>\n <div class=\"item-setting\">\n <d-input-number [allowEmpty]=\"true\" [(ngModel)]=\"height\"\n (whileValueChanging)=\"typing('height', $event)\"></d-input-number>\n </div>\n</div>\n","import {ChangeDetectorRef, Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\nimport {StyleBlankComponent} from \"./style-blank/style-blank.component\";\nimport {StyleComponent} from \"./style/style.component\";\n\n@Component({\n selector: 'rs-item-style',\n templateUrl: './item-style.component.html',\n styleUrls: ['./item-style.component.scss']\n})\nexport class ItemStyleComponent implements OnInit {\n @ViewChild('pageStyleContent', {static: true, read: ViewContainerRef}) pageStyleContent!: ViewContainerRef;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n }\n\n ngOnInit(): void {\n this.pageStyleContent.createComponent(StyleBlankComponent);\n PluginManager.activeItem.subscribe(item => {\n this.pageStyleContent.clear();\n if (item) {\n const componentRef = this.pageStyleContent.createComponent(StyleComponent);\n const instance: any = componentRef.instance;\n instance.style = item.style;\n } else {\n this.pageStyleContent.createComponent(StyleBlankComponent);\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n}\n","<ng-container #pageStyleContent></ng-container>\n","import {Directive, ElementRef, Input, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[rsBoxItemHost]'\n})\nexport class BoxItemHostDirective {\n @Input()\n hostId: any;\n\n constructor(private el: ElementRef, public viewContainerRef: ViewContainerRef) {\n this.el.nativeElement.hostId = this.hostId;\n }\n}\n","import {Component, EventEmitter, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-item-blank',\n templateUrl: './item-blank.component.html',\n styleUrls: ['./item-blank.component.scss']\n})\nexport class ItemBlankComponent {\n @Output()\n dropItem = new EventEmitter();\n\n dropEvent($event: any) {\n this.dropItem.emit($event.dragData);\n }\n}\n","<div\n dDroppable\n [dropScope]=\"['page', 'form']\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>拖拽组件到此处</span>\n</div>\n","import {Component, EventEmitter, HostBinding, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\nimport {BoxItemHostDirective} from './box-item-host.directive';\nimport {PluginManager} from '../PluginManager';\nimport {ItemBlankComponent} from \"./item-blank/item-blank.component\";\n\n@Component({\n selector: 'rs-box-item',\n templateUrl: './box-item.component.html',\n styleUrls: ['./box-item.component.scss']\n})\nexport class BoxItemComponent implements OnInit {\n boxContainer: any;\n style: any = {};\n config: any = {};\n pDirection?: 'row' | 'column';\n\n @HostBinding('style.flex-direction') get _direction() {\n return this.config.direction;\n }\n\n @HostBinding('style') get _style() {\n if (this.pDirection) {\n return {};\n }\n const width = this.style?.width ? this.style.width : 'auto';\n const height = this.style?.height ? this.style.height : 'auto';\n return this._calcStyle(this.pDirection, width, height);\n }\n\n @Output()\n leaveOneItem = new EventEmitter();\n @ViewChildren(BoxItemHostDirective) itemHosts!: QueryList<BoxItemHostDirective>;\n\n ngOnInit(): void {\n this.load();\n }\n\n load() {\n setTimeout(() => {\n for (let i = 0; i < this.itemHosts.length; i++) {\n const itemHost: any = this.itemHosts.get(i);\n itemHost.viewContainerRef.clear();\n const item = this.config.list[i];\n switch (item.type) {\n case 'plugin':\n PluginManager.createComponent(this, i, item.style, item.config);\n break;\n case 'item':\n const boxItemComponentRef = itemHost.viewContainerRef.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this.boxContainer;\n instance.style = item.style;\n instance.config = item.config;\n instance.pDirection = this.config.direction;\n if (this.boxContainer.editMode) {\n instance.leaveOneItem.subscribe((item: any) => {\n if (item.type === 'item' && item.direction === this.config.direction) {\n this.config.list.splice(i, 1, ...item.list);\n } else {\n this.config.list.splice(i, 1, item);\n }\n this.load();\n });\n PluginManager.createHoverComponent(itemHost.viewContainerRef, boxItemComponentRef, '格子容器');\n PluginManager.createActiveComponent(this, i, boxItemComponentRef, item.style, {\n name: 'coast-box-container',\n caption: '格子容器'\n }, false);\n }\n break;\n case 'blank':\n default:\n if (this.boxContainer.editMode) {\n this.createBlankComponent(i);\n }\n break;\n }\n }\n });\n }\n\n private createBlankComponent(index: number) {\n const viewContainerRef: any = this.itemHosts.get(index)?.viewContainerRef;\n const containerBlankComponentRef: any = viewContainerRef.createComponent(ItemBlankComponent);\n containerBlankComponentRef.instance.dropItem.subscribe((plugin: any) => {\n this.config.list[index] = {\n type: 'plugin',\n style: this.config.list[index].style,\n config: {\n name: plugin.name,\n pluginConfig: plugin.pluginConfig || {}\n }\n }\n this.load();\n });\n containerBlankComponentRef.instance.onRemove = () => {\n this.config.list.splice(index, 1);\n if (this.config.list.length === 1) {\n this.leaveOneItem.emit(this.config.list[0]);\n } else {\n this.load();\n }\n };\n PluginManager.createHoverComponent(viewContainerRef, containerBlankComponentRef, '占位格');\n const activeComponentRef = PluginManager.createActiveComponent(this, index, containerBlankComponentRef,\n this.config.list[index].style, {\n name: 'coast-box-container',\n caption: '占位格'\n }, this.config.list.length > 1);\n activeComponentRef.instance.showDivider = true;\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\n if (this.config.direction === direction) {\n this.config.list.splice(index, 0, {type: 'blank', style: {}});\n this.load();\n } else {\n if (this.config.list.length === 1) {\n this.config.direction = direction;\n this.config.list.push({type: 'blank', style: {}});\n } else {\n this.config.list.splice(index, 1, {\n type: 'item',\n style: this.config.list[index].style,\n config: {\n direction,\n list: [{type: 'blank', style: {}}, {type: 'blank', style: {}}]\n }\n });\n }\n this.load();\n }\n };\n }\n\n calcStyle(item: any) {\n const width = item.style?.width ? item.style.width : 'auto';\n const height = item.style?.height ? item.style.height : 'auto';\n return this._calcStyle(this.config.direction, width, height);\n }\n\n private _calcStyle(direction: any, width: string, height: string) {\n if (direction === 'row') {\n return {\n flex: width === 'auto' ? '1' : '0 0 ' + width,\n height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n } else if (direction === 'column') {\n return {\n width,\n flex: height === 'auto' ? 'auto' : '0 0 ' + height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n }\n return {\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n };\n }\n}\n","<ng-container *ngFor=\"let item of config.list; index as index\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n</ng-container>\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {BoxItemComponent} from './box-item/box-item.component';\n\n@Component({\n selector: 'rs-box-container',\n templateUrl: './box-container.component.html',\n styleUrls: ['./box-container.component.scss']\n})\nexport class BoxContainerComponent implements OnInit {\n @Input()\n editMode: boolean = false;\n @Input()\n config: any = {\n direction: 'row',\n list: [{type: 'blank', style: {}}]\n };\n @Input()\n formGroup?: any;\n @Input()\n tabViewContainerRef?: ViewContainerRef;\n @ViewChild('boxContainerContent', {static: true, read: ViewContainerRef}) boxContainerContent!: ViewContainerRef;\n\n ngOnInit(): void {\n const boxItemComponentRef = this.boxContainerContent.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this;\n instance.config = this.config;\n instance.leaveOneItem?.subscribe((item: any) => {\n if (item.type === 'item') {\n Object.assign(instance.config, item);\n } else {\n instance.config.direction = 'row';\n }\n instance.load();\n });\n }\n}\n","<ng-container #boxContainerContent></ng-container>\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {BoxContainerComponent} from './box-container.component';\r\nimport {BoxItemHostDirective} from './box-item/box-item-host.directive';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\nimport {DevUIModule} from 'ng-devui';\r\nimport {PluginActiveComponent} from \"./plugin-active/plugin-active.component\";\r\nimport {PluginHoverComponent} from \"./plugin-hover/plugin-hover.component\";\r\nimport {DividerComponent} from \"./plugin-active/divider/divider.component\";\r\nimport {DividerLineComponent} from \"./plugin-active/divider/divider-line/divider-line.component\";\r\nimport {ItemConfigComponent} from './box-item/item-config/item-config.component';\r\nimport {ItemStyleComponent} from './box-item/item-style/item-style.component';\r\nimport {StyleBlankComponent} from './box-item/item-style/style-blank/style-blank.component';\r\nimport {ItemBlankComponent} from './box-item/item-blank/item-blank.component';\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {StyleComponent} from './box-item/item-style/style/style.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n BoxContainerComponent,\r\n BoxItemHostDirective,\r\n BoxItemComponent,\r\n PluginActiveComponent,\r\n DividerComponent,\r\n DividerLineComponent,\r\n PluginHoverComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent,\r\n StyleBlankComponent,\r\n ItemBlankComponent,\r\n StyleComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevUIModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n BoxContainerComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent\r\n ]\r\n})\r\nexport class BoxContainerModule {\r\n}\r\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {map} from \"rxjs\";\n\n@Injectable()\nexport class DataGridService {\n constructor(private http: HttpClient) {\n }\n\n getMetadataByView(tenant: any, className: any, view?: any) {\n return this.http.get<any>('api/metadata/view/' + className, {\n params: {\n tenant,\n view: view || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, template?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getMany(tenant: any, className: any, params: any) {\n const api = 'api/data/' + className;\n return this.http.get<any>(api + params, {\n params: {\n tenant\n }\n }).pipe(\n map(response => {\n return {\n data: response.data.list,\n totalCount: response.data.count\n }\n })\n );\n }\n}\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[rsMasterDetailTemplate]'\n})\nexport class MasterDetailTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\n","import {Component, ContentChild, Input, OnInit, ViewChild} from '@angular/core';\nimport CustomStore from \"devextreme/data/custom_store\";\nimport {lastValueFrom} from \"rxjs\";\nimport {DxDataGridComponent} from \"devextreme-angular\";\nimport {DataGridService} from \"./data-grid.service\";\nimport {MasterDetailTemplateDirective} from \"./master-detail-template.directive\";\n\n@Component({\n selector: 'rs-data-grid',\n templateUrl: './data-grid.component.html',\n styleUrls: ['./data-grid.component.scss'],\n providers: [DataGridService]\n})\nexport class DataGridComponent implements OnInit {\n @Input()\n tenant!: any;\n @Input()\n className!: any;\n @Input()\n view?: any;\n @Input()\n filter?: any;\n @Input()\n enableMasterDetail = false;\n dataSource: any = {};\n columns: any[] = [];\n typeMap: any = {\n STRING: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n TEXT: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n BOOLEAN: {\n dataType: 'boolean',\n filterOperations: []\n },\n INTEGER: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DOUBLE: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DATE: {\n dataType: 'date',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],\n format: 'yyyy/MM/dd'\n },\n DATETIME: {\n dataType: 'datetime',\n filterOperations: ['>', '<', 'between'],\n format: 'yyyy/MM/dd HH:mm:ss'\n }\n };\n @ViewChild(DxDataGridComponent, {static: true}) dxDataGrid!: DxDataGridComponent;\n @ContentChild(MasterDetailTemplateDirective) masterDetailTemplate!: MasterDetailTemplateDirective;\n\n constructor(private service: DataGridService) {\n }\n\n ngOnInit() {\n this.reload();\n }\n\n reload() {\n this.dxDataGrid.instance?.state(null);\n this.service.getMetadataByView(this.tenant, this.className, this.view || '').subscribe((response: any) => {\n this.columns = [];\n for (let column of response.data.columns) {\n if (column.type === 'NORMAL') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: this.typeMap[column.dataType].dataType,\n alignment: 'left',\n filterOperations: this.typeMap[column.dataType].filterOperations,\n format: this.typeMap[column.dataType].format\n });\n } else if (column.type === 'FILE') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: 'string',\n alignment: 'left',\n filterOperations: []\n });\n } else if (column.type === 'RELATION') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: 'string',\n alignment: 'left',\n filterOperations: ['=']\n });\n }\n }\n });\n this.dataSource = new CustomStore({\n key: 'oid',\n byKey: (key) => {\n return lastValueFrom(this.service.getOne(this.tenant, this.className, key));\n },\n load: (loadOptions: any) => {\n let params = '?';\n if (loadOptions.skip || loadOptions.take) {\n params += 'offset=' + loadOptions.skip;\n params += '&limit=' + loadOptions.take;\n } else {\n params += 'limit=0';\n }\n if (loadOptions.sort) {\n let first = true;\n for (const thisSort of loadOptions.sort) {\n if (first) {\n params += '&orderBy=' + thisSort.selector;\n } else {\n params += ',' + thisSort.selector;\n }\n if (thisSort.desc) {\n params += ' desc';\n }\n first = false;\n }\n }\n let filter;\n if (loadOptions.filter) {\n filter = loadOptions.filter;\n }\n if (this.filter) {\n if (filter) {\n filter = [filter, 'and', this.filter];\n } else {\n filter = this.filter;\n }\n }\n if (filter) {\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\n }\n return lastValueFrom(this.service.getMany(this.tenant, this.className, params + '&view=' + (this.view || '')));\n }\n });\n }\n\n refresh(callback?: any) {\n this.dxDataGrid.instance.refresh().then(() => {\n if (callback) {\n callback();\n }\n });\n }\n\n getSelectedRowKeys() {\n return this.dxDataGrid.instance.getSelectedRowKeys();\n }\n}\n","<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\n [showBorders]=\"true\"\n [showColumnLines]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n [allowColumnResizing]=\"true\"\n columnResizingMode=\"widget\"\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\n (onRowExpanding)=\"$event.component.collapseAll(-1)\"\n>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-remote-operations [filtering]=\"true\"\n [sorting]=\"true\"\n [paging]=\"true\">\n </dxo-remote-operations>\n <dxo-master-detail [enabled]=\"enableMasterDetail\" template=\"masterDetailTemplate\"></dxo-master-detail>\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let rowInfo of 'masterDetailTemplate'\">\n <ng-container [ngTemplateOutlet]=\"masterDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataGridComponent} from './data-grid.component';\nimport {DxDataGridModule} from \"devextreme-angular\";\nimport {MasterDetailTemplateDirective} from './master-detail-template.directive';\n\n@NgModule({\n declarations: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ],\n imports: [\n CommonModule,\n DxDataGridModule\n ],\n exports: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ]\n})\nexport class DataGridModule {\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'rs-dynamic-params',\n templateUrl: './dynamic-params.component.html',\n styleUrls: ['./dynamic-params.component.scss']\n})\nexport class DynamicParamsComponent {\n @Input()\n params!: { name: string, value: string }[];\n\n add() {\n this.params.push({name: '', value: ''});\n }\n\n delete(index: number) {\n this.params.splice(index, 1);\n }\n}\n","<form dForm labelSize=\"sm\">\n <d-form-item>\n <d-form-label>动态参数</d-form-label>\n <d-form-control>\n <d-button icon=\"icon-add\" [bsSize]=\"'sm'\" (btnClick)=\"add()\"></d-button>\n </d-form-control>\n </d-form-item>\n <d-form-item>\n <d-form-label></d-form-label>\n <d-form-control>\n <div *ngFor=\"let param of params; let index = index\">\n <input dTextInput [name]=\"'name' + index\" placeholder=\"参数名\" [(ngModel)]=\"param.name\"/>\n <input dTextInput [name]=\"'value' + index\" placeholder=\"参数值\" [(ngModel)]=\"param.value\"/>\n <d-button icon=\"icon-close\" [bsStyle]=\"'text'\" (btnClick)=\"delete(index)\"></d-button>\n </div>\n </d-form-control>\n </d-form-item>\n</form>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DynamicParamsComponent} from './dynamic-params.component';\nimport {FormsModule} from \"@angular/forms\";\nimport {DevUIModule} from \"ng-devui\";\n\n@NgModule({\n declarations: [\n DynamicParamsComponent\n ],\n imports: [\n CommonModule,\n DevUIModule,\n FormsModule\n ],\n exports: [\n DynamicParamsComponent\n ]\n})\nexport class DynamicParamsModule {\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\n\n@Injectable()\nexport class FormService {\n constructor(private http: HttpClient) {\n }\n\n getFormTemplateConfig(tenant: any, className: any, template?: any) {\n return this.http.get<any>('api/metadata/form/' + className, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, attributes?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n attributes: attributes || []\n }\n });\n }\n\n createOrUpdate(tenant: any, className: any, model: any) {\n let api = 'api/data/' + className;\n if (model.oid) {\n api += '/' + model.oid;\n }\n return this.http.post<any>(api, model, {\n params: {\n tenant\n }\n });\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {FormLayout} from \"ng-devui\";\nimport {UntypedFormGroup} from \"@angular/forms\";\nimport {FormService} from \"./form.service\";\n\n@Component({\n selector: 'rs-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n providers: [FormService]\n})\nexport class FormComponent implements OnInit {\n @Input()\n tenant!: any;\n @Input()\n className!: any;\n @Input()\n oid?: any;\n @Input()\n copyOid?: any;\n @Input()\n template?: any;\n layoutDirection: FormLayout = FormLayout.Vertical;\n config: any;\n formGroup = new UntypedFormGroup({})\n @ViewChild('formSubmitter') formSubmitter!: ElementRef;\n @Output()\n submitCallback = new EventEmitter<any>();\n\n constructor(private service: FormService) {\n }\n\n ngOnInit() {\n this.service.getFormTemplateConfig(this.tenant, this.className, this.template).subscribe((response: any) => {\n this.config = response.data.template;\n if (this.copyOid || this.oid) {\n const attributes = Object.keys(this.formGroup.controls);\n this.service.getOne(this.tenant, this.className, this.copyOid || this.oid, attributes).subscribe((response: any) => {\n if (this.copyOid) {\n delete response.data.oid;\n }\n this.formGroup.patchValue(response.data);\n });\n }\n });\n }\n\n protected submitForm($event: any) {\n if (!$event.valid) {\n this.submitCallback.emit();\n return;\n }\n this.service.createOrUpdate(this.tenant, this.className, {\n oid: this.oid,\n ...this.formGroup.value\n }).subscribe((response: any) => {\n this.submitCallback.emit(response);\n });\n }\n\n submit() {\n this.formSubmitter.nativeElement.click();\n }\n}\n","<form dForm [formGroup]=\"formGroup\" [layout]=\"layoutDirection\" (dSubmit)=\"submitForm($event)\">\n <ng-container *ngIf=\"config\">\n <rs-box-container [config]=\"config\" [formGroup]=\"formGroup\"></rs-box-container>\n </ng-container>\n <button #formSubmitter dFormSubmit=\"click\"></button>\n</form>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormComponent} from './form.component';\nimport {DevUIModule} from \"ng-devui\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {BoxContainerModule} from \"../box-container/box-container.module\";\n\n@NgModule({\n declarations: [\n FormComponent\n ],\n imports: [\n CommonModule,\n DevUIModule,\n FormsModule,\n ReactiveFormsModule,\n BoxContainerModule\n ],\n exports: [\n FormComponent\n ]\n})\nexport class FormModule {\n}\n","import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\n <div class=\"modal-title\">{{title}}</div>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n </div>\n <div class=\"modal-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n ModalComponent\n ]\n})\nexport class ModalModule {\n}\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","/*\n * Public API Surface of ngx-rs-ant\n */\n\nexport * from './box-container/box-item/item-config/item-config.component';\nexport * from './box-container/box-item/item-style/item-style.component';\nexport * from './box-container/box-container.component';\nexport * from './box-container/box-container.module';\nexport * from './box-container/PluginManager';\nexport * from './data-grid/data-grid.component';\nexport * from './data-grid/master-detail-template.directive';\nexport * from './data-grid/data-grid.module';\nexport * from './data-grid/data-grid.service';\nexport * from './dynamic-params/dynamic-params.component';\nexport * from './dynamic-params/dynamic-params.module';\nexport * from './form/form.component';\nexport * from './form/form.module';\nexport * from './form/form.service';\nexport * from './modal/modal.component';\nexport * from './modal/modal.module';\nexport * from './modal/modal.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DividerLineComponent","i2.DividerComponent","i3","i1","i2.BoxItemHostDirective","i1.DataGridService","i2","i5","i4","i1.FormService","i5.BoxContainerComponent"],"mappings":"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"}
|
package/fesm2020/ngx-rs-ant.mjs
CHANGED
|
@@ -394,10 +394,10 @@ class ItemBlankComponent {
|
|
|
394
394
|
}
|
|
395
395
|
}
|
|
396
396
|
ItemBlankComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ItemBlankComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
397
|
-
ItemBlankComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ItemBlankComponent, selector: "rs-item-blank", outputs: { dropItem: "dropItem" }, ngImport: i0, template: "<div\n dDroppable\n [dropScope]=\"'
|
|
397
|
+
ItemBlankComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ItemBlankComponent, selector: "rs-item-blank", outputs: { dropItem: "dropItem" }, ngImport: i0, template: "<div\n dDroppable\n [dropScope]=\"['page', 'form']\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>\u62D6\u62FD\u7EC4\u4EF6\u5230\u6B64\u5904</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--devui-dividing-line, #f2f2f3);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQMAAAAAMksxAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAZQTFRF8fHxAAAAMCd7XAAAAAJ0Uk5T/wDltzBKAAABJUlEQVR4nFVSy23EIBCdAiKxBaxCC1tBaGk7YG/OjZYSOQptLKKB8Y0D8ssbjBPl9gQz7wfigQbgQxygEXjIAjwDcJEV+PbYb1KAlNDusgE+Q1Va3EPFptJDjwVVZfcNiqwCV9BiIlhW9DdPkEn5GggKRV4igVL2AYJGpc8TFAMa5lXhzHuc69dwEO6DkBI9OhNVii60ERu3VxrjRUVRet7DsMoUbpgny+LRb5b0K2C/CAWejCxCSYVl9wcQSaMEzuRRArcqebzxcMCnUcKQsBKiiVoJoR1+4DfWSodILCGa5zXTvKWo5L5ars0C/iuh003F7GecbG62YVujunzypDqZTcsK76HF2UYP41HM4WoO7eEWNLUUyaHf/3L9JvXnBwjzS/wAoXR0PDbjCSUAAAAASUVORK5CYII=) repeat var(--devui-unavailable, #f5f5f5);display:flex;flex-flow:row nowrap;justify-content:center;pointer-events:all}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{text-align:center;-webkit-user-select:none;user-select:none}:host div.active{background-color:var(--devui-waiting, #beccfa)}:host.plugin-hover>div{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$1.DroppableDirective, selector: "[dDroppable]", inputs: ["dragOverClass", "dropScope", "placeholderTag", "placeholderStyle", "placeholderText", "allowDropOnItem", "dragOverItemClass", "nestingTargetRect", "switchWhileCrossEdge", "defaultDropPosition", "dropSortCountSelector", "dropSortVirtualScrollOption"], outputs: ["dragEnterEvent", "dragOverEvent", "dragLeaveEvent", "dropEvent"] }] });
|
|
398
398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ItemBlankComponent, decorators: [{
|
|
399
399
|
type: Component,
|
|
400
|
-
args: [{ selector: 'rs-item-blank', template: "<div\n dDroppable\n [dropScope]=\"'
|
|
400
|
+
args: [{ selector: 'rs-item-blank', template: "<div\n dDroppable\n [dropScope]=\"['page', 'form']\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>\u62D6\u62FD\u7EC4\u4EF6\u5230\u6B64\u5904</span>\n</div>\n", styles: [":host{flex:1;margin:16px;border:1px solid var(--devui-dividing-line, #f2f2f3);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AQMAAAAAMksxAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAZQTFRF8fHxAAAAMCd7XAAAAAJ0Uk5T/wDltzBKAAABJUlEQVR4nFVSy23EIBCdAiKxBaxCC1tBaGk7YG/OjZYSOQptLKKB8Y0D8ssbjBPl9gQz7wfigQbgQxygEXjIAjwDcJEV+PbYb1KAlNDusgE+Q1Va3EPFptJDjwVVZfcNiqwCV9BiIlhW9DdPkEn5GggKRV4igVL2AYJGpc8TFAMa5lXhzHuc69dwEO6DkBI9OhNVii60ERu3VxrjRUVRet7DsMoUbpgny+LRb5b0K2C/CAWejCxCSYVl9wcQSaMEzuRRArcqebzxcMCnUcKQsBKiiVoJoR1+4DfWSodILCGa5zXTvKWo5L5ars0C/iuh003F7GecbG62YVujunzypDqZTcsK76HF2UYP41HM4WoO7eEWNLUUyaHf/3L9JvXnBwjzS/wAoXR0PDbjCSUAAAAASUVORK5CYII=) repeat var(--devui-unavailable, #f5f5f5);display:flex;flex-flow:row nowrap;justify-content:center;pointer-events:all}:host div{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div span{text-align:center;-webkit-user-select:none;user-select:none}:host div.active{background-color:var(--devui-waiting, #beccfa)}:host.plugin-hover>div{pointer-events:none}\n"] }]
|
|
401
401
|
}], propDecorators: { dropItem: [{
|
|
402
402
|
type: Output
|
|
403
403
|
}] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider-line/divider-line.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider-line/divider-line.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-active/plugin-active.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/plugin-active.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-hover/plugin-hover.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-hover/plugin-hover.component.html","../../../projects/ngx-rs-ant/src/box-container/PluginManager.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/item-config.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/item-config.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style-blank/style-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style-blank/style-blank.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style/style.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style/style.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/item-style.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/item-style.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item-host.directive.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-blank/item-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-blank/item-blank.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item.component.html","../../../projects/ngx-rs-ant/src/box-container/box-container.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-container.component.html","../../../projects/ngx-rs-ant/src/box-container/box-container.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.service.ts","../../../projects/ngx-rs-ant/src/data-grid/master-detail-template.directive.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.html","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.component.ts","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.component.html","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.module.ts","../../../projects/ngx-rs-ant/src/form/form.service.ts","../../../projects/ngx-rs-ant/src/form/form.component.ts","../../../projects/ngx-rs-ant/src/form/form.component.html","../../../projects/ngx-rs-ant/src/form/form.module.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.html","../../../projects/ngx-rs-ant/src/modal/modal.module.ts","../../../projects/ngx-rs-ant/src/modal/modal.service.ts","../../../projects/ngx-rs-ant/src/public-api.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\n\n@Component({\n selector: 'rs-divider-line',\n templateUrl: './divider-line.component.html',\n styleUrls: ['./divider-line.component.scss']\n})\nexport class DividerLineComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n height: elementRect.width + 'px'\n };\n }\n if (this.direction === 'column') {\n return {\n height: elementRect.height + 'px'\n };\n }\n return {};\n }\n}\n","","import {Component, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss']\n})\nexport class DividerComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n @Output()\n dividerClick = new EventEmitter();\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n top: elementRect.height / 2 - 12 + 'px',\n left: '4px',\n transform: 'rotate(270deg)'\n };\n }\n if (this.direction === 'column') {\n return {\n top: '4px',\n left: elementRect.width / 2 - 12 + 'px'\n };\n }\n return {};\n }\n\n @HostListener('click')\n onClick() {\n this.dividerClick.emit();\n }\n}\n","<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n","import {Component, EventEmitter, HostBinding, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-active',\r\n templateUrl: './plugin-active.component.html',\r\n styleUrls: ['./plugin-active.component.scss']\r\n})\r\nexport class PluginActiveComponent implements OnInit {\r\n name!: string;\r\n showClose: boolean = true;\r\n showDivider: boolean = false;\r\n itemRemove = new EventEmitter();\r\n targetElement: any;\r\n targetRect: any = {\r\n width: 0,\r\n height: 0\r\n };\r\n _targetRect: any = {};\r\n width: number = 0;\r\n _width: number = 0;\r\n height: number = 0;\r\n _height: number = 0;\r\n\r\n @HostBinding('style') get _style() {\r\n if (!this.targetElement) {\r\n return {};\r\n }\r\n const elementRect = this.targetElement.getBoundingClientRect();\r\n this._targetRect.width = elementRect.width;\r\n this._targetRect.height = elementRect.height;\r\n return {\r\n width: elementRect.width + 'px',\r\n height: elementRect.height + 'px',\r\n top: this.targetElement.offsetTop + 'px',\r\n left: this.targetElement.offsetLeft + 'px'\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.targetRect = this._targetRect;\r\n });\r\n }\r\n\r\n onItemCloseIconClick($event: any) {\r\n this.itemRemove.emit();\r\n }\r\n\r\n splitItem(direction: 'row' | 'column') {\r\n // 在布局型组件中实例化时重写\r\n }\r\n}\r\n","<div class=\"active-bar\">\r\n <span>{{name}}</span>\r\n <i *ngIf=\"showClose\" class=\"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","import {Component, HostBinding} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-hover',\r\n templateUrl: './plugin-hover.component.html',\r\n styleUrls: ['./plugin-hover.component.scss']\r\n})\r\nexport class PluginHoverComponent {\r\n name!: string;\r\n targetElement: any;\r\n\r\n @HostBinding('style') get _style() {\r\n if (!this.targetElement) {\r\n return {};\r\n }\r\n const elementRect = this.targetElement.getBoundingClientRect();\r\n return {\r\n width: elementRect.width + 'px',\r\n height: elementRect.height + 'px',\r\n top: this.targetElement.offsetTop + 'px',\r\n left: this.targetElement.offsetLeft + 'px'\r\n };\r\n }\r\n}\r\n","<div class=\"hover-title\">{{name}}</div>\n","import {ComponentRef, ViewContainerRef} from '@angular/core';\r\nimport {PluginFactory} from 'coast-plugin-register';\r\nimport {PluginActiveComponent} from './plugin-active/plugin-active.component';\r\nimport {PluginHoverComponent} from './plugin-hover/plugin-hover.component';\r\nimport {Subject} from 'rxjs';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\n\r\nexport class PluginManager {\r\n static hoverItems: any[] = [];\r\n static activeItem = new Subject<any>();\r\n static activeItems: any[] = [];\r\n\r\n static createComponent(boxItem: BoxItemComponent, index: number, style: any, config: any): any {\r\n const plugin = PluginFactory.get(config.name);\r\n if (!plugin) {\r\n console.error('undefined plugin: ' + config.name);\r\n return;\r\n }\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n viewContainerRef.clear();\r\n const componentRef = viewContainerRef.createComponent(plugin.component);\r\n const instance: any = componentRef.instance;\r\n Object.assign(instance, config.pluginConfig);\r\n if (plugin.type === 'form') {\r\n instance.formGroup = boxItem.boxContainer.formGroup;\r\n }\r\n instance.tabViewContainerRef = boxItem.boxContainer.tabViewContainerRef;\r\n if (boxItem.boxContainer.editMode) {\r\n instance.onRemove = () => {\r\n boxItem.config.list.splice(index, 1, {type: 'blank', style: boxItem.config.list[index].style});\r\n boxItem.load();\r\n };\r\n componentRef.location.nativeElement.style.pointerEvents = 'all';\r\n for (let child of componentRef.location.nativeElement.children) {\r\n child.style.pointerEvents = 'none';\r\n }\r\n this.createHoverComponent(viewContainerRef, componentRef, plugin.caption);\r\n this.createActiveComponent(boxItem, index, componentRef, style, {\r\n caption: plugin.caption,\r\n config\r\n }, true);\r\n }\r\n return componentRef;\r\n }\r\n\r\n static createHoverComponent(viewContainerRef: ViewContainerRef, componentRef: ComponentRef<any>, caption: string): any {\r\n const hoverComponentRef = viewContainerRef.createComponent(PluginHoverComponent);\r\n hoverComponentRef.instance.name = caption;\r\n hoverComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const hoverElement = hoverComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(hoverElement);\r\n this.hoverItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('mouseenter', ($event: any) => {\r\n for (let hoverItem of this.hoverItems) {\r\n hoverItem.classList.remove('plugin-hover');\r\n }\r\n $event.target.classList.add('plugin-hover');\r\n });\r\n componentRef.location.nativeElement.addEventListener('mouseleave', ($event: any) => {\r\n $event.target.classList.remove('plugin-hover');\r\n $event.target.parentElement.parentElement.classList.add('plugin-hover');\r\n });\r\n return hoverComponentRef;\r\n }\r\n\r\n static createActiveComponent(boxItem: BoxItemComponent, index: number, componentRef: ComponentRef<any>,\r\n style: any, config: any, showClose: boolean): any {\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(activeElement);\r\n this.activeItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems.indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({boxItem, index, style, config: config.config});\r\n $event.target.classList.add('plugin-active');\r\n });\r\n activeComponentRef.instance.itemRemove.subscribe(() => {\r\n this.activeItem.next('');\r\n viewContainerRef.clear();\r\n componentRef.instance.onRemove();\r\n });\r\n return activeComponentRef;\r\n }\r\n}\r\n","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\nimport {PluginFactory} from \"coast-plugin-register\";\n\n@Component({\n selector: 'rs-item-config',\n templateUrl: './item-config.component.html',\n styleUrls: ['./item-config.component.scss']\n})\nexport class ItemConfigComponent implements OnInit {\n @ViewChild('pageConfigContent', {static: true, read: ViewContainerRef}) pageConfigContent!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(item => {\n if (!item) {\n return;\n }\n this.pageConfigContent.clear();\n const pluginConfig = PluginFactory.getConfig(item.config?.name);\n if (!pluginConfig) {\n return;\n }\n const componentRef = this.pageConfigContent.createComponent(pluginConfig.component);\n const instance: any = componentRef.instance;\n instance.config = item.config.pluginConfig;\n instance.configChange.subscribe(() => {\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\n componentRef.location.nativeElement.click();\n });\n });\n }\n}\n","<ng-container #pageConfigContent></ng-container>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-style-blank',\n templateUrl: './style-blank.component.html',\n styleUrls: ['./style-blank.component.scss']\n})\nexport class StyleBlankComponent {\n}\n","<div>\n <span>请在左侧画布选中节点</span>\n</div>\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'rs-style',\n templateUrl: './style.component.html',\n styleUrls: ['./style.component.scss']\n})\nexport class StyleComponent implements OnInit {\n style: any;\n width: number | undefined;\n height: number | undefined;\n\n ngOnInit(): void {\n this.style.width = this.style.width ? this.style.width : 'auto';\n this.style.height = this.style.height ? this.style.height : 'auto';\n if (this.style.width !== 'auto') {\n this.width = this.style.width.substring(0, this.style.width.length - 2);\n }\n if (this.style.height !== 'auto') {\n this.height = this.style.height.substring(0, this.style.height.length - 2);\n }\n }\n\n select(name: string, value: any) {\n const that: any = this;\n if (value === 'auto') {\n this.style[name] = 'auto';\n } else {\n if (!that[name]) {\n that[name] = value;\n }\n this.style[name] = that[name] + 'px';\n }\n }\n\n typing(name: string, value: any) {\n if (value) {\n this.style[name] = value + 'px';\n } else {\n this.style[name] = 'auto';\n }\n }\n}\n","<div class=\"config-item\">\n <div class=\"item-title\">宽度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\n (click)=\"select('width','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\n (click)=\"select('width',240)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定宽度</div>\n <div class=\"item-setting\">\n <d-input-number [allowEmpty]=\"true\" [(ngModel)]=\"width\"\n (whileValueChanging)=\"typing('width', $event)\"></d-input-number>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">高度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\n (click)=\"select('height','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\n (click)=\"select('height',800)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定高度</div>\n <div class=\"item-setting\">\n <d-input-number [allowEmpty]=\"true\" [(ngModel)]=\"height\"\n (whileValueChanging)=\"typing('height', $event)\"></d-input-number>\n </div>\n</div>\n","import {ChangeDetectorRef, Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\nimport {StyleBlankComponent} from \"./style-blank/style-blank.component\";\nimport {StyleComponent} from \"./style/style.component\";\n\n@Component({\n selector: 'rs-item-style',\n templateUrl: './item-style.component.html',\n styleUrls: ['./item-style.component.scss']\n})\nexport class ItemStyleComponent implements OnInit {\n @ViewChild('pageStyleContent', {static: true, read: ViewContainerRef}) pageStyleContent!: ViewContainerRef;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n }\n\n ngOnInit(): void {\n this.pageStyleContent.createComponent(StyleBlankComponent);\n PluginManager.activeItem.subscribe(item => {\n this.pageStyleContent.clear();\n if (item) {\n const componentRef = this.pageStyleContent.createComponent(StyleComponent);\n const instance: any = componentRef.instance;\n instance.style = item.style;\n } else {\n this.pageStyleContent.createComponent(StyleBlankComponent);\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n}\n","<ng-container #pageStyleContent></ng-container>\n","import {Directive, ElementRef, Input, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[rsBoxItemHost]'\n})\nexport class BoxItemHostDirective {\n @Input()\n hostId: any;\n\n constructor(private el: ElementRef, public viewContainerRef: ViewContainerRef) {\n this.el.nativeElement.hostId = this.hostId;\n }\n}\n","import {Component, EventEmitter, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-item-blank',\n templateUrl: './item-blank.component.html',\n styleUrls: ['./item-blank.component.scss']\n})\nexport class ItemBlankComponent {\n @Output()\n dropItem = new EventEmitter();\n\n dropEvent($event: any) {\n this.dropItem.emit($event.dragData);\n }\n}\n","<div\n dDroppable\n [dropScope]=\"'default'\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>拖拽组件到此处</span>\n</div>\n","import {Component, EventEmitter, HostBinding, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\nimport {BoxItemHostDirective} from './box-item-host.directive';\nimport {PluginManager} from '../PluginManager';\nimport {ItemBlankComponent} from \"./item-blank/item-blank.component\";\n\n@Component({\n selector: 'rs-box-item',\n templateUrl: './box-item.component.html',\n styleUrls: ['./box-item.component.scss']\n})\nexport class BoxItemComponent implements OnInit {\n boxContainer: any;\n style: any = {};\n config: any = {};\n pDirection?: 'row' | 'column';\n\n @HostBinding('style.flex-direction') get _direction() {\n return this.config.direction;\n }\n\n @HostBinding('style') get _style() {\n if (this.pDirection) {\n return {};\n }\n const width = this.style?.width ? this.style.width : 'auto';\n const height = this.style?.height ? this.style.height : 'auto';\n return this._calcStyle(this.pDirection, width, height);\n }\n\n @Output()\n leaveOneItem = new EventEmitter();\n @ViewChildren(BoxItemHostDirective) itemHosts!: QueryList<BoxItemHostDirective>;\n\n ngOnInit(): void {\n this.load();\n }\n\n load() {\n setTimeout(() => {\n for (let i = 0; i < this.itemHosts.length; i++) {\n const itemHost: any = this.itemHosts.get(i);\n itemHost.viewContainerRef.clear();\n const item = this.config.list[i];\n switch (item.type) {\n case 'plugin':\n PluginManager.createComponent(this, i, item.style, item.config);\n break;\n case 'item':\n const boxItemComponentRef = itemHost.viewContainerRef.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this.boxContainer;\n instance.style = item.style;\n instance.config = item.config;\n instance.pDirection = this.config.direction;\n if (this.boxContainer.editMode) {\n instance.leaveOneItem.subscribe((item: any) => {\n if (item.type === 'item' && item.direction === this.config.direction) {\n this.config.list.splice(i, 1, ...item.list);\n } else {\n this.config.list.splice(i, 1, item);\n }\n this.load();\n });\n PluginManager.createHoverComponent(itemHost.viewContainerRef, boxItemComponentRef, '格子容器');\n PluginManager.createActiveComponent(this, i, boxItemComponentRef, item.style, {\n name: 'coast-box-container',\n caption: '格子容器'\n }, false);\n }\n break;\n case 'blank':\n default:\n if (this.boxContainer.editMode) {\n this.createBlankComponent(i);\n }\n break;\n }\n }\n });\n }\n\n private createBlankComponent(index: number) {\n const viewContainerRef: any = this.itemHosts.get(index)?.viewContainerRef;\n const containerBlankComponentRef: any = viewContainerRef.createComponent(ItemBlankComponent);\n containerBlankComponentRef.instance.dropItem.subscribe((plugin: any) => {\n this.config.list[index] = {\n type: 'plugin',\n style: this.config.list[index].style,\n config: {\n name: plugin.name,\n pluginConfig: plugin.pluginConfig || {}\n }\n }\n this.load();\n });\n containerBlankComponentRef.instance.onRemove = () => {\n this.config.list.splice(index, 1);\n if (this.config.list.length === 1) {\n this.leaveOneItem.emit(this.config.list[0]);\n } else {\n this.load();\n }\n };\n PluginManager.createHoverComponent(viewContainerRef, containerBlankComponentRef, '占位格');\n const activeComponentRef = PluginManager.createActiveComponent(this, index, containerBlankComponentRef,\n this.config.list[index].style, {\n name: 'coast-box-container',\n caption: '占位格'\n }, this.config.list.length > 1);\n activeComponentRef.instance.showDivider = true;\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\n if (this.config.direction === direction) {\n this.config.list.splice(index, 0, {type: 'blank', style: {}});\n this.load();\n } else {\n if (this.config.list.length === 1) {\n this.config.direction = direction;\n this.config.list.push({type: 'blank', style: {}});\n } else {\n this.config.list.splice(index, 1, {\n type: 'item',\n style: this.config.list[index].style,\n config: {\n direction,\n list: [{type: 'blank', style: {}}, {type: 'blank', style: {}}]\n }\n });\n }\n this.load();\n }\n };\n }\n\n calcStyle(item: any) {\n const width = item.style?.width ? item.style.width : 'auto';\n const height = item.style?.height ? item.style.height : 'auto';\n return this._calcStyle(this.config.direction, width, height);\n }\n\n private _calcStyle(direction: any, width: string, height: string) {\n if (direction === 'row') {\n return {\n flex: width === 'auto' ? '1' : '0 0 ' + width,\n height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n } else if (direction === 'column') {\n return {\n width,\n flex: height === 'auto' ? 'auto' : '0 0 ' + height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n }\n return {\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n };\n }\n}\n","<ng-container *ngFor=\"let item of config.list; index as index\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n</ng-container>\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {BoxItemComponent} from './box-item/box-item.component';\n\n@Component({\n selector: 'rs-box-container',\n templateUrl: './box-container.component.html',\n styleUrls: ['./box-container.component.scss']\n})\nexport class BoxContainerComponent implements OnInit {\n @Input()\n editMode: boolean = false;\n @Input()\n config: any = {\n direction: 'row',\n list: [{type: 'blank', style: {}}]\n };\n @Input()\n formGroup?: any;\n @Input()\n tabViewContainerRef?: ViewContainerRef;\n @ViewChild('boxContainerContent', {static: true, read: ViewContainerRef}) boxContainerContent!: ViewContainerRef;\n\n ngOnInit(): void {\n const boxItemComponentRef = this.boxContainerContent.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this;\n instance.config = this.config;\n instance.leaveOneItem?.subscribe((item: any) => {\n if (item.type === 'item') {\n Object.assign(instance.config, item);\n } else {\n instance.config.direction = 'row';\n }\n instance.load();\n });\n }\n}\n","<ng-container #boxContainerContent></ng-container>\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {BoxContainerComponent} from './box-container.component';\r\nimport {BoxItemHostDirective} from './box-item/box-item-host.directive';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\nimport {DevUIModule} from 'ng-devui';\r\nimport {PluginActiveComponent} from \"./plugin-active/plugin-active.component\";\r\nimport {PluginHoverComponent} from \"./plugin-hover/plugin-hover.component\";\r\nimport {DividerComponent} from \"./plugin-active/divider/divider.component\";\r\nimport {DividerLineComponent} from \"./plugin-active/divider/divider-line/divider-line.component\";\r\nimport {ItemConfigComponent} from './box-item/item-config/item-config.component';\r\nimport {ItemStyleComponent} from './box-item/item-style/item-style.component';\r\nimport {StyleBlankComponent} from './box-item/item-style/style-blank/style-blank.component';\r\nimport {ItemBlankComponent} from './box-item/item-blank/item-blank.component';\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {StyleComponent} from './box-item/item-style/style/style.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n BoxContainerComponent,\r\n BoxItemHostDirective,\r\n BoxItemComponent,\r\n PluginActiveComponent,\r\n DividerComponent,\r\n DividerLineComponent,\r\n PluginHoverComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent,\r\n StyleBlankComponent,\r\n ItemBlankComponent,\r\n StyleComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevUIModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n BoxContainerComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent\r\n ]\r\n})\r\nexport class BoxContainerModule {\r\n}\r\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {map} from \"rxjs\";\n\n@Injectable()\nexport class DataGridService {\n constructor(private http: HttpClient) {\n }\n\n getMetadataByView(tenant: any, className: any, view?: any) {\n return this.http.get<any>('api/metadata/view/' + className, {\n params: {\n tenant,\n view: view || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, template?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getMany(tenant: any, className: any, params: any) {\n const api = 'api/data/' + className;\n return this.http.get<any>(api + params, {\n params: {\n tenant\n }\n }).pipe(\n map(response => {\n return {\n data: response.data.list,\n totalCount: response.data.count\n }\n })\n );\n }\n}\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[rsMasterDetailTemplate]'\n})\nexport class MasterDetailTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\n","import {Component, ContentChild, Input, OnInit, ViewChild} from '@angular/core';\nimport CustomStore from \"devextreme/data/custom_store\";\nimport {lastValueFrom} from \"rxjs\";\nimport {DxDataGridComponent} from \"devextreme-angular\";\nimport {DataGridService} from \"./data-grid.service\";\nimport {MasterDetailTemplateDirective} from \"./master-detail-template.directive\";\n\n@Component({\n selector: 'rs-data-grid',\n templateUrl: './data-grid.component.html',\n styleUrls: ['./data-grid.component.scss'],\n providers: [DataGridService]\n})\nexport class DataGridComponent implements OnInit {\n @Input()\n tenant!: any;\n @Input()\n className!: any;\n @Input()\n view?: any;\n @Input()\n filter?: any;\n @Input()\n enableMasterDetail = false;\n dataSource: any = {};\n columns: any[] = [];\n typeMap: any = {\n STRING: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n TEXT: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n BOOLEAN: {\n dataType: 'boolean',\n filterOperations: []\n },\n INTEGER: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DOUBLE: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DATE: {\n dataType: 'date',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],\n format: 'yyyy/MM/dd'\n },\n DATETIME: {\n dataType: 'datetime',\n filterOperations: ['>', '<', 'between'],\n format: 'yyyy/MM/dd HH:mm:ss'\n }\n };\n @ViewChild(DxDataGridComponent, {static: true}) dxDataGrid!: DxDataGridComponent;\n @ContentChild(MasterDetailTemplateDirective) masterDetailTemplate!: MasterDetailTemplateDirective;\n\n constructor(private service: DataGridService) {\n }\n\n ngOnInit() {\n this.reload();\n }\n\n reload() {\n this.dxDataGrid.instance?.state(null);\n this.service.getMetadataByView(this.tenant, this.className, this.view || '').subscribe((response: any) => {\n this.columns = [];\n for (let column of response.data.columns) {\n if (column.type === 'NORMAL') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: this.typeMap[column.dataType].dataType,\n alignment: 'left',\n filterOperations: this.typeMap[column.dataType].filterOperations,\n format: this.typeMap[column.dataType].format\n });\n } else if (column.type === 'FILE') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: 'string',\n alignment: 'left',\n filterOperations: []\n });\n } else if (column.type === 'RELATION') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: 'string',\n alignment: 'left',\n filterOperations: ['=']\n });\n }\n }\n });\n this.dataSource = new CustomStore({\n key: 'oid',\n byKey: (key) => {\n return lastValueFrom(this.service.getOne(this.tenant, this.className, key));\n },\n load: (loadOptions: any) => {\n let params = '?';\n if (loadOptions.skip || loadOptions.take) {\n params += 'offset=' + loadOptions.skip;\n params += '&limit=' + loadOptions.take;\n } else {\n params += 'limit=0';\n }\n if (loadOptions.sort) {\n let first = true;\n for (const thisSort of loadOptions.sort) {\n if (first) {\n params += '&orderBy=' + thisSort.selector;\n } else {\n params += ',' + thisSort.selector;\n }\n if (thisSort.desc) {\n params += ' desc';\n }\n first = false;\n }\n }\n let filter;\n if (loadOptions.filter) {\n filter = loadOptions.filter;\n }\n if (this.filter) {\n if (filter) {\n filter = [filter, 'and', this.filter];\n } else {\n filter = this.filter;\n }\n }\n if (filter) {\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\n }\n return lastValueFrom(this.service.getMany(this.tenant, this.className, params + '&view=' + (this.view || '')));\n }\n });\n }\n\n refresh(callback?: any) {\n this.dxDataGrid.instance.refresh().then(() => {\n if (callback) {\n callback();\n }\n });\n }\n\n getSelectedRowKeys() {\n return this.dxDataGrid.instance.getSelectedRowKeys();\n }\n}\n","<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\n [showBorders]=\"true\"\n [showColumnLines]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n [allowColumnResizing]=\"true\"\n columnResizingMode=\"widget\"\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\n (onRowExpanding)=\"$event.component.collapseAll(-1)\"\n>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-remote-operations [filtering]=\"true\"\n [sorting]=\"true\"\n [paging]=\"true\">\n </dxo-remote-operations>\n <dxo-master-detail [enabled]=\"enableMasterDetail\" template=\"masterDetailTemplate\"></dxo-master-detail>\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let rowInfo of 'masterDetailTemplate'\">\n <ng-container [ngTemplateOutlet]=\"masterDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataGridComponent} from './data-grid.component';\nimport {DxDataGridModule} from \"devextreme-angular\";\nimport {MasterDetailTemplateDirective} from './master-detail-template.directive';\n\n@NgModule({\n declarations: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ],\n imports: [\n CommonModule,\n DxDataGridModule\n ],\n exports: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ]\n})\nexport class DataGridModule {\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'rs-dynamic-params',\n templateUrl: './dynamic-params.component.html',\n styleUrls: ['./dynamic-params.component.scss']\n})\nexport class DynamicParamsComponent {\n @Input()\n params!: { name: string, value: string }[];\n\n add() {\n this.params.push({name: '', value: ''});\n }\n\n delete(index: number) {\n this.params.splice(index, 1);\n }\n}\n","<form dForm labelSize=\"sm\">\n <d-form-item>\n <d-form-label>动态参数</d-form-label>\n <d-form-control>\n <d-button icon=\"icon-add\" [bsSize]=\"'sm'\" (btnClick)=\"add()\"></d-button>\n </d-form-control>\n </d-form-item>\n <d-form-item>\n <d-form-label></d-form-label>\n <d-form-control>\n <div *ngFor=\"let param of params; let index = index\">\n <input dTextInput [name]=\"'name' + index\" placeholder=\"参数名\" [(ngModel)]=\"param.name\"/>\n <input dTextInput [name]=\"'value' + index\" placeholder=\"参数值\" [(ngModel)]=\"param.value\"/>\n <d-button icon=\"icon-close\" [bsStyle]=\"'text'\" (btnClick)=\"delete(index)\"></d-button>\n </div>\n </d-form-control>\n </d-form-item>\n</form>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DynamicParamsComponent} from './dynamic-params.component';\nimport {FormsModule} from \"@angular/forms\";\nimport {DevUIModule} from \"ng-devui\";\n\n@NgModule({\n declarations: [\n DynamicParamsComponent\n ],\n imports: [\n CommonModule,\n DevUIModule,\n FormsModule\n ],\n exports: [\n DynamicParamsComponent\n ]\n})\nexport class DynamicParamsModule {\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\n\n@Injectable()\nexport class FormService {\n constructor(private http: HttpClient) {\n }\n\n getFormTemplateConfig(tenant: any, className: any, template?: any) {\n return this.http.get<any>('api/metadata/form/' + className, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, attributes?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n attributes: attributes || []\n }\n });\n }\n\n createOrUpdate(tenant: any, className: any, model: any) {\n let api = 'api/data/' + className;\n if (model.oid) {\n api += '/' + model.oid;\n }\n return this.http.post<any>(api, model, {\n params: {\n tenant\n }\n });\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {FormLayout} from \"ng-devui\";\nimport {UntypedFormGroup} from \"@angular/forms\";\nimport {FormService} from \"./form.service\";\n\n@Component({\n selector: 'rs-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n providers: [FormService]\n})\nexport class FormComponent implements OnInit {\n @Input()\n tenant!: any;\n @Input()\n className!: any;\n @Input()\n oid?: any;\n @Input()\n copyOid?: any;\n @Input()\n template?: any;\n layoutDirection: FormLayout = FormLayout.Vertical;\n config: any;\n formGroup = new UntypedFormGroup({})\n @ViewChild('formSubmitter') formSubmitter!: ElementRef;\n @Output()\n submitCallback = new EventEmitter<any>();\n\n constructor(private service: FormService) {\n }\n\n ngOnInit() {\n this.service.getFormTemplateConfig(this.tenant, this.className, this.template).subscribe((response: any) => {\n this.config = response.data.template;\n if (this.copyOid || this.oid) {\n const attributes = Object.keys(this.formGroup.controls);\n this.service.getOne(this.tenant, this.className, this.copyOid || this.oid, attributes).subscribe((response: any) => {\n if (this.copyOid) {\n delete response.data.oid;\n }\n this.formGroup.patchValue(response.data);\n });\n }\n });\n }\n\n protected submitForm($event: any) {\n if (!$event.valid) {\n this.submitCallback.emit();\n return;\n }\n this.service.createOrUpdate(this.tenant, this.className, {\n oid: this.oid,\n ...this.formGroup.value\n }).subscribe((response: any) => {\n this.submitCallback.emit(response);\n });\n }\n\n submit() {\n this.formSubmitter.nativeElement.click();\n }\n}\n","<form dForm [formGroup]=\"formGroup\" [layout]=\"layoutDirection\" (dSubmit)=\"submitForm($event)\">\n <ng-container *ngIf=\"config\">\n <rs-box-container [config]=\"config\" [formGroup]=\"formGroup\"></rs-box-container>\n </ng-container>\n <button #formSubmitter dFormSubmit=\"click\"></button>\n</form>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormComponent} from './form.component';\nimport {DevUIModule} from \"ng-devui\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {BoxContainerModule} from \"../box-container/box-container.module\";\n\n@NgModule({\n declarations: [\n FormComponent\n ],\n imports: [\n CommonModule,\n DevUIModule,\n FormsModule,\n ReactiveFormsModule,\n BoxContainerModule\n ],\n exports: [\n FormComponent\n ]\n})\nexport class FormModule {\n}\n","import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\n <div class=\"modal-title\">{{title}}</div>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n </div>\n <div class=\"modal-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n ModalComponent\n ]\n})\nexport class ModalModule {\n}\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","/*\n * Public API Surface of ngx-rs-ant\n */\n\nexport * from './box-container/box-item/item-config/item-config.component';\nexport * from './box-container/box-item/item-style/item-style.component';\nexport * from './box-container/box-container.component';\nexport * from './box-container/box-container.module';\nexport * from './box-container/PluginManager';\nexport * from './data-grid/data-grid.component';\nexport * from './data-grid/master-detail-template.directive';\nexport * from './data-grid/data-grid.module';\nexport * from './data-grid/data-grid.service';\nexport * from './dynamic-params/dynamic-params.component';\nexport * from './dynamic-params/dynamic-params.module';\nexport * from './form/form.component';\nexport * from './form/form.module';\nexport * from './form/form.service';\nexport * from './modal/modal.component';\nexport * from './modal/modal.module';\nexport * from './modal/modal.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DividerLineComponent","i2.DividerComponent","i3","i1","i2.BoxItemHostDirective","i1.DataGridService","i2","i5","i4","i1.FormService","i5.BoxContainerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-rs-ant.mjs","sources":["../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider-line/divider-line.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider-line/divider-line.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/divider/divider.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-active/plugin-active.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-active/plugin-active.component.html","../../../projects/ngx-rs-ant/src/box-container/plugin-hover/plugin-hover.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-hover/plugin-hover.component.html","../../../projects/ngx-rs-ant/src/box-container/PluginManager.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/item-config.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/item-config.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style-blank/style-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style-blank/style-blank.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style/style.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/style/style.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/item-style.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-style/item-style.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item-host.directive.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-blank/item-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-blank/item-blank.component.html","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/box-item.component.html","../../../projects/ngx-rs-ant/src/box-container/box-container.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-container.component.html","../../../projects/ngx-rs-ant/src/box-container/box-container.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.service.ts","../../../projects/ngx-rs-ant/src/data-grid/master-detail-template.directive.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.html","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.component.ts","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.component.html","../../../projects/ngx-rs-ant/src/dynamic-params/dynamic-params.module.ts","../../../projects/ngx-rs-ant/src/form/form.service.ts","../../../projects/ngx-rs-ant/src/form/form.component.ts","../../../projects/ngx-rs-ant/src/form/form.component.html","../../../projects/ngx-rs-ant/src/form/form.module.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.ts","../../../projects/ngx-rs-ant/src/modal/modal.component.html","../../../projects/ngx-rs-ant/src/modal/modal.module.ts","../../../projects/ngx-rs-ant/src/modal/modal.service.ts","../../../projects/ngx-rs-ant/src/public-api.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\n\n@Component({\n selector: 'rs-divider-line',\n templateUrl: './divider-line.component.html',\n styleUrls: ['./divider-line.component.scss']\n})\nexport class DividerLineComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n height: elementRect.width + 'px'\n };\n }\n if (this.direction === 'column') {\n return {\n height: elementRect.height + 'px'\n };\n }\n return {};\n }\n}\n","","import {Component, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss']\n})\nexport class DividerComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n @Output()\n dividerClick = new EventEmitter();\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n top: elementRect.height / 2 - 12 + 'px',\n left: '4px',\n transform: 'rotate(270deg)'\n };\n }\n if (this.direction === 'column') {\n return {\n top: '4px',\n left: elementRect.width / 2 - 12 + 'px'\n };\n }\n return {};\n }\n\n @HostListener('click')\n onClick() {\n this.dividerClick.emit();\n }\n}\n","<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n","import {Component, EventEmitter, HostBinding, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-active',\r\n templateUrl: './plugin-active.component.html',\r\n styleUrls: ['./plugin-active.component.scss']\r\n})\r\nexport class PluginActiveComponent implements OnInit {\r\n name!: string;\r\n showClose: boolean = true;\r\n showDivider: boolean = false;\r\n itemRemove = new EventEmitter();\r\n targetElement: any;\r\n targetRect: any = {\r\n width: 0,\r\n height: 0\r\n };\r\n _targetRect: any = {};\r\n width: number = 0;\r\n _width: number = 0;\r\n height: number = 0;\r\n _height: number = 0;\r\n\r\n @HostBinding('style') get _style() {\r\n if (!this.targetElement) {\r\n return {};\r\n }\r\n const elementRect = this.targetElement.getBoundingClientRect();\r\n this._targetRect.width = elementRect.width;\r\n this._targetRect.height = elementRect.height;\r\n return {\r\n width: elementRect.width + 'px',\r\n height: elementRect.height + 'px',\r\n top: this.targetElement.offsetTop + 'px',\r\n left: this.targetElement.offsetLeft + 'px'\r\n };\r\n }\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.targetRect = this._targetRect;\r\n });\r\n }\r\n\r\n onItemCloseIconClick($event: any) {\r\n this.itemRemove.emit();\r\n }\r\n\r\n splitItem(direction: 'row' | 'column') {\r\n // 在布局型组件中实例化时重写\r\n }\r\n}\r\n","<div class=\"active-bar\">\r\n <span>{{name}}</span>\r\n <i *ngIf=\"showClose\" class=\"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","import {Component, HostBinding} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-hover',\r\n templateUrl: './plugin-hover.component.html',\r\n styleUrls: ['./plugin-hover.component.scss']\r\n})\r\nexport class PluginHoverComponent {\r\n name!: string;\r\n targetElement: any;\r\n\r\n @HostBinding('style') get _style() {\r\n if (!this.targetElement) {\r\n return {};\r\n }\r\n const elementRect = this.targetElement.getBoundingClientRect();\r\n return {\r\n width: elementRect.width + 'px',\r\n height: elementRect.height + 'px',\r\n top: this.targetElement.offsetTop + 'px',\r\n left: this.targetElement.offsetLeft + 'px'\r\n };\r\n }\r\n}\r\n","<div class=\"hover-title\">{{name}}</div>\n","import {ComponentRef, ViewContainerRef} from '@angular/core';\r\nimport {PluginFactory} from 'coast-plugin-register';\r\nimport {PluginActiveComponent} from './plugin-active/plugin-active.component';\r\nimport {PluginHoverComponent} from './plugin-hover/plugin-hover.component';\r\nimport {Subject} from 'rxjs';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\n\r\nexport class PluginManager {\r\n static hoverItems: any[] = [];\r\n static activeItem = new Subject<any>();\r\n static activeItems: any[] = [];\r\n\r\n static createComponent(boxItem: BoxItemComponent, index: number, style: any, config: any): any {\r\n const plugin = PluginFactory.get(config.name);\r\n if (!plugin) {\r\n console.error('undefined plugin: ' + config.name);\r\n return;\r\n }\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n viewContainerRef.clear();\r\n const componentRef = viewContainerRef.createComponent(plugin.component);\r\n const instance: any = componentRef.instance;\r\n Object.assign(instance, config.pluginConfig);\r\n if (plugin.type === 'form') {\r\n instance.formGroup = boxItem.boxContainer.formGroup;\r\n }\r\n instance.tabViewContainerRef = boxItem.boxContainer.tabViewContainerRef;\r\n if (boxItem.boxContainer.editMode) {\r\n instance.onRemove = () => {\r\n boxItem.config.list.splice(index, 1, {type: 'blank', style: boxItem.config.list[index].style});\r\n boxItem.load();\r\n };\r\n componentRef.location.nativeElement.style.pointerEvents = 'all';\r\n for (let child of componentRef.location.nativeElement.children) {\r\n child.style.pointerEvents = 'none';\r\n }\r\n this.createHoverComponent(viewContainerRef, componentRef, plugin.caption);\r\n this.createActiveComponent(boxItem, index, componentRef, style, {\r\n caption: plugin.caption,\r\n config\r\n }, true);\r\n }\r\n return componentRef;\r\n }\r\n\r\n static createHoverComponent(viewContainerRef: ViewContainerRef, componentRef: ComponentRef<any>, caption: string): any {\r\n const hoverComponentRef = viewContainerRef.createComponent(PluginHoverComponent);\r\n hoverComponentRef.instance.name = caption;\r\n hoverComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const hoverElement = hoverComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(hoverElement);\r\n this.hoverItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('mouseenter', ($event: any) => {\r\n for (let hoverItem of this.hoverItems) {\r\n hoverItem.classList.remove('plugin-hover');\r\n }\r\n $event.target.classList.add('plugin-hover');\r\n });\r\n componentRef.location.nativeElement.addEventListener('mouseleave', ($event: any) => {\r\n $event.target.classList.remove('plugin-hover');\r\n $event.target.parentElement.parentElement.classList.add('plugin-hover');\r\n });\r\n return hoverComponentRef;\r\n }\r\n\r\n static createActiveComponent(boxItem: BoxItemComponent, index: number, componentRef: ComponentRef<any>,\r\n style: any, config: any, showClose: boolean): any {\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(activeElement);\r\n this.activeItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems.indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({boxItem, index, style, config: config.config});\r\n $event.target.classList.add('plugin-active');\r\n });\r\n activeComponentRef.instance.itemRemove.subscribe(() => {\r\n this.activeItem.next('');\r\n viewContainerRef.clear();\r\n componentRef.instance.onRemove();\r\n });\r\n return activeComponentRef;\r\n }\r\n}\r\n","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\nimport {PluginFactory} from \"coast-plugin-register\";\n\n@Component({\n selector: 'rs-item-config',\n templateUrl: './item-config.component.html',\n styleUrls: ['./item-config.component.scss']\n})\nexport class ItemConfigComponent implements OnInit {\n @ViewChild('pageConfigContent', {static: true, read: ViewContainerRef}) pageConfigContent!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(item => {\n if (!item) {\n return;\n }\n this.pageConfigContent.clear();\n const pluginConfig = PluginFactory.getConfig(item.config?.name);\n if (!pluginConfig) {\n return;\n }\n const componentRef = this.pageConfigContent.createComponent(pluginConfig.component);\n const instance: any = componentRef.instance;\n instance.config = item.config.pluginConfig;\n instance.configChange.subscribe(() => {\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\n componentRef.location.nativeElement.click();\n });\n });\n }\n}\n","<ng-container #pageConfigContent></ng-container>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-style-blank',\n templateUrl: './style-blank.component.html',\n styleUrls: ['./style-blank.component.scss']\n})\nexport class StyleBlankComponent {\n}\n","<div>\n <span>请在左侧画布选中节点</span>\n</div>\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'rs-style',\n templateUrl: './style.component.html',\n styleUrls: ['./style.component.scss']\n})\nexport class StyleComponent implements OnInit {\n style: any;\n width: number | undefined;\n height: number | undefined;\n\n ngOnInit(): void {\n this.style.width = this.style.width ? this.style.width : 'auto';\n this.style.height = this.style.height ? this.style.height : 'auto';\n if (this.style.width !== 'auto') {\n this.width = this.style.width.substring(0, this.style.width.length - 2);\n }\n if (this.style.height !== 'auto') {\n this.height = this.style.height.substring(0, this.style.height.length - 2);\n }\n }\n\n select(name: string, value: any) {\n const that: any = this;\n if (value === 'auto') {\n this.style[name] = 'auto';\n } else {\n if (!that[name]) {\n that[name] = value;\n }\n this.style[name] = that[name] + 'px';\n }\n }\n\n typing(name: string, value: any) {\n if (value) {\n this.style[name] = value + 'px';\n } else {\n this.style[name] = 'auto';\n }\n }\n}\n","<div class=\"config-item\">\n <div class=\"item-title\">宽度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\n (click)=\"select('width','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\n (click)=\"select('width',240)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定宽度</div>\n <div class=\"item-setting\">\n <d-input-number [allowEmpty]=\"true\" [(ngModel)]=\"width\"\n (whileValueChanging)=\"typing('width', $event)\"></d-input-number>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">高度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\n (click)=\"select('height','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\n (click)=\"select('height',800)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定高度</div>\n <div class=\"item-setting\">\n <d-input-number [allowEmpty]=\"true\" [(ngModel)]=\"height\"\n (whileValueChanging)=\"typing('height', $event)\"></d-input-number>\n </div>\n</div>\n","import {ChangeDetectorRef, Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\nimport {StyleBlankComponent} from \"./style-blank/style-blank.component\";\nimport {StyleComponent} from \"./style/style.component\";\n\n@Component({\n selector: 'rs-item-style',\n templateUrl: './item-style.component.html',\n styleUrls: ['./item-style.component.scss']\n})\nexport class ItemStyleComponent implements OnInit {\n @ViewChild('pageStyleContent', {static: true, read: ViewContainerRef}) pageStyleContent!: ViewContainerRef;\n\n constructor(private changeDetectorRef: ChangeDetectorRef) {\n }\n\n ngOnInit(): void {\n this.pageStyleContent.createComponent(StyleBlankComponent);\n PluginManager.activeItem.subscribe(item => {\n this.pageStyleContent.clear();\n if (item) {\n const componentRef = this.pageStyleContent.createComponent(StyleComponent);\n const instance: any = componentRef.instance;\n instance.style = item.style;\n } else {\n this.pageStyleContent.createComponent(StyleBlankComponent);\n this.changeDetectorRef.detectChanges();\n }\n });\n }\n}\n","<ng-container #pageStyleContent></ng-container>\n","import {Directive, ElementRef, Input, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[rsBoxItemHost]'\n})\nexport class BoxItemHostDirective {\n @Input()\n hostId: any;\n\n constructor(private el: ElementRef, public viewContainerRef: ViewContainerRef) {\n this.el.nativeElement.hostId = this.hostId;\n }\n}\n","import {Component, EventEmitter, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-item-blank',\n templateUrl: './item-blank.component.html',\n styleUrls: ['./item-blank.component.scss']\n})\nexport class ItemBlankComponent {\n @Output()\n dropItem = new EventEmitter();\n\n dropEvent($event: any) {\n this.dropItem.emit($event.dragData);\n }\n}\n","<div\n dDroppable\n [dropScope]=\"['page', 'form']\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event)\"\n>\n <span>拖拽组件到此处</span>\n</div>\n","import {Component, EventEmitter, HostBinding, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\nimport {BoxItemHostDirective} from './box-item-host.directive';\nimport {PluginManager} from '../PluginManager';\nimport {ItemBlankComponent} from \"./item-blank/item-blank.component\";\n\n@Component({\n selector: 'rs-box-item',\n templateUrl: './box-item.component.html',\n styleUrls: ['./box-item.component.scss']\n})\nexport class BoxItemComponent implements OnInit {\n boxContainer: any;\n style: any = {};\n config: any = {};\n pDirection?: 'row' | 'column';\n\n @HostBinding('style.flex-direction') get _direction() {\n return this.config.direction;\n }\n\n @HostBinding('style') get _style() {\n if (this.pDirection) {\n return {};\n }\n const width = this.style?.width ? this.style.width : 'auto';\n const height = this.style?.height ? this.style.height : 'auto';\n return this._calcStyle(this.pDirection, width, height);\n }\n\n @Output()\n leaveOneItem = new EventEmitter();\n @ViewChildren(BoxItemHostDirective) itemHosts!: QueryList<BoxItemHostDirective>;\n\n ngOnInit(): void {\n this.load();\n }\n\n load() {\n setTimeout(() => {\n for (let i = 0; i < this.itemHosts.length; i++) {\n const itemHost: any = this.itemHosts.get(i);\n itemHost.viewContainerRef.clear();\n const item = this.config.list[i];\n switch (item.type) {\n case 'plugin':\n PluginManager.createComponent(this, i, item.style, item.config);\n break;\n case 'item':\n const boxItemComponentRef = itemHost.viewContainerRef.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this.boxContainer;\n instance.style = item.style;\n instance.config = item.config;\n instance.pDirection = this.config.direction;\n if (this.boxContainer.editMode) {\n instance.leaveOneItem.subscribe((item: any) => {\n if (item.type === 'item' && item.direction === this.config.direction) {\n this.config.list.splice(i, 1, ...item.list);\n } else {\n this.config.list.splice(i, 1, item);\n }\n this.load();\n });\n PluginManager.createHoverComponent(itemHost.viewContainerRef, boxItemComponentRef, '格子容器');\n PluginManager.createActiveComponent(this, i, boxItemComponentRef, item.style, {\n name: 'coast-box-container',\n caption: '格子容器'\n }, false);\n }\n break;\n case 'blank':\n default:\n if (this.boxContainer.editMode) {\n this.createBlankComponent(i);\n }\n break;\n }\n }\n });\n }\n\n private createBlankComponent(index: number) {\n const viewContainerRef: any = this.itemHosts.get(index)?.viewContainerRef;\n const containerBlankComponentRef: any = viewContainerRef.createComponent(ItemBlankComponent);\n containerBlankComponentRef.instance.dropItem.subscribe((plugin: any) => {\n this.config.list[index] = {\n type: 'plugin',\n style: this.config.list[index].style,\n config: {\n name: plugin.name,\n pluginConfig: plugin.pluginConfig || {}\n }\n }\n this.load();\n });\n containerBlankComponentRef.instance.onRemove = () => {\n this.config.list.splice(index, 1);\n if (this.config.list.length === 1) {\n this.leaveOneItem.emit(this.config.list[0]);\n } else {\n this.load();\n }\n };\n PluginManager.createHoverComponent(viewContainerRef, containerBlankComponentRef, '占位格');\n const activeComponentRef = PluginManager.createActiveComponent(this, index, containerBlankComponentRef,\n this.config.list[index].style, {\n name: 'coast-box-container',\n caption: '占位格'\n }, this.config.list.length > 1);\n activeComponentRef.instance.showDivider = true;\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\n if (this.config.direction === direction) {\n this.config.list.splice(index, 0, {type: 'blank', style: {}});\n this.load();\n } else {\n if (this.config.list.length === 1) {\n this.config.direction = direction;\n this.config.list.push({type: 'blank', style: {}});\n } else {\n this.config.list.splice(index, 1, {\n type: 'item',\n style: this.config.list[index].style,\n config: {\n direction,\n list: [{type: 'blank', style: {}}, {type: 'blank', style: {}}]\n }\n });\n }\n this.load();\n }\n };\n }\n\n calcStyle(item: any) {\n const width = item.style?.width ? item.style.width : 'auto';\n const height = item.style?.height ? item.style.height : 'auto';\n return this._calcStyle(this.config.direction, width, height);\n }\n\n private _calcStyle(direction: any, width: string, height: string) {\n if (direction === 'row') {\n return {\n flex: width === 'auto' ? '1' : '0 0 ' + width,\n height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n } else if (direction === 'column') {\n return {\n width,\n flex: height === 'auto' ? 'auto' : '0 0 ' + height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n }\n return {\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n };\n }\n}\n","<ng-container *ngFor=\"let item of config.list; index as index\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n</ng-container>\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {BoxItemComponent} from './box-item/box-item.component';\n\n@Component({\n selector: 'rs-box-container',\n templateUrl: './box-container.component.html',\n styleUrls: ['./box-container.component.scss']\n})\nexport class BoxContainerComponent implements OnInit {\n @Input()\n editMode: boolean = false;\n @Input()\n config: any = {\n direction: 'row',\n list: [{type: 'blank', style: {}}]\n };\n @Input()\n formGroup?: any;\n @Input()\n tabViewContainerRef?: ViewContainerRef;\n @ViewChild('boxContainerContent', {static: true, read: ViewContainerRef}) boxContainerContent!: ViewContainerRef;\n\n ngOnInit(): void {\n const boxItemComponentRef = this.boxContainerContent.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this;\n instance.config = this.config;\n instance.leaveOneItem?.subscribe((item: any) => {\n if (item.type === 'item') {\n Object.assign(instance.config, item);\n } else {\n instance.config.direction = 'row';\n }\n instance.load();\n });\n }\n}\n","<ng-container #boxContainerContent></ng-container>\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {BoxContainerComponent} from './box-container.component';\r\nimport {BoxItemHostDirective} from './box-item/box-item-host.directive';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\nimport {DevUIModule} from 'ng-devui';\r\nimport {PluginActiveComponent} from \"./plugin-active/plugin-active.component\";\r\nimport {PluginHoverComponent} from \"./plugin-hover/plugin-hover.component\";\r\nimport {DividerComponent} from \"./plugin-active/divider/divider.component\";\r\nimport {DividerLineComponent} from \"./plugin-active/divider/divider-line/divider-line.component\";\r\nimport {ItemConfigComponent} from './box-item/item-config/item-config.component';\r\nimport {ItemStyleComponent} from './box-item/item-style/item-style.component';\r\nimport {StyleBlankComponent} from './box-item/item-style/style-blank/style-blank.component';\r\nimport {ItemBlankComponent} from './box-item/item-blank/item-blank.component';\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {StyleComponent} from './box-item/item-style/style/style.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n BoxContainerComponent,\r\n BoxItemHostDirective,\r\n BoxItemComponent,\r\n PluginActiveComponent,\r\n DividerComponent,\r\n DividerLineComponent,\r\n PluginHoverComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent,\r\n StyleBlankComponent,\r\n ItemBlankComponent,\r\n StyleComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevUIModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n BoxContainerComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent\r\n ]\r\n})\r\nexport class BoxContainerModule {\r\n}\r\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {map} from \"rxjs\";\n\n@Injectable()\nexport class DataGridService {\n constructor(private http: HttpClient) {\n }\n\n getMetadataByView(tenant: any, className: any, view?: any) {\n return this.http.get<any>('api/metadata/view/' + className, {\n params: {\n tenant,\n view: view || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, template?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getMany(tenant: any, className: any, params: any) {\n const api = 'api/data/' + className;\n return this.http.get<any>(api + params, {\n params: {\n tenant\n }\n }).pipe(\n map(response => {\n return {\n data: response.data.list,\n totalCount: response.data.count\n }\n })\n );\n }\n}\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[rsMasterDetailTemplate]'\n})\nexport class MasterDetailTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\n","import {Component, ContentChild, Input, OnInit, ViewChild} from '@angular/core';\nimport CustomStore from \"devextreme/data/custom_store\";\nimport {lastValueFrom} from \"rxjs\";\nimport {DxDataGridComponent} from \"devextreme-angular\";\nimport {DataGridService} from \"./data-grid.service\";\nimport {MasterDetailTemplateDirective} from \"./master-detail-template.directive\";\n\n@Component({\n selector: 'rs-data-grid',\n templateUrl: './data-grid.component.html',\n styleUrls: ['./data-grid.component.scss'],\n providers: [DataGridService]\n})\nexport class DataGridComponent implements OnInit {\n @Input()\n tenant!: any;\n @Input()\n className!: any;\n @Input()\n view?: any;\n @Input()\n filter?: any;\n @Input()\n enableMasterDetail = false;\n dataSource: any = {};\n columns: any[] = [];\n typeMap: any = {\n STRING: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n TEXT: {\n dataType: 'string',\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\n },\n BOOLEAN: {\n dataType: 'boolean',\n filterOperations: []\n },\n INTEGER: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DOUBLE: {\n dataType: 'number',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\n },\n DATE: {\n dataType: 'date',\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],\n format: 'yyyy/MM/dd'\n },\n DATETIME: {\n dataType: 'datetime',\n filterOperations: ['>', '<', 'between'],\n format: 'yyyy/MM/dd HH:mm:ss'\n }\n };\n @ViewChild(DxDataGridComponent, {static: true}) dxDataGrid!: DxDataGridComponent;\n @ContentChild(MasterDetailTemplateDirective) masterDetailTemplate!: MasterDetailTemplateDirective;\n\n constructor(private service: DataGridService) {\n }\n\n ngOnInit() {\n this.reload();\n }\n\n reload() {\n this.dxDataGrid.instance?.state(null);\n this.service.getMetadataByView(this.tenant, this.className, this.view || '').subscribe((response: any) => {\n this.columns = [];\n for (let column of response.data.columns) {\n if (column.type === 'NORMAL') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: this.typeMap[column.dataType].dataType,\n alignment: 'left',\n filterOperations: this.typeMap[column.dataType].filterOperations,\n format: this.typeMap[column.dataType].format\n });\n } else if (column.type === 'FILE') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: 'string',\n alignment: 'left',\n filterOperations: []\n });\n } else if (column.type === 'RELATION') {\n this.columns.push({\n dataField: column.name,\n caption: column.caption,\n dataType: 'string',\n alignment: 'left',\n filterOperations: ['=']\n });\n }\n }\n });\n this.dataSource = new CustomStore({\n key: 'oid',\n byKey: (key) => {\n return lastValueFrom(this.service.getOne(this.tenant, this.className, key));\n },\n load: (loadOptions: any) => {\n let params = '?';\n if (loadOptions.skip || loadOptions.take) {\n params += 'offset=' + loadOptions.skip;\n params += '&limit=' + loadOptions.take;\n } else {\n params += 'limit=0';\n }\n if (loadOptions.sort) {\n let first = true;\n for (const thisSort of loadOptions.sort) {\n if (first) {\n params += '&orderBy=' + thisSort.selector;\n } else {\n params += ',' + thisSort.selector;\n }\n if (thisSort.desc) {\n params += ' desc';\n }\n first = false;\n }\n }\n let filter;\n if (loadOptions.filter) {\n filter = loadOptions.filter;\n }\n if (this.filter) {\n if (filter) {\n filter = [filter, 'and', this.filter];\n } else {\n filter = this.filter;\n }\n }\n if (filter) {\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\n }\n return lastValueFrom(this.service.getMany(this.tenant, this.className, params + '&view=' + (this.view || '')));\n }\n });\n }\n\n refresh(callback?: any) {\n this.dxDataGrid.instance.refresh().then(() => {\n if (callback) {\n callback();\n }\n });\n }\n\n getSelectedRowKeys() {\n return this.dxDataGrid.instance.getSelectedRowKeys();\n }\n}\n","<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\n [showBorders]=\"true\"\n [showColumnLines]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n [allowColumnResizing]=\"true\"\n columnResizingMode=\"widget\"\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\n (onRowExpanding)=\"$event.component.collapseAll(-1)\"\n>\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\n <dxo-selection mode=\"multiple\" selectAllMode=\"page\"></dxo-selection>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-remote-operations [filtering]=\"true\"\n [sorting]=\"true\"\n [paging]=\"true\">\n </dxo-remote-operations>\n <dxo-master-detail [enabled]=\"enableMasterDetail\" template=\"masterDetailTemplate\"></dxo-master-detail>\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\n <dxo-pager [visible]=\"true\"\n [showInfo]=\"true\"\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\n [showPageSizeSelector]=\"true\"\n [allowedPageSizes]=\"[15, 30, 50]\"\n ></dxo-pager>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n <dxo-export [allowExportSelectedData]=\"true\"\n [fileName]=\"className\"></dxo-export>\n <div *dxTemplate=\"let rowInfo of 'masterDetailTemplate'\">\n <ng-container [ngTemplateOutlet]=\"masterDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{$implicit: rowInfo}\"></ng-container>\n </div>\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\n {{cellInfo.rowIndex + 1}}\n </div>\n</dx-data-grid>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataGridComponent} from './data-grid.component';\nimport {DxDataGridModule} from \"devextreme-angular\";\nimport {MasterDetailTemplateDirective} from './master-detail-template.directive';\n\n@NgModule({\n declarations: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ],\n imports: [\n CommonModule,\n DxDataGridModule\n ],\n exports: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ]\n})\nexport class DataGridModule {\n}\n","import {Component, Input} from '@angular/core';\n\n@Component({\n selector: 'rs-dynamic-params',\n templateUrl: './dynamic-params.component.html',\n styleUrls: ['./dynamic-params.component.scss']\n})\nexport class DynamicParamsComponent {\n @Input()\n params!: { name: string, value: string }[];\n\n add() {\n this.params.push({name: '', value: ''});\n }\n\n delete(index: number) {\n this.params.splice(index, 1);\n }\n}\n","<form dForm labelSize=\"sm\">\n <d-form-item>\n <d-form-label>动态参数</d-form-label>\n <d-form-control>\n <d-button icon=\"icon-add\" [bsSize]=\"'sm'\" (btnClick)=\"add()\"></d-button>\n </d-form-control>\n </d-form-item>\n <d-form-item>\n <d-form-label></d-form-label>\n <d-form-control>\n <div *ngFor=\"let param of params; let index = index\">\n <input dTextInput [name]=\"'name' + index\" placeholder=\"参数名\" [(ngModel)]=\"param.name\"/>\n <input dTextInput [name]=\"'value' + index\" placeholder=\"参数值\" [(ngModel)]=\"param.value\"/>\n <d-button icon=\"icon-close\" [bsStyle]=\"'text'\" (btnClick)=\"delete(index)\"></d-button>\n </div>\n </d-form-control>\n </d-form-item>\n</form>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DynamicParamsComponent} from './dynamic-params.component';\nimport {FormsModule} from \"@angular/forms\";\nimport {DevUIModule} from \"ng-devui\";\n\n@NgModule({\n declarations: [\n DynamicParamsComponent\n ],\n imports: [\n CommonModule,\n DevUIModule,\n FormsModule\n ],\n exports: [\n DynamicParamsComponent\n ]\n})\nexport class DynamicParamsModule {\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\n\n@Injectable()\nexport class FormService {\n constructor(private http: HttpClient) {\n }\n\n getFormTemplateConfig(tenant: any, className: any, template?: any) {\n return this.http.get<any>('api/metadata/form/' + className, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, attributes?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n attributes: attributes || []\n }\n });\n }\n\n createOrUpdate(tenant: any, className: any, model: any) {\n let api = 'api/data/' + className;\n if (model.oid) {\n api += '/' + model.oid;\n }\n return this.http.post<any>(api, model, {\n params: {\n tenant\n }\n });\n }\n}\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {FormLayout} from \"ng-devui\";\nimport {UntypedFormGroup} from \"@angular/forms\";\nimport {FormService} from \"./form.service\";\n\n@Component({\n selector: 'rs-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n providers: [FormService]\n})\nexport class FormComponent implements OnInit {\n @Input()\n tenant!: any;\n @Input()\n className!: any;\n @Input()\n oid?: any;\n @Input()\n copyOid?: any;\n @Input()\n template?: any;\n layoutDirection: FormLayout = FormLayout.Vertical;\n config: any;\n formGroup = new UntypedFormGroup({})\n @ViewChild('formSubmitter') formSubmitter!: ElementRef;\n @Output()\n submitCallback = new EventEmitter<any>();\n\n constructor(private service: FormService) {\n }\n\n ngOnInit() {\n this.service.getFormTemplateConfig(this.tenant, this.className, this.template).subscribe((response: any) => {\n this.config = response.data.template;\n if (this.copyOid || this.oid) {\n const attributes = Object.keys(this.formGroup.controls);\n this.service.getOne(this.tenant, this.className, this.copyOid || this.oid, attributes).subscribe((response: any) => {\n if (this.copyOid) {\n delete response.data.oid;\n }\n this.formGroup.patchValue(response.data);\n });\n }\n });\n }\n\n protected submitForm($event: any) {\n if (!$event.valid) {\n this.submitCallback.emit();\n return;\n }\n this.service.createOrUpdate(this.tenant, this.className, {\n oid: this.oid,\n ...this.formGroup.value\n }).subscribe((response: any) => {\n this.submitCallback.emit(response);\n });\n }\n\n submit() {\n this.formSubmitter.nativeElement.click();\n }\n}\n","<form dForm [formGroup]=\"formGroup\" [layout]=\"layoutDirection\" (dSubmit)=\"submitForm($event)\">\n <ng-container *ngIf=\"config\">\n <rs-box-container [config]=\"config\" [formGroup]=\"formGroup\"></rs-box-container>\n </ng-container>\n <button #formSubmitter dFormSubmit=\"click\"></button>\n</form>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormComponent} from './form.component';\nimport {DevUIModule} from \"ng-devui\";\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\nimport {BoxContainerModule} from \"../box-container/box-container.module\";\n\n@NgModule({\n declarations: [\n FormComponent\n ],\n imports: [\n CommonModule,\n DevUIModule,\n FormsModule,\n ReactiveFormsModule,\n BoxContainerModule\n ],\n exports: [\n FormComponent\n ]\n})\nexport class FormModule {\n}\n","import {Component, ElementRef, HostListener, Input, OnDestroy, OnInit, TemplateRef, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'rs-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit, OnDestroy {\n @Input() title!: string;\n @Input() size: 'default' | 'large' | 'full' = 'default';\n _width: number = 480;\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\n moveHandleEl!: HTMLElement;\n movable: boolean = false;\n topStart = 0;\n leftStart = 0;\n @Input()\n contentTemplate!: TemplateRef<any>;\n @Input()\n contentTemplateContext: any;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngOnInit() {\n if (this.size === 'full') {\n this.modalElementRef.nativeElement.style.top = '0px';\n this.modalElementRef.nativeElement.style.right = '0px';\n this.modalElementRef.nativeElement.style.bottom = '0px';\n this.modalElementRef.nativeElement.style.left = '0px';\n this.modalElementRef.nativeElement.style.margin = '2px';\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\n } else {\n if (this.size === 'large') {\n this._width = 960;\n }\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\n this.modalElementRef.nativeElement.style.top = '40px';\n this.modalElementRef.nativeElement.style.left =\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\n this.moveHandleEl.style.cursor = 'move';\n }\n }\n\n show() {\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const modals = parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < modals.length; i++) {\n if (i === modals.length - 1) {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide() {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层模态框,下一层遮罩设置为不透明\n const parentElement = this.elementRef.nativeElement.parentElement;\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextModal = parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextModal) {\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n\n resolveModalBackdropPosition() {\n return {\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\n };\n }\n\n onMousedown($event: MouseEvent) {\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\n return;\n }\n this.movable = true;\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\n }\n\n private checkHandleTarget(target: any, element: any): boolean {\n if (!element) {\n return false;\n }\n if (target === element) {\n return true;\n }\n for (let child in element.children) {\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\n if (this.checkHandleTarget(target, element.children[child])) {\n return true;\n }\n }\n }\n return false;\n }\n\n @HostListener('document:mouseup', ['$event'])\n onMouseup() {\n this.movable = false;\n }\n\n @HostListener('document:mousemove', ['$event'])\n onMousemove($event: MouseEvent) {\n if (!this.movable) {\n return;\n }\n $event.stopPropagation();\n $event.preventDefault();\n const element = this.modalElementRef.nativeElement;\n let currentTop = $event.clientY - this.topStart;\n let currentLeft = $event.clientX - this.leftStart;\n currentTop = currentTop < 0 ? 0 : currentTop;\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\n currentTop = currentTop > maxTop ? maxTop : currentTop;\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\n element.style.top = currentTop + 'px';\n element.style.left = currentLeft + 'px';\n }\n}\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\n <div #modal class=\"modal\">\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\n <div class=\"modal-title\">{{title}}</div>\n <i class=\"icon-close\" (click)=\"hide()\"></i>\n </div>\n <div class=\"modal-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n ModalComponent\n ]\n})\nexport class ModalModule {\n}\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\n","/*\n * Public API Surface of ngx-rs-ant\n */\n\nexport * from './box-container/box-item/item-config/item-config.component';\nexport * from './box-container/box-item/item-style/item-style.component';\nexport * from './box-container/box-container.component';\nexport * from './box-container/box-container.module';\nexport * from './box-container/PluginManager';\nexport * from './data-grid/data-grid.component';\nexport * from './data-grid/master-detail-template.directive';\nexport * from './data-grid/data-grid.module';\nexport * from './data-grid/data-grid.service';\nexport * from './dynamic-params/dynamic-params.component';\nexport * from './dynamic-params/dynamic-params.module';\nexport * from './form/form.component';\nexport * from './form/form.module';\nexport * from './form/form.service';\nexport * from './modal/modal.component';\nexport * from './modal/modal.module';\nexport * from './modal/modal.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DividerLineComponent","i2.DividerComponent","i3","i1","i2.BoxItemHostDirective","i1.DataGridService","i2","i5","i4","i1.FormService","i5.BoxContainerComponent"],"mappings":"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"}
|