ngx-rs-ant 0.9.2 → 0.9.4

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.
@@ -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/plugin-not-found/plugin-not-found.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-not-found/plugin-not-found.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 height: number = 0;\r\n dragData: 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 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-item\"\r\n dDraggable\r\n [disabled]=\"!showClose || showDivider\"\r\n [dragData]=\"dragData\"\r\n dragScope=\"plugin-item\"\r\n>\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"icon-drag\"></i>\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</div>\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 {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-plugin-not-found',\n templateUrl: './plugin-not-found.component.html',\n styleUrls: ['./plugin-not-found.component.scss']\n})\nexport class PluginNotFoundComponent {\n}\n","<div>\n <span>组件加载失败</span>\n</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\nimport {PluginNotFoundComponent} from \"./plugin-not-found/plugin-not-found.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 let plugin: any = PluginFactory.get(config.name);\r\n if (!plugin) {\r\n console.error('undefined plugin: ' + config.name);\r\n plugin = {\r\n component: PluginNotFoundComponent,\r\n name: config.name,\r\n caption: config.name\r\n }\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 instance.model = boxItem.boxContainer.model;\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.dragData = {\r\n type: 'plugin-item',\r\n boxItem,\r\n index,\r\n config: config.config\r\n };\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, componentRef});\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 fieldTree?: any;\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 plugin = PluginFactory.get(item.config?.name);\n const pluginType = plugin?.type;\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 if (pluginType === 'form') {\n instance.fieldTree = this.fieldTree;\n }\n instance.configChange.subscribe((reload?: boolean) => {\n if (reload) {\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\n componentRef.location.nativeElement.click();\n } else {\n Object.assign(item.componentRef.instance, item.config.pluginConfig);\n }\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 if ($event.dragData.type === 'plugin-item') {\n const boxItem = $event.dragData.boxItem;\n const index = $event.dragData.index;\n boxItem.config.list.splice(index, 1, {type: 'blank', style: boxItem.config.list[index].style});\n boxItem.load();\n this.dropItem.emit($event.dragData.config);\n } else {\n this.dropItem.emit($event.dragData);\n }\n }\n}\n","<div dDroppable\n [dropScope]=\"['plugin-item', '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(activeIndex?: number) {\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 const componentRef = PluginManager.createComponent(this, i, item.style, item.config);\n if (activeIndex === i) {\n componentRef.location.nativeElement.click();\n }\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(index);\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 dropEvent($event: any, i: any) {\n if ($event.dragData.type === 'plugin-item') {\n const boxItem = $event.dragData.boxItem;\n const index = $event.dragData.index;\n boxItem.config.list[index].config = this.config.list[i].config;\n boxItem.load();\n this.config.list[i].config = $event.dragData.config;\n } else {\n this.config.list[i].config = $event.dragData;\n }\n this.load(i);\n }\n}\n","<ng-container *ngFor=\"let item of config.list; index as index\">\n <div [ngStyle]=\"calcStyle(item)\"\n dDroppable\n [dropScope]=\"item.type === 'plugin' && boxContainer.editMode ? ['plugin-item', 'page', 'form'] : ''\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event, index)\"\n >\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 model?: 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\nimport {PluginNotFoundComponent} from './plugin-not-found/plugin-not-found.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 PluginNotFoundComponent\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 getConstraintEntries(name: string) {\n return this.http.get<any>('api/metadata/constraint/' + name).pipe(\n map(response => {\n return response.data;\n })\n );\n }\n\n getUserColumnDataSource(className: any, view: any, field: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n executor: 'com.cs.system.data.grid.header.filter.GetUserColumnDataSource',\n className,\n view: view || '',\n field\n }\n }).pipe(\n map(response => {\n response.data.list.unshift({\n value: '',\n text: '(空白)'\n });\n response.data.list.push({\n value: '__',\n text: '',\n visible: false\n });\n return response.data.list;\n })\n );\n }\n\n getUnitColumnDataSource(className: any, view: any, field: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n executor: 'com.cs.system.data.grid.header.filter.GetUnitColumnDataSource',\n className,\n view: view || '',\n field\n }\n }).pipe(\n map(response => {\n response.data.list.unshift({\n value: '',\n text: '(空白)'\n });\n response.data.list.push({\n value: '__',\n text: '',\n visible: false\n });\n return response.data.list;\n })\n );\n }\n\n getConstraintColumnDataSource(className: any, view: any, field: any, constraintName: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n executor: 'com.cs.system.data.grid.header.filter.GetConstraintColumnDataSource',\n className,\n view: view || '',\n field,\n constraintName\n }\n }).pipe(\n map(response => {\n response.data.list.unshift({\n value: '',\n text: '(空白)'\n });\n response.data.list.push({\n value: '__',\n text: '',\n visible: false\n });\n return response.data.list;\n })\n );\n }\n\n getColumnDataSource(className: any, view: any, field: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n executor: 'com.cs.system.data.grid.header.filter.GetColumnDataSource',\n className,\n view: view || '',\n field\n }\n }).pipe(\n map(response => {\n return response.data.list;\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, Inject, Input, LOCALE_ID, OnInit, ViewChild} from '@angular/core';\nimport {lastValueFrom} from \"rxjs\";\nimport {DxDataGridComponent} from \"devextreme-angular\";\nimport {DataGridService} from \"./data-grid.service\";\nimport {MasterDetailTemplateDirective} from \"./master-detail-template.directive\";\nimport CustomStore from 'devextreme/data/custom_store';\nimport {Column} from \"devextreme/ui/data_grid\";\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 @Input()\n customColumnFn?: (columns: any[]) => void;\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, @Inject(LOCALE_ID) private locale: string) {\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 field of response.data.columns) {\n if (field.type === 'FILE') {\n this.columns.push({\n dataField: field.name,\n caption: field.caption,\n dataType: 'string',\n alignment: 'left',\n allowHeaderFiltering: false,\n filterOperations: [],\n visible: field.visible\n });\n } else if (field.type === 'NORMAL') {\n const column: any = {\n dataField: field.name,\n caption: field.caption,\n dataType: this.typeMap[field.dataType].dataType,\n alignment: 'left',\n allowHeaderFiltering: true,\n headerFilter: {\n allowSelectAll: false\n },\n filterOperations: this.typeMap[field.dataType].filterOperations,\n format: this.typeMap[field.dataType].format,\n visible: field.visible\n };\n this.columns.push(column);\n switch (field.dataType) {\n case 'BOOLEAN':\n column.allowHeaderFiltering = false;\n column.alignment = 'center';\n column.trueText = '是';\n column.falseText = '否';\n break;\n case 'DATE':\n case 'DATETIME':\n column.headerFilter.dataSource = (options: any) => {\n console.log(options);\n options.dataSource.group.length = 3;\n options.dataSource.postProcess = (data: any) => {\n data.forEach((year: any) => {\n year.text = year.key + '年';\n year.items.forEach((month: any) => {\n month.text = month.key + '月';\n month.items.forEach((day: any) => {\n day.text = day.key + '日';\n day.items = [];\n });\n });\n });\n data.unshift({\n key: '',\n value: null,\n text: '(空白)'\n });\n };\n };\n break;\n case 'DOUBLE':\n case 'INTEGER':\n column.headerFilter.dataSource = (options: any) => {\n options.dataSource.postProcess = (data: any) => {\n data.unshift({\n key: '',\n value: null,\n text: '(空白)'\n });\n data.push({\n key: '__',\n value: '__',\n text: '__',\n visible: false\n });\n };\n };\n break;\n case 'STRING':\n switch (field.config.constraint.type) {\n case 'USER':\n column.dataField = '__' + field.name + '\\u0001User_displayName';\n column.headerFilter.dataSource = {\n store: new CustomStore({\n load: () => {\n return lastValueFrom(this.service.getUserColumnDataSource(this.className, this.view, field.name));\n }\n }),\n paginate: true\n };\n column.calculateFilterExpression = function (this: any, filterValue: any, selectedFilterOperation: any, target: string) {\n if (target === 'headerFilter') {\n if (this.defaultCalculateFilterExpression) {\n this.dataField = '__' + field.name + '\\u0001User_username';\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);\n }\n }\n return [\n [column.name, selectedFilterOperation, filterValue],\n 'or',\n ['__' + field.name + '\\u0001User_username', selectedFilterOperation, filterValue]\n ];\n };\n break;\n case 'UNIT':\n column.dataField = '__' + field.name + '\\u0001Role_displayName';\n column.headerFilter.dataSource = {\n store: new CustomStore({\n load: () => {\n return lastValueFrom(this.service.getUnitColumnDataSource(this.className, this.view, field.name));\n }\n }),\n paginate: true\n };\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\n if (target === 'headerFilter') {\n if (this.defaultCalculateFilterExpression) {\n this.dataField = '__' + field.name + '\\u0001Role_name';\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);\n }\n }\n return [\n [column.name, selectedFilterOperation, filterValue],\n 'or',\n ['__' + field.name + '\\u0001Role_name', selectedFilterOperation, filterValue]\n ];\n };\n break;\n case 'CUSTOM':\n column.headerFilter.dataSource = {\n store: new CustomStore({\n load: () => {\n return lastValueFrom(this.service.getConstraintColumnDataSource(this.className, this.view, field.name, field.config.constraint.name));\n }\n }),\n paginate: true\n };\n column.filterOperations = ['='];\n column.lookup = {\n dataSource: {\n store: new CustomStore({\n load: () => {\n return lastValueFrom(this.service.getConstraintEntries(field.config.constraint.name));\n }\n }),\n paginate: true\n },\n valueExpr: 'store',\n displayExpr: 'display'\n };\n break;\n }\n break;\n case 'TEXT':\n\n column.cellTemplate = 'textCellTemplate';\n break;\n }\n } else if (field.type === 'RELATION') {\n this.columns.push({\n dataField: field.name,\n caption: field.caption,\n dataType: 'string',\n alignment: 'left',\n allowHeaderFiltering: false,\n filterOperations: ['='],\n visible: field.visible\n });\n }\n }\n if (this.customColumnFn) {\n this.customColumnFn(this.columns);\n }\n });\n this.dataSource = new CustomStore({\n key: 'oid',\n byKey: (key: any) => {\n return lastValueFrom(this.service.getOne(this.tenant, this.className, key));\n },\n load: (loadOptions: any) => {\n if (loadOptions.dataField) {\n // 未重写headerFilter的dataSource时,headerFilter会调用load方法加载筛选树,重写该方法查询该表所有数据\n // 该方式存在风险,无法识别一定是通过headerFilter过滤才存在dataField参数\n return lastValueFrom(this.service.getColumnDataSource(this.className, this.view, loadOptions.dataField));\n }\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","<dx-data-grid [dataSource]=\"dataSource\"\n [columns]=\"columns\"\n [syncLookupFilterValues]=\"false\"\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-header-filter [visible]=\"true\">\n <dxo-search [enabled]=\"true\"></dxo-search>\n <dxo-texts [ok]=\"'确定'\"></dxo-texts>\n </dxo-header-filter>\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 <div *dxTemplate=\"let cellInfo of 'textCellTemplate'\">\n <div dPopover #textDiv\n [content]=\"cellInfo.value\"\n [controlled]=\"textDiv.clientWidth < textDiv.scrollWidth\"\n [popMaxWidth]=\"240\"\n [popoverStyle]=\"{ backgroundColor: '#fff', color: 'rgb(51, 51, 51)' }\"\n style=\"max-width: 240px; text-overflow: ellipsis; overflow: hidden;\"\n [ngStyle]=\"{ cursor: textDiv.clientWidth < textDiv.scrollWidth ? 'pointer': 'default'}\">{{cellInfo.value}}</div>\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';\nimport {DevUIModule} from \"ng-devui\";\n\n@NgModule({\n declarations: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ],\n imports: [\n CommonModule,\n DxDataGridModule,\n DevUIModule\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 model: any;\n @ViewChild('formSubmitter') formSubmitter!: ElementRef;\n @Output()\n submitCallback = new EventEmitter<any>();\n loaded = false;\n loading = false;\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 this.loading = true;\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.model = response.data;\n this.loaded = true;\n this.loading = false;\n });\n } else {\n this.model = {};\n this.loaded = true;\n }\n });\n }\n\n protected submitForm($event: any) {\n if (!$event.valid) {\n this.submitCallback.emit({success: false});\n return;\n }\n this.service.createOrUpdate(this.tenant, this.className, {\n oid: this.oid,\n ...this.model\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 dLoading [loading]=\"loading\">\n <ng-container *ngIf=\"loaded\">\n <rs-box-container [config]=\"config\" [formGroup]=\"formGroup\" [model]=\"model\"></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 {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() title!: string;\r\n @Input() size: 'default' | 'large' | 'full' = 'default';\r\n _width: number = 480;\r\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\r\n moveHandleEl!: HTMLElement;\r\n movable: boolean = false;\r\n topStart = 0;\r\n leftStart = 0;\r\n @Input()\r\n contentTemplate!: TemplateRef<any>;\r\n @Input()\r\n contentTemplateContext: any;\r\n @Input()\r\n footerTemplate?: TemplateRef<any>;\r\n @Input()\r\n footerTemplateContext: any;\r\n _parentViewContainerRef: any;\r\n\r\n constructor(private elementRef: ElementRef, private changeDetectorRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.size === 'full') {\r\n this.modalElementRef.nativeElement.style.top = '0px';\r\n this.modalElementRef.nativeElement.style.right = '0px';\r\n this.modalElementRef.nativeElement.style.bottom = '0px';\r\n this.modalElementRef.nativeElement.style.left = '0px';\r\n this.modalElementRef.nativeElement.style.margin = '2px';\r\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\r\n } else {\r\n if (this.size === 'large') {\r\n this._width = 960;\r\n }\r\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\r\n this.moveHandleEl.style.cursor = 'move';\r\n }\r\n }\r\n\r\n show() {\r\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const modals = this._parentViewContainerRef.element.nativeElement.querySelectorAll(nodeName);\r\n for (let i = 0; i < modals.length; i++) {\r\n if (i === modals.length - 1) {\r\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\r\n } else {\r\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n // 在service中重写\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // 若存在多层模态框,下一层遮罩设置为不透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const nextModal = this._parentViewContainerRef.element.nativeElement.querySelector(nodeName + ':nth-last-child(2)');\r\n if (nextModal) {\r\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\r\n }\r\n }\r\n\r\n resolveModalBackdropPosition() {\r\n return {\r\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\r\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\r\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\r\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\r\n };\r\n }\r\n\r\n resolveModalPosition() {\r\n if (this.modalElementRef.nativeElement.offsetHeight >= this.elementRef.nativeElement.parentElement.offsetHeight - 48) {\r\n this.modalElementRef.nativeElement.style.height = this.elementRef.nativeElement.parentElement.offsetHeight - 48 + 'px';\r\n } else {\r\n this.modalElementRef.nativeElement.style.height = 'auto';\r\n }\r\n return {};\r\n }\r\n\r\n onMousedown($event: MouseEvent) {\r\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\r\n return;\r\n }\r\n this.movable = true;\r\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\r\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\r\n }\r\n\r\n private checkHandleTarget(target: any, element: any): boolean {\r\n if (!element) {\r\n return false;\r\n }\r\n if (target === element) {\r\n return true;\r\n }\r\n for (let child in element.children) {\r\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\r\n if (this.checkHandleTarget(target, element.children[child])) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n onMouseup() {\r\n this.movable = false;\r\n }\r\n\r\n @HostListener('document:mousemove', ['$event'])\r\n onMousemove($event: MouseEvent) {\r\n if (!this.movable) {\r\n return;\r\n }\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n const element = this.modalElementRef.nativeElement;\r\n let currentTop = $event.clientY - this.topStart;\r\n let currentLeft = $event.clientX - this.leftStart;\r\n currentTop = currentTop < 0 ? 0 : currentTop;\r\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\r\n currentTop = currentTop > maxTop ? maxTop : currentTop;\r\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\r\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\r\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\r\n element.style.top = currentTop + 'px';\r\n element.style.left = currentLeft + 'px';\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n}\r\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{title}}</div>\r\n <i class=\"icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\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 footerTemplate?: TemplateRef<any>,\n footerTemplateContext?: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.size = size;\n modalRef.instance._parentViewContainerRef = viewContainerRef;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.footerTemplate = footerTemplate;\n modalRef.instance.footerTemplateContext = footerTemplateContext;\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","i3.DividerComponent","i2","i3","i1","i3.BoxItemHostDirective","i5","i4","i1.FormService","i6.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/plugin-not-found/plugin-not-found.component.ts","../../../projects/ngx-rs-ant/src/box-container/plugin-not-found/plugin-not-found.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 height: number = 0;\r\n dragData: 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 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-item\"\r\n dDraggable\r\n [disabled]=\"!showClose || showDivider\"\r\n [dragData]=\"dragData\"\r\n dragScope=\"plugin-item\"\r\n>\r\n <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"icon-drag\"></i>\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</div>\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 {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-plugin-not-found',\n templateUrl: './plugin-not-found.component.html',\n styleUrls: ['./plugin-not-found.component.scss']\n})\nexport class PluginNotFoundComponent {\n}\n","<div>\n <span>组件加载失败</span>\n</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\nimport {PluginNotFoundComponent} from \"./plugin-not-found/plugin-not-found.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 let plugin: any = PluginFactory.get(config.name);\r\n if (!plugin) {\r\n console.error('undefined plugin: ' + config.name);\r\n plugin = {\r\n component: PluginNotFoundComponent,\r\n name: config.name,\r\n caption: config.name\r\n }\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 instance.model = boxItem.boxContainer.model;\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.dragData = {\r\n type: 'plugin-item',\r\n boxItem,\r\n index,\r\n config: config.config\r\n };\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, componentRef});\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 fieldTree?: any;\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 plugin = PluginFactory.get(item.config?.name);\n const pluginType = plugin?.type;\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 if (pluginType === 'form') {\n instance.fieldTree = this.fieldTree;\n }\n instance.configChange.subscribe((reload?: boolean) => {\n if (reload) {\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\n componentRef.location.nativeElement.click();\n } else {\n Object.assign(item.componentRef.instance, item.config.pluginConfig);\n }\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 if ($event.dragData.type === 'plugin-item') {\n const boxItem = $event.dragData.boxItem;\n const index = $event.dragData.index;\n boxItem.config.list.splice(index, 1, {type: 'blank', style: boxItem.config.list[index].style});\n boxItem.load();\n this.dropItem.emit($event.dragData.config);\n } else {\n this.dropItem.emit($event.dragData);\n }\n }\n}\n","<div dDroppable\n [dropScope]=\"['plugin-item', '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(activeIndex?: number) {\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 const componentRef = PluginManager.createComponent(this, i, item.style, item.config);\n if (activeIndex === i) {\n componentRef.location.nativeElement.click();\n }\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(index);\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 dropEvent($event: any, i: any) {\n if ($event.dragData.type === 'plugin-item') {\n const boxItem = $event.dragData.boxItem;\n const index = $event.dragData.index;\n boxItem.config.list[index].config = this.config.list[i].config;\n boxItem.load();\n this.config.list[i].config = $event.dragData.config;\n } else {\n this.config.list[i].config = $event.dragData;\n }\n this.load(i);\n }\n}\n","<ng-container *ngFor=\"let item of config.list; index as index\">\n <div [ngStyle]=\"calcStyle(item)\"\n dDroppable\n [dropScope]=\"item.type === 'plugin' && boxContainer.editMode ? ['plugin-item', 'page', 'form'] : ''\"\n dragOverClass=\"active\"\n (dropEvent)=\"dropEvent($event, index)\"\n >\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 model?: 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\nimport {PluginNotFoundComponent} from './plugin-not-found/plugin-not-found.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 PluginNotFoundComponent\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 getConstraintEntries(name: string) {\n return this.http.get<any>('api/metadata/constraint/' + name).pipe(\n map(response => {\n return response.data;\n })\n );\n }\n\n getUserColumnDataSource(className: any, view: any, field: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n executor: 'com.cs.system.data.grid.header.filter.GetUserColumnDataSource',\n className,\n view: view || '',\n field\n }\n }).pipe(\n map(response => {\n response.data.list.unshift({\n value: '',\n text: '(空白)'\n });\n response.data.list.push({\n value: '__',\n text: '',\n visible: false\n });\n return response.data.list;\n })\n );\n }\n\n getUnitColumnDataSource(className: any, view: any, field: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n executor: 'com.cs.system.data.grid.header.filter.GetUnitColumnDataSource',\n className,\n view: view || '',\n field\n }\n }).pipe(\n map(response => {\n response.data.list.unshift({\n value: '',\n text: '(空白)'\n });\n response.data.list.push({\n value: '__',\n text: '',\n visible: false\n });\n return response.data.list;\n })\n );\n }\n\n getConstraintColumnDataSource(className: any, view: any, field: any, constraintName: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n executor: 'com.cs.system.data.grid.header.filter.GetConstraintColumnDataSource',\n className,\n view: view || '',\n field,\n constraintName\n }\n }).pipe(\n map(response => {\n response.data.list.unshift({\n value: '',\n text: '(空白)'\n });\n response.data.list.push({\n value: '__',\n text: '',\n visible: false\n });\n return response.data.list;\n })\n );\n }\n\n getColumnDataSource(className: any, view: any, field: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n executor: 'com.cs.system.data.grid.header.filter.GetColumnDataSource',\n className,\n view: view || '',\n field\n }\n }).pipe(\n map(response => {\n return response.data.list;\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, Inject, Input, LOCALE_ID, OnInit, ViewChild} from '@angular/core';\nimport {lastValueFrom} from \"rxjs\";\nimport {DxDataGridComponent} from \"devextreme-angular\";\nimport {DataGridService} from \"./data-grid.service\";\nimport {MasterDetailTemplateDirective} from \"./master-detail-template.directive\";\nimport CustomStore from 'devextreme/data/custom_store';\nimport {Column} from \"devextreme/ui/data_grid\";\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 @Input()\n customColumnFn?: (columns: any[]) => void;\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, @Inject(LOCALE_ID) private locale: string) {\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 field of response.data.columns) {\n if (field.type === 'FILE') {\n this.columns.push({\n dataField: field.name,\n caption: field.caption,\n dataType: 'string',\n alignment: 'left',\n allowHeaderFiltering: false,\n filterOperations: [],\n visible: field.visible\n });\n } else if (field.type === 'NORMAL') {\n const column: any = {\n dataField: field.name,\n caption: field.caption,\n dataType: this.typeMap[field.dataType].dataType,\n alignment: 'left',\n allowHeaderFiltering: true,\n headerFilter: {\n allowSelectAll: false\n },\n filterOperations: this.typeMap[field.dataType].filterOperations,\n format: this.typeMap[field.dataType].format,\n visible: field.visible\n };\n this.columns.push(column);\n switch (field.dataType) {\n case 'BOOLEAN':\n column.allowHeaderFiltering = false;\n column.alignment = 'center';\n column.trueText = '是';\n column.falseText = '否';\n break;\n case 'DATE':\n case 'DATETIME':\n column.headerFilter.dataSource = (options: any) => {\n console.log(options);\n options.dataSource.group.length = 3;\n options.dataSource.postProcess = (data: any) => {\n data.forEach((year: any) => {\n year.text = year.key + '年';\n year.items.forEach((month: any) => {\n month.text = month.key + '月';\n month.items.forEach((day: any) => {\n day.text = day.key + '日';\n day.items = [];\n });\n });\n });\n data.unshift({\n key: '',\n value: null,\n text: '(空白)'\n });\n };\n };\n break;\n case 'DOUBLE':\n case 'INTEGER':\n column.headerFilter.dataSource = (options: any) => {\n options.dataSource.postProcess = (data: any) => {\n data.unshift({\n key: '',\n value: null,\n text: '(空白)'\n });\n data.push({\n key: '__',\n value: '__',\n text: '__',\n visible: false\n });\n };\n };\n break;\n case 'STRING':\n switch (field.config.constraint.type) {\n case 'USER':\n column.dataField = '__' + field.name + '\\u0001User_displayName';\n column.headerFilter.dataSource = {\n store: new CustomStore({\n load: () => {\n return lastValueFrom(this.service.getUserColumnDataSource(this.className, this.view, field.name));\n }\n }),\n paginate: true\n };\n column.calculateFilterExpression = function (this: any, filterValue: any, selectedFilterOperation: any, target: string) {\n if (target === 'headerFilter') {\n if (this.defaultCalculateFilterExpression) {\n this.dataField = '__' + field.name + '\\u0001User_username';\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);\n }\n }\n return [\n [column.name, selectedFilterOperation, filterValue],\n 'or',\n ['__' + field.name + '\\u0001User_username', selectedFilterOperation, filterValue]\n ];\n };\n break;\n case 'UNIT':\n column.dataField = '__' + field.name + '\\u0001Role_displayName';\n column.headerFilter.dataSource = {\n store: new CustomStore({\n load: () => {\n return lastValueFrom(this.service.getUnitColumnDataSource(this.className, this.view, field.name));\n }\n }),\n paginate: true\n };\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\n if (target === 'headerFilter') {\n if (this.defaultCalculateFilterExpression) {\n this.dataField = '__' + field.name + '\\u0001Role_name';\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);\n }\n }\n return [\n [column.name, selectedFilterOperation, filterValue],\n 'or',\n ['__' + field.name + '\\u0001Role_name', selectedFilterOperation, filterValue]\n ];\n };\n break;\n case 'CUSTOM':\n column.headerFilter.dataSource = {\n store: new CustomStore({\n load: () => {\n return lastValueFrom(this.service.getConstraintColumnDataSource(this.className, this.view, field.name, field.config.constraint.name));\n }\n }),\n paginate: true\n };\n column.filterOperations = ['='];\n column.lookup = {\n dataSource: {\n store: new CustomStore({\n load: () => {\n return lastValueFrom(this.service.getConstraintEntries(field.config.constraint.name));\n }\n }),\n paginate: true\n },\n valueExpr: 'store',\n displayExpr: 'display'\n };\n break;\n }\n break;\n case 'TEXT':\n\n column.cellTemplate = 'textCellTemplate';\n break;\n }\n } else if (field.type === 'RELATION') {\n this.columns.push({\n dataField: field.name,\n caption: field.caption,\n dataType: 'string',\n alignment: 'left',\n allowHeaderFiltering: false,\n filterOperations: ['='],\n visible: field.visible\n });\n }\n }\n if (this.customColumnFn) {\n this.customColumnFn(this.columns);\n }\n });\n this.dataSource = new CustomStore({\n key: 'oid',\n byKey: (key: any) => {\n return lastValueFrom(this.service.getOne(this.tenant, this.className, key));\n },\n load: (loadOptions: any) => {\n if (loadOptions.dataField) {\n // 未重写headerFilter的dataSource时,headerFilter会调用load方法加载筛选树,重写该方法查询该表所有数据\n // 该方式存在风险,无法识别一定是通过headerFilter过滤才存在dataField参数\n return lastValueFrom(this.service.getColumnDataSource(this.className, this.view, loadOptions.dataField));\n }\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 [syncLookupFilterValues]=\"false\"\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-header-filter [visible]=\"true\">\n <dxo-search [enabled]=\"true\"></dxo-search>\n <dxo-texts [ok]=\"'确定'\"></dxo-texts>\n </dxo-header-filter>\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 <div *dxTemplate=\"let cellInfo of 'textCellTemplate'\">\n <div dPopover #textDiv\n [content]=\"cellInfo.value\"\n [controlled]=\"textDiv.clientWidth < textDiv.scrollWidth\"\n [popMaxWidth]=\"240\"\n [popoverStyle]=\"{ backgroundColor: '#fff', color: 'rgb(51, 51, 51)' }\"\n style=\"max-width: 240px; text-overflow: ellipsis; overflow: hidden;\"\n [ngStyle]=\"{ cursor: textDiv.clientWidth < textDiv.scrollWidth ? 'pointer': 'default'}\">{{cellInfo.value}}</div>\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';\nimport {DevUIModule} from \"ng-devui\";\n\n@NgModule({\n declarations: [\n DataGridComponent,\n MasterDetailTemplateDirective\n ],\n imports: [\n CommonModule,\n DxDataGridModule,\n DevUIModule\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 model: any;\n @ViewChild('formSubmitter') formSubmitter!: ElementRef;\n @Output()\n submitCallback = new EventEmitter<any>();\n loaded = false;\n loading = false;\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 this.loading = true;\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.model = response.data;\n this.loaded = true;\n this.loading = false;\n });\n } else {\n this.model = {};\n this.loaded = true;\n }\n });\n }\n\n protected submitForm($event: any) {\n if (!$event.valid) {\n this.submitCallback.emit({success: false});\n return;\n }\n this.service.createOrUpdate(this.tenant, this.className, {\n oid: this.oid,\n ...this.model\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 dLoading [loading]=\"loading\">\n <ng-container *ngIf=\"loaded\">\n <rs-box-container [config]=\"config\" [formGroup]=\"formGroup\" [model]=\"model\"></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 {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n @Input() title!: string;\r\n @Input() size: 'default' | 'large' | 'full' = 'default';\r\n _width: number = 480;\r\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\r\n moveHandleEl!: HTMLElement;\r\n movable: boolean = false;\r\n topStart = 0;\r\n leftStart = 0;\r\n @Input()\r\n contentTemplate!: TemplateRef<any>;\r\n @Input()\r\n contentTemplateContext: any;\r\n @Input()\r\n footerTemplate?: TemplateRef<any>;\r\n @Input()\r\n footerTemplateContext: any;\r\n _parentViewContainerRef: any;\r\n\r\n constructor(private elementRef: ElementRef, private changeDetectorRef: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.size === 'full') {\r\n this.modalElementRef.nativeElement.style.top = '0px';\r\n this.modalElementRef.nativeElement.style.right = '0px';\r\n this.modalElementRef.nativeElement.style.bottom = '0px';\r\n this.modalElementRef.nativeElement.style.left = '0px';\r\n this.modalElementRef.nativeElement.style.margin = '2px';\r\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\r\n } else {\r\n if (this.size === 'large') {\r\n this._width = 960;\r\n }\r\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\r\n this.moveHandleEl.style.cursor = 'move';\r\n }\r\n }\r\n\r\n show() {\r\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const modals = this._parentViewContainerRef.element.nativeElement.querySelectorAll(nodeName);\r\n for (let i = 0; i < modals.length; i++) {\r\n if (i === modals.length - 1) {\r\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\r\n } else {\r\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n // 在service中重写\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // 若存在多层模态框,下一层遮罩设置为不透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const nextModal = this._parentViewContainerRef.element.nativeElement.querySelector(nodeName + ':nth-last-child(2)');\r\n if (nextModal) {\r\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\r\n }\r\n }\r\n\r\n resolveModalBackdropPosition() {\r\n return {\r\n \"width\": this.elementRef.nativeElement.parentElement.offsetWidth + 'px',\r\n \"height\": this.elementRef.nativeElement.parentElement.offsetHeight + 'px',\r\n \"top\": this.elementRef.nativeElement.parentElement.offsetTop + 'px',\r\n \"left\": this.elementRef.nativeElement.parentElement.offsetLeft + 'px',\r\n };\r\n }\r\n\r\n resolveModalPosition() {\r\n if (this.modalElementRef.nativeElement.offsetHeight >= this.elementRef.nativeElement.parentElement.offsetHeight - 48) {\r\n this.modalElementRef.nativeElement.style.height = this.elementRef.nativeElement.parentElement.offsetHeight - 48 + 'px';\r\n } else {\r\n this.modalElementRef.nativeElement.style.height = 'auto';\r\n }\r\n return {};\r\n }\r\n\r\n onMousedown($event: MouseEvent) {\r\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\r\n return;\r\n }\r\n this.movable = true;\r\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\r\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\r\n }\r\n\r\n private checkHandleTarget(target: any, element: any): boolean {\r\n if (!element) {\r\n return false;\r\n }\r\n if (target === element) {\r\n return true;\r\n }\r\n for (let child in element.children) {\r\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\r\n if (this.checkHandleTarget(target, element.children[child])) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n onMouseup() {\r\n this.movable = false;\r\n }\r\n\r\n @HostListener('document:mousemove', ['$event'])\r\n onMousemove($event: MouseEvent) {\r\n if (!this.movable) {\r\n return;\r\n }\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n const element = this.modalElementRef.nativeElement;\r\n let currentTop = $event.clientY - this.topStart;\r\n let currentLeft = $event.clientX - this.leftStart;\r\n currentTop = currentTop < 0 ? 0 : currentTop;\r\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight;\r\n currentTop = currentTop > maxTop ? maxTop : currentTop;\r\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\r\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\r\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\r\n element.style.top = currentTop + 'px';\r\n element.style.left = currentLeft + 'px';\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n}\r\n","<div class=\"modal-backdrop\" [ngStyle]=\"resolveModalBackdropPosition()\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{title}}</div>\r\n <i class=\"icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\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 footerTemplate?: TemplateRef<any>,\n footerTemplateContext?: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.size = size;\n modalRef.instance._parentViewContainerRef = viewContainerRef;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.footerTemplate = footerTemplate;\n modalRef.instance.footerTemplateContext = footerTemplateContext;\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","i3.DividerComponent","i2","i3","i1","i3.BoxItemHostDirective","i5","i4","i1.FormService","i6.BoxContainerComponent"],"mappings":"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"}