ngx-rs-ant 1.7.2 → 1.7.3

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/box-item/item-config/config-blank/config-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/config-blank/config-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/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/util/form-item-config-base.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/form-item-config-error/form-item-config-error.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/form-item-config-error/form-item-config-error.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/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/util/change-filter.ts","../../../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/camunda-bpmn-editor/custom/translate/translations.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/translate/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/initUserTask.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/UserTaskPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/UserTaskContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/ServiceTaskPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/ServiceTaskContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/HideOtherPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/CustomReplaceMenuProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/index.ts","../../../projects/ngx-rs-ant/src/code-editor/code-editor.component.ts","../../../projects/ngx-rs-ant/src/code-editor/code-editor.component.html","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.component.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.component.html","../../../projects/ngx-rs-ant/src/code-editor/code-editor.module.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.module.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.component.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.component.html","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.service.ts","../../../projects/ngx-rs-ant/src/data-grid/row-buttons-template.directive.ts","../../../projects/ngx-rs-ant/src/util/utils.ts","../../../projects/ngx-rs-ant/src/data-grid/custom-template.directive.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.factory.ts","../../../projects/ngx-rs-ant/src/data-grid/file-cell-template/file-cell-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/file-cell-template/file-cell-template.component.html","../../../projects/ngx-rs-ant/src/data-detail/data-detail.service.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/data-detail/data-detail.component.ts","../../../projects/ngx-rs-ant/src/data-detail/data-detail.component.html","../../../projects/ngx-rs-ant/src/drawer/drawer.component.ts","../../../projects/ngx-rs-ant/src/drawer/drawer.component.html","../../../projects/ngx-rs-ant/src/drawer/drawer.service.ts","../../../projects/ngx-rs-ant/src/data-grid/instance-link-template/instance-link-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/instance-link-template/instance-link-template.component.html","../../../projects/ngx-rs-ant/src/data-grid/unit-info-template/unit-info-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/unit-info-template/unit-info-template.component.html","../../../projects/ngx-rs-ant/src/data-grid/user-info-template/user-info-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/user-info-template/user-info-template.component.html","../../../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/form/field-selector/field-selector.component.ts","../../../projects/ngx-rs-ant/src/form/field-selector/field-selector.component.html","../../../projects/ngx-rs-ant/src/form/form.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/data-detail/data-detail.module.ts","../../../projects/ngx-rs-ant/src/drawer/drawer.module.ts","../../../projects/ngx-rs-ant/src/dynamic-params/tooltip-content-template.directive.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/fullscreen/fullscreen.directive.ts","../../../projects/ngx-rs-ant/src/icon-selector/icon-selector.component.ts","../../../projects/ngx-rs-ant/src/icon-selector/icon-selector.component.html","../../../projects/ngx-rs-ant/src/icon-selector/icon-selector.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/pdf-viewer/pdf-viewer.component.ts","../../../projects/ngx-rs-ant/src/pdf-viewer/pdf-viewer.component.html","../../../projects/ngx-rs-ant/src/websocket/websocket.module.ts","../../../projects/ngx-rs-ant/src/websocket/websocket.service.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-divider-line',\r\n templateUrl: './divider-line.component.html',\r\n styleUrls: ['./divider-line.component.scss']\r\n})\r\nexport class DividerLineComponent {\r\n @Input()\r\n direction?: 'row' | 'column';\r\n @Input()\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 if (this.direction === 'row') {\r\n return {\r\n height: elementRect.width + 'px'\r\n };\r\n }\r\n if (this.direction === 'column') {\r\n return {\r\n height: elementRect.height + 'px'\r\n };\r\n }\r\n return {};\r\n }\r\n}\r\n","","import {Component, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-divider',\r\n templateUrl: './divider.component.html',\r\n styleUrls: ['./divider.component.scss']\r\n})\r\nexport class DividerComponent {\r\n @Input()\r\n direction?: 'row' | 'column';\r\n @Input()\r\n targetElement: any;\r\n @Output()\r\n dividerClick = new EventEmitter();\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 if (this.direction === 'row') {\r\n return {\r\n top: elementRect.height / 2 - 12 + 'px',\r\n left: '4px',\r\n transform: 'rotate(270deg)'\r\n };\r\n }\r\n if (this.direction === 'column') {\r\n return {\r\n top: '4px',\r\n left: elementRect.width / 2 - 12 + 'px'\r\n };\r\n }\r\n return {};\r\n }\r\n\r\n @HostListener('click')\r\n onClick() {\r\n this.dividerClick.emit();\r\n }\r\n}\r\n","<div class=\"divider-image\"></div>\r\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\r\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\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 <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"添加行\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"添加列\" (click)=\"splitItem('row')\"></i>\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>\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-not-found',\r\n templateUrl: './plugin-not-found.component.html',\r\n styleUrls: ['./plugin-not-found.component.scss']\r\n})\r\nexport class PluginNotFoundComponent {\r\n}\r\n","<div>\r\n <span>组件加载失败</span>\r\n</div>\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-config-blank',\r\n templateUrl: './config-blank.component.html',\r\n styleUrls: ['./config-blank.component.scss']\r\n})\r\nexport class ConfigBlankComponent {\r\n}\r\n","<div>\r\n <span>无配置项</span>\r\n</div>\r\n","import {Component, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-style',\r\n templateUrl: './style.component.html',\r\n styleUrls: ['./style.component.scss']\r\n})\r\nexport class StyleComponent implements OnInit {\r\n style: any;\r\n width: number = 0;\r\n height: number = 0;\r\n\r\n ngOnInit(): void {\r\n this.style.width = this.style.width ? this.style.width : 'auto';\r\n this.style.height = this.style.height ? this.style.height : 'auto';\r\n if (this.style.width !== 'auto') {\r\n this.width = this.style.width.substring(0, this.style.width.length - 2);\r\n }\r\n if (this.style.height !== 'auto') {\r\n this.height = this.style.height.substring(0, this.style.height.length - 2);\r\n }\r\n }\r\n\r\n select(name: string, value: any) {\r\n const that: any = this;\r\n if (value === 'auto') {\r\n this.style[name] = 'auto';\r\n that[name] = 0;\r\n } else {\r\n if (!that[name]) {\r\n that[name] = value;\r\n }\r\n this.style[name] = that[name] + 'px';\r\n }\r\n }\r\n\r\n typing(name: string, value: any) {\r\n if (value) {\r\n this.style[name] = value + 'px';\r\n } else {\r\n this.style[name] = 'auto';\r\n }\r\n }\r\n}\r\n","<div class=\"config-item\">\r\n <div class=\"item-title\">宽度类型</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\r\n (click)=\"select('width','auto')\">\r\n <span>自适应</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('width',240)\">\r\n <span>固定值</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">固定宽度</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"width\"\r\n (onValueChanged)=\"typing('width', $event.value)\"\r\n [readOnly]=\"style.width === 'auto'\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">高度类型</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\r\n (click)=\"select('height','auto')\">\r\n <span>自适应</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('height',800)\">\r\n <span>固定值</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">固定高度</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"height\"\r\n (onValueChanged)=\"typing('height', $event.value)\"\r\n [readOnly]=\"style.height === 'auto'\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-style-blank',\r\n templateUrl: './style-blank.component.html',\r\n styleUrls: ['./style-blank.component.scss']\r\n})\r\nexport class StyleBlankComponent {\r\n}\r\n","<div>\r\n <span>请在左侧画布选中节点</span>\r\n</div>\r\n","import {EventEmitter} from \"@angular/core\";\r\n\r\nexport class FormItemConfigBase {\r\n fieldTree: any;\r\n config: any;\r\n configChange: EventEmitter<boolean | undefined> = new EventEmitter<boolean | undefined>();\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-form-item-config-error',\r\n templateUrl: './form-item-config-error.component.html',\r\n styleUrls: ['./form-item-config-error.component.scss']\r\n})\r\nexport class FormItemConfigErrorComponent {\r\n\r\n}\r\n","<div>\r\n <span>表单组件配置必需继承自FormItemConfigBase</span>\r\n</div>\r\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\nimport {ConfigBlankComponent} from \"./box-item/item-config/config-blank/config-blank.component\";\r\nimport {StyleComponent} from \"./box-item/item-style/style/style.component\";\r\nimport {StyleBlankComponent} from \"./box-item/item-style/style-blank/style-blank.component\";\r\nimport {FormItemConfigBase} from \"../util/form-item-config-base\";\r\nimport {\r\n FormItemConfigErrorComponent\r\n} from \"./box-item/item-config/form-item-config-error/form-item-config-error.component\";\r\n\r\nexport class PluginManager {\r\n static hoverItems: any[] = [];\r\n static activeItem = new Subject<{ id: string, item: any }>();\r\n static activeItems: { [id: string]: 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 instance.editMode = boxItem.boxContainer.editMode;\r\n if (plugin.type === 'form') {\r\n instance.model = boxItem.boxContainer.model;\r\n }\r\n if (boxItem.boxContainer.readonly) {\r\n instance.readonly = true;\r\n }\r\n instance.opener = boxItem.boxContainer.opener;\r\n instance.params = boxItem.boxContainer.params;\r\n instance.tabId = boxItem.boxContainer.tabId;\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.margin = '8px';\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 id = boxItem.boxContainer.id;\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(activeElement);\r\n if (this.activeItems[id]) {\r\n this.activeItems[id].push(componentRef.location.nativeElement);\r\n } else {\r\n this.activeItems[id] = [componentRef.location.nativeElement];\r\n }\r\n componentRef.location.nativeElement.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems[id]) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems[id].indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({\r\n id,\r\n item: {boxItem, index, style, config: config.config, componentRef}\r\n });\r\n $event.target.classList.add('plugin-active');\r\n });\r\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\r\n if (boxItem.config.direction === direction) {\r\n boxItem.config.list.splice(index + 1, 0, {type: 'blank', style: {}});\r\n boxItem.load();\r\n } else {\r\n if (boxItem.config.list.length === 1) {\r\n boxItem.config.direction = direction;\r\n boxItem.config.list.push({type: 'blank', style: {}});\r\n } else {\r\n if (boxItem.config.list[index].type === 'item' && boxItem.config.list[index].config.direction === direction) {\r\n boxItem.config.list[index].config.list.push({type: 'blank', style: {}});\r\n } else {\r\n boxItem.config.list.splice(index, 1, {\r\n type: 'item',\r\n style: boxItem.config.list[index].style,\r\n config: {\r\n direction,\r\n list: [boxItem.config.list[index], {type: 'blank', style: {}}]\r\n }\r\n });\r\n }\r\n }\r\n boxItem.load();\r\n }\r\n };\r\n activeComponentRef.instance.itemRemove.subscribe(() => {\r\n this.activeItem.next({\r\n id,\r\n item: ''\r\n });\r\n viewContainerRef.clear();\r\n componentRef.instance.onRemove();\r\n });\r\n return activeComponentRef;\r\n }\r\n\r\n static resetItemConfig(itemConfigContainerRef: ViewContainerRef, item: any, fieldTree?: any) {\r\n itemConfigContainerRef.clear();\r\n if (!item) {\r\n itemConfigContainerRef.createComponent(ConfigBlankComponent);\r\n return;\r\n }\r\n const plugin = PluginFactory.get(item.config?.name);\r\n const pluginType = plugin?.type;\r\n const pluginConfig = PluginFactory.getConfig(item.config?.name);\r\n if (pluginConfig) {\r\n const componentRef = itemConfigContainerRef.createComponent(pluginConfig.component);\r\n const instance: any = componentRef.instance;\r\n instance.config = item.config.pluginConfig;\r\n if (pluginType === 'form') {\r\n if (!(instance instanceof FormItemConfigBase)) {\r\n itemConfigContainerRef.clear();\r\n itemConfigContainerRef.createComponent(FormItemConfigErrorComponent);\r\n return;\r\n }\r\n instance.fieldTree = fieldTree;\r\n }\r\n instance.configChange.subscribe((reload?: boolean) => {\r\n if (reload) {\r\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\r\n componentRef.location.nativeElement.click();\r\n } else {\r\n setTimeout(() => {\r\n Object.assign(item.componentRef.instance, item.config.pluginConfig);\r\n });\r\n }\r\n });\r\n } else {\r\n itemConfigContainerRef.createComponent(ConfigBlankComponent);\r\n }\r\n }\r\n\r\n static resetItemStyle(itemStyleContainerRef: ViewContainerRef, item: any) {\r\n itemStyleContainerRef.clear();\r\n if (!item) {\r\n itemStyleContainerRef.createComponent(StyleBlankComponent);\r\n return;\r\n }\r\n const componentRef = itemStyleContainerRef.createComponent(StyleComponent);\r\n const instance: any = componentRef.instance;\r\n instance.style = item.style;\r\n }\r\n}\r\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {PluginManager} from \"../../PluginManager\";\r\n\r\n@Component({\r\n selector: 'rs-item-config',\r\n templateUrl: './item-config.component.html',\r\n styleUrls: ['./item-config.component.scss']\r\n})\r\nexport class ItemConfigComponent implements OnInit {\r\n @Input()\r\n id: string = 'global';\r\n @Input()\r\n fieldTree?: any;\r\n @ViewChild('itemConfigContainerRef', {\r\n static: true,\r\n read: ViewContainerRef\r\n }) itemConfigContainerRef!: ViewContainerRef;\r\n\r\n ngOnInit(): void {\r\n PluginManager.activeItem.subscribe(data => {\r\n if (data.id !== this.id) {\r\n return;\r\n }\r\n PluginManager.resetItemConfig(this.itemConfigContainerRef, data.item, this.fieldTree);\r\n });\r\n }\r\n}\r\n","<ng-container #itemConfigContainerRef></ng-container>\r\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {PluginManager} from \"../../PluginManager\";\r\n\r\n@Component({\r\n selector: 'rs-item-style',\r\n templateUrl: './item-style.component.html',\r\n styleUrls: ['./item-style.component.scss']\r\n})\r\nexport class ItemStyleComponent implements OnInit {\r\n @Input()\r\n id: string = 'global';\r\n @ViewChild('itemStyleContainerRef', {static: true, read: ViewContainerRef}) itemStyleContainerRef!: ViewContainerRef;\r\n\r\n ngOnInit(): void {\r\n PluginManager.activeItem.subscribe(data => {\r\n if (data.id !== this.id) {\r\n return;\r\n }\r\n PluginManager.resetItemStyle(this.itemStyleContainerRef, data.item);\r\n });\r\n }\r\n}\r\n","<ng-container #itemStyleContainerRef></ng-container>\r\n","import {Directive, ElementRef, Input, ViewContainerRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsBoxItemHost]'\r\n})\r\nexport class BoxItemHostDirective {\r\n @Input()\r\n hostId: any;\r\n\r\n constructor(private el: ElementRef, public viewContainerRef: ViewContainerRef) {\r\n this.el.nativeElement.hostId = this.hostId;\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-item-blank',\r\n templateUrl: './item-blank.component.html',\r\n styleUrls: ['./item-blank.component.scss']\r\n})\r\nexport class ItemBlankComponent {\r\n}\r\n","<div>\r\n <span>拖拽组件到此处</span>\r\n</div>\r\n","import {Component, EventEmitter, HostBinding, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\r\nimport {BoxItemHostDirective} from './box-item-host.directive';\r\nimport {PluginManager} from '../PluginManager';\r\nimport {ItemBlankComponent} from \"./item-blank/item-blank.component\";\r\n\r\n@Component({\r\n selector: 'rs-box-item',\r\n templateUrl: './box-item.component.html',\r\n styleUrls: ['./box-item.component.scss']\r\n})\r\nexport class BoxItemComponent implements OnInit {\r\n boxContainer: any;\r\n style: any = {};\r\n config: any = {};\r\n pDirection?: 'row' | 'column';\r\n\r\n @HostBinding('style.flex-direction') get _direction() {\r\n return this.config.direction;\r\n }\r\n\r\n @HostBinding('style') get _style() {\r\n if (this.pDirection) {\r\n return {};\r\n }\r\n const width = this.style?.width ? this.style.width : 'auto';\r\n const height = this.style?.height ? this.style.height : 'auto';\r\n return this._calcStyle(this.pDirection, width, height);\r\n }\r\n\r\n @Output()\r\n leaveOneItem = new EventEmitter();\r\n @ViewChildren(BoxItemHostDirective) itemHosts!: QueryList<BoxItemHostDirective>;\r\n\r\n ngOnInit(): void {\r\n this.load();\r\n }\r\n\r\n load(activeIndex?: number) {\r\n setTimeout(() => {\r\n for (let i = 0; i < this.itemHosts.length; i++) {\r\n const itemHost: any = this.itemHosts.get(i);\r\n itemHost.viewContainerRef.clear();\r\n const item = this.config.list[i];\r\n switch (item.type) {\r\n case 'plugin':\r\n const componentRef = PluginManager.createComponent(this, i, item.style, item.config);\r\n if (activeIndex === i) {\r\n componentRef.location.nativeElement.click();\r\n }\r\n break;\r\n case 'item':\r\n const boxItemComponentRef = itemHost.viewContainerRef.createComponent(BoxItemComponent);\r\n const instance = boxItemComponentRef.instance;\r\n instance.boxContainer = this.boxContainer;\r\n instance.style = item.style;\r\n instance.config = item.config;\r\n instance.pDirection = this.config.direction;\r\n if (this.boxContainer.editMode) {\r\n boxItemComponentRef.location.nativeElement.style.margin = '8px';\r\n instance.leaveOneItem.subscribe((item: any) => {\r\n if (item.type === 'item' && item.direction === this.config.direction) {\r\n this.config.list.splice(i, 1, ...item.list);\r\n } else {\r\n this.config.list.splice(i, 1, item);\r\n }\r\n this.load();\r\n });\r\n PluginManager.createHoverComponent(itemHost.viewContainerRef, boxItemComponentRef, '格子容器');\r\n PluginManager.createActiveComponent(this, i, boxItemComponentRef, item.style, {\r\n name: 'coast-box-container',\r\n caption: '格子容器'\r\n }, false);\r\n }\r\n break;\r\n case 'blank':\r\n default:\r\n if (this.boxContainer.editMode) {\r\n this.createBlankComponent(i);\r\n }\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n\r\n private createBlankComponent(index: number) {\r\n const viewContainerRef: any = this.itemHosts.get(index)?.viewContainerRef;\r\n const containerBlankComponentRef: any = viewContainerRef.createComponent(ItemBlankComponent);\r\n containerBlankComponentRef.instance.onRemove = () => {\r\n this.config.list.splice(index, 1);\r\n if (this.config.list.length === 1) {\r\n this.leaveOneItem.emit(this.config.list[0]);\r\n } else {\r\n this.load();\r\n }\r\n };\r\n PluginManager.createHoverComponent(viewContainerRef, containerBlankComponentRef, '占位格');\r\n const activeComponentRef = PluginManager.createActiveComponent(this, index, containerBlankComponentRef,\r\n this.config.list[index].style, {\r\n name: 'coast-box-container',\r\n caption: '占位格'\r\n }, this.config.list.length > 1);\r\n activeComponentRef.instance.showDivider = true;\r\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\r\n if (this.config.direction === direction) {\r\n this.config.list.splice(index + 1, 0, {type: 'blank', style: {}});\r\n this.load();\r\n } else {\r\n if (this.config.list.length === 1) {\r\n this.config.direction = direction;\r\n this.config.list.push({type: 'blank', style: {}});\r\n } else {\r\n this.config.list.splice(index, 1, {\r\n type: 'item',\r\n style: {},\r\n config: {\r\n direction,\r\n list: [this.config.list[index], {type: 'blank', style: {}}]\r\n }\r\n });\r\n }\r\n this.load();\r\n }\r\n };\r\n }\r\n\r\n calcStyle(item: any) {\r\n const width = item.style?.width ? item.style.width : 'auto';\r\n const height = item.style?.height ? item.style.height : 'auto';\r\n return {\r\n ...this._calcStyle(this.config.direction, width, height),\r\n position: 'relative'\r\n };\r\n }\r\n\r\n private _calcStyle(direction: any, width: string, height: string) {\r\n if (direction === 'row') {\r\n return {\r\n flex: width === 'auto' ? '1' : '0 0 ' + width,\r\n height,\r\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\r\n }\r\n } else if (direction === 'column') {\r\n return {\r\n width,\r\n flex: height === 'auto' ? 'auto' : '0 0 ' + height,\r\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\r\n }\r\n }\r\n return {\r\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\r\n };\r\n }\r\n\r\n dragOverComponent: any;\r\n\r\n onDragMove($event: any) {\r\n if ($event.fromData === $event.toData) {\r\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\r\n delete this.dragOverComponent;\r\n return;\r\n }\r\n if ($event.toComponent !== this.dragOverComponent) {\r\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\r\n this.dragOverComponent = $event.toComponent;\r\n this.dragOverComponent.instance().element().classList.add('active');\r\n }\r\n }\r\n\r\n onDragEnd($event: any) {\r\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\r\n delete this.dragOverComponent;\r\n const toBoxItem = $event.toData.boxItem;\r\n const toIndex = $event.toData.index;\r\n const fromIndex = $event.fromData.index;\r\n const fromBoxItemConfig = this.config.list[fromIndex].config;\r\n if ($event.toData.item.type === 'plugin') {\r\n this.config.list[fromIndex].config = toBoxItem.config.list[toIndex].config;\r\n this.load();\r\n toBoxItem.config.list[toIndex].config = fromBoxItemConfig;\r\n } else if ($event.toData.item.type === 'blank') {\r\n this.config.list.splice(fromIndex, 1, {type: 'blank', style: this.config.list[fromIndex].style});\r\n this.load();\r\n toBoxItem.config.list[toIndex] = {\r\n type: 'plugin',\r\n style: toBoxItem.config.list[toIndex].style,\r\n config: {\r\n name: fromBoxItemConfig.name,\r\n pluginConfig: fromBoxItemConfig.pluginConfig || {}\r\n }\r\n };\r\n }\r\n toBoxItem.load(toIndex);\r\n $event.cancel = true;\r\n }\r\n}\r\n","<ng-container *ngFor=\"let item of config.list; index as index\">\r\n <ng-container *ngIf=\"boxContainer.editMode\">\r\n <ng-container *ngIf=\"item.type === 'plugin'\">\r\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\r\n [data]=\"{boxItem: this, item, index}\"\r\n handle=\".icon-drag\"\r\n group=\"rsBoxContainerDragGroup\"\r\n (onDragMove)=\"onDragMove($event)\"\r\n (onDragEnd)=\"onDragEnd($event)\">\r\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\r\n </dx-draggable>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.type === 'item'\">\r\n <div [ngStyle]=\"calcStyle(item)\">\r\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.type === 'blank'\">\r\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\r\n [data]=\"{boxItem: this, item, index}\"\r\n group=\"rsBoxContainerDragGroup\"\r\n (onDragStart)=\"$event.cancel = true\">\r\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\r\n </dx-draggable>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!boxContainer.editMode\">\r\n <div [ngStyle]=\"calcStyle(item)\">\r\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\r\n </div>\r\n </ng-container>\r\n</ng-container>\r\n","import {SimpleChanges} from \"@angular/core\";\r\nimport {ReplaySubject, Subscription} from \"rxjs\";\r\n\r\nexport class ChangeFilter {\r\n private subject = new ReplaySubject<SimpleChanges>(1);\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n doFilter(changes: SimpleChanges) {\r\n this.subject.next(changes);\r\n }\r\n\r\n dispose() {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n notEmpty<T>(key: string, handler: (t: T) => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n if (changes[key]) {\r\n const value: T = changes[key].currentValue;\r\n if (value !== undefined && value !== null) {\r\n handler(value);\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n has<T>(key: string, handler: (t: T) => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n if (changes[key]) {\r\n const value: T = changes[key].currentValue;\r\n handler(value);\r\n }\r\n })\r\n );\r\n }\r\n\r\n notFirst<T>(key: string, handler: (t: T) => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n if (changes[key] && !changes[key].isFirstChange()) {\r\n const value: T = changes[key].currentValue;\r\n handler(value);\r\n }\r\n })\r\n );\r\n }\r\n\r\n notFirstAndEmpty<T>(key: string, handler: (t: T) => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n if (changes[key] && !changes[key].isFirstChange()) {\r\n const value: T = changes[key].currentValue;\r\n if (value !== undefined && value !== null) {\r\n handler(value);\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n anyNotFirst(keys: string[], handler: () => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n let hasChange = false;\r\n for (let key of keys) {\r\n if (changes[key] && !(changes[key].previousValue == changes[key].currentValue) && !changes[key].isFirstChange()) {\r\n hasChange = true;\r\n break;\r\n }\r\n }\r\n if (hasChange) {\r\n handler();\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\nimport {ChangeFilter} from \"../util/change-filter\";\r\nimport {PluginManager} from \"./PluginManager\";\r\n\r\n@Component({\r\n selector: 'rs-box-container',\r\n templateUrl: './box-container.component.html',\r\n styleUrls: ['./box-container.component.scss']\r\n})\r\nexport class BoxContainerComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input()\r\n id: string = 'global';\r\n @Input()\r\n editMode: boolean = false;\r\n @Input()\r\n config: any = {\r\n direction: 'row',\r\n list: [{type: 'blank', style: {}}]\r\n };\r\n @Input()\r\n model?: any;\r\n @Input()\r\n opener?: any;\r\n @Input()\r\n params?: any;\r\n @Input()\r\n readonly: boolean = false;\r\n @Input()\r\n tabId?: string;\r\n @Input()\r\n tabViewContainerRef?: ViewContainerRef;\r\n @ViewChild('boxContainerContent', {static: true, read: ViewContainerRef}) boxContainerContent!: ViewContainerRef;\r\n private changeFilter = new ChangeFilter();\r\n\r\n ngOnInit() {\r\n this.load();\r\n this.changeFilter.anyNotFirst(['config', 'model', 'readonly'], () => {\r\n this.load();\r\n });\r\n PluginManager.activeItem.subscribe(data => {\r\n if (data.id !== this.id) {\r\n return;\r\n }\r\n if (!data.item) {\r\n for (let activeItem of PluginManager.activeItems[this.id]) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.changeFilter.doFilter(changes);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.changeFilter.dispose();\r\n }\r\n\r\n load() {\r\n this.boxContainerContent.clear();\r\n const boxItemComponentRef = this.boxContainerContent.createComponent(BoxItemComponent);\r\n const instance = boxItemComponentRef.instance;\r\n instance.boxContainer = this;\r\n instance.config = this.config;\r\n if (this.editMode) {\r\n boxItemComponentRef.location.nativeElement.style.margin = '8px';\r\n }\r\n instance.leaveOneItem?.subscribe((item: any) => {\r\n if (item.type === 'item') {\r\n Object.assign(instance.config, item);\r\n } else {\r\n instance.config.direction = 'row';\r\n }\r\n instance.load();\r\n });\r\n }\r\n}\r\n","<ng-container #boxContainerContent></ng-container>\r\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 {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 {StyleComponent} from './box-item/item-style/style/style.component';\r\nimport {PluginNotFoundComponent} from './plugin-not-found/plugin-not-found.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {ConfigBlankComponent} from './box-item/item-config/config-blank/config-blank.component';\r\nimport {\r\n FormItemConfigErrorComponent\r\n} from './box-item/item-config/form-item-config-error/form-item-config-error.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 FormItemConfigErrorComponent,\r\n StyleComponent,\r\n PluginNotFoundComponent,\r\n ConfigBlankComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\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","export const translations: {\r\n [key: string]: string\r\n} = {\r\n // 调色板\r\n 'Activate hand tool': '激活拖拽工具',\r\n 'Activate lasso tool': '激活框选工具',\r\n 'Activate create/remove space tool': '激活空间移动工具',\r\n 'Activate global connect tool': '激活全局连接工具',\r\n 'Create start event': '创建开始节点',\r\n 'Create end event': '创建结束节点',\r\n 'Create user task': '创建用户任务',\r\n 'Create service task': '创建服务任务',\r\n 'Create gateway': '创建网关节点',\r\n // 面板\r\n 'Append user task': '追加用户任务',\r\n 'Append service task': '追加服务任务',\r\n 'Append gateway': '追加网关节点',\r\n 'Append end event': '追加结束节点',\r\n 'Connect to other element': '连接其它节点',\r\n 'Delete': '删除',\r\n 'Change type': '改变节点类型',\r\n 'Exclusive gateway': '互斥网关',\r\n 'Parallel gateway': '并行网关',\r\n 'Default flow': '默认流向',\r\n 'Sequence flow': '顺序流向',\r\n 'Conditional flow': '条件流向',\r\n 'Open minimap': '打开缩略图',\r\n 'Close minimap': '关闭缩略图',\r\n};\r\n","import {translations} from './translations';\r\n\r\nexport function customTranslate(template: string, replacements: {\r\n [key: string]: string\r\n}) {\r\n replacements = replacements || {};\r\n // Translate\r\n template = translations[template] || template;\r\n // Replace\r\n return template.replace(/{([^}]+)}/g, function (_, key) {\r\n return replacements[key] || '{' + key + '}';\r\n });\r\n}\r\n\r\nexport default {\r\n translate: ['value', customTranslate]\r\n}\r\n","export function initUserTask(moddle: any, modeling: any, userTask: any) {\r\n const loopCharacteristics = moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n modeling.updateModdleProperties(userTask, loopCharacteristics, {\r\n ['camunda:collection']: '${workflowHelper.collectUsers(execution, \"' + userTask.id + '\")}',\r\n ['camunda:elementVariable']: 'user'\r\n });\r\n modeling.updateProperties(userTask, {\r\n loopCharacteristics,\r\n ['camunda:assignee']: '${user}'\r\n });\r\n}\r\n","import {initUserTask} from \"./initUserTask\";\r\n\r\nexport default class UserTaskPaletteProvider {\r\n public static $inject = [\r\n 'palette',\r\n 'translate',\r\n 'elementFactory',\r\n 'moddle',\r\n 'modeling',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly elementFactory: any;\r\n private readonly moddle: any;\r\n private readonly modeling: any;\r\n private readonly create: any;\r\n\r\n constructor(palette: any, translate: any, elementFactory: any, moddle: any, modeling: any, create: any) {\r\n this.translate = translate;\r\n this.elementFactory = elementFactory;\r\n this.moddle = moddle;\r\n this.modeling = modeling;\r\n this.create = create;\r\n palette.registerProvider(this);\r\n this.createUserTask = this.createUserTask.bind(this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return {\r\n 'create.user-task': {\r\n group: 'activity',\r\n className: 'bpmn-icon-user-task',\r\n title: this.translate('Create user task'),\r\n action: {\r\n dragstart: this.createUserTask,\r\n click: this.createUserTask\r\n }\r\n }\r\n };\r\n }\r\n\r\n createUserTask(event: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","import {initUserTask} from \"./initUserTask\";\r\n\r\nexport default class UserTaskContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'appendPreview',\r\n 'elementFactory',\r\n 'autoPlace',\r\n 'moddle',\r\n 'modeling',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly appendPreview: any;\r\n private readonly elementFactory: any;\r\n private readonly autoPlace: any;\r\n private readonly moddle: any;\r\n private readonly modeling: any;\r\n private readonly create: any;\r\n\r\n constructor(contextPad: any, translate: any, appendPreview: any, elementFactory: any, autoPlace: any, moddle: any, modeling: any, create: any) {\r\n this.translate = translate;\r\n this.appendPreview = appendPreview;\r\n this.elementFactory = elementFactory;\r\n this.autoPlace = autoPlace;\r\n this.moddle = moddle;\r\n this.modeling = modeling;\r\n this.create = create;\r\n contextPad.registerProvider(this);\r\n this.appendUserTaskPreview = this.appendUserTaskPreview.bind(this);\r\n this.appendUserTask = this.appendUserTask.bind(this);\r\n this.appendUserTaskStart = this.appendUserTaskStart.bind(this);\r\n }\r\n\r\n getContextPadEntries() {\r\n return {\r\n 'append.user-task': {\r\n group: 'model',\r\n className: 'bpmn-icon-user-task',\r\n title: this.translate('Append user task'),\r\n action: {\r\n hover: this.appendUserTaskPreview,\r\n click: this.appendUserTask,\r\n dragstart: this.appendUserTaskStart\r\n }\r\n }\r\n };\r\n }\r\n\r\n appendUserTaskPreview(event: any, source: any) {\r\n this.appendPreview.create(source, 'bpmn:UserTask');\r\n return () => {\r\n this.appendPreview.cleanUp();\r\n };\r\n }\r\n\r\n appendUserTask(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.autoPlace.append(source, shape);\r\n this.appendPreview.cleanUp();\r\n }\r\n\r\n appendUserTaskStart(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.create.start(event, shape, {\r\n source: source\r\n });\r\n this.appendPreview.cleanUp();\r\n }\r\n}\r\n","import UserTaskPaletteProvider from './UserTaskPaletteProvider';\r\nimport UserTaskContextPadProvider from \"./UserTaskContextPadProvider\";\r\n\r\nexport default {\r\n __init__: ['userTaskPaletteProvider', 'userTaskContextPadProvider'],\r\n userTaskPaletteProvider: ['type', UserTaskPaletteProvider],\r\n userTaskContextPadProvider: ['type', UserTaskContextPadProvider],\r\n};\r\n","export default class ServiceTaskPaletteProvider {\r\n public static $inject = [\r\n 'palette',\r\n 'translate',\r\n 'elementFactory',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly elementFactory: any;\r\n private readonly create: any;\r\n\r\n constructor(palette: any, translate: any, elementFactory: any, create: any) {\r\n this.translate = translate;\r\n this.elementFactory = elementFactory;\r\n this.create = create;\r\n palette.registerProvider(this);\r\n this.createServiceTask = this.createServiceTask.bind(this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return {\r\n 'create.service-task': {\r\n group: 'activity',\r\n className: 'bpmn-icon-service-task',\r\n title: this.translate('Create service task'),\r\n action: {\r\n dragstart: this.createServiceTask,\r\n click: this.createServiceTask\r\n }\r\n }\r\n };\r\n }\r\n\r\n createServiceTask(event: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","export default class ServiceTaskContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'appendPreview',\r\n 'elementFactory',\r\n 'autoPlace',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly appendPreview: any;\r\n private readonly elementFactory: any;\r\n private readonly autoPlace: any;\r\n private readonly create: any;\r\n\r\n constructor(contextPad: any, translate: any, appendPreview: any, elementFactory: any, autoPlace: any, create: any) {\r\n this.translate = translate;\r\n this.appendPreview = appendPreview;\r\n this.elementFactory = elementFactory;\r\n this.autoPlace = autoPlace;\r\n this.create = create;\r\n contextPad.registerProvider(this);\r\n this.appendServiceTaskPreview = this.appendServiceTaskPreview.bind(this);\r\n this.appendServiceTask = this.appendServiceTask.bind(this);\r\n this.appendServiceTaskStart = this.appendServiceTaskStart.bind(this);\r\n }\r\n\r\n getContextPadEntries() {\r\n return {\r\n 'append.service-task': {\r\n group: 'model',\r\n className: 'bpmn-icon-service-task',\r\n title: this.translate('Append service task'),\r\n action: {\r\n hover: this.appendServiceTaskPreview,\r\n click: this.appendServiceTask,\r\n dragstart: this.appendServiceTaskStart\r\n }\r\n }\r\n };\r\n }\r\n\r\n appendServiceTaskPreview(event: any, source: any) {\r\n this.appendPreview.create(source, 'bpmn:ServiceTask');\r\n return () => {\r\n this.appendPreview.cleanUp();\r\n };\r\n }\r\n\r\n appendServiceTask(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.autoPlace.append(source, shape);\r\n this.appendPreview.cleanUp();\r\n }\r\n\r\n appendServiceTaskStart(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.create.start(event, shape, {\r\n source: source\r\n });\r\n this.appendPreview.cleanUp();\r\n }\r\n}\r\n","import ServiceTaskPaletteProvider from './ServiceTaskPaletteProvider';\r\nimport ServiceTaskContextPadProvider from \"./ServiceTaskContextPadProvider\";\r\n\r\nexport default {\r\n __init__: ['serviceTaskPaletteProvider', 'serviceTaskContextPadProvider'],\r\n serviceTaskPaletteProvider: ['type', ServiceTaskPaletteProvider],\r\n serviceTaskContextPadProvider: ['type', ServiceTaskContextPadProvider],\r\n};\r\n","export default class HideOtherPaletteProvider {\r\n public static $inject = [\r\n 'palette'\r\n ];\r\n private visibleEntryKeys = [\r\n 'hand-tool',\r\n 'lasso-tool',\r\n 'space-tool',\r\n 'global-connect-tool',\r\n 'tool-separator',\r\n 'create.start-event',\r\n 'create.end-event',\r\n 'create.user-task',\r\n 'create.service-task',\r\n 'create.exclusive-gateway'\r\n ];\r\n\r\n constructor(palette: any) {\r\n palette.registerProvider(0, this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return (entries: any) => {\r\n const visibleEntries: any = {};\r\n for (const visibleEntryKey of this.visibleEntryKeys) {\r\n if (entries.hasOwnProperty(visibleEntryKey)) {\r\n visibleEntries[visibleEntryKey] = entries[visibleEntryKey];\r\n }\r\n }\r\n return visibleEntries;\r\n };\r\n }\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\nimport {isLabel} from 'diagram-js/lib/util/ModelUtil';\r\n\r\nexport default class HideOtherContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'popupMenu'\r\n ];\r\n private readonly contextPad;\r\n private readonly translate;\r\n private readonly popupMenu;\r\n\r\n constructor(contextPad: any, translate: any, popupMenu: any) {\r\n this.contextPad = contextPad;\r\n this.translate = translate;\r\n this.popupMenu = popupMenu;\r\n contextPad.registerProvider(0, this);\r\n }\r\n\r\n getContextPadEntries(element: any) {\r\n return (entries: any) => {\r\n if (isLabel(element)) {\r\n return {};\r\n }\r\n if (is(element, 'bpmn:EndEvent')) {\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n } else if (is(element, 'bpmn:SequenceFlow')) {\r\n if (is(element.businessObject.sourceRef, 'bpmn:Task')) {\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n }\r\n if (entries['replace']) {\r\n return {\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete']\r\n };\r\n }\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n } else if (is(element, 'bpmn:Gateway')) {\r\n return {\r\n 'append.user-task': entries['append.user-task'],\r\n 'append.service-task': entries['append.service-task'],\r\n 'append.gateway': entries['append.gateway'],\r\n 'append.end-event': entries['append.end-event'],\r\n 'connect': entries['connect'],\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete']\r\n };\r\n }\r\n return {\r\n 'append.user-task': entries['append.user-task'],\r\n 'append.service-task': entries['append.service-task'],\r\n 'append.gateway': entries['append.gateway'],\r\n 'append.end-event': entries['append.end-event'],\r\n 'connect': entries['connect'],\r\n 'delete': entries['delete']\r\n };\r\n };\r\n }\r\n\r\n private getReplaceMenuPosition(element: any) {\r\n const pad = this.contextPad.getPad(element).html;\r\n const padRect = pad.getBoundingClientRect();\r\n return {\r\n x: padRect.left,\r\n y: padRect.bottom + 5\r\n };\r\n }\r\n\r\n private createReplaceAction(element: any) {\r\n return {\r\n group: 'edit',\r\n className: 'bpmn-icon-screw-wrench',\r\n title: this.translate('Change type'),\r\n action: {\r\n click: (event: any, element: any) => {\r\n const position = Object.assign(this.getReplaceMenuPosition(element), {\r\n cursor: {\r\n x: event.x,\r\n y: event.y\r\n }\r\n });\r\n this.popupMenu.open(element, 'bpmn-replace', position, {\r\n width: 300,\r\n search: true\r\n });\r\n }\r\n }\r\n };\r\n }\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\n\r\nexport default class CustomReplaceMenuProvider {\r\n public static $inject = [\r\n 'popupMenu'\r\n ];\r\n\r\n constructor(popupMenu: any) {\r\n popupMenu.registerProvider('bpmn-replace', 0, this);\r\n }\r\n\r\n getPopupMenuEntries(element: any) {\r\n return (entries: any) => {\r\n if (is(element, 'bpmn:ExclusiveGateway')) {\r\n return {\r\n 'replace-with-parallel-gateway': entries['replace-with-parallel-gateway']\r\n };\r\n } else if (is(element, 'bpmn:ParallelGateway')) {\r\n return {\r\n 'replace-with-exclusive-gateway': entries['replace-with-exclusive-gateway']\r\n };\r\n }\r\n return entries;\r\n };\r\n }\r\n}\r\n","import HideOtherPaletteProvider from './HideOtherPaletteProvider';\r\nimport HideOtherContextPadProvider from \"./HideOtherContextPadProvider\";\r\nimport CustomReplaceMenuProvider from \"./CustomReplaceMenuProvider\";\r\n\r\nexport default {\r\n __init__: ['hideOtherPaletteProvider', 'hideOtherContextPadProvider', 'gatewayReplaceMenuProvider'],\r\n hideOtherPaletteProvider: ['type', HideOtherPaletteProvider],\r\n hideOtherContextPadProvider: ['type', HideOtherContextPadProvider],\r\n gatewayReplaceMenuProvider: ['type', CustomReplaceMenuProvider]\r\n};\r\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef} from '@angular/core';\r\n\r\ndeclare var monaco: any;\r\n\r\n@Component({\r\n selector: 'rs-code-editor',\r\n templateUrl: './code-editor.component.html',\r\n styleUrls: ['./code-editor.component.scss']\r\n})\r\nexport class CodeEditorComponent implements OnInit {\r\n @Input()\r\n set code(code: string) {\r\n this._code = code || '';\r\n this._editor?.setValue(this._code);\r\n }\r\n\r\n get code() {\r\n return this._code;\r\n }\r\n\r\n private _code: string = '';\r\n @Output()\r\n codeChange = new EventEmitter<string>();\r\n @Input()\r\n language: string = 'java';\r\n @Input()\r\n readonly: boolean = false;\r\n @Input()\r\n enableMinimap: boolean = false;\r\n @Input()\r\n consoleMessage?: string;\r\n @Output()\r\n onContentReady = new EventEmitter<any>();\r\n private _editor: any;\r\n @ViewChild('editorContainer', {static: true}) editorContainer!: ElementRef;\r\n loading = true;\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const baseUrl = './assets/monaco-editor/min/vs';\r\n const loaderScript: HTMLScriptElement = document.createElement('script');\r\n loaderScript.type = 'text/javascript';\r\n loaderScript.src = `${baseUrl}/loader.js`;\r\n loaderScript.addEventListener('load', () => {\r\n (<any>window).require.config({paths: {'vs': `${baseUrl}`}});\r\n (<any>window).require([`vs/editor/editor.main`], () => {\r\n this.initMonaco();\r\n });\r\n });\r\n document.body.appendChild(loaderScript);\r\n }\r\n\r\n private initMonaco() {\r\n this._editor = monaco.editor.create(this.editorContainer.nativeElement, {\r\n value: this.code,\r\n language: this.language,\r\n automaticLayout: true,\r\n readOnly: this.readonly,\r\n minimap: {\r\n enabled: this.enableMinimap\r\n }\r\n });\r\n this._editor.onDidChangeModelContent((e: any) => {\r\n this.codeChange.emit(this._editor.getValue());\r\n });\r\n this.onContentReady.emit(this._editor);\r\n this.loading = false;\r\n }\r\n}\r\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<div class=\"editor-container\" #editorContainer></div>\r\n<div *ngIf=\"consoleMessage\" class=\"editor-console\">{{ consoleMessage }}</div>\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport BpmnModeler from 'camunda-bpmn-js/lib/camunda-platform/Modeler';\r\nimport customTranslateModule from './custom/translate';\r\nimport customUserTaskModule from './custom/user-task';\r\nimport customServiceTaskModule from './custom/service-task';\r\nimport customHideOtherModule from './custom/hide-other';\r\n\r\n@Component({\r\n selector: 'rs-camunda-bpmn-editor',\r\n templateUrl: './camunda-bpmn-editor.component.html',\r\n styleUrls: ['./camunda-bpmn-editor.component.scss']\r\n})\r\nexport class CamundaBpmnEditorComponent {\r\n @Input()\r\n set xml(xml: any) {\r\n this._xml = xml;\r\n setTimeout(() => {\r\n this.loadXml();\r\n });\r\n }\r\n\r\n get xml() {\r\n return this._xml;\r\n }\r\n\r\n private _xml: any;\r\n @Output()\r\n selectedNodeChanged = new EventEmitter<{ element: any, util?: any }>();\r\n @ViewChild('bpmnContainer') bpmnContainer?: ElementRef;\r\n @ViewChild('bpmnConfig') bpmnConfig?: ElementRef;\r\n private modeler: any;\r\n private canvas: any;\r\n protected isShowXml = false;\r\n protected isShowConfig = false;\r\n private initialDiagram =\r\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' +\r\n '<bpmn:definitions xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ' +\r\n 'xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" ' +\r\n 'xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" ' +\r\n 'xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" ' +\r\n 'targetNamespace=\"http://bpmn.io/schema/bpmn\" ' +\r\n 'id=\"Definitions_1\">' +\r\n '<bpmn:process id=\"Process_1\" isExecutable=\"true\">' +\r\n '<bpmn:startEvent id=\"StartEvent_1\"/>' +\r\n '</bpmn:process>' +\r\n '<bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">' +\r\n '<bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">' +\r\n '<bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">' +\r\n '<dc:Bounds height=\"36.0\" width=\"36.0\" x=\"173.0\" y=\"102.0\"/>' +\r\n '</bpmndi:BPMNShape>' +\r\n '</bpmndi:BPMNPlane>' +\r\n '</bpmndi:BPMNDiagram>' +\r\n '</bpmn:definitions>';\r\n\r\n ngOnInit() {\r\n if (!this.xml) {\r\n this.xml = this.initialDiagram;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.modeler = new BpmnModeler({\r\n container: this.bpmnContainer?.nativeElement,\r\n propertiesPanel: {\r\n parent: this.bpmnConfig?.nativeElement,\r\n },\r\n keyboard: {\r\n bindTo: document,\r\n },\r\n additionalModules: [\r\n customTranslateModule,\r\n customUserTaskModule,\r\n customServiceTaskModule,\r\n customHideOtherModule,\r\n ]\r\n });\r\n const logo = this.modeler._container.querySelector('.bjs-powered-by');\r\n if (logo) {\r\n this.modeler._container.removeChild(logo);\r\n }\r\n this.modeler.get('palette')._toggleState({twoColumn: false});\r\n this.canvas = this.modeler.get('canvas');\r\n const eventBus = this.modeler.get('eventBus');\r\n eventBus.on(['propertiesPanel.updated'], ($event: any) => {\r\n if (Array.isArray($event.element)) {\r\n this.selectedNodeChanged.emit();\r\n } else {\r\n this.selectedNodeChanged.emit({\r\n element: $event.element,\r\n util: {\r\n bpmnFactory: this.modeler.get('bpmnFactory'),\r\n modeling: this.modeler.get('modeling'),\r\n elementRegistry: this.modeler.get('elementRegistry')\r\n }\r\n });\r\n }\r\n });\r\n this.loadXml();\r\n }\r\n\r\n loadXml() {\r\n this.modeler.importXML(this.xml).then(() => {\r\n this.canvas.zoom('fit-viewport');\r\n });\r\n }\r\n\r\n showXml() {\r\n if (!this.isShowXml) {\r\n this.saveXml((xml: any) => {\r\n this.xml = xml;\r\n })\r\n }\r\n this.isShowXml = !this.isShowXml;\r\n }\r\n\r\n public saveXml(callback?: any) {\r\n this.modeler.saveXML({format: true}).then((response: any) => {\r\n if (callback) {\r\n callback(response.xml);\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer></div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CodeEditorComponent} from './code-editor.component';\r\nimport {DxLoadPanelModule} from \"devextreme-angular\";\r\nimport {DxoPositionModule} from \"devextreme-angular/ui/nested\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CodeEditorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DxLoadPanelModule,\r\n DxoPositionModule\r\n ],\r\n exports: [\r\n CodeEditorComponent\r\n ]\r\n})\r\nexport class CodeEditorModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CamundaBpmnEditorComponent} from './camunda-bpmn-editor.component';\r\nimport {CodeEditorModule} from \"../code-editor/code-editor.module\";\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CamundaBpmnEditorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CodeEditorModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n CamundaBpmnEditorComponent\r\n ]\r\n})\r\nexport class CamundaBpmnEditorModule {\r\n}\r\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport Viewer from \"camunda-bpmn-js/lib/camunda-platform/NavigatedViewer\";\n\n@Component({\n selector: 'rs-camunda-bpmn-viewer',\n templateUrl: './camunda-bpmn-viewer.component.html',\n styleUrls: ['./camunda-bpmn-viewer.component.scss']\n})\nexport class CamundaBpmnViewerComponent {\n @Input()\n xml: any;\n @Input()\n activeActivities: any[] = [];\n private viewer: any;\n private canvas: any;\n @ViewChild('viewerContainer') viewerContainer!: ElementRef;\n\n ngOnInit() {\n this.viewer.importXML(this.xml).then(() => {\n this.canvas.zoom('fit-viewport');\n for (const activity of this.activeActivities || []) {\n this.canvas.addMarker(activity, 'process-active-node');\n }\n });\n }\n\n ngAfterViewInit() {\n this.viewer = new Viewer({\n container: this.viewerContainer.nativeElement,\n keyboard: {\n bindTo: document,\n }\n });\n const logo = this.viewer._container.querySelector('.bjs-powered-by');\n if (logo) {\n this.viewer._container.removeChild(logo);\n }\n this.canvas = this.viewer.get('canvas');\n }\n}\n","<div class=\"container\" #viewerContainer></div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CamundaBpmnViewerComponent} from './camunda-bpmn-viewer.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n CamundaBpmnViewerComponent\n ],\n imports: [\n CommonModule,\n DevExtremeModule\n ],\n exports: [\n CamundaBpmnViewerComponent\n ]\n})\nexport class CamundaBpmnViewerModule {\n}\n","import {EventEmitter, Injectable} from '@angular/core';\r\nimport {HttpClient} from \"@angular/common/http\";\r\nimport {map, Observable, shareReplay} from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class DataGridService {\r\n cellTemplateLoaded$ = new EventEmitter<void>();\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getMetadataByView(tenant: any, className: any, view?: any) {\r\n return this.http.get<any>('api/metadata/view/' + className, {\r\n params: {\r\n tenant,\r\n view: view || ''\r\n }\r\n });\r\n }\r\n\r\n getOne(tenant: any, className: any, oid: any, template?: any) {\r\n let api = 'api/data/' + className + '/' + oid;\r\n return this.http.get<any>(api, {\r\n params: {\r\n tenant,\r\n template: template || ''\r\n }\r\n });\r\n }\r\n\r\n getOneByFilter(tenant: any, className: any, key: any, value: any, view?: any) {\r\n let api = 'api/data/' + className;\r\n return this.http.get<any>(api, {\r\n params: {\r\n tenant,\r\n view: view || '',\r\n filter: '[\"' + key + '\",\"=\",\"' + value + '\"]',\r\n limit: 1\r\n }\r\n }).pipe(\r\n map(response => {\r\n if (response.data.count === 1) {\r\n return response.data.list[0];\r\n }\r\n return {};\r\n })\r\n );\r\n }\r\n\r\n getMany(tenant: any, className: any, params: any) {\r\n const api = 'api/data/' + className;\r\n return this.http.get<any>(api + params, {\r\n params: {\r\n tenant\r\n }\r\n }).pipe(\r\n map(response => {\r\n return {\r\n data: response.data.list,\r\n totalCount: response.data.count\r\n }\r\n })\r\n );\r\n }\r\n\r\n getConstraintEntries(name: string) {\r\n return this.http.get<any>('api/metadata/constraint/' + name).pipe(\r\n map(response => {\r\n return response.data;\r\n })\r\n );\r\n }\r\n\r\n getUserColumnDataSource(tenant: any, className: any, view: any, field: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.data.grid.header.filter.GetUserColumnDataSource',\r\n tenant,\r\n className,\r\n view: view || '',\r\n field\r\n }\r\n }).pipe(\r\n map(response => {\r\n response.data.list.unshift({\r\n value: '',\r\n text: '(空白)'\r\n });\r\n response.data.list.push({\r\n value: '__',\r\n text: '',\r\n visible: false\r\n });\r\n return response.data.list;\r\n })\r\n );\r\n }\r\n\r\n getUnitColumnDataSource(tenant: any, className: any, view: any, field: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.data.grid.header.filter.GetUnitColumnDataSource',\r\n tenant,\r\n className,\r\n view: view || '',\r\n field\r\n }\r\n }).pipe(\r\n map(response => {\r\n response.data.list.unshift({\r\n value: '',\r\n text: '(空白)'\r\n });\r\n response.data.list.push({\r\n value: '__',\r\n text: '',\r\n visible: false\r\n });\r\n return response.data.list;\r\n })\r\n );\r\n }\r\n\r\n getConstraintColumnDataSource(tenant: any, className: any, view: any, field: any, constraintName: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.data.grid.header.filter.GetConstraintColumnDataSource',\r\n tenant,\r\n className,\r\n view: view || '',\r\n field,\r\n constraintName\r\n }\r\n }).pipe(\r\n map(response => {\r\n response.data.list.unshift({\r\n value: '',\r\n text: '(空白)'\r\n });\r\n response.data.list.push({\r\n value: '__',\r\n text: '',\r\n visible: false\r\n });\r\n return response.data.list;\r\n })\r\n );\r\n }\r\n\r\n getColumnDataSource(tenant: any, className: any, view: any, field: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.data.grid.header.filter.GetColumnDataSource',\r\n tenant,\r\n className,\r\n view: view || '',\r\n field\r\n }\r\n }).pipe(\r\n map(response => {\r\n return response.data.list;\r\n })\r\n );\r\n }\r\n\r\n downloadAttachment(id: any) {\r\n return this.http.get('api/file/download/' + id, {\r\n responseType: \"blob\"\r\n });\r\n }\r\n\r\n userInfoCache: any = {};\r\n\r\n getUserInfo(uid: any): Observable<any> {\r\n if (!this.userInfoCache.hasOwnProperty(uid)) {\r\n this.userInfoCache[uid] = this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.user.GetUserInfo',\r\n uid\r\n }\r\n }).pipe(\r\n shareReplay(1),\r\n map(response => {\r\n return response.data;\r\n })\r\n );\r\n }\r\n return this.userInfoCache[uid];\r\n }\r\n\r\n unitInfoCache: any = {};\r\n\r\n getUnitInfo(uid: any): Observable<any> {\r\n if (!this.unitInfoCache.hasOwnProperty(uid)) {\r\n this.unitInfoCache[uid] = this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.user.GetUnitInfo',\r\n uid\r\n }\r\n }).pipe(\r\n shareReplay(1),\r\n map(response => {\r\n return response.data;\r\n })\r\n );\r\n }\r\n return this.unitInfoCache[uid];\r\n }\r\n}\r\n","import {Directive, TemplateRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsRowButtonsTemplate]'\r\n})\r\nexport class RowButtonsTemplateDirective {\r\n constructor(public templateRef: TemplateRef<unknown>) {\r\n }\r\n}\r\n","import notify from \"devextreme/ui/notify\";\r\nimport {DxValidationGroupComponent, DxValidatorComponent} from \"devextreme-angular\";\r\nimport {formatDate} from \"@angular/common\";\r\n\r\nexport function notify_error(message: string) {\r\n notify({\r\n displayTime: 12000,\r\n message,\r\n type: 'error',\r\n width: '300px'\r\n }, {\r\n direction: 'up-push',\r\n position: 'bottom right'\r\n });\r\n}\r\n\r\nexport function notify_warning(message: string) {\r\n notify({\r\n displayTime: 8000,\r\n message,\r\n type: 'warning',\r\n width: '300px'\r\n }, {\r\n direction: 'up-push',\r\n position: 'bottom right'\r\n });\r\n}\r\n\r\nexport function notify_success(message: string) {\r\n notify({\r\n displayTime: 4000,\r\n message,\r\n type: 'success',\r\n width: '300px'\r\n }, {\r\n direction: 'down-push',\r\n position: 'top right'\r\n });\r\n}\r\n\r\nexport function format_date(date: Date, locale: string): string {\r\n return formatDate(date, 'yyyy/MM/dd', locale, 'GMT+8');\r\n}\r\n\r\nexport function format_datetime(date: Date, locale: string): string {\r\n return formatDate(date, 'yyyy/MM/dd HH:mm:ss', locale, 'GMT+8');\r\n}\r\n\r\nexport function localeSortMethod(value1: string, value2: string) {\r\n return value1.localeCompare(value2);\r\n}\r\n\r\nexport function file_type_icon(name: string): string {\r\n const type = name.substring(name.lastIndexOf('.') + 1).toLocaleLowerCase();\r\n switch (type) {\r\n case 'doc':\r\n case 'docx':\r\n return 'word';\r\n case 'xls':\r\n case 'xlsx':\r\n case 'csv':\r\n return 'excel';\r\n case 'ppt':\r\n case 'pptx':\r\n return 'ppt';\r\n case 'pdf':\r\n return 'pdf';\r\n case 'txt':\r\n case 'xml':\r\n case 'json':\r\n case 'js':\r\n return 'text';\r\n case 'png':\r\n case 'jpg':\r\n case 'jpeg':\r\n case 'gif':\r\n case 'bmp':\r\n return 'image';\r\n case 'zip':\r\n case 'rar':\r\n case '7z':\r\n case 'jar':\r\n return 'zip';\r\n default:\r\n return 'unknown';\r\n }\r\n}\r\n\r\nexport function support_preview_ext(): string[] {\r\n return ['pdf', 'png', 'jpg', 'jpeg', 'gif', 'bmp', 'doc', 'docx', 'txt', 'xml', 'json', 'js', 'xls', 'xlsx', 'csv', 'ppt', 'pptx'];\r\n}\r\n\r\nexport function format_file_size(size: number): string {\r\n const labels = ['b', 'Kb', 'Mb', 'Gb'];\r\n const count = labels.length - 1;\r\n let i = 0;\r\n while (i < count && size >= 1024) {\r\n size /= 1024;\r\n i++;\r\n }\r\n return Math.round(size * 100) / 100 + \" \" + labels[i];\r\n}\r\n\r\nexport function filename_from_disposition(disposition: string) {\r\n const filenamePair = disposition.split(';').filter(str => /^filename=/.test(str.trim())).pop();\r\n if (filenamePair) {\r\n let str = filenamePair.trim();\r\n str = str.split('=')[1];\r\n str = str.replace(/['\"]/g, '');\r\n return decodeURIComponent(str);\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nexport function download_file(blob: Blob, filename: string, callback?: Function) {\r\n const url = window.webkitURL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n a.setAttribute('style', 'display:none');\r\n a.setAttribute('href', url);\r\n a.setAttribute('download', decodeURIComponent(filename));\r\n a.click();\r\n setTimeout(() => {\r\n if (callback) {\r\n callback();\r\n }\r\n a.remove();\r\n });\r\n}\r\n\r\nexport async function validate(validator: DxValidatorComponent): Promise<boolean> {\r\n return new Promise<boolean>(resolve => {\r\n const validateResult = validator.instance.validate();\r\n if (!validateResult.isValid) {\r\n resolve(false);\r\n }\r\n if (validateResult.status === 'pending') {\r\n validateResult.complete?.then((result: any) => {\r\n if (result.isValid) {\r\n resolve(true);\r\n } else {\r\n resolve(false);\r\n }\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n });\r\n}\r\n\r\nexport async function validate_group(validationGroup: DxValidationGroupComponent): Promise<boolean> {\r\n const top = (validationGroup as any).element.nativeElement;\r\n let sourceNode;\r\n const targetClassName = 'dx-field';\r\n const findTargetNode = (node: any) => {\r\n sourceNode = node;\r\n while (true) {\r\n if (node.classList.contains(targetClassName)) {\r\n return node;\r\n } else {\r\n node = node.parentElement;\r\n if (node === top) {\r\n return sourceNode;\r\n }\r\n }\r\n }\r\n };\r\n return new Promise<boolean>(resolve => {\r\n const validateResult = validationGroup.instance.validate();\r\n if (!validateResult.isValid) {\r\n const brokenElement = (validateResult.brokenRules?.[0] as any).validator.element();\r\n findTargetNode(brokenElement).scrollIntoView();\r\n resolve(false);\r\n }\r\n if (validateResult.status === 'pending') {\r\n validateResult.complete?.then((result: any) => {\r\n if (result.isValid) {\r\n resolve(true);\r\n } else {\r\n const brokenElement = (result.brokenRules?.[0] as any).validator.element();\r\n findTargetNode(brokenElement).scrollIntoView();\r\n resolve(false);\r\n }\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n });\r\n}\r\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[rsCustomTemplate]'\n})\nexport class CustomTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\n","import CustomStore from \"devextreme/data/custom_store\";\r\nimport {lastValueFrom, map, Observable, Subject} from \"rxjs\";\r\nimport {Column} from \"devextreme/ui/data_grid\";\r\nimport {Injectable} from \"@angular/core\";\r\nimport {DataGridService} from \"./data-grid.service\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataGridFactory {\r\n constructor(private http: HttpClient) {\r\n this.service = new DataGridService(http);\r\n }\r\n\r\n private service!: DataGridService;\r\n\r\n private typeMap: any = {\r\n STRING: {\r\n dataType: 'string',\r\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\r\n },\r\n TEXT: {\r\n dataType: 'string',\r\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\r\n },\r\n BOOLEAN: {\r\n dataType: 'boolean',\r\n filterOperations: []\r\n },\r\n INTEGER: {\r\n dataType: 'number',\r\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\r\n },\r\n DOUBLE: {\r\n dataType: 'number',\r\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\r\n },\r\n DATE: {\r\n dataType: 'date',\r\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],\r\n format: 'yyyy/MM/dd'\r\n },\r\n DATETIME: {\r\n dataType: 'datetime',\r\n filterOperations: ['>', '<', 'between'],\r\n format: 'yyyy/MM/dd HH:mm:ss'\r\n }\r\n };\r\n\r\n public makeDataGridColumns(tenant: any, className: any, view: any): Observable<any> {\r\n const result = new Subject();\r\n this.service.getMetadataByView(tenant, className, view || '').subscribe(response => {\r\n const columns = [];\r\n for (let field of response.data.columns) {\r\n let column: any;\r\n switch (field.type) {\r\n case 'FILE':\r\n column = {\r\n dataField: field.name,\r\n caption: field.caption,\r\n dataType: 'string',\r\n cssClass: 'cell-vertical-middle',\r\n allowHeaderFiltering: false,\r\n allowFiltering: false,\r\n allowSorting: false,\r\n cellTemplate: 'fileCellTemplate',\r\n renderAsync: true,\r\n visible: field.visible,\r\n fixed: field.fixed\r\n };\r\n break;\r\n case 'NORMAL':\r\n column = {\r\n dataField: field.name,\r\n caption: field.caption,\r\n dataType: this.typeMap[field.dataType].dataType,\r\n alignment: 'left',\r\n cssClass: 'cell-vertical-middle',\r\n allowHeaderFiltering: true,\r\n headerFilter: {\r\n allowSelectAll: false\r\n },\r\n filterOperations: this.typeMap[field.dataType].filterOperations,\r\n format: this.typeMap[field.dataType].format,\r\n visible: field.visible,\r\n fixed: field.fixed\r\n };\r\n switch (field.dataType) {\r\n case 'BOOLEAN':\r\n column.allowHeaderFiltering = false;\r\n column.alignment = 'center';\r\n column.trueText = '是';\r\n column.falseText = '否';\r\n break;\r\n case 'DATE':\r\n case 'DATETIME':\r\n column.headerFilter.dataSource = (options: any) => {\r\n options.dataSource.group.length = 3;\r\n options.dataSource.postProcess = (data: any) => {\r\n data.forEach((year: any) => {\r\n year.text = year.key + '年';\r\n year.items.forEach((month: any) => {\r\n month.text = month.key + '月';\r\n month.items.forEach((day: any) => {\r\n day.text = day.key + '日';\r\n day.items = [];\r\n });\r\n });\r\n });\r\n data.unshift({\r\n key: '',\r\n value: null,\r\n text: '(空白)'\r\n });\r\n };\r\n };\r\n break;\r\n case 'DOUBLE':\r\n case 'INTEGER':\r\n column.headerFilter.dataSource = (options: any) => {\r\n options.dataSource.postProcess = (data: any) => {\r\n data.unshift({\r\n key: '',\r\n value: null,\r\n text: '(空白)'\r\n });\r\n data.push({\r\n key: '__',\r\n value: '__',\r\n text: '__',\r\n visible: false\r\n });\r\n };\r\n };\r\n break;\r\n case 'STRING':\r\n column.headerFilter.dataSource = (options: any) => {\r\n options.dataSource.postProcess = (data: any) => {\r\n data.unshift({\r\n key: '',\r\n value: null,\r\n text: '(空白)'\r\n });\r\n data.push({\r\n key: '__',\r\n value: '__',\r\n text: '__',\r\n visible: false\r\n });\r\n };\r\n };\r\n switch (field.config.constraint.type) {\r\n case 'USER':\r\n column.userInfo = {\r\n field: field.name\r\n };\r\n column.cellTemplate = 'userCellTemplate';\r\n column.headerFilter.dataSource = {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getUserColumnDataSource(tenant, className, view, field.name));\r\n }\r\n }),\r\n paginate: true\r\n };\r\n if (field.config.constraint.multiple) {\r\n column.allowFiltering = false;\r\n column.lookup = {\r\n dataSource: {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getUserColumnDataSource(tenant, className, view, field.name));\r\n }\r\n }),\r\n paginate: true\r\n },\r\n valueExpr: 'value',\r\n displayExpr: 'text'\r\n };\r\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (this.defaultCalculateFilterExpression) {\r\n if (!filterValue) {\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, '=', target]);\r\n }\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);\r\n }\r\n return '';\r\n };\r\n } else {\r\n column.dataField = '__' + field.name + '\\u0001User_displayName';\r\n column.calculateFilterExpression = function (this: any, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (target === 'headerFilter') {\r\n if (this.defaultCalculateFilterExpression) {\r\n this.dataField = '__' + field.name + '\\u0001User_username';\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);\r\n }\r\n }\r\n return [\r\n [column.name, selectedFilterOperation, filterValue],\r\n 'or',\r\n ['__' + field.name + '\\u0001User_username', selectedFilterOperation, filterValue]\r\n ];\r\n };\r\n }\r\n break;\r\n case 'UNIT':\r\n column.unitInfo = {\r\n field: field.name\r\n };\r\n column.cellTemplate = 'unitCellTemplate';\r\n column.headerFilter.dataSource = {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getUnitColumnDataSource(tenant, className, view, field.name));\r\n }\r\n }),\r\n paginate: true\r\n };\r\n if (field.config.constraint.multiple) {\r\n column.allowFiltering = false;\r\n column.lookup = {\r\n dataSource: {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getUnitColumnDataSource(tenant, className, view, field.name));\r\n }\r\n }),\r\n paginate: true\r\n },\r\n valueExpr: 'value',\r\n displayExpr: 'text'\r\n };\r\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (this.defaultCalculateFilterExpression) {\r\n if (!filterValue) {\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, '=', target]);\r\n }\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);\r\n }\r\n return '';\r\n };\r\n } else {\r\n column.dataField = '__' + field.name + '\\u0001Unit_displayName';\r\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (target === 'headerFilter') {\r\n if (this.defaultCalculateFilterExpression) {\r\n this.dataField = '__' + field.name + '\\u0001Unit_name';\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);\r\n }\r\n }\r\n return [\r\n [column.name, selectedFilterOperation, filterValue],\r\n 'or',\r\n ['__' + field.name + '\\u0001Unit_name', selectedFilterOperation, filterValue]\r\n ];\r\n };\r\n }\r\n break;\r\n case 'CUSTOM':\r\n column.headerFilter.dataSource = {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getConstraintColumnDataSource(tenant, className, view, field.name, field.config.constraint.name));\r\n }\r\n }),\r\n paginate: true\r\n };\r\n column.lookup = {\r\n dataSource: {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getConstraintEntries(field.config.constraint.name));\r\n }\r\n }),\r\n paginate: true\r\n },\r\n valueExpr: 'store',\r\n displayExpr: 'display'\r\n };\r\n column.filterOperations = [];\r\n if (field.config.constraint.multiple) {\r\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (this.defaultCalculateFilterExpression) {\r\n if (!filterValue) {\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, '=', target]);\r\n }\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);\r\n }\r\n return '';\r\n };\r\n }\r\n column.cellTemplate = 'multipleValueCellTemplate';\r\n break;\r\n default:\r\n // column.cellTemplate = 'textCellTemplate';\r\n break;\r\n }\r\n break;\r\n case 'TEXT':\r\n column.allowHeaderFiltering = false;\r\n column.width = 240;\r\n column.cellTemplate = 'textCellTemplate';\r\n break;\r\n }\r\n break;\r\n case 'RELATION':\r\n column = {\r\n dataField: field.name,\r\n caption: field.caption,\r\n dataType: 'string',\r\n alignment: 'left',\r\n cssClass: 'cell-vertical-middle',\r\n allowHeaderFiltering: false,\r\n allowFiltering: false,\r\n allowSorting: false,\r\n visible: field.visible,\r\n fixed: field.fixed\r\n };\r\n switch (field.relationType) {\r\n case 'MANY_TO_ONE':\r\n case 'ONE_TO_ONE':\r\n column.allowFiltering = true;\r\n column.filterOperations = ['='];\r\n break;\r\n default:\r\n column.cellTemplate = 'multipleValueCellTemplate';\r\n break;\r\n }\r\n }\r\n columns.push(column);\r\n }\r\n result.next(columns);\r\n });\r\n return result;\r\n }\r\n\r\n public makeDataGridDataSource(tenant: any, className: any, view: any, extraFilter: any, keyExpr?: string, dataGridName?: string): CustomStore {\r\n if (!keyExpr) {\r\n keyExpr = 'oid';\r\n }\r\n return new CustomStore({\r\n key: keyExpr,\r\n byKey: (key: any) => {\r\n if (keyExpr === 'oid') {\r\n return lastValueFrom(this.service.getOne(tenant, className, key).pipe(map(response => response.data)));\r\n } else {\r\n return lastValueFrom(this.service.getOneByFilter(tenant, className, keyExpr, key, view));\r\n }\r\n },\r\n load: (loadOptions: any) => {\r\n if (loadOptions.dataField) {\r\n // 未重写headerFilter的dataSource时,headerFilter会调用load方法加载筛选树,重写该方法查询该表所有数据\r\n // 该方式存在风险,无法识别DevExtreme一定是通过headerFilter过滤才存在dataField参数\r\n return lastValueFrom(this.service.getColumnDataSource(tenant, className, view, loadOptions.dataField));\r\n }\r\n let params = '?';\r\n if (loadOptions.skip || loadOptions.take) {\r\n params += 'offset=' + loadOptions.skip;\r\n params += '&limit=' + loadOptions.take;\r\n } else {\r\n params += 'limit=0';\r\n }\r\n if (loadOptions.sort) {\r\n let first = true;\r\n for (const thisSort of loadOptions.sort) {\r\n if (first) {\r\n params += '&orderBy=' + thisSort.selector;\r\n } else {\r\n params += ',' + thisSort.selector;\r\n }\r\n if (thisSort.desc) {\r\n params += ' desc';\r\n }\r\n first = false;\r\n }\r\n }\r\n let filter;\r\n if (loadOptions.filter) {\r\n filter = loadOptions.filter;\r\n }\r\n if (extraFilter) {\r\n if (!Array.isArray(extraFilter)) {\r\n extraFilter = JSON.parse(extraFilter);\r\n }\r\n if (filter) {\r\n filter = [filter, 'and', extraFilter];\r\n } else {\r\n filter = extraFilter;\r\n }\r\n }\r\n if (filter) {\r\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\r\n }\r\n params += '&view=' + (view || '');\r\n if (dataGridName) {\r\n params += '&dataGridName=' + dataGridName;\r\n }\r\n return lastValueFrom(this.service.getMany(tenant, className, params));\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {DataGridService} from \"../data-grid.service\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\nimport {download_file, file_type_icon, format_file_size, notify_warning, support_preview_ext} from \"../../util/utils\";\r\n\r\n@Component({\r\n selector: 'rs-file-cell-template',\r\n templateUrl: './file-cell-template.component.html',\r\n styleUrls: ['./file-cell-template.component.scss']\r\n})\r\nexport class FileCellTemplateComponent {\r\n @Input()\r\n file: any;\r\n filename: any;\r\n content: any;\r\n icon: any;\r\n supportPreview = false;\r\n loading = false;\r\n\r\n constructor(private service: DataGridService, private domSanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.filename = this.file.name;\r\n let extName = '';\r\n if (this.filename.indexOf('.') > -1) {\r\n extName = this.filename.substring(this.filename.lastIndexOf('.') + 1).toLowerCase();\r\n }\r\n this.supportPreview = support_preview_ext().indexOf(extName) > -1;\r\n this.content = this.domSanitizer.bypassSecurityTrustHtml(`\r\n <table>\r\n <tr>\r\n <td style=\"text-align: right;\">名称:</td>\r\n <td style=\"text-align: left;\">${this.filename}</td>\r\n </tr>\r\n <tr>\r\n <td style=\"text-align: right;\">大小:</td>\r\n <td style=\"text-align: left;\">${format_file_size(this.file.size)}</td>\r\n </tr>\r\n <tr>\r\n <td style=\"text-align: right;\">时间:</td>\r\n <td style=\"text-align: left;\">${this.file.time}</td>\r\n </tr>\r\n </table>\r\n `);\r\n this.icon = file_type_icon(this.filename);\r\n }\r\n\r\n preview(tooltip: any) {\r\n if (!(window as any).coast.tabManager) {\r\n notify_warning('此操作仅能在coast-web项目中执行,type:preview');\r\n return;\r\n }\r\n (window as any).coast.tabManager.add.next({\r\n type: 'preview',\r\n id: 'preview:' + this.file.oid,\r\n title: this.filename,\r\n config: {\r\n config: {\r\n direction: \"row\",\r\n list: [{\r\n type: \"plugin\",\r\n style: {},\r\n config: {\r\n name: \"coast-file-preview\",\r\n pluginConfig: {\r\n id: this.file.oid,\r\n name: this.filename\r\n }\r\n }\r\n }]\r\n }\r\n }\r\n });\r\n tooltip.instance.hide();\r\n }\r\n\r\n download() {\r\n this.loading = true;\r\n this.service.downloadAttachment(this.file.oid).subscribe(blob => {\r\n download_file(blob, this.filename, () => {\r\n this.loading = false;\r\n });\r\n });\r\n }\r\n}\r\n","<dx-button #fileBtn type=\"default\" stylingMode=\"text\" (onClick)=\"$event.event?.stopPropagation()\">\r\n <i class=\"coast-icon-file-{{icon}}\" style=\"padding-right: 4px;\"></i>\r\n {{ filename }}\r\n <dx-tooltip #tooltip\r\n [target]=\"fileBtn.instance.element()\"\r\n [position]=\"'top'\"\r\n [visible]=\"false\"\r\n [showEvent]=\"'click'\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <div [innerHTML]=\"content\"></div>\r\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-file\" text=\"预览\"\r\n (onClick)=\"preview(tooltip)\" [disabled]=\"!supportPreview || loading\"></dx-button>\r\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-download\" text=\"下载\"\r\n (onClick)=\"download()\" [disabled]=\"loading\"></dx-button>\r\n </div>\r\n </dx-tooltip>\r\n</dx-button><br/>\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Injectable()\r\nexport class DataDetailService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getInstanceSections(tenant: any, className: any, oid: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n tenant,\r\n className,\r\n oid,\r\n executor: 'com.cs.system.section.GetInstanceSections'\r\n }\r\n });\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from \"@angular/common/http\";\r\nimport {map} from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class FormService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getFormTemplateConfig(tenant: any, className: any, template?: any) {\r\n return this.http.get<any>('api/metadata/form/' + className, {\r\n params: {\r\n tenant,\r\n template: template || ''\r\n }\r\n });\r\n }\r\n\r\n getOne(tenant: any, className: any, oid: any, template?: any, isCopy?: any) {\r\n let api = 'api/data/' + className + '/' + oid;\r\n return this.http.get<any>(api, {\r\n params: {\r\n tenant,\r\n template: template || '',\r\n isCopy: !!isCopy\r\n }\r\n });\r\n }\r\n\r\n getInitModelByTemplate(tenant: any, className: any, template?: any) {\r\n let api = 'api/data/' + className + '/new';\r\n return this.http.get<any>(api, {\r\n params: {\r\n tenant,\r\n className,\r\n template: template || ''\r\n }\r\n });\r\n }\r\n\r\n extraValidate(model: any, params: any, extraValidator: string) {\r\n return this.http.post<any>('api/validate/form', model, {\r\n params: {\r\n validator: extraValidator,\r\n ...params\r\n }\r\n }).pipe(\r\n map(response => {\r\n if (response.success) {\r\n return response.data;\r\n } else {\r\n return {\r\n isValid: false\r\n };\r\n }\r\n })\r\n );\r\n }\r\n\r\n createOrUpdate(tenant: any, className: any, model: any) {\r\n let api = 'api/data/' + className;\r\n if (model.oid) {\r\n api += '/' + model.oid;\r\n }\r\n return this.http.post<any>(api, model, {\r\n params: {\r\n tenant\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {FormService} from \"./form.service\";\r\nimport {DxButtonComponent, DxValidationGroupComponent} from \"devextreme-angular\";\r\nimport {validate_group} from \"../util/utils\";\r\nimport {ChangeFilter} from \"../util/change-filter\";\r\nimport {lastValueFrom, map} from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'rs-form',\r\n templateUrl: './form.component.html',\r\n styleUrls: ['./form.component.scss'],\r\n providers: [FormService]\r\n})\r\nexport class FormComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input()\r\n tenant?: any = 'T';\r\n @Input()\r\n className!: any;\r\n @Input()\r\n oid?: any;\r\n @Input()\r\n copyOid?: any;\r\n @Input()\r\n template?: any;\r\n @Input()\r\n extraAttrMap?: any;\r\n @Input()\r\n opener?: any;\r\n @Input()\r\n params?: any;\r\n @Input()\r\n tabViewContainerRef!: ViewContainerRef;\r\n @Input()\r\n onlyFrontEnd: boolean = false; // 仅前端,不通过oid获取实例model\r\n @Input()\r\n model?: any;\r\n @Input()\r\n readonly: boolean = false;\r\n config: any;\r\n extraValidator?: string;\r\n @ViewChild(DxValidationGroupComponent) validator!: DxValidationGroupComponent;\r\n @ViewChild('formSubmitter') formSubmitter!: DxButtonComponent;\r\n @Output()\r\n onDataLoaded = new EventEmitter<{ config: any, model: any }>();\r\n @Output()\r\n submitCallback = new EventEmitter<any>();\r\n loading = false;\r\n private changeFilter = new ChangeFilter();\r\n protected extraValidateMessage: any;\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef, private service: FormService, private elementRef: ElementRef) {\r\n this.extraValidate = this.extraValidate.bind(this);\r\n }\r\n\r\n ngOnInit() {\r\n this.load();\r\n this.changeFilter.anyNotFirst(['tenant', 'className', 'oid', 'copyOid', 'template'], () => {\r\n this.load();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.changeFilter.doFilter(changes);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.changeFilter.dispose();\r\n }\r\n\r\n load() {\r\n this.loading = true;\r\n this.params = Object.assign(this.params || {}, {\r\n __form: {\r\n tenant: this.tenant,\r\n className: this.className,\r\n oid: this.oid,\r\n copyOid: this.copyOid,\r\n template: this.template\r\n }\r\n });\r\n this.service.getFormTemplateConfig(this.tenant, this.className, this.template).subscribe(response => {\r\n this.config = response.data.template;\r\n this.extraValidator = this.config.extraValidator;\r\n if (this.onlyFrontEnd) {\r\n this.loading = false;\r\n } else if (this.copyOid || this.oid) {\r\n this.service.getOne(this.tenant, this.className, this.copyOid || this.oid, this.template, this.copyOid)\r\n .subscribe(response => {\r\n this.model = response.data;\r\n this.onDataLoaded.emit({\r\n config: this.config,\r\n model: this.model\r\n });\r\n this.loading = false;\r\n });\r\n } else {\r\n this.service.getInitModelByTemplate(this.tenant, this.className, this.template).subscribe(response => {\r\n this.model = response.data;\r\n this.onDataLoaded.emit({\r\n config: this.config,\r\n model: this.model\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected extraValidate() {\r\n return lastValueFrom(this.service.extraValidate(this.model, this.params, <string>this.extraValidator).pipe(\r\n map(response => {\r\n if (!response.isValid) {\r\n this.extraValidateMessage = response.message;\r\n return response;\r\n }\r\n })\r\n ));\r\n }\r\n\r\n protected submitForm() {\r\n this.validate().then(isValid => {\r\n if (isValid) {\r\n const mergeModel: any = {...this.model};\r\n if (this.extraAttrMap) {\r\n for (const entry of this.extraAttrMap) {\r\n mergeModel[entry.name] = entry.value;\r\n }\r\n }\r\n this.service.createOrUpdate(this.tenant, this.className, {\r\n oid: this.oid,\r\n ...mergeModel\r\n }).subscribe(response => {\r\n this.submitCallback.emit(response);\r\n });\r\n } else {\r\n this.submitCallback.emit({success: false});\r\n }\r\n })\r\n }\r\n\r\n scrollToAnchorPoint(anchorPointId: string) {\r\n const points = this.elementRef.nativeElement.getElementsByClassName('__anchor_point_' + anchorPointId);\r\n if (points.length > 0) {\r\n points[0].scrollIntoView();\r\n }\r\n }\r\n\r\n validate() {\r\n return validate_group(this.validator);\r\n }\r\n\r\n submit() {\r\n this.formSubmitter.instance.element().click();\r\n }\r\n}\r\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<dx-validation-group *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [model]=\"model\"\r\n [opener]=\"this\"\r\n [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-text-box height=\"0\" style=\"border: none;\">\r\n <dx-validator>\r\n <dxi-validation-rule *ngIf=\"extraValidator\" type=\"async\"\r\n [validationCallback]=\"extraValidate\"></dxi-validation-rule>\r\n </dx-validator>\r\n </dx-text-box>\r\n <div *ngIf=\"extraValidateMessage\" class=\"dx-field\">\r\n <div class=\"dx-field-value\">\r\n <div class=\"dx-toast-error dx-toast-content\">\r\n <div class=\"dx-toast-message\">{{ extraValidateMessage }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n","import {Component, ViewContainerRef} from '@angular/core';\r\nimport {DataDetailService} from \"./data-detail.service\";\r\n\r\n@Component({\r\n selector: 'coast-data-detail',\r\n templateUrl: './data-detail.component.html',\r\n styleUrls: ['./data-detail.component.scss'],\r\n providers: [DataDetailService]\r\n})\r\nexport class DataDetailComponent {\r\n tenant: any;\r\n className: any;\r\n oid: any;\r\n params?: any;\r\n tabViewContainerRef!: ViewContainerRef;\r\n sections: any[] = [];\r\n loading = false;\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef, private service: DataDetailService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.loading = true;\r\n this.service.getInstanceSections(this.tenant, this.className, this.oid).subscribe(response => {\r\n (window as any).coast.tabManager.setTitle.next({\r\n id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,\r\n title: response.data.title\r\n });\r\n this.sections = response.data.list;\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\r\n <span>您无权查看该数据实例任何信息</span>\r\n</div>\r\n<ng-container *ngIf=\"sections.length > 0\">\r\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\r\n [selectedItems]=\"sections\" [focusStateEnabled]=\"false\">\r\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\r\n <div class=\"section-title-name\">{{ section.name }}</div>\r\n </div>\r\n <div *dxTemplate=\"let section of 'item'\">\r\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\" [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\" [readonly]=\"true\"></rs-form>\r\n </div>\r\n </dx-accordion>\r\n</ng-container>\r\n","import {Component, HostListener, TemplateRef} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-drawer',\r\n templateUrl: './drawer.component.html',\r\n styleUrls: ['./drawer.component.scss']\r\n})\r\nexport class DrawerComponent {\r\n size: 'default' | 'large' | string = 'default';\r\n _width: string = '480px';\r\n headerTemplate?: TemplateRef<any>;\r\n headerTemplateContext: any;\r\n contentTemplate!: TemplateRef<any>;\r\n contentTemplateContext: any;\r\n config: any;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.size === 'default') {\r\n this._width = '480px';\r\n } else if (this.size === 'large') {\r\n this._width = '960px';\r\n } else {\r\n this._width = this.size;\r\n }\r\n }\r\n\r\n hide($event?: any) {\r\n // 在service中重写\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n stopPropagation($event: any) {\r\n $event.stopPropagation();\r\n }\r\n\r\n @HostListener('window:click', ['$event'])\r\n autoHide($event: any) {\r\n if (this.config?.hideOnOutsideClick) {\r\n this.hide();\r\n }\r\n }\r\n}\r\n","<div class=\"drawer\" [class.hide-on-outside-click]=\"config?.hideOnOutsideClick\" [ngStyle]=\"{width: _width}\">\r\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\r\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\r\n </div>\r\n <div class=\"drawer-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div class=\"drawer-close\">\r\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\r\n </div>\r\n</div>\r\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\r\nimport {DrawerComponent} from \"./drawer.component\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DrawerService {\r\n open(viewContainerRef: ViewContainerRef,\r\n size: 'default' | 'large' | string = 'default',\r\n contentTemplate: TemplateRef<any>,\r\n contentTemplateContext: any,\r\n headerTemplate?: TemplateRef<any>,\r\n headerTemplateContext?: any,\r\n config?: any) {\r\n // 若已存在抽屉,先关闭\r\n const drawers = viewContainerRef.element.nativeElement.parentElement.querySelectorAll('RS-DRAWER');\r\n for (let i = 0; i < drawers.length; i++) {\r\n drawers[i].querySelector('.drawer-close .coast-icon-arrow-right-filling').click();\r\n }\r\n const drawerRef = viewContainerRef.createComponent(DrawerComponent);\r\n drawerRef.instance.hide = ($event?: any) => {\r\n $event?.event?.stopPropagation();\r\n drawerRef.hostView.destroy();\r\n }\r\n drawerRef.instance.size = size;\r\n drawerRef.instance.headerTemplate = headerTemplate;\r\n drawerRef.instance.headerTemplateContext = headerTemplateContext;\r\n drawerRef.instance.contentTemplate = contentTemplate;\r\n drawerRef.instance.contentTemplateContext = contentTemplateContext;\r\n drawerRef.instance.config = config || {\r\n hideOnOutsideClick: true\r\n };\r\n return drawerRef.instance;\r\n }\r\n}\r\n","import {Component, Input, TemplateRef, ViewChild} from '@angular/core';\r\nimport {DrawerService} from \"../../drawer/drawer.service\";\r\nimport {notify_warning} from \"../../util/utils\";\r\nimport {DataDetailComponent} from \"../../data-detail/data-detail.component\";\r\n\r\n@Component({\r\n selector: 'rs-instance-link-template',\r\n templateUrl: './instance-link-template.component.html',\r\n styleUrls: ['./instance-link-template.component.scss']\r\n})\r\nexport class InstanceLinkTemplateComponent {\r\n @Input()\r\n tenant: any;\r\n @Input()\r\n className: any;\r\n @Input()\r\n oid: any;\r\n @Input()\r\n instanceLinkType: any;\r\n @Input()\r\n drawerViewContainerRef?: any;\r\n @Input()\r\n drawerSize?: any;\r\n @Input()\r\n drawerFormTemplate?: any;\r\n @ViewChild('drawerFormHeaderTemplate', {static: true}) drawerFormHeaderTemplate!: TemplateRef<any>;\r\n @ViewChild('drawerFormContentTemplate', {static: true}) drawerFormContentTemplate!: TemplateRef<any>;\r\n loading = false;\r\n\r\n constructor(private drawerService: DrawerService) {\r\n }\r\n\r\n openNewTab($event: any) {\r\n $event.event?.stopPropagation();\r\n if (!(window as any).coast.tabManager) {\r\n notify_warning('此操作仅能在coast-web项目中执行,type:detail,config:tenant=' + this.tenant + ',className=' + this.className + ',oid=' + this.oid);\r\n return;\r\n }\r\n (window as any).coast.tabManager.add.next({\r\n type: 'detail',\r\n id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,\r\n title: '',\r\n component: DataDetailComponent,\r\n config: {\r\n tenant: this.tenant,\r\n className: this.className,\r\n oid: this.oid\r\n }\r\n });\r\n }\r\n\r\n openDrawer($event: any) {\r\n $event.event?.stopPropagation();\r\n this.loading = true;\r\n this.drawerService.open(this.drawerViewContainerRef, this.drawerSize || 'default', this.drawerFormContentTemplate, {\r\n template: this.drawerFormTemplate || 'About'\r\n }, this.drawerFormHeaderTemplate);\r\n }\r\n}\r\n","<dx-button *ngIf=\"instanceLinkType === 'tab'\"\r\n type=\"default\"\r\n stylingMode=\"text\"\r\n icon=\"coast-icon coast-icon-send\"\r\n hint=\"查看详情\"\r\n (onClick)=\"openNewTab($event)\"></dx-button>\r\n<dx-button *ngIf=\"instanceLinkType === 'drawer'\"\r\n type=\"default\"\r\n stylingMode=\"text\"\r\n icon=\"coast-icon coast-icon-send\"\r\n hint=\"查看详情\"\r\n (onClick)=\"openDrawer($event)\"></dx-button>\r\n<ng-template #drawerFormHeaderTemplate>\r\n <dx-button icon=\"coast-icon coast-icon-send\" text=\"在新选项卡中查看\" (onClick)=\"openNewTab($event)\"></dx-button>\r\n</ng-template>\r\n<ng-template #drawerFormContentTemplate let-modalContext>\r\n <rs-form [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"oid\"\r\n [template]=\"modalContext.template\"\r\n [tabViewContainerRef]=\"drawerViewContainerRef\"\r\n (onDataLoaded)=\"loading = false\"\r\n [readonly]=\"true\"></rs-form>\r\n</ng-template>\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {DataGridService} from \"../data-grid.service\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: 'rs-unit-info-template',\r\n templateUrl: './unit-info-template.component.html',\r\n styleUrls: ['./unit-info-template.component.scss']\r\n})\r\nexport class UnitInfoTemplateComponent implements OnInit {\r\n @Input()\r\n uid: any;\r\n @Input()\r\n cellInfo: any;\r\n displayName: any;\r\n content: any;\r\n\r\n constructor(private service: DataGridService, private domSanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const needRemoteDisplayName = Array.isArray(this.cellInfo.value);\r\n if (!needRemoteDisplayName) {\r\n this.displayName = this.cellInfo.value;\r\n }\r\n this.service.getUnitInfo(this.uid).subscribe(response => {\r\n this.displayName = response.displayName;\r\n const unitInfo = response.unitInfo;\r\n let content = '<table>';\r\n for (const item of unitInfo) {\r\n content += `\r\n <tr>\r\n <td style=\"text-align: right;\">${item.caption}:</td>\r\n <td style=\"text-align: left;\">${item.value}</td>\r\n </tr>\r\n `;\r\n }\r\n content += '</table>'\r\n this.content = this.domSanitizer.bypassSecurityTrustHtml(content);\r\n // 重绘表格宽高\r\n setTimeout(() => {\r\n this.service.cellTemplateLoaded$.emit();\r\n });\r\n });\r\n }\r\n}\r\n","<dx-button #textDiv type=\"default\" stylingMode=\"text\" (onClick)=\"$event.event?.stopPropagation()\">\r\n {{ displayName }}\r\n <dx-tooltip [target]=\"textDiv.instance.element()\"\r\n [position]=\"'top'\"\r\n [showEvent]=\"'click'\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <div [innerHTML]=\"content\"></div>\r\n </div>\r\n </dx-tooltip>\r\n</dx-button>\r\n<br/>\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {DataGridService} from \"../data-grid.service\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: 'rs-user-info-template',\r\n templateUrl: './user-info-template.component.html',\r\n styleUrls: ['./user-info-template.component.scss']\r\n})\r\nexport class UserInfoTemplateComponent implements OnInit {\r\n @Input()\r\n uid: any;\r\n @Input()\r\n cellInfo: any;\r\n displayName: any;\r\n content: any;\r\n\r\n constructor(private service: DataGridService, private domSanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const needRemoteDisplayName = Array.isArray(this.cellInfo.value);\r\n if (!needRemoteDisplayName) {\r\n this.displayName = this.cellInfo.value;\r\n }\r\n this.service.getUserInfo(this.uid).subscribe(response => {\r\n this.displayName = response.displayName;\r\n const userInfo = response.userInfo;\r\n let content = '<table>';\r\n for (const item of userInfo) {\r\n content += `\r\n <tr>\r\n <td style=\"text-align: right;\">${item.caption}:</td>\r\n <td style=\"text-align: left;\">${item.value}</td>\r\n </tr>\r\n `;\r\n }\r\n content += '</table>'\r\n this.content = this.domSanitizer.bypassSecurityTrustHtml(content);\r\n // 重绘表格宽高\r\n setTimeout(() => {\r\n this.service.cellTemplateLoaded$.emit();\r\n });\r\n });\r\n }\r\n}\r\n","<dx-button #textDiv type=\"default\" stylingMode=\"text\" (onClick)=\"$event.event?.stopPropagation()\">\r\n {{ displayName }}\r\n <dx-tooltip [target]=\"textDiv.instance.element()\"\r\n [position]=\"'top'\"\r\n [showEvent]=\"'click'\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <div [innerHTML]=\"content\"></div>\r\n </div>\r\n </dx-tooltip>\r\n</dx-button>\r\n<br/>\r\n","import {Component, ContentChild, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {DxDataGridComponent} from \"devextreme-angular\";\r\nimport {DataGridService} from \"./data-grid.service\";\r\nimport {RowButtonsTemplateDirective} from \"./row-buttons-template.directive\";\r\nimport {DataGridFactory} from \"./data-grid.factory\";\r\nimport {debounceTime} from \"rxjs\";\r\nimport {notify_error} from \"../util/utils\";\r\nimport {CustomTemplateDirective} from \"./custom-template.directive\";\r\n\r\n@Component({\r\n selector: 'rs-data-grid',\r\n templateUrl: './data-grid.component.html',\r\n styleUrls: ['./data-grid.component.scss'],\r\n providers: [DataGridService]\r\n})\r\nexport class DataGridComponent implements OnInit {\r\n @Input()\r\n tenant?: any = 'T';\r\n @Input()\r\n className!: any;\r\n @Input()\r\n view?: any;\r\n @Input()\r\n filter?: Array<any> | string;\r\n @Input()\r\n customColumnFn?: (columns: any[]) => void;\r\n @Input()\r\n keyExpr: string = ''; // 用于实例属性选择器,加载组件值时以选中字段为主键获取选中行数据\r\n @Input()\r\n dataGridName?: string; // 用于在获取数据时同时获取台账配置的行内按钮\r\n @Input()\r\n height: any;\r\n @Input()\r\n onlyFrontEnd: boolean = false; // 仅前端,不通过获取表格数据\r\n @Input()\r\n disablePage: boolean = false;\r\n @Input()\r\n dataSource: any = {};\r\n @Input()\r\n selectionMode: 'none' | 'multiple' | 'single' = 'none';\r\n @Input()\r\n selectedRowKeys: any[] = [];\r\n @Output()\r\n selectedRowKeysChange = new EventEmitter<any[]>();\r\n @Input()\r\n showRowNum: boolean = true;\r\n @Input()\r\n instanceLinkType: 'tab' | 'drawer' | 'none' = 'tab';\r\n @Input()\r\n drawerInstanceLinkViewContainerRef: any = this.viewContainerRef;\r\n @Input()\r\n drawerInstanceLinkSize: 'default' | 'large' | string = 'default';\r\n @Input()\r\n drawerInstanceLinkFormTemplate: any;\r\n @Output()\r\n onCellPrepared = new EventEmitter<any>();\r\n @Output()\r\n onContentReady = new EventEmitter<any>();\r\n @Output()\r\n onEditorPreparing = new EventEmitter<any>();\r\n @Output()\r\n onRowClick = new EventEmitter<any>();\r\n @Output()\r\n onRowDblClick = new EventEmitter<any>();\r\n @Output()\r\n onSelectionChanged = new EventEmitter<any>();\r\n @ViewChild(DxDataGridComponent, {static: true}) private dxDataGrid!: DxDataGridComponent;\r\n @ContentChild(RowButtonsTemplateDirective) protected rowButtonsTemplate!: RowButtonsTemplateDirective;\r\n @ContentChild(CustomTemplateDirective) protected customTemplate!: CustomTemplateDirective;\r\n columns: any[] = [];\r\n\r\n constructor(private factory: DataGridFactory, protected service: DataGridService, private viewContainerRef: ViewContainerRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.reload();\r\n this.service.cellTemplateLoaded$.pipe(debounceTime(100)).subscribe(() => {\r\n (<any>this.dxDataGrid.instance).resize();\r\n });\r\n }\r\n\r\n reload() {\r\n this.columns.length = 0;\r\n this.factory.makeDataGridColumns(this.tenant, this.className, this.view).subscribe(columns => {\r\n if (this.customColumnFn) {\r\n this.customColumnFn(columns);\r\n }\r\n if (this.instanceLinkType === 'tab' || this.instanceLinkType === 'drawer') {\r\n columns.unshift({\r\n fixed: true,\r\n width: 48,\r\n cellTemplate: 'instanceLinkTemplate',\r\n alignment: 'center',\r\n cssClass: 'cell-vertical-middle'\r\n });\r\n }\r\n if (this.showRowNum) {\r\n columns.unshift({\r\n fixed: true,\r\n caption: '行号',\r\n width: 48,\r\n cellTemplate: 'rowIndexTemplate',\r\n alignment: 'center',\r\n cssClass: 'cell-vertical-middle'\r\n });\r\n }\r\n this.columns = columns;\r\n });\r\n if (this.onlyFrontEnd) {\r\n if (this.dataSource && !Array.isArray(this.dataSource)) {\r\n notify_error('if onlyFrontEnd set true, you have to set dataSource as an Array');\r\n }\r\n } else {\r\n this.dataSource = this.factory.makeDataGridDataSource(this.tenant, this.className, this.view, this.filter, this.keyExpr, this.dataGridName);\r\n }\r\n }\r\n\r\n protected convertMultipleValueCellText(cellInfo: any) {\r\n if (!cellInfo.value) {\r\n return;\r\n }\r\n if (Array.isArray(cellInfo.value)) {\r\n if (cellInfo.column.lookup) {\r\n return cellInfo.value.map((item: any) => cellInfo.column.lookup.calculateCellValue(item)).join('<br />');\r\n }\r\n return cellInfo.value.join('<br />');\r\n }\r\n if (cellInfo.column.lookup) {\r\n return cellInfo.column.lookup.calculateCellValue(cellInfo.value);\r\n }\r\n return cellInfo.value;\r\n }\r\n\r\n protected getOriginalValue(cellInfo: any, key: any) {\r\n const config = cellInfo.column[key];\r\n if (config) {\r\n const value = cellInfo.data[config.field];\r\n if (value) {\r\n if (Array.isArray(value)) {\r\n return value;\r\n }\r\n return [value];\r\n }\r\n return [];\r\n }\r\n return cellInfo.data[key];\r\n }\r\n\r\n getSelectedRowKeys() {\r\n return this.dxDataGrid.instance.getSelectedRowKeys();\r\n }\r\n\r\n getSelectedRowsData() {\r\n return this.dxDataGrid.instance.getSelectedRowsData();\r\n }\r\n\r\n refresh(callback?: any) {\r\n this.dxDataGrid.instance.refresh().then(() => {\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n onDxDataGridEditorPreparing($event: any) {\r\n if ($event.parentType === 'filterRow' && $event.editorName === 'dxTextBox') {\r\n $event.editorOptions.valueChangeEvent = 'blur';\r\n $event.editorOptions.onEnterKey = (e: any) => {\r\n e.component.blur();\r\n };\r\n }\r\n this.onEditorPreparing.emit($event);\r\n }\r\n\r\n protected readonly CustomTemplateDirective = CustomTemplateDirective;\r\n}\r\n","<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'确定'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'multipleValueCellTemplate'\">\r\n <div [innerHTML]=\"convertMultipleValueCellText(cellInfo)\"></div>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'textCellTemplate'\">\r\n <div #textDiv style=\"text-overflow: ellipsis; overflow: hidden; cursor: pointer;\">{{ cellInfo.value }}</div>\r\n <dx-tooltip [target]=\"textDiv\"\r\n [position]=\"'top'\"\r\n [showEvent]=\"'click'\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <p style=\"max-width: 320px; text-align: left; white-space: normal;\" [innerText]=\"cellInfo.value\"></p>\r\n </div>\r\n </dx-tooltip>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'fileCellTemplate'\">\r\n <ng-container *ngFor=\"let file of cellInfo.value\">\r\n <rs-file-cell-template [file]=\"file\"></rs-file-cell-template>\r\n </ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'userCellTemplate'\">\r\n <ng-container *ngFor=\"let user of getOriginalValue(cellInfo, 'userInfo')\">\r\n <rs-user-info-template [uid]=\"user\" [cellInfo]=\"cellInfo\"></rs-user-info-template>\r\n </ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'unitCellTemplate'\">\r\n <ng-container *ngFor=\"let unit of getOriginalValue(cellInfo, 'unitInfo')\">\r\n <rs-unit-info-template [uid]=\"unit\" [cellInfo]=\"cellInfo\"></rs-unit-info-template>\r\n </ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {DxDropDownBoxComponent} from \"devextreme-angular\";\r\n\r\n@Component({\r\n selector: 'rs-field-selector',\r\n templateUrl: './field-selector.component.html',\r\n styleUrls: ['./field-selector.component.scss']\r\n})\r\nexport class FieldSelectorComponent {\r\n @Input()\r\n fieldTree: any = [];\r\n @Input()\r\n config: any;\r\n @Input()\r\n required = false;\r\n @Input()\r\n label: string = '属性';\r\n @Input()\r\n readonly = false;\r\n @Input()\r\n multiple = false;\r\n @Output()\r\n fieldChanged = new EventEmitter<any>();\r\n\r\n set _fields(__fields: any) {\r\n if (this.__fields !== __fields) {\r\n this.__fields = __fields;\r\n this.fieldChange(this.__fields);\r\n }\r\n }\r\n\r\n get _fields() {\r\n return this.__fields;\r\n }\r\n\r\n protected __fields: string[] = [];\r\n\r\n ngOnInit(): void {\r\n if (this.config.field) {\r\n if (Array.isArray(this.config.field)) {\r\n this._fields = this.config.field;\r\n } else {\r\n this._fields = [this.config.field];\r\n }\r\n }\r\n }\r\n\r\n fieldChange(value: any): void {\r\n if (value && value.length > 0) {\r\n this.config.__formAttribute = value.join(';');\r\n if (this.multiple) {\r\n this.config.field = value;\r\n const fields = [];\r\n for (const fieldName of value) {\r\n fields.push(this.getField(this.fieldTree, fieldName));\r\n }\r\n this.fieldChanged.emit(fields);\r\n } else {\r\n this.config.field = value[0];\r\n this.fieldChanged.emit(this.getField(this.fieldTree, value[0]));\r\n }\r\n } else {\r\n this.config.field = '';\r\n this.config.__formAttribute = '';\r\n this.fieldChanged.emit();\r\n }\r\n }\r\n\r\n private getField(tree: any, field: any) {\r\n for (const node of tree) {\r\n if (node.innerName === field) {\r\n return node;\r\n }\r\n if (node.children) {\r\n const result: any = this.getField(node.children, field);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n onRowPrepared($event: any) {\r\n if ($event.rowType === 'header') {\r\n $event.rowElement.style.display = 'none';\r\n }\r\n }\r\n\r\n onCellPrepared($event: any) {\r\n if ($event.rowType === 'data') {\r\n if (!this.multiple) {\r\n $event.cellElement.style.cursor = 'pointer';\r\n }\r\n if (this.multiple && !$event.visible && $event.data.hasItems) {\r\n const checkbox = $event.cellElement.querySelector('.dx-select-checkbox');\r\n checkbox.style.display = 'none';\r\n }\r\n }\r\n }\r\n\r\n suspendSelectionChanged = false;\r\n\r\n onSelectionChanged($event: any, dropDownBox: DxDropDownBoxComponent) {\r\n if (this.multiple) {\r\n return;\r\n }\r\n if (this.suspendSelectionChanged) {\r\n this.suspendSelectionChanged = false;\r\n return;\r\n }\r\n if ($event.selectedRowsData.length === 0) {\r\n return;\r\n }\r\n if (!$event.selectedRowsData[0].visible && $event.selectedRowsData[0].hasItems) {\r\n if ($event.component.isRowExpanded($event.selectedRowKeys[0])) {\r\n $event.component.collapseRow($event.selectedRowKeys[0]);\r\n } else {\r\n $event.component.expandRow($event.selectedRowKeys[0]);\r\n }\r\n this.suspendSelectionChanged = true;\r\n $event.component.selectRows($event.currentDeselectedRowKeys[0]);\r\n return;\r\n }\r\n dropDownBox.instance.close();\r\n }\r\n\r\n removeItem($event: any, field: any) {\r\n $event.stopPropagation();\r\n const findIndex = this._fields.findIndex((innerName: any) => innerName === field.innerName);\r\n this._fields.splice(findIndex, 1);\r\n }\r\n}\r\n","<div class=\"dx-field\">\r\n <div class=\"dx-field-label\">\r\n <span>属性</span>\r\n <span class=\"required-mark\" *ngIf=\"required\">&nbsp;*</span>\r\n </div>\r\n <div class=\"dx-field-value\">\r\n <dx-drop-down-box #fieldDropDownBox\r\n [dataSource]=\"fieldTree\"\r\n valueExpr=\"innerName\"\r\n fieldTemplate=\"fieldTemplate\"\r\n contentTemplate=\"contentTemplate\"\r\n [showClearButton]=\"true\"\r\n [dropDownOptions]=\"{maxHeight: 'none', deferRendering: false}\"\r\n [(value)]=\"_fields\"\r\n [readOnly]=\"readonly\">\r\n <div *dxTemplate=\"let info of 'fieldTemplate'\">\r\n <dx-text-box [visible]=\"false\"></dx-text-box>\r\n <dx-tag-box [dataSource]=\"fieldTree\"\r\n valueExpr=\"innerName\"\r\n width=\"100%\"\r\n [openOnFieldClick]=\"false\"\r\n [(value)]=\"_fields\"\r\n [class.coast-tag-selector]=\"true\"\r\n [readOnly]=\"readonly\">\r\n <div *dxTemplate=\"let field of 'tag'\">\r\n <dx-button [elementAttr]=\"{ class: 'item'}\">\r\n <span>{{ field.caption }}</span>\r\n <i *ngIf=\"multiple && !readonly\" class=\"coast-icon-close\" (click)=\"removeItem($event, field)\"></i>\r\n </dx-button>\r\n </div>\r\n </dx-tag-box>\r\n </div>\r\n <div *dxTemplate=\"let data of 'contentTemplate'\">\r\n <dx-text-box mode=\"search\" placeholder=\"搜索...\" valueChangeEvent=\"keyup\"\r\n (onValueChanged)=\"dxTreeList.instance.searchByText($event.value)\"></dx-text-box>\r\n <dx-tree-list #dxTreeList\r\n [dataSource]=\"fieldTree\"\r\n [filterValue]=\"['visible','=',true]\"\r\n keyExpr=\"innerName\"\r\n parentIdExpr=\"parentInnerName\"\r\n [(selectedRowKeys)]=\"_fields\"\r\n [height]=\"360\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n (onRowPrepared)=\"onRowPrepared($event)\"\r\n (onCellPrepared)=\"onCellPrepared($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged($event, fieldDropDownBox)\">\r\n <dxi-column dataField=\"innerName\" dataType=\"string\" [visible]=\"false\"></dxi-column>\r\n <dxi-column dataField=\"caption\" dataType=\"string\" caption=\"名称\"></dxi-column>\r\n <dxi-column dataField=\"visible\" dataType=\"boolean\" [visible]=\"false\"></dxi-column>\r\n <dxo-selection [mode]=\"multiple ? 'multiple' : 'single'\" [allowSelectAll]=\"false\"></dxo-selection>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n </dx-tree-list>\r\n </div>\r\n <dx-validator>\r\n <dxi-validation-rule *ngIf=\"required\" type=\"required\" message=\"值不能为空\"></dxi-validation-rule>\r\n </dx-validator>\r\n </dx-drop-down-box>\r\n </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {FormComponent} from './form.component';\r\nimport {BoxContainerModule} from \"../box-container/box-container.module\";\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {FieldSelectorComponent} from './field-selector/field-selector.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n FormComponent,\r\n FieldSelectorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n BoxContainerModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n FormComponent,\r\n FieldSelectorComponent\r\n ]\r\n})\r\nexport class FormModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DataGridComponent} from './data-grid.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {FileCellTemplateComponent} from './file-cell-template/file-cell-template.component';\r\nimport {RowButtonsTemplateDirective} from './row-buttons-template.directive';\r\nimport {UserInfoTemplateComponent} from './user-info-template/user-info-template.component';\r\nimport {UnitInfoTemplateComponent} from './unit-info-template/unit-info-template.component';\r\nimport {InstanceLinkTemplateComponent} from './instance-link-template/instance-link-template.component';\r\nimport {FormModule} from \"../form/form.module\";\r\nimport {CustomTemplateDirective} from './custom-template.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n DataGridComponent,\r\n FileCellTemplateComponent,\r\n InstanceLinkTemplateComponent,\r\n UnitInfoTemplateComponent,\r\n UserInfoTemplateComponent,\r\n RowButtonsTemplateDirective,\r\n CustomTemplateDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule,\r\n FormModule\r\n ],\r\n exports: [\r\n DataGridComponent,\r\n RowButtonsTemplateDirective,\r\n CustomTemplateDirective\r\n ]\r\n})\r\nexport class DataGridModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DataDetailComponent} from './data-detail.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {FormModule} from \"../form/form.module\";\r\n\r\n@NgModule({\r\n declarations: [\r\n DataDetailComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule,\r\n FormModule\r\n ],\r\n exports: [\r\n DataDetailComponent\r\n ]\r\n})\r\nexport class DataDetailModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DrawerComponent} from './drawer.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\n\r\n@NgModule({\r\n declarations: [\r\n DrawerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\r\n ]\r\n})\r\nexport class DrawerModule {\r\n}\r\n","import {Directive, TemplateRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsTooltipContentTemplate]'\r\n})\r\nexport class TooltipContentTemplateDirective {\r\n constructor(public templateRef: TemplateRef<unknown>) {\r\n }\r\n}\r\n","import {Component, ContentChild, Input} from '@angular/core';\r\nimport {TooltipContentTemplateDirective} from \"./tooltip-content-template.directive\";\r\n\r\n@Component({\r\n selector: 'rs-dynamic-params',\r\n templateUrl: './dynamic-params.component.html',\r\n styleUrls: ['./dynamic-params.component.scss']\r\n})\r\nexport class DynamicParamsComponent {\r\n @Input()\r\n label: any = '动态参数';\r\n @Input()\r\n showHelp = false;\r\n @Input()\r\n multipleRow = false;\r\n @Input()\r\n keyPlaceholder: any = '参数名';\r\n @Input()\r\n valuePlaceholder: any = '参数值';\r\n @Input()\r\n params!: { name: string, value: string }[];\r\n @Input()\r\n required = false;\r\n @Input()\r\n readonly = false;\r\n @ContentChild(TooltipContentTemplateDirective) tooltipContentTemplate!: TooltipContentTemplateDirective;\r\n\r\n add() {\r\n this.params.push({name: '', value: ''});\r\n }\r\n\r\n delete(index: number) {\r\n this.params.splice(index, 1);\r\n }\r\n}\r\n","<div class=\"dx-field\">\r\n <div class=\"dx-field-label\">\r\n <span>{{ label }}</span>\r\n <span *ngIf=\"required\" class=\"required-mark\">&nbsp;*</span>\r\n <i *ngIf=\"showHelp\" #dynamicParamsSpan class=\"coast-icon-help cursor-pointer\">\r\n <dx-tooltip [target]=\"dynamicParamsSpan\"\r\n [position]=\"'top'\"\r\n [showEvent]=\"'mouseover'\"\r\n [hideEvent]=\"'mouseout'\">\r\n <div *dxTemplate=\"let data of 'content'\"\r\n style=\"display: flex; flex-flow: column nowrap;align-items: flex-start;\">\r\n <ng-container [ngTemplateOutlet]=\"tooltipContentTemplate.templateRef\"></ng-container>\r\n </div>\r\n </dx-tooltip>\r\n </i>\r\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"\r\n [disabled]=\"readonly\"></dx-button>\r\n </div>\r\n <div class=\"dx-field-value\">\r\n <div *ngFor=\"let param of params; let index = index\" class=\"param\">\r\n <div class=\"param-entry\" [ngStyle]=\" { flexDirection : multipleRow ? 'column' : 'row' } \">\r\n <dx-text-box [placeholder]=\"keyPlaceholder\" [(value)]=\"param.name\" [disabled]=\"readonly\"></dx-text-box>\r\n <dx-text-box [placeholder]=\"valuePlaceholder\" [(value)]=\"param.value\" [disabled]=\"readonly\"></dx-text-box>\r\n </div>\r\n <div class=\"param-operation\">\r\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\r\n (onClick)=\"delete(index)\" [disabled]=\"readonly\"></dx-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DynamicParamsComponent} from './dynamic-params.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {TooltipContentTemplateDirective} from './tooltip-content-template.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n DynamicParamsComponent,\r\n TooltipContentTemplateDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n DynamicParamsComponent,\r\n TooltipContentTemplateDirective\r\n ]\r\n})\r\nexport class DynamicParamsModule {\r\n}\r\n","import {Directive, ElementRef, EventEmitter, Input, Output} from '@angular/core';\n\n@Directive({\n selector: '[rsFullscreen]',\n standalone: true\n})\nexport class FullscreenDirective {\n @Input()\n mode: 'immersive' | 'normal' = 'normal';\n\n @Input()\n set isFullscreen(isFullscreen: boolean) {\n this._isFullscreen = isFullscreen;\n this.toggle();\n }\n\n get isFullscreen() {\n return this._isFullscreen;\n }\n\n _isFullscreen: boolean = false;\n @Output()\n isFullscreenChange = new EventEmitter<boolean>();\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngOnInit() {\n document.addEventListener('fullscreenchange', this.onFullScreenChange);\n }\n\n ngOnDestroy() {\n document.removeEventListener('fullscreenchange', this.onFullScreenChange);\n }\n\n private onFullScreenChange = (event: any) => {\n if (!document.fullscreenElement) {\n this.exitNormalFullscreen();\n this.isFullscreenChange.emit(false);\n }\n };\n\n toggle() {\n switch (this.mode) {\n case \"normal\":\n if (this.isFullscreen) {\n this.launchNormalFullscreen();\n } else {\n this.exitNormalFullscreen();\n }\n break;\n case \"immersive\":\n if (this.isFullscreen) {\n this.launchImmersiveFullScreen().then(() => {\n this.launchNormalFullscreen();\n });\n } else {\n this.exitImmersiveFullScreen().then(() => {\n this.exitNormalFullscreen();\n });\n }\n break;\n }\n }\n\n private launchNormalFullscreen() {\n this.elementRef.nativeElement.classList.add('fullscreen');\n document.getElementsByTagName('html')[0].classList.add('coast-fullscreen');\n }\n\n private exitNormalFullscreen() {\n this.elementRef.nativeElement.classList.remove('fullscreen');\n document.getElementsByTagName('html')[0].classList.remove('coast-fullscreen');\n }\n\n private async launchImmersiveFullScreen() {\n return await document.documentElement.requestFullscreen().then();\n }\n\n private async exitImmersiveFullScreen() {\n if (!document.fullscreenElement) {\n return;\n }\n return await document.exitFullscreen().then();\n }\n}\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {DxPopoverComponent} from \"devextreme-angular\";\r\n\r\n@Component({\r\n selector: 'rs-icon-selector',\r\n templateUrl: './icon-selector.component.html',\r\n styleUrls: ['./icon-selector.component.scss']\r\n})\r\nexport class IconSelectorComponent {\r\n @Input()\r\n target!: any;\r\n @Output()\r\n select = new EventEmitter<string>();\r\n iconList: string[] = [];\r\n hoverIcon?: string;\r\n @ViewChild('iconSelector', {static: true}) popover!: DxPopoverComponent;\r\n @ViewChild('iconZoomOut', {static: true}) iconZoomOut!: DxPopoverComponent;\r\n\r\n constructor() {\r\n const regex = /::before/;\r\n const styles = document.styleSheets;\r\n for (let i = 0; i < styles.length; i++) {\r\n for (let j = 0; j < styles[i].cssRules.length; j++) {\r\n let cssSelectorText = (styles[i].cssRules[j] as CSSStyleRule).selectorText;\r\n if (cssSelectorText && cssSelectorText.indexOf('.coast-icon-') === 0 && regex.test(cssSelectorText)) {\r\n this.iconList.push(cssSelectorText.substring(1, cssSelectorText.length - 8));\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectIcon(icon: string) {\r\n this.select.emit(icon);\r\n this.popover.instance.hide();\r\n }\r\n\r\n zoomOut($event: MouseEvent, icon: string) {\r\n this.hoverIcon = icon;\r\n this.iconZoomOut.instance.show($event.target as Element);\r\n }\r\n}\r\n","<dx-popover #iconSelector\r\n maxWidth=\"280\"\r\n maxHeight=\"280\"\r\n [target]=\"target\"\r\n [showEvent]=\"{name: 'click'}\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <ng-container *ngFor=\"let icon of iconList; let index=index\">\r\n <dx-button [icon]=\"'coast-icon ' + icon\" (onClick)=\"selectIcon(icon)\"\r\n (mouseenter)=\"zoomOut($event, icon)\" (mouseleave)=\"iconZoomOut.instance.hide()\"></dx-button>\r\n </ng-container>\r\n </div>\r\n</dx-popover>\r\n<dx-popover #iconZoomOut height=\"72px\" [enableBodyScroll]=\"false\">\r\n <div *dxTemplate=\"let data of 'content'\"\r\n style=\"display: flex; flex-flow: column nowrap; align-items: center; justify-content: center;\">\r\n <i [class]=\"hoverIcon\" style=\"font-size: 36px;\"></i>\r\n <span>{{ hoverIcon?.substring(11) }}</span>\r\n </div>\r\n</dx-popover>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {IconSelectorComponent} from './icon-selector.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\n\r\n@NgModule({\r\n declarations: [\r\n IconSelectorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n IconSelectorComponent\r\n ]\r\n})\r\nexport class IconSelectorModule {\r\n}\r\n","import {Component, ElementRef, HostListener, OnDestroy, OnInit, TemplateRef, ViewChild} 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 title!: string;\r\n size: 'default' | 'large' | 'full' | string = 'default';\r\n _width: string = '480px';\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 contentTemplate!: TemplateRef<any>;\r\n contentTemplateContext: any;\r\n footerTemplate?: TemplateRef<any>;\r\n footerTemplateContext: any;\r\n _parentViewContainerRef: any;\r\n\r\n constructor(private elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.size === 'full') {\r\n this.modalElementRef.nativeElement.style.top = '1px';\r\n this.modalElementRef.nativeElement.style.right = '1px';\r\n this.modalElementRef.nativeElement.style.bottom = '1px';\r\n this.modalElementRef.nativeElement.style.left = '1px';\r\n this.modalElementRef.nativeElement.style.margin = '0';\r\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\r\n } else {\r\n if (this.size === 'default') {\r\n this._width = '480px';\r\n } else if (this.size === 'large') {\r\n this._width = '960px';\r\n } else {\r\n this._width = this.size;\r\n }\r\n this.modalElementRef.nativeElement.style.width = this._width;\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.parentElement.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.parentElement.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 resolveModalPosition() {\r\n if (this.size === 'full') {\r\n return {};\r\n }\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 - 1;\r\n currentTop = currentTop > maxTop ? maxTop : currentTop;\r\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\r\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth - 1;\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 if (this.size === 'full') {\r\n return;\r\n }\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 }\r\n}\r\n","<div class=\"modal-backdrop\">\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';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ModalComponent} from './modal.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ModalComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class ModalModule {\r\n}\r\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\r\nimport {ModalComponent} from './modal.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n constructor() {\r\n }\r\n\r\n open(viewContainerRef: ViewContainerRef,\r\n title: string, size: 'default' | 'large' | 'full' | string = 'default',\r\n contentTemplate: TemplateRef<any>,\r\n contentTemplateContext: any,\r\n footerTemplate?: TemplateRef<any>,\r\n footerTemplateContext?: any) {\r\n const modalRef = viewContainerRef.createComponent(ModalComponent);\r\n modalRef.instance.hide = () => {\r\n modalRef.hostView.destroy();\r\n }\r\n modalRef.instance.title = title;\r\n modalRef.instance.size = size;\r\n modalRef.instance.contentTemplate = contentTemplate;\r\n modalRef.instance.contentTemplateContext = contentTemplateContext;\r\n modalRef.instance.footerTemplate = footerTemplate;\r\n modalRef.instance.footerTemplateContext = footerTemplateContext;\r\n modalRef.instance._parentViewContainerRef = viewContainerRef;\r\n modalRef.instance.show();\r\n return modalRef.instance;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {PdfJsViewerComponent, PdfJsViewerModule} from \"ng2-pdfjs-viewer\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'rs-pdf-viewer',\r\n standalone: true,\r\n imports: [CommonModule, PdfJsViewerModule],\r\n templateUrl: './pdf-viewer.component.html',\r\n styleUrls: ['./pdf-viewer.component.scss']\r\n})\r\nexport class PdfViewerComponent {\r\n @Input()\r\n src: any;\r\n @Output()\r\n loaded = new EventEmitter<void>();\r\n @ViewChild(PdfJsViewerComponent, {static: true}) viewer!: PdfJsViewerComponent;\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n ngOnInit() {\r\n this.http.get(this.src, {\r\n responseType: \"blob\"\r\n }).subscribe(response => {\r\n this.viewer.pdfSrc = response;\r\n this.viewer.refresh();\r\n this.loaded.emit();\r\n });\r\n }\r\n}\r\n","<ng2-pdfjs-viewer\r\n [openFile]=\"false\"\r\n [download]=\"false\"\r\n [viewBookmark]=\"false\"\r\n>\r\n</ng2-pdfjs-viewer>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class WebsocketModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {interval, Subject, Subscription} from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class WebsocketService {\r\n private url: any; // 默认请求的url\r\n private webSocket!: WebSocket; // websocket对象\r\n private connectSuccess = false; // websocket 连接成功\r\n private period = 30 * 1000; // 30秒钟检查一次\r\n private serverTimeoutSubscription!: Subscription; // 定时检测连接对象\r\n private reconnectFlag = false; // 重连\r\n private reconnectPeriod = 5 * 1000; // 重连失败,则5秒钟重连一次\r\n private reconnectSubscription!: Subscription; // 重连订阅对象\r\n public serverMessageSubject = new Subject<any>();// subject对象,用于发送服务器消息\r\n\r\n constructor() {\r\n // 实例化时开始连接服务器\r\n this.connect();\r\n // 进入程序就进行心跳检测,避免出现开始就连接中断,后续不重连\r\n this.heartCheckStart();\r\n }\r\n\r\n /**\r\n * 创建新连接\r\n */\r\n private connect() {\r\n this.url = 'ws://' + window.location.host + '/ws?token=' + localStorage.getItem('token');\r\n // 创建websocket对象\r\n this.createWebSocket();\r\n }\r\n\r\n /**\r\n * 创建连接\r\n */\r\n private createWebSocket() {\r\n // 如果没有建立过连接,才建立连接并且添加时间监听\r\n this.webSocket = new WebSocket(this.url);\r\n // 建立连接成功\r\n this.webSocket.onopen = () => this.onOpen();\r\n // 接收到消息\r\n this.webSocket.onmessage = (e) => this.onMessage(e);\r\n // 连接关闭\r\n this.webSocket.onclose = (e) => this.onClose(e);\r\n // 异常\r\n this.webSocket.onerror = (e) => this.onError(e);\r\n }\r\n\r\n /**\r\n * 连接打开\r\n */\r\n private onOpen() {\r\n console.log('websocket 已连接');\r\n // 设置连接成功\r\n this.connectSuccess = true;\r\n // 如果是重连中\r\n if (this.reconnectFlag) {\r\n // 1.停止重连\r\n this.stopReconnect();\r\n // 2.重新开启心跳\r\n this.heartCheckStart();\r\n }\r\n }\r\n\r\n /**\r\n * 接受到消息\r\n */\r\n private onMessage(event: any) {\r\n // 将接受到的消息发布出去\r\n const message = JSON.parse(event.data);\r\n if (message.type === 'websocket') {\r\n sessionStorage.setItem('clientId', message.value);\r\n } else {\r\n this.serverMessageSubject.next(message);\r\n }\r\n }\r\n\r\n /**\r\n * 连接关闭\r\n */\r\n private onClose(e: any) {\r\n console.log('websocket 连接关闭', e);\r\n this.connectSuccess = false;\r\n this.webSocket.close();\r\n // 关闭时开始重连\r\n this.reconnect();\r\n }\r\n\r\n /**\r\n * 连接异常\r\n */\r\n private onError(e: any) {\r\n // 出现异常时一定会进onClose,所以只在onClose做一次重连动作\r\n console.log('websocket 连接异常', e);\r\n this.connectSuccess = false;\r\n }\r\n\r\n /**\r\n * 开始重新连接\r\n */\r\n private reconnect() {\r\n // 如果已重连,则直接return,避免重复连接\r\n if (this.connectSuccess) {\r\n this.stopReconnect();\r\n return;\r\n }\r\n // 如果正在连接中,则直接return,避免产生多个轮训事件\r\n if (this.reconnectFlag) {\r\n console.log('正在重连...');\r\n return;\r\n }\r\n // 开始重连\r\n this.reconnectFlag = true;\r\n // 如果没能成功连接,则定时重连\r\n this.reconnectSubscription = interval(this.reconnectPeriod).subscribe(async (val) => {\r\n console.log(`重连:${val + 1}次`);\r\n // 重新连接\r\n this.connect();\r\n });\r\n }\r\n\r\n /**\r\n * 停止重连\r\n */\r\n private stopReconnect() {\r\n // 连接标识置为false\r\n this.reconnectFlag = false;\r\n // 取消订阅\r\n if (typeof this.reconnectSubscription !== 'undefined' && this.reconnectSubscription != null) {\r\n this.reconnectSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * 开始心跳检测\r\n */\r\n private heartCheckStart() {\r\n this.serverTimeoutSubscription = interval(this.period).subscribe(() => {\r\n // console.log('心跳检查')\r\n // 保持连接状态,重置下\r\n if (this.webSocket != null && this.webSocket.readyState === 1) {\r\n this.webSocket.send('heartbeat check');\r\n } else {\r\n // 停止心跳\r\n this.heartCheckStop();\r\n // 开始重连\r\n this.reconnect();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 停止心跳检测\r\n */\r\n private heartCheckStop() {\r\n // 取消订阅停止心跳\r\n if (typeof this.serverTimeoutSubscription !== 'undefined' && this.serverTimeoutSubscription != null) {\r\n this.serverTimeoutSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DividerLineComponent","i2.DividerComponent","i2","i3.BoxItemHostDirective","i3","i2.CodeEditorComponent","i1","i1.DataGridService","i4","i1.FormService","i3.BoxContainerComponent","i5","i1.DataDetailService","i7.FormComponent","i1.DrawerService","i4.FormComponent","i1.DataGridFactory","i2.DataGridService","i6","i7","i8.FileCellTemplateComponent","i9.InstanceLinkTemplateComponent","i10.UnitInfoTemplateComponent","i11.UserInfoTemplateComponent","i8"],"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/box-item/item-config/config-blank/config-blank.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/config-blank/config-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/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/util/form-item-config-base.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/form-item-config-error/form-item-config-error.component.ts","../../../projects/ngx-rs-ant/src/box-container/box-item/item-config/form-item-config-error/form-item-config-error.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/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/util/change-filter.ts","../../../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/camunda-bpmn-editor/custom/translate/translations.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/translate/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/initUserTask.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/UserTaskPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/UserTaskContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/ServiceTaskPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/ServiceTaskContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/HideOtherPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/CustomReplaceMenuProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/index.ts","../../../projects/ngx-rs-ant/src/code-editor/code-editor.component.ts","../../../projects/ngx-rs-ant/src/code-editor/code-editor.component.html","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.component.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.component.html","../../../projects/ngx-rs-ant/src/code-editor/code-editor.module.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.module.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.component.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.component.html","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.service.ts","../../../projects/ngx-rs-ant/src/data-grid/row-buttons-template.directive.ts","../../../projects/ngx-rs-ant/src/util/utils.ts","../../../projects/ngx-rs-ant/src/data-grid/custom-template.directive.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.factory.ts","../../../projects/ngx-rs-ant/src/data-grid/file-cell-template/file-cell-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/file-cell-template/file-cell-template.component.html","../../../projects/ngx-rs-ant/src/data-detail/data-detail.service.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/data-detail/data-detail.component.ts","../../../projects/ngx-rs-ant/src/data-detail/data-detail.component.html","../../../projects/ngx-rs-ant/src/drawer/drawer.component.ts","../../../projects/ngx-rs-ant/src/drawer/drawer.component.html","../../../projects/ngx-rs-ant/src/drawer/drawer.service.ts","../../../projects/ngx-rs-ant/src/data-grid/instance-link-template/instance-link-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/instance-link-template/instance-link-template.component.html","../../../projects/ngx-rs-ant/src/data-grid/unit-info-template/unit-info-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/unit-info-template/unit-info-template.component.html","../../../projects/ngx-rs-ant/src/data-grid/user-info-template/user-info-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/user-info-template/user-info-template.component.html","../../../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/form/field-selector/field-selector.component.ts","../../../projects/ngx-rs-ant/src/form/field-selector/field-selector.component.html","../../../projects/ngx-rs-ant/src/form/form.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/data-detail/data-detail.module.ts","../../../projects/ngx-rs-ant/src/drawer/drawer.module.ts","../../../projects/ngx-rs-ant/src/dynamic-params/tooltip-content-template.directive.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/fullscreen/fullscreen.directive.ts","../../../projects/ngx-rs-ant/src/icon-selector/icon-selector.component.ts","../../../projects/ngx-rs-ant/src/icon-selector/icon-selector.component.html","../../../projects/ngx-rs-ant/src/icon-selector/icon-selector.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/pdf-viewer/pdf-viewer.component.ts","../../../projects/ngx-rs-ant/src/pdf-viewer/pdf-viewer.component.html","../../../projects/ngx-rs-ant/src/websocket/websocket.module.ts","../../../projects/ngx-rs-ant/src/websocket/websocket.service.ts","../../../projects/ngx-rs-ant/src/ngx-rs-ant.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-divider-line',\r\n templateUrl: './divider-line.component.html',\r\n styleUrls: ['./divider-line.component.scss']\r\n})\r\nexport class DividerLineComponent {\r\n @Input()\r\n direction?: 'row' | 'column';\r\n @Input()\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 if (this.direction === 'row') {\r\n return {\r\n height: elementRect.width + 'px'\r\n };\r\n }\r\n if (this.direction === 'column') {\r\n return {\r\n height: elementRect.height + 'px'\r\n };\r\n }\r\n return {};\r\n }\r\n}\r\n","","import {Component, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-divider',\r\n templateUrl: './divider.component.html',\r\n styleUrls: ['./divider.component.scss']\r\n})\r\nexport class DividerComponent {\r\n @Input()\r\n direction?: 'row' | 'column';\r\n @Input()\r\n targetElement: any;\r\n @Output()\r\n dividerClick = new EventEmitter();\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 if (this.direction === 'row') {\r\n return {\r\n top: elementRect.height / 2 - 12 + 'px',\r\n left: '4px',\r\n transform: 'rotate(270deg)'\r\n };\r\n }\r\n if (this.direction === 'column') {\r\n return {\r\n top: '4px',\r\n left: elementRect.width / 2 - 12 + 'px'\r\n };\r\n }\r\n return {};\r\n }\r\n\r\n @HostListener('click')\r\n onClick() {\r\n this.dividerClick.emit();\r\n }\r\n}\r\n","<div class=\"divider-image\"></div>\r\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\r\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\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 <div class=\"active-bar\">\r\n <i *ngIf=\"showClose && !showDivider\" class=\"icon-drag\"></i>\r\n <span>{{ name }}</span>\r\n <i class=\"coast-icon-add-row\" title=\"添加行\" (click)=\"splitItem('column')\"></i>\r\n <i class=\"coast-icon-add-column\" title=\"添加列\" (click)=\"splitItem('row')\"></i>\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>\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-not-found',\r\n templateUrl: './plugin-not-found.component.html',\r\n styleUrls: ['./plugin-not-found.component.scss']\r\n})\r\nexport class PluginNotFoundComponent {\r\n}\r\n","<div>\r\n <span>组件加载失败</span>\r\n</div>\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-config-blank',\r\n templateUrl: './config-blank.component.html',\r\n styleUrls: ['./config-blank.component.scss']\r\n})\r\nexport class ConfigBlankComponent {\r\n}\r\n","<div>\r\n <span>无配置项</span>\r\n</div>\r\n","import {Component, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-style',\r\n templateUrl: './style.component.html',\r\n styleUrls: ['./style.component.scss']\r\n})\r\nexport class StyleComponent implements OnInit {\r\n style: any;\r\n width: number = 0;\r\n height: number = 0;\r\n\r\n ngOnInit(): void {\r\n this.style.width = this.style.width ? this.style.width : 'auto';\r\n this.style.height = this.style.height ? this.style.height : 'auto';\r\n if (this.style.width !== 'auto') {\r\n this.width = this.style.width.substring(0, this.style.width.length - 2);\r\n }\r\n if (this.style.height !== 'auto') {\r\n this.height = this.style.height.substring(0, this.style.height.length - 2);\r\n }\r\n }\r\n\r\n select(name: string, value: any) {\r\n const that: any = this;\r\n if (value === 'auto') {\r\n this.style[name] = 'auto';\r\n that[name] = 0;\r\n } else {\r\n if (!that[name]) {\r\n that[name] = value;\r\n }\r\n this.style[name] = that[name] + 'px';\r\n }\r\n }\r\n\r\n typing(name: string, value: any) {\r\n if (value) {\r\n this.style[name] = value + 'px';\r\n } else {\r\n this.style[name] = 'auto';\r\n }\r\n }\r\n}\r\n","<div class=\"config-item\">\r\n <div class=\"item-title\">宽度类型</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\r\n (click)=\"select('width','auto')\">\r\n <span>自适应</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('width',240)\">\r\n <span>固定值</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">固定宽度</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"width\"\r\n (onValueChanged)=\"typing('width', $event.value)\"\r\n [readOnly]=\"style.width === 'auto'\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">高度类型</div>\r\n <div class=\"item-setting\">\r\n <div class=\"card-style-radio\">\r\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\r\n (click)=\"select('height','auto')\">\r\n <span>自适应</span>\r\n </div>\r\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\r\n (click)=\"select('height',800)\">\r\n <span>固定值</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"config-item\">\r\n <div class=\"item-title\">固定高度</div>\r\n <div class=\"item-setting\">\r\n <dx-number-box [min]=\"0\"\r\n [showSpinButtons]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"height\"\r\n (onValueChanged)=\"typing('height', $event.value)\"\r\n [readOnly]=\"style.height === 'auto'\">\r\n </dx-number-box>\r\n </div>\r\n</div>\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-style-blank',\r\n templateUrl: './style-blank.component.html',\r\n styleUrls: ['./style-blank.component.scss']\r\n})\r\nexport class StyleBlankComponent {\r\n}\r\n","<div>\r\n <span>请在左侧画布选中节点</span>\r\n</div>\r\n","import {EventEmitter} from \"@angular/core\";\r\n\r\nexport class FormItemConfigBase {\r\n fieldTree: any;\r\n config: any;\r\n configChange: EventEmitter<boolean | undefined> = new EventEmitter<boolean | undefined>();\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-form-item-config-error',\r\n templateUrl: './form-item-config-error.component.html',\r\n styleUrls: ['./form-item-config-error.component.scss']\r\n})\r\nexport class FormItemConfigErrorComponent {\r\n\r\n}\r\n","<div>\r\n <span>表单组件配置必需继承自FormItemConfigBase</span>\r\n</div>\r\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\nimport {ConfigBlankComponent} from \"./box-item/item-config/config-blank/config-blank.component\";\r\nimport {StyleComponent} from \"./box-item/item-style/style/style.component\";\r\nimport {StyleBlankComponent} from \"./box-item/item-style/style-blank/style-blank.component\";\r\nimport {FormItemConfigBase} from \"../util/form-item-config-base\";\r\nimport {\r\n FormItemConfigErrorComponent\r\n} from \"./box-item/item-config/form-item-config-error/form-item-config-error.component\";\r\n\r\nexport class PluginManager {\r\n static hoverItems: any[] = [];\r\n static activeItem = new Subject<{ id: string, item: any }>();\r\n static activeItems: { [id: string]: 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 instance.editMode = boxItem.boxContainer.editMode;\r\n if (plugin.type === 'form') {\r\n instance.model = boxItem.boxContainer.model;\r\n }\r\n if (boxItem.boxContainer.readonly) {\r\n instance.readonly = true;\r\n }\r\n instance.opener = boxItem.boxContainer.opener;\r\n instance.params = boxItem.boxContainer.params;\r\n instance.tabId = boxItem.boxContainer.tabId;\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.margin = '8px';\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 id = boxItem.boxContainer.id;\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(activeElement);\r\n if (this.activeItems[id]) {\r\n this.activeItems[id].push(componentRef.location.nativeElement);\r\n } else {\r\n this.activeItems[id] = [componentRef.location.nativeElement];\r\n }\r\n componentRef.location.nativeElement.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems[id]) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems[id].indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({\r\n id,\r\n item: {boxItem, index, style, config: config.config, componentRef}\r\n });\r\n $event.target.classList.add('plugin-active');\r\n });\r\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\r\n if (boxItem.config.direction === direction) {\r\n boxItem.config.list.splice(index + 1, 0, {type: 'blank', style: {}});\r\n boxItem.load();\r\n } else {\r\n if (boxItem.config.list.length === 1) {\r\n boxItem.config.direction = direction;\r\n boxItem.config.list.push({type: 'blank', style: {}});\r\n } else {\r\n if (boxItem.config.list[index].type === 'item' && boxItem.config.list[index].config.direction === direction) {\r\n boxItem.config.list[index].config.list.push({type: 'blank', style: {}});\r\n } else {\r\n boxItem.config.list.splice(index, 1, {\r\n type: 'item',\r\n style: boxItem.config.list[index].style,\r\n config: {\r\n direction,\r\n list: [boxItem.config.list[index], {type: 'blank', style: {}}]\r\n }\r\n });\r\n }\r\n }\r\n boxItem.load();\r\n }\r\n };\r\n activeComponentRef.instance.itemRemove.subscribe(() => {\r\n this.activeItem.next({\r\n id,\r\n item: ''\r\n });\r\n viewContainerRef.clear();\r\n componentRef.instance.onRemove();\r\n });\r\n return activeComponentRef;\r\n }\r\n\r\n static resetItemConfig(itemConfigContainerRef: ViewContainerRef, item: any, fieldTree?: any) {\r\n itemConfigContainerRef.clear();\r\n if (!item) {\r\n itemConfigContainerRef.createComponent(ConfigBlankComponent);\r\n return;\r\n }\r\n const plugin = PluginFactory.get(item.config?.name);\r\n const pluginType = plugin?.type;\r\n const pluginConfig = PluginFactory.getConfig(item.config?.name);\r\n if (pluginConfig) {\r\n const componentRef = itemConfigContainerRef.createComponent(pluginConfig.component);\r\n const instance: any = componentRef.instance;\r\n instance.config = item.config.pluginConfig;\r\n if (pluginType === 'form') {\r\n if (!(instance instanceof FormItemConfigBase)) {\r\n itemConfigContainerRef.clear();\r\n itemConfigContainerRef.createComponent(FormItemConfigErrorComponent);\r\n return;\r\n }\r\n instance.fieldTree = fieldTree;\r\n }\r\n instance.configChange.subscribe((reload?: boolean) => {\r\n if (reload) {\r\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\r\n componentRef.location.nativeElement.click();\r\n } else {\r\n setTimeout(() => {\r\n Object.assign(item.componentRef.instance, item.config.pluginConfig);\r\n });\r\n }\r\n });\r\n } else {\r\n itemConfigContainerRef.createComponent(ConfigBlankComponent);\r\n }\r\n }\r\n\r\n static resetItemStyle(itemStyleContainerRef: ViewContainerRef, item: any) {\r\n itemStyleContainerRef.clear();\r\n if (!item) {\r\n itemStyleContainerRef.createComponent(StyleBlankComponent);\r\n return;\r\n }\r\n const componentRef = itemStyleContainerRef.createComponent(StyleComponent);\r\n const instance: any = componentRef.instance;\r\n instance.style = item.style;\r\n }\r\n}\r\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {PluginManager} from \"../../PluginManager\";\r\n\r\n@Component({\r\n selector: 'rs-item-config',\r\n templateUrl: './item-config.component.html',\r\n styleUrls: ['./item-config.component.scss']\r\n})\r\nexport class ItemConfigComponent implements OnInit {\r\n @Input()\r\n id: string = 'global';\r\n @Input()\r\n fieldTree?: any;\r\n @ViewChild('itemConfigContainerRef', {\r\n static: true,\r\n read: ViewContainerRef\r\n }) itemConfigContainerRef!: ViewContainerRef;\r\n\r\n ngOnInit(): void {\r\n PluginManager.activeItem.subscribe(data => {\r\n if (data.id !== this.id) {\r\n return;\r\n }\r\n PluginManager.resetItemConfig(this.itemConfigContainerRef, data.item, this.fieldTree);\r\n });\r\n }\r\n}\r\n","<ng-container #itemConfigContainerRef></ng-container>\r\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {PluginManager} from \"../../PluginManager\";\r\n\r\n@Component({\r\n selector: 'rs-item-style',\r\n templateUrl: './item-style.component.html',\r\n styleUrls: ['./item-style.component.scss']\r\n})\r\nexport class ItemStyleComponent implements OnInit {\r\n @Input()\r\n id: string = 'global';\r\n @ViewChild('itemStyleContainerRef', {static: true, read: ViewContainerRef}) itemStyleContainerRef!: ViewContainerRef;\r\n\r\n ngOnInit(): void {\r\n PluginManager.activeItem.subscribe(data => {\r\n if (data.id !== this.id) {\r\n return;\r\n }\r\n PluginManager.resetItemStyle(this.itemStyleContainerRef, data.item);\r\n });\r\n }\r\n}\r\n","<ng-container #itemStyleContainerRef></ng-container>\r\n","import {Directive, ElementRef, Input, ViewContainerRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsBoxItemHost]'\r\n})\r\nexport class BoxItemHostDirective {\r\n @Input()\r\n hostId: any;\r\n\r\n constructor(private el: ElementRef, public viewContainerRef: ViewContainerRef) {\r\n this.el.nativeElement.hostId = this.hostId;\r\n }\r\n}\r\n","import {Component} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-item-blank',\r\n templateUrl: './item-blank.component.html',\r\n styleUrls: ['./item-blank.component.scss']\r\n})\r\nexport class ItemBlankComponent {\r\n}\r\n","<div>\r\n <span>拖拽组件到此处</span>\r\n</div>\r\n","import {Component, EventEmitter, HostBinding, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\r\nimport {BoxItemHostDirective} from './box-item-host.directive';\r\nimport {PluginManager} from '../PluginManager';\r\nimport {ItemBlankComponent} from \"./item-blank/item-blank.component\";\r\n\r\n@Component({\r\n selector: 'rs-box-item',\r\n templateUrl: './box-item.component.html',\r\n styleUrls: ['./box-item.component.scss']\r\n})\r\nexport class BoxItemComponent implements OnInit {\r\n boxContainer: any;\r\n style: any = {};\r\n config: any = {};\r\n pDirection?: 'row' | 'column';\r\n\r\n @HostBinding('style.flex-direction') get _direction() {\r\n return this.config.direction;\r\n }\r\n\r\n @HostBinding('style') get _style() {\r\n if (this.pDirection) {\r\n return {};\r\n }\r\n const width = this.style?.width ? this.style.width : 'auto';\r\n const height = this.style?.height ? this.style.height : 'auto';\r\n return this._calcStyle(this.pDirection, width, height);\r\n }\r\n\r\n @Output()\r\n leaveOneItem = new EventEmitter();\r\n @ViewChildren(BoxItemHostDirective) itemHosts!: QueryList<BoxItemHostDirective>;\r\n\r\n ngOnInit(): void {\r\n this.load();\r\n }\r\n\r\n load(activeIndex?: number) {\r\n setTimeout(() => {\r\n for (let i = 0; i < this.itemHosts.length; i++) {\r\n const itemHost: any = this.itemHosts.get(i);\r\n itemHost.viewContainerRef.clear();\r\n const item = this.config.list[i];\r\n switch (item.type) {\r\n case 'plugin':\r\n const componentRef = PluginManager.createComponent(this, i, item.style, item.config);\r\n if (activeIndex === i) {\r\n componentRef.location.nativeElement.click();\r\n }\r\n break;\r\n case 'item':\r\n const boxItemComponentRef = itemHost.viewContainerRef.createComponent(BoxItemComponent);\r\n const instance = boxItemComponentRef.instance;\r\n instance.boxContainer = this.boxContainer;\r\n instance.style = item.style;\r\n instance.config = item.config;\r\n instance.pDirection = this.config.direction;\r\n if (this.boxContainer.editMode) {\r\n boxItemComponentRef.location.nativeElement.style.margin = '8px';\r\n instance.leaveOneItem.subscribe((item: any) => {\r\n if (item.type === 'item' && item.direction === this.config.direction) {\r\n this.config.list.splice(i, 1, ...item.list);\r\n } else {\r\n this.config.list.splice(i, 1, item);\r\n }\r\n this.load();\r\n });\r\n PluginManager.createHoverComponent(itemHost.viewContainerRef, boxItemComponentRef, '格子容器');\r\n PluginManager.createActiveComponent(this, i, boxItemComponentRef, item.style, {\r\n name: 'coast-box-container',\r\n caption: '格子容器'\r\n }, false);\r\n }\r\n break;\r\n case 'blank':\r\n default:\r\n if (this.boxContainer.editMode) {\r\n this.createBlankComponent(i);\r\n }\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n\r\n private createBlankComponent(index: number) {\r\n const viewContainerRef: any = this.itemHosts.get(index)?.viewContainerRef;\r\n const containerBlankComponentRef: any = viewContainerRef.createComponent(ItemBlankComponent);\r\n containerBlankComponentRef.instance.onRemove = () => {\r\n this.config.list.splice(index, 1);\r\n if (this.config.list.length === 1) {\r\n this.leaveOneItem.emit(this.config.list[0]);\r\n } else {\r\n this.load();\r\n }\r\n };\r\n PluginManager.createHoverComponent(viewContainerRef, containerBlankComponentRef, '占位格');\r\n const activeComponentRef = PluginManager.createActiveComponent(this, index, containerBlankComponentRef,\r\n this.config.list[index].style, {\r\n name: 'coast-box-container',\r\n caption: '占位格'\r\n }, this.config.list.length > 1);\r\n activeComponentRef.instance.showDivider = true;\r\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\r\n if (this.config.direction === direction) {\r\n this.config.list.splice(index + 1, 0, {type: 'blank', style: {}});\r\n this.load();\r\n } else {\r\n if (this.config.list.length === 1) {\r\n this.config.direction = direction;\r\n this.config.list.push({type: 'blank', style: {}});\r\n } else {\r\n this.config.list.splice(index, 1, {\r\n type: 'item',\r\n style: {},\r\n config: {\r\n direction,\r\n list: [this.config.list[index], {type: 'blank', style: {}}]\r\n }\r\n });\r\n }\r\n this.load();\r\n }\r\n };\r\n }\r\n\r\n calcStyle(item: any) {\r\n const width = item.style?.width ? item.style.width : 'auto';\r\n const height = item.style?.height ? item.style.height : 'auto';\r\n return {\r\n ...this._calcStyle(this.config.direction, width, height),\r\n position: 'relative'\r\n };\r\n }\r\n\r\n private _calcStyle(direction: any, width: string, height: string) {\r\n if (direction === 'row') {\r\n return {\r\n flex: width === 'auto' ? '1' : '0 0 ' + width,\r\n height,\r\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\r\n }\r\n } else if (direction === 'column') {\r\n return {\r\n width,\r\n flex: height === 'auto' ? 'auto' : '0 0 ' + height,\r\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\r\n }\r\n }\r\n return {\r\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\r\n };\r\n }\r\n\r\n dragOverComponent: any;\r\n\r\n onDragMove($event: any) {\r\n if ($event.fromData === $event.toData) {\r\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\r\n delete this.dragOverComponent;\r\n return;\r\n }\r\n if ($event.toComponent !== this.dragOverComponent) {\r\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\r\n this.dragOverComponent = $event.toComponent;\r\n this.dragOverComponent.instance().element().classList.add('active');\r\n }\r\n }\r\n\r\n onDragEnd($event: any) {\r\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\r\n delete this.dragOverComponent;\r\n const toBoxItem = $event.toData.boxItem;\r\n const toIndex = $event.toData.index;\r\n const fromIndex = $event.fromData.index;\r\n const fromBoxItemConfig = this.config.list[fromIndex].config;\r\n if ($event.toData.item.type === 'plugin') {\r\n this.config.list[fromIndex].config = toBoxItem.config.list[toIndex].config;\r\n this.load();\r\n toBoxItem.config.list[toIndex].config = fromBoxItemConfig;\r\n } else if ($event.toData.item.type === 'blank') {\r\n this.config.list.splice(fromIndex, 1, {type: 'blank', style: this.config.list[fromIndex].style});\r\n this.load();\r\n toBoxItem.config.list[toIndex] = {\r\n type: 'plugin',\r\n style: toBoxItem.config.list[toIndex].style,\r\n config: {\r\n name: fromBoxItemConfig.name,\r\n pluginConfig: fromBoxItemConfig.pluginConfig || {}\r\n }\r\n };\r\n }\r\n toBoxItem.load(toIndex);\r\n $event.cancel = true;\r\n }\r\n}\r\n","<ng-container *ngFor=\"let item of config.list; index as index\">\r\n <ng-container *ngIf=\"boxContainer.editMode\">\r\n <ng-container *ngIf=\"item.type === 'plugin'\">\r\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\r\n [data]=\"{boxItem: this, item, index}\"\r\n handle=\".icon-drag\"\r\n group=\"rsBoxContainerDragGroup\"\r\n (onDragMove)=\"onDragMove($event)\"\r\n (onDragEnd)=\"onDragEnd($event)\">\r\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\r\n </dx-draggable>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.type === 'item'\">\r\n <div [ngStyle]=\"calcStyle(item)\">\r\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.type === 'blank'\">\r\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\r\n [data]=\"{boxItem: this, item, index}\"\r\n group=\"rsBoxContainerDragGroup\"\r\n (onDragStart)=\"$event.cancel = true\">\r\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\r\n </dx-draggable>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!boxContainer.editMode\">\r\n <div [ngStyle]=\"calcStyle(item)\">\r\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\r\n </div>\r\n </ng-container>\r\n</ng-container>\r\n","import {SimpleChanges} from \"@angular/core\";\r\nimport {ReplaySubject, Subscription} from \"rxjs\";\r\n\r\nexport class ChangeFilter {\r\n private subject = new ReplaySubject<SimpleChanges>(1);\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n doFilter(changes: SimpleChanges) {\r\n this.subject.next(changes);\r\n }\r\n\r\n dispose() {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n notEmpty<T>(key: string, handler: (t: T) => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n if (changes[key]) {\r\n const value: T = changes[key].currentValue;\r\n if (value !== undefined && value !== null) {\r\n handler(value);\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n has<T>(key: string, handler: (t: T) => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n if (changes[key]) {\r\n const value: T = changes[key].currentValue;\r\n handler(value);\r\n }\r\n })\r\n );\r\n }\r\n\r\n notFirst<T>(key: string, handler: (t: T) => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n if (changes[key] && !changes[key].isFirstChange()) {\r\n const value: T = changes[key].currentValue;\r\n handler(value);\r\n }\r\n })\r\n );\r\n }\r\n\r\n notFirstAndEmpty<T>(key: string, handler: (t: T) => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n if (changes[key] && !changes[key].isFirstChange()) {\r\n const value: T = changes[key].currentValue;\r\n if (value !== undefined && value !== null) {\r\n handler(value);\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n anyNotFirst(keys: string[], handler: () => void) {\r\n this.subscriptions.add(\r\n this.subject.subscribe(changes => {\r\n let hasChange = false;\r\n for (let key of keys) {\r\n if (changes[key] && !(changes[key].previousValue == changes[key].currentValue) && !changes[key].isFirstChange()) {\r\n hasChange = true;\r\n break;\r\n }\r\n }\r\n if (hasChange) {\r\n handler();\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\nimport {ChangeFilter} from \"../util/change-filter\";\r\nimport {PluginManager} from \"./PluginManager\";\r\n\r\n@Component({\r\n selector: 'rs-box-container',\r\n templateUrl: './box-container.component.html',\r\n styleUrls: ['./box-container.component.scss']\r\n})\r\nexport class BoxContainerComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input()\r\n id: string = 'global';\r\n @Input()\r\n editMode: boolean = false;\r\n @Input()\r\n config: any = {\r\n direction: 'row',\r\n list: [{type: 'blank', style: {}}]\r\n };\r\n @Input()\r\n model?: any;\r\n @Input()\r\n opener?: any;\r\n @Input()\r\n params?: any;\r\n @Input()\r\n readonly: boolean = false;\r\n @Input()\r\n tabId?: string;\r\n @Input()\r\n tabViewContainerRef?: ViewContainerRef;\r\n @ViewChild('boxContainerContent', {static: true, read: ViewContainerRef}) boxContainerContent!: ViewContainerRef;\r\n private changeFilter = new ChangeFilter();\r\n\r\n ngOnInit() {\r\n this.load();\r\n this.changeFilter.anyNotFirst(['config', 'model', 'readonly'], () => {\r\n this.load();\r\n });\r\n PluginManager.activeItem.subscribe(data => {\r\n if (data.id !== this.id) {\r\n return;\r\n }\r\n if (!data.item) {\r\n for (let activeItem of PluginManager.activeItems[this.id]) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.changeFilter.doFilter(changes);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.changeFilter.dispose();\r\n }\r\n\r\n load() {\r\n this.boxContainerContent.clear();\r\n const boxItemComponentRef = this.boxContainerContent.createComponent(BoxItemComponent);\r\n const instance = boxItemComponentRef.instance;\r\n instance.boxContainer = this;\r\n instance.config = this.config;\r\n if (this.editMode) {\r\n boxItemComponentRef.location.nativeElement.style.margin = '8px';\r\n }\r\n instance.leaveOneItem?.subscribe((item: any) => {\r\n if (item.type === 'item') {\r\n Object.assign(instance.config, item);\r\n } else {\r\n instance.config.direction = 'row';\r\n }\r\n instance.load();\r\n });\r\n }\r\n}\r\n","<ng-container #boxContainerContent></ng-container>\r\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 {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 {StyleComponent} from './box-item/item-style/style/style.component';\r\nimport {PluginNotFoundComponent} from './plugin-not-found/plugin-not-found.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {ConfigBlankComponent} from './box-item/item-config/config-blank/config-blank.component';\r\nimport {\r\n FormItemConfigErrorComponent\r\n} from './box-item/item-config/form-item-config-error/form-item-config-error.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 FormItemConfigErrorComponent,\r\n StyleComponent,\r\n PluginNotFoundComponent,\r\n ConfigBlankComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\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","export const translations: {\r\n [key: string]: string\r\n} = {\r\n // 调色板\r\n 'Activate hand tool': '激活拖拽工具',\r\n 'Activate lasso tool': '激活框选工具',\r\n 'Activate create/remove space tool': '激活空间移动工具',\r\n 'Activate global connect tool': '激活全局连接工具',\r\n 'Create start event': '创建开始节点',\r\n 'Create end event': '创建结束节点',\r\n 'Create user task': '创建用户任务',\r\n 'Create service task': '创建服务任务',\r\n 'Create gateway': '创建网关节点',\r\n // 面板\r\n 'Append user task': '追加用户任务',\r\n 'Append service task': '追加服务任务',\r\n 'Append gateway': '追加网关节点',\r\n 'Append end event': '追加结束节点',\r\n 'Connect to other element': '连接其它节点',\r\n 'Delete': '删除',\r\n 'Change type': '改变节点类型',\r\n 'Exclusive gateway': '互斥网关',\r\n 'Parallel gateway': '并行网关',\r\n 'Default flow': '默认流向',\r\n 'Sequence flow': '顺序流向',\r\n 'Conditional flow': '条件流向',\r\n 'Open minimap': '打开缩略图',\r\n 'Close minimap': '关闭缩略图',\r\n};\r\n","import {translations} from './translations';\r\n\r\nexport function customTranslate(template: string, replacements: {\r\n [key: string]: string\r\n}) {\r\n replacements = replacements || {};\r\n // Translate\r\n template = translations[template] || template;\r\n // Replace\r\n return template.replace(/{([^}]+)}/g, function (_, key) {\r\n return replacements[key] || '{' + key + '}';\r\n });\r\n}\r\n\r\nexport default {\r\n translate: ['value', customTranslate]\r\n}\r\n","export function initUserTask(moddle: any, modeling: any, userTask: any) {\r\n const loopCharacteristics = moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n modeling.updateModdleProperties(userTask, loopCharacteristics, {\r\n ['camunda:collection']: '${workflowHelper.collectUsers(execution, \"' + userTask.id + '\")}',\r\n ['camunda:elementVariable']: 'user'\r\n });\r\n modeling.updateProperties(userTask, {\r\n loopCharacteristics,\r\n ['camunda:assignee']: '${user}'\r\n });\r\n}\r\n","import {initUserTask} from \"./initUserTask\";\r\n\r\nexport default class UserTaskPaletteProvider {\r\n public static $inject = [\r\n 'palette',\r\n 'translate',\r\n 'elementFactory',\r\n 'moddle',\r\n 'modeling',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly elementFactory: any;\r\n private readonly moddle: any;\r\n private readonly modeling: any;\r\n private readonly create: any;\r\n\r\n constructor(palette: any, translate: any, elementFactory: any, moddle: any, modeling: any, create: any) {\r\n this.translate = translate;\r\n this.elementFactory = elementFactory;\r\n this.moddle = moddle;\r\n this.modeling = modeling;\r\n this.create = create;\r\n palette.registerProvider(this);\r\n this.createUserTask = this.createUserTask.bind(this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return {\r\n 'create.user-task': {\r\n group: 'activity',\r\n className: 'bpmn-icon-user-task',\r\n title: this.translate('Create user task'),\r\n action: {\r\n dragstart: this.createUserTask,\r\n click: this.createUserTask\r\n }\r\n }\r\n };\r\n }\r\n\r\n createUserTask(event: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","import {initUserTask} from \"./initUserTask\";\r\n\r\nexport default class UserTaskContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'appendPreview',\r\n 'elementFactory',\r\n 'autoPlace',\r\n 'moddle',\r\n 'modeling',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly appendPreview: any;\r\n private readonly elementFactory: any;\r\n private readonly autoPlace: any;\r\n private readonly moddle: any;\r\n private readonly modeling: any;\r\n private readonly create: any;\r\n\r\n constructor(contextPad: any, translate: any, appendPreview: any, elementFactory: any, autoPlace: any, moddle: any, modeling: any, create: any) {\r\n this.translate = translate;\r\n this.appendPreview = appendPreview;\r\n this.elementFactory = elementFactory;\r\n this.autoPlace = autoPlace;\r\n this.moddle = moddle;\r\n this.modeling = modeling;\r\n this.create = create;\r\n contextPad.registerProvider(this);\r\n this.appendUserTaskPreview = this.appendUserTaskPreview.bind(this);\r\n this.appendUserTask = this.appendUserTask.bind(this);\r\n this.appendUserTaskStart = this.appendUserTaskStart.bind(this);\r\n }\r\n\r\n getContextPadEntries() {\r\n return {\r\n 'append.user-task': {\r\n group: 'model',\r\n className: 'bpmn-icon-user-task',\r\n title: this.translate('Append user task'),\r\n action: {\r\n hover: this.appendUserTaskPreview,\r\n click: this.appendUserTask,\r\n dragstart: this.appendUserTaskStart\r\n }\r\n }\r\n };\r\n }\r\n\r\n appendUserTaskPreview(event: any, source: any) {\r\n this.appendPreview.create(source, 'bpmn:UserTask');\r\n return () => {\r\n this.appendPreview.cleanUp();\r\n };\r\n }\r\n\r\n appendUserTask(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.autoPlace.append(source, shape);\r\n this.appendPreview.cleanUp();\r\n }\r\n\r\n appendUserTaskStart(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.create.start(event, shape, {\r\n source: source\r\n });\r\n this.appendPreview.cleanUp();\r\n }\r\n}\r\n","import UserTaskPaletteProvider from './UserTaskPaletteProvider';\r\nimport UserTaskContextPadProvider from \"./UserTaskContextPadProvider\";\r\n\r\nexport default {\r\n __init__: ['userTaskPaletteProvider', 'userTaskContextPadProvider'],\r\n userTaskPaletteProvider: ['type', UserTaskPaletteProvider],\r\n userTaskContextPadProvider: ['type', UserTaskContextPadProvider],\r\n};\r\n","export default class ServiceTaskPaletteProvider {\r\n public static $inject = [\r\n 'palette',\r\n 'translate',\r\n 'elementFactory',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly elementFactory: any;\r\n private readonly create: any;\r\n\r\n constructor(palette: any, translate: any, elementFactory: any, create: any) {\r\n this.translate = translate;\r\n this.elementFactory = elementFactory;\r\n this.create = create;\r\n palette.registerProvider(this);\r\n this.createServiceTask = this.createServiceTask.bind(this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return {\r\n 'create.service-task': {\r\n group: 'activity',\r\n className: 'bpmn-icon-service-task',\r\n title: this.translate('Create service task'),\r\n action: {\r\n dragstart: this.createServiceTask,\r\n click: this.createServiceTask\r\n }\r\n }\r\n };\r\n }\r\n\r\n createServiceTask(event: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","export default class ServiceTaskContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'appendPreview',\r\n 'elementFactory',\r\n 'autoPlace',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly appendPreview: any;\r\n private readonly elementFactory: any;\r\n private readonly autoPlace: any;\r\n private readonly create: any;\r\n\r\n constructor(contextPad: any, translate: any, appendPreview: any, elementFactory: any, autoPlace: any, create: any) {\r\n this.translate = translate;\r\n this.appendPreview = appendPreview;\r\n this.elementFactory = elementFactory;\r\n this.autoPlace = autoPlace;\r\n this.create = create;\r\n contextPad.registerProvider(this);\r\n this.appendServiceTaskPreview = this.appendServiceTaskPreview.bind(this);\r\n this.appendServiceTask = this.appendServiceTask.bind(this);\r\n this.appendServiceTaskStart = this.appendServiceTaskStart.bind(this);\r\n }\r\n\r\n getContextPadEntries() {\r\n return {\r\n 'append.service-task': {\r\n group: 'model',\r\n className: 'bpmn-icon-service-task',\r\n title: this.translate('Append service task'),\r\n action: {\r\n hover: this.appendServiceTaskPreview,\r\n click: this.appendServiceTask,\r\n dragstart: this.appendServiceTaskStart\r\n }\r\n }\r\n };\r\n }\r\n\r\n appendServiceTaskPreview(event: any, source: any) {\r\n this.appendPreview.create(source, 'bpmn:ServiceTask');\r\n return () => {\r\n this.appendPreview.cleanUp();\r\n };\r\n }\r\n\r\n appendServiceTask(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.autoPlace.append(source, shape);\r\n this.appendPreview.cleanUp();\r\n }\r\n\r\n appendServiceTaskStart(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.create.start(event, shape, {\r\n source: source\r\n });\r\n this.appendPreview.cleanUp();\r\n }\r\n}\r\n","import ServiceTaskPaletteProvider from './ServiceTaskPaletteProvider';\r\nimport ServiceTaskContextPadProvider from \"./ServiceTaskContextPadProvider\";\r\n\r\nexport default {\r\n __init__: ['serviceTaskPaletteProvider', 'serviceTaskContextPadProvider'],\r\n serviceTaskPaletteProvider: ['type', ServiceTaskPaletteProvider],\r\n serviceTaskContextPadProvider: ['type', ServiceTaskContextPadProvider],\r\n};\r\n","export default class HideOtherPaletteProvider {\r\n public static $inject = [\r\n 'palette'\r\n ];\r\n private visibleEntryKeys = [\r\n 'hand-tool',\r\n 'lasso-tool',\r\n 'space-tool',\r\n 'global-connect-tool',\r\n 'tool-separator',\r\n 'create.start-event',\r\n 'create.end-event',\r\n 'create.user-task',\r\n 'create.service-task',\r\n 'create.exclusive-gateway'\r\n ];\r\n\r\n constructor(palette: any) {\r\n palette.registerProvider(0, this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return (entries: any) => {\r\n const visibleEntries: any = {};\r\n for (const visibleEntryKey of this.visibleEntryKeys) {\r\n if (entries.hasOwnProperty(visibleEntryKey)) {\r\n visibleEntries[visibleEntryKey] = entries[visibleEntryKey];\r\n }\r\n }\r\n return visibleEntries;\r\n };\r\n }\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\nimport {isLabel} from 'diagram-js/lib/util/ModelUtil';\r\n\r\nexport default class HideOtherContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'popupMenu'\r\n ];\r\n private readonly contextPad;\r\n private readonly translate;\r\n private readonly popupMenu;\r\n\r\n constructor(contextPad: any, translate: any, popupMenu: any) {\r\n this.contextPad = contextPad;\r\n this.translate = translate;\r\n this.popupMenu = popupMenu;\r\n contextPad.registerProvider(0, this);\r\n }\r\n\r\n getContextPadEntries(element: any) {\r\n return (entries: any) => {\r\n if (isLabel(element)) {\r\n return {};\r\n }\r\n if (is(element, 'bpmn:EndEvent')) {\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n } else if (is(element, 'bpmn:SequenceFlow')) {\r\n if (is(element.businessObject.sourceRef, 'bpmn:Task')) {\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n }\r\n if (entries['replace']) {\r\n return {\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete']\r\n };\r\n }\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n } else if (is(element, 'bpmn:Gateway')) {\r\n return {\r\n 'append.user-task': entries['append.user-task'],\r\n 'append.service-task': entries['append.service-task'],\r\n 'append.gateway': entries['append.gateway'],\r\n 'append.end-event': entries['append.end-event'],\r\n 'connect': entries['connect'],\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete']\r\n };\r\n }\r\n return {\r\n 'append.user-task': entries['append.user-task'],\r\n 'append.service-task': entries['append.service-task'],\r\n 'append.gateway': entries['append.gateway'],\r\n 'append.end-event': entries['append.end-event'],\r\n 'connect': entries['connect'],\r\n 'delete': entries['delete']\r\n };\r\n };\r\n }\r\n\r\n private getReplaceMenuPosition(element: any) {\r\n const pad = this.contextPad.getPad(element).html;\r\n const padRect = pad.getBoundingClientRect();\r\n return {\r\n x: padRect.left,\r\n y: padRect.bottom + 5\r\n };\r\n }\r\n\r\n private createReplaceAction(element: any) {\r\n return {\r\n group: 'edit',\r\n className: 'bpmn-icon-screw-wrench',\r\n title: this.translate('Change type'),\r\n action: {\r\n click: (event: any, element: any) => {\r\n const position = Object.assign(this.getReplaceMenuPosition(element), {\r\n cursor: {\r\n x: event.x,\r\n y: event.y\r\n }\r\n });\r\n this.popupMenu.open(element, 'bpmn-replace', position, {\r\n width: 300,\r\n search: true\r\n });\r\n }\r\n }\r\n };\r\n }\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\n\r\nexport default class CustomReplaceMenuProvider {\r\n public static $inject = [\r\n 'popupMenu'\r\n ];\r\n\r\n constructor(popupMenu: any) {\r\n popupMenu.registerProvider('bpmn-replace', 0, this);\r\n }\r\n\r\n getPopupMenuEntries(element: any) {\r\n return (entries: any) => {\r\n if (is(element, 'bpmn:ExclusiveGateway')) {\r\n return {\r\n 'replace-with-parallel-gateway': entries['replace-with-parallel-gateway']\r\n };\r\n } else if (is(element, 'bpmn:ParallelGateway')) {\r\n return {\r\n 'replace-with-exclusive-gateway': entries['replace-with-exclusive-gateway']\r\n };\r\n }\r\n return entries;\r\n };\r\n }\r\n}\r\n","import HideOtherPaletteProvider from './HideOtherPaletteProvider';\r\nimport HideOtherContextPadProvider from \"./HideOtherContextPadProvider\";\r\nimport CustomReplaceMenuProvider from \"./CustomReplaceMenuProvider\";\r\n\r\nexport default {\r\n __init__: ['hideOtherPaletteProvider', 'hideOtherContextPadProvider', 'gatewayReplaceMenuProvider'],\r\n hideOtherPaletteProvider: ['type', HideOtherPaletteProvider],\r\n hideOtherContextPadProvider: ['type', HideOtherContextPadProvider],\r\n gatewayReplaceMenuProvider: ['type', CustomReplaceMenuProvider]\r\n};\r\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef} from '@angular/core';\r\n\r\ndeclare var monaco: any;\r\n\r\n@Component({\r\n selector: 'rs-code-editor',\r\n templateUrl: './code-editor.component.html',\r\n styleUrls: ['./code-editor.component.scss']\r\n})\r\nexport class CodeEditorComponent implements OnInit {\r\n @Input()\r\n set code(code: string) {\r\n this._code = code || '';\r\n this._editor?.setValue(this._code);\r\n }\r\n\r\n get code() {\r\n return this._code;\r\n }\r\n\r\n private _code: string = '';\r\n @Output()\r\n codeChange = new EventEmitter<string>();\r\n @Input()\r\n language: string = 'java';\r\n @Input()\r\n readonly: boolean = false;\r\n @Input()\r\n enableMinimap: boolean = false;\r\n @Input()\r\n consoleMessage?: string;\r\n @Output()\r\n onContentReady = new EventEmitter<any>();\r\n private _editor: any;\r\n @ViewChild('editorContainer', {static: true}) editorContainer!: ElementRef;\r\n loading = true;\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const baseUrl = './assets/monaco-editor/min/vs';\r\n const loaderScript: HTMLScriptElement = document.createElement('script');\r\n loaderScript.type = 'text/javascript';\r\n loaderScript.src = `${baseUrl}/loader.js`;\r\n loaderScript.addEventListener('load', () => {\r\n (<any>window).require.config({paths: {'vs': `${baseUrl}`}});\r\n (<any>window).require([`vs/editor/editor.main`], () => {\r\n this.initMonaco();\r\n });\r\n });\r\n document.body.appendChild(loaderScript);\r\n }\r\n\r\n private initMonaco() {\r\n this._editor = monaco.editor.create(this.editorContainer.nativeElement, {\r\n value: this.code,\r\n language: this.language,\r\n automaticLayout: true,\r\n readOnly: this.readonly,\r\n minimap: {\r\n enabled: this.enableMinimap\r\n }\r\n });\r\n this._editor.onDidChangeModelContent((e: any) => {\r\n this.codeChange.emit(this._editor.getValue());\r\n });\r\n this.onContentReady.emit(this._editor);\r\n this.loading = false;\r\n }\r\n}\r\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<div class=\"editor-container\" #editorContainer></div>\r\n<div *ngIf=\"consoleMessage\" class=\"editor-console\">{{ consoleMessage }}</div>\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport BpmnModeler from 'camunda-bpmn-js/lib/camunda-platform/Modeler';\r\nimport customTranslateModule from './custom/translate';\r\nimport customUserTaskModule from './custom/user-task';\r\nimport customServiceTaskModule from './custom/service-task';\r\nimport customHideOtherModule from './custom/hide-other';\r\n\r\n@Component({\r\n selector: 'rs-camunda-bpmn-editor',\r\n templateUrl: './camunda-bpmn-editor.component.html',\r\n styleUrls: ['./camunda-bpmn-editor.component.scss']\r\n})\r\nexport class CamundaBpmnEditorComponent {\r\n @Input()\r\n set xml(xml: any) {\r\n this._xml = xml;\r\n setTimeout(() => {\r\n this.loadXml();\r\n });\r\n }\r\n\r\n get xml() {\r\n return this._xml;\r\n }\r\n\r\n private _xml: any;\r\n @Output()\r\n selectedNodeChanged = new EventEmitter<{ element: any, util?: any }>();\r\n @ViewChild('bpmnContainer') bpmnContainer?: ElementRef;\r\n @ViewChild('bpmnConfig') bpmnConfig?: ElementRef;\r\n private modeler: any;\r\n private canvas: any;\r\n protected isShowXml = false;\r\n protected isShowConfig = false;\r\n private initialDiagram =\r\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' +\r\n '<bpmn:definitions xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ' +\r\n 'xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" ' +\r\n 'xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" ' +\r\n 'xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" ' +\r\n 'targetNamespace=\"http://bpmn.io/schema/bpmn\" ' +\r\n 'id=\"Definitions_1\">' +\r\n '<bpmn:process id=\"Process_1\" isExecutable=\"true\">' +\r\n '<bpmn:startEvent id=\"StartEvent_1\"/>' +\r\n '</bpmn:process>' +\r\n '<bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">' +\r\n '<bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">' +\r\n '<bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">' +\r\n '<dc:Bounds height=\"36.0\" width=\"36.0\" x=\"173.0\" y=\"102.0\"/>' +\r\n '</bpmndi:BPMNShape>' +\r\n '</bpmndi:BPMNPlane>' +\r\n '</bpmndi:BPMNDiagram>' +\r\n '</bpmn:definitions>';\r\n\r\n ngOnInit() {\r\n if (!this.xml) {\r\n this.xml = this.initialDiagram;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.modeler = new BpmnModeler({\r\n container: this.bpmnContainer?.nativeElement,\r\n propertiesPanel: {\r\n parent: this.bpmnConfig?.nativeElement,\r\n },\r\n keyboard: {\r\n bindTo: document,\r\n },\r\n additionalModules: [\r\n customTranslateModule,\r\n customUserTaskModule,\r\n customServiceTaskModule,\r\n customHideOtherModule,\r\n ]\r\n });\r\n const logo = this.modeler._container.querySelector('.bjs-powered-by');\r\n if (logo) {\r\n this.modeler._container.removeChild(logo);\r\n }\r\n this.modeler.get('palette')._toggleState({twoColumn: false});\r\n this.canvas = this.modeler.get('canvas');\r\n const eventBus = this.modeler.get('eventBus');\r\n eventBus.on(['propertiesPanel.updated'], ($event: any) => {\r\n if (Array.isArray($event.element)) {\r\n this.selectedNodeChanged.emit();\r\n } else {\r\n this.selectedNodeChanged.emit({\r\n element: $event.element,\r\n util: {\r\n bpmnFactory: this.modeler.get('bpmnFactory'),\r\n modeling: this.modeler.get('modeling'),\r\n elementRegistry: this.modeler.get('elementRegistry')\r\n }\r\n });\r\n }\r\n });\r\n this.loadXml();\r\n }\r\n\r\n loadXml() {\r\n this.modeler.importXML(this.xml).then(() => {\r\n this.canvas.zoom('fit-viewport');\r\n });\r\n }\r\n\r\n showXml() {\r\n if (!this.isShowXml) {\r\n this.saveXml((xml: any) => {\r\n this.xml = xml;\r\n })\r\n }\r\n this.isShowXml = !this.isShowXml;\r\n }\r\n\r\n public saveXml(callback?: any) {\r\n this.modeler.saveXML({format: true}).then((response: any) => {\r\n if (callback) {\r\n callback(response.xml);\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer></div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CodeEditorComponent} from './code-editor.component';\r\nimport {DxLoadPanelModule} from \"devextreme-angular\";\r\nimport {DxoPositionModule} from \"devextreme-angular/ui/nested\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CodeEditorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DxLoadPanelModule,\r\n DxoPositionModule\r\n ],\r\n exports: [\r\n CodeEditorComponent\r\n ]\r\n})\r\nexport class CodeEditorModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CamundaBpmnEditorComponent} from './camunda-bpmn-editor.component';\r\nimport {CodeEditorModule} from \"../code-editor/code-editor.module\";\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CamundaBpmnEditorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CodeEditorModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n CamundaBpmnEditorComponent\r\n ]\r\n})\r\nexport class CamundaBpmnEditorModule {\r\n}\r\n","import {Component, ElementRef, Input, ViewChild} from '@angular/core';\nimport Viewer from \"camunda-bpmn-js/lib/camunda-platform/NavigatedViewer\";\n\n@Component({\n selector: 'rs-camunda-bpmn-viewer',\n templateUrl: './camunda-bpmn-viewer.component.html',\n styleUrls: ['./camunda-bpmn-viewer.component.scss']\n})\nexport class CamundaBpmnViewerComponent {\n @Input()\n set xml(xml: any) {\n this._xml = xml;\n setTimeout(() => {\n this.loadXml();\n });\n }\n\n get xml() {\n return this._xml;\n }\n\n private _xml: any;\n @Input()\n activeActivities: any[] = [];\n private viewer: any;\n private canvas: any;\n @ViewChild('viewerContainer') viewerContainer!: ElementRef;\n\n ngAfterViewInit() {\n this.viewer = new Viewer({\n container: this.viewerContainer.nativeElement,\n keyboard: {\n bindTo: document,\n }\n });\n const logo = this.viewer._container.querySelector('.bjs-powered-by');\n if (logo) {\n this.viewer._container.removeChild(logo);\n }\n this.canvas = this.viewer.get('canvas');\n this.loadXml();\n }\n\n loadXml() {\n if (!this.xml) {\n return;\n }\n this.viewer.importXML(this.xml).then(() => {\n this.canvas.zoom('fit-viewport');\n for (const activity of this.activeActivities || []) {\n this.canvas.addMarker(activity, 'process-active-node');\n }\n });\n }\n}\n","<div class=\"container\" #viewerContainer></div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CamundaBpmnViewerComponent} from './camunda-bpmn-viewer.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n CamundaBpmnViewerComponent\n ],\n imports: [\n CommonModule,\n DevExtremeModule\n ],\n exports: [\n CamundaBpmnViewerComponent\n ]\n})\nexport class CamundaBpmnViewerModule {\n}\n","import {EventEmitter, Injectable} from '@angular/core';\r\nimport {HttpClient} from \"@angular/common/http\";\r\nimport {map, Observable, shareReplay} from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class DataGridService {\r\n cellTemplateLoaded$ = new EventEmitter<void>();\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getMetadataByView(tenant: any, className: any, view?: any) {\r\n return this.http.get<any>('api/metadata/view/' + className, {\r\n params: {\r\n tenant,\r\n view: view || ''\r\n }\r\n });\r\n }\r\n\r\n getOne(tenant: any, className: any, oid: any, template?: any) {\r\n let api = 'api/data/' + className + '/' + oid;\r\n return this.http.get<any>(api, {\r\n params: {\r\n tenant,\r\n template: template || ''\r\n }\r\n });\r\n }\r\n\r\n getOneByFilter(tenant: any, className: any, key: any, value: any, view?: any) {\r\n let api = 'api/data/' + className;\r\n return this.http.get<any>(api, {\r\n params: {\r\n tenant,\r\n view: view || '',\r\n filter: '[\"' + key + '\",\"=\",\"' + value + '\"]',\r\n limit: 1\r\n }\r\n }).pipe(\r\n map(response => {\r\n if (response.data.count === 1) {\r\n return response.data.list[0];\r\n }\r\n return {};\r\n })\r\n );\r\n }\r\n\r\n getMany(tenant: any, className: any, params: any) {\r\n const api = 'api/data/' + className;\r\n return this.http.get<any>(api + params, {\r\n params: {\r\n tenant\r\n }\r\n }).pipe(\r\n map(response => {\r\n return {\r\n data: response.data.list,\r\n totalCount: response.data.count\r\n }\r\n })\r\n );\r\n }\r\n\r\n getConstraintEntries(name: string) {\r\n return this.http.get<any>('api/metadata/constraint/' + name).pipe(\r\n map(response => {\r\n return response.data;\r\n })\r\n );\r\n }\r\n\r\n getUserColumnDataSource(tenant: any, className: any, view: any, field: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.data.grid.header.filter.GetUserColumnDataSource',\r\n tenant,\r\n className,\r\n view: view || '',\r\n field\r\n }\r\n }).pipe(\r\n map(response => {\r\n response.data.list.unshift({\r\n value: '',\r\n text: '(空白)'\r\n });\r\n response.data.list.push({\r\n value: '__',\r\n text: '',\r\n visible: false\r\n });\r\n return response.data.list;\r\n })\r\n );\r\n }\r\n\r\n getUnitColumnDataSource(tenant: any, className: any, view: any, field: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.data.grid.header.filter.GetUnitColumnDataSource',\r\n tenant,\r\n className,\r\n view: view || '',\r\n field\r\n }\r\n }).pipe(\r\n map(response => {\r\n response.data.list.unshift({\r\n value: '',\r\n text: '(空白)'\r\n });\r\n response.data.list.push({\r\n value: '__',\r\n text: '',\r\n visible: false\r\n });\r\n return response.data.list;\r\n })\r\n );\r\n }\r\n\r\n getConstraintColumnDataSource(tenant: any, className: any, view: any, field: any, constraintName: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.data.grid.header.filter.GetConstraintColumnDataSource',\r\n tenant,\r\n className,\r\n view: view || '',\r\n field,\r\n constraintName\r\n }\r\n }).pipe(\r\n map(response => {\r\n response.data.list.unshift({\r\n value: '',\r\n text: '(空白)'\r\n });\r\n response.data.list.push({\r\n value: '__',\r\n text: '',\r\n visible: false\r\n });\r\n return response.data.list;\r\n })\r\n );\r\n }\r\n\r\n getColumnDataSource(tenant: any, className: any, view: any, field: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.data.grid.header.filter.GetColumnDataSource',\r\n tenant,\r\n className,\r\n view: view || '',\r\n field\r\n }\r\n }).pipe(\r\n map(response => {\r\n return response.data.list;\r\n })\r\n );\r\n }\r\n\r\n downloadAttachment(id: any) {\r\n return this.http.get('api/file/download/' + id, {\r\n responseType: \"blob\"\r\n });\r\n }\r\n\r\n userInfoCache: any = {};\r\n\r\n getUserInfo(uid: any): Observable<any> {\r\n if (!this.userInfoCache.hasOwnProperty(uid)) {\r\n this.userInfoCache[uid] = this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.user.GetUserInfo',\r\n uid\r\n }\r\n }).pipe(\r\n shareReplay(1),\r\n map(response => {\r\n return response.data;\r\n })\r\n );\r\n }\r\n return this.userInfoCache[uid];\r\n }\r\n\r\n unitInfoCache: any = {};\r\n\r\n getUnitInfo(uid: any): Observable<any> {\r\n if (!this.unitInfoCache.hasOwnProperty(uid)) {\r\n this.unitInfoCache[uid] = this.http.get<any>('api/data/custom', {\r\n params: {\r\n executor: 'com.cs.system.user.GetUnitInfo',\r\n uid\r\n }\r\n }).pipe(\r\n shareReplay(1),\r\n map(response => {\r\n return response.data;\r\n })\r\n );\r\n }\r\n return this.unitInfoCache[uid];\r\n }\r\n}\r\n","import {Directive, TemplateRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsRowButtonsTemplate]'\r\n})\r\nexport class RowButtonsTemplateDirective {\r\n constructor(public templateRef: TemplateRef<unknown>) {\r\n }\r\n}\r\n","import notify from \"devextreme/ui/notify\";\r\nimport {DxValidationGroupComponent, DxValidatorComponent} from \"devextreme-angular\";\r\nimport {formatDate} from \"@angular/common\";\r\n\r\nexport function notify_error(message: string) {\r\n notify({\r\n displayTime: 12000,\r\n message,\r\n type: 'error',\r\n width: '300px'\r\n }, {\r\n direction: 'up-push',\r\n position: 'bottom right'\r\n });\r\n}\r\n\r\nexport function notify_warning(message: string) {\r\n notify({\r\n displayTime: 8000,\r\n message,\r\n type: 'warning',\r\n width: '300px'\r\n }, {\r\n direction: 'up-push',\r\n position: 'bottom right'\r\n });\r\n}\r\n\r\nexport function notify_success(message: string) {\r\n notify({\r\n displayTime: 4000,\r\n message,\r\n type: 'success',\r\n width: '300px'\r\n }, {\r\n direction: 'down-push',\r\n position: 'top right'\r\n });\r\n}\r\n\r\nexport function format_date(date: Date, locale: string): string {\r\n return formatDate(date, 'yyyy/MM/dd', locale, 'GMT+8');\r\n}\r\n\r\nexport function format_datetime(date: Date, locale: string): string {\r\n return formatDate(date, 'yyyy/MM/dd HH:mm:ss', locale, 'GMT+8');\r\n}\r\n\r\nexport function localeSortMethod(value1: string, value2: string) {\r\n return value1.localeCompare(value2);\r\n}\r\n\r\nexport function file_type_icon(name: string): string {\r\n const type = name.substring(name.lastIndexOf('.') + 1).toLocaleLowerCase();\r\n switch (type) {\r\n case 'doc':\r\n case 'docx':\r\n return 'word';\r\n case 'xls':\r\n case 'xlsx':\r\n case 'csv':\r\n return 'excel';\r\n case 'ppt':\r\n case 'pptx':\r\n return 'ppt';\r\n case 'pdf':\r\n return 'pdf';\r\n case 'txt':\r\n case 'xml':\r\n case 'json':\r\n case 'js':\r\n return 'text';\r\n case 'png':\r\n case 'jpg':\r\n case 'jpeg':\r\n case 'gif':\r\n case 'bmp':\r\n return 'image';\r\n case 'zip':\r\n case 'rar':\r\n case '7z':\r\n case 'jar':\r\n return 'zip';\r\n default:\r\n return 'unknown';\r\n }\r\n}\r\n\r\nexport function support_preview_ext(): string[] {\r\n return ['pdf', 'png', 'jpg', 'jpeg', 'gif', 'bmp', 'doc', 'docx', 'txt', 'xml', 'json', 'js', 'xls', 'xlsx', 'csv', 'ppt', 'pptx'];\r\n}\r\n\r\nexport function format_file_size(size: number): string {\r\n const labels = ['b', 'Kb', 'Mb', 'Gb'];\r\n const count = labels.length - 1;\r\n let i = 0;\r\n while (i < count && size >= 1024) {\r\n size /= 1024;\r\n i++;\r\n }\r\n return Math.round(size * 100) / 100 + \" \" + labels[i];\r\n}\r\n\r\nexport function filename_from_disposition(disposition: string) {\r\n const filenamePair = disposition.split(';').filter(str => /^filename=/.test(str.trim())).pop();\r\n if (filenamePair) {\r\n let str = filenamePair.trim();\r\n str = str.split('=')[1];\r\n str = str.replace(/['\"]/g, '');\r\n return decodeURIComponent(str);\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nexport function download_file(blob: Blob, filename: string, callback?: Function) {\r\n const url = window.webkitURL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n a.setAttribute('style', 'display:none');\r\n a.setAttribute('href', url);\r\n a.setAttribute('download', decodeURIComponent(filename));\r\n a.click();\r\n setTimeout(() => {\r\n if (callback) {\r\n callback();\r\n }\r\n a.remove();\r\n });\r\n}\r\n\r\nexport async function validate(validator: DxValidatorComponent): Promise<boolean> {\r\n return new Promise<boolean>(resolve => {\r\n const validateResult = validator.instance.validate();\r\n if (!validateResult.isValid) {\r\n resolve(false);\r\n }\r\n if (validateResult.status === 'pending') {\r\n validateResult.complete?.then((result: any) => {\r\n if (result.isValid) {\r\n resolve(true);\r\n } else {\r\n resolve(false);\r\n }\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n });\r\n}\r\n\r\nexport async function validate_group(validationGroup: DxValidationGroupComponent): Promise<boolean> {\r\n const top = (validationGroup as any).element.nativeElement;\r\n let sourceNode;\r\n const targetClassName = 'dx-field';\r\n const findTargetNode = (node: any) => {\r\n sourceNode = node;\r\n while (true) {\r\n if (node.classList.contains(targetClassName)) {\r\n return node;\r\n } else {\r\n node = node.parentElement;\r\n if (node === top) {\r\n return sourceNode;\r\n }\r\n }\r\n }\r\n };\r\n return new Promise<boolean>(resolve => {\r\n const validateResult = validationGroup.instance.validate();\r\n if (!validateResult.isValid) {\r\n const brokenElement = (validateResult.brokenRules?.[0] as any).validator.element();\r\n findTargetNode(brokenElement).scrollIntoView();\r\n resolve(false);\r\n }\r\n if (validateResult.status === 'pending') {\r\n validateResult.complete?.then((result: any) => {\r\n if (result.isValid) {\r\n resolve(true);\r\n } else {\r\n const brokenElement = (result.brokenRules?.[0] as any).validator.element();\r\n findTargetNode(brokenElement).scrollIntoView();\r\n resolve(false);\r\n }\r\n });\r\n } else {\r\n resolve(true);\r\n }\r\n });\r\n}\r\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[rsCustomTemplate]'\n})\nexport class CustomTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\n","import CustomStore from \"devextreme/data/custom_store\";\r\nimport {lastValueFrom, map, Observable, Subject} from \"rxjs\";\r\nimport {Column} from \"devextreme/ui/data_grid\";\r\nimport {Injectable} from \"@angular/core\";\r\nimport {DataGridService} from \"./data-grid.service\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataGridFactory {\r\n constructor(private http: HttpClient) {\r\n this.service = new DataGridService(http);\r\n }\r\n\r\n private service!: DataGridService;\r\n\r\n private typeMap: any = {\r\n STRING: {\r\n dataType: 'string',\r\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\r\n },\r\n TEXT: {\r\n dataType: 'string',\r\n filterOperations: ['contains', 'startswith', 'endswith', '=', '<>']\r\n },\r\n BOOLEAN: {\r\n dataType: 'boolean',\r\n filterOperations: []\r\n },\r\n INTEGER: {\r\n dataType: 'number',\r\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\r\n },\r\n DOUBLE: {\r\n dataType: 'number',\r\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between']\r\n },\r\n DATE: {\r\n dataType: 'date',\r\n filterOperations: ['=', '<>', '>', '>=', '<', '<=', 'between'],\r\n format: 'yyyy/MM/dd'\r\n },\r\n DATETIME: {\r\n dataType: 'datetime',\r\n filterOperations: ['>', '<', 'between'],\r\n format: 'yyyy/MM/dd HH:mm:ss'\r\n }\r\n };\r\n\r\n public makeDataGridColumns(tenant: any, className: any, view: any): Observable<any> {\r\n const result = new Subject();\r\n this.service.getMetadataByView(tenant, className, view || '').subscribe(response => {\r\n const columns = [];\r\n for (let field of response.data.columns) {\r\n let column: any;\r\n switch (field.type) {\r\n case 'FILE':\r\n column = {\r\n dataField: field.name,\r\n caption: field.caption,\r\n dataType: 'string',\r\n cssClass: 'cell-vertical-middle',\r\n allowHeaderFiltering: false,\r\n allowFiltering: false,\r\n allowSorting: false,\r\n cellTemplate: 'fileCellTemplate',\r\n renderAsync: true,\r\n visible: field.visible,\r\n fixed: field.fixed\r\n };\r\n break;\r\n case 'NORMAL':\r\n column = {\r\n dataField: field.name,\r\n caption: field.caption,\r\n dataType: this.typeMap[field.dataType].dataType,\r\n alignment: 'left',\r\n cssClass: 'cell-vertical-middle',\r\n allowHeaderFiltering: true,\r\n headerFilter: {\r\n allowSelectAll: false\r\n },\r\n filterOperations: this.typeMap[field.dataType].filterOperations,\r\n format: this.typeMap[field.dataType].format,\r\n visible: field.visible,\r\n fixed: field.fixed\r\n };\r\n switch (field.dataType) {\r\n case 'BOOLEAN':\r\n column.allowHeaderFiltering = false;\r\n column.alignment = 'center';\r\n column.trueText = '是';\r\n column.falseText = '否';\r\n break;\r\n case 'DATE':\r\n case 'DATETIME':\r\n column.headerFilter.dataSource = (options: any) => {\r\n options.dataSource.group.length = 3;\r\n options.dataSource.postProcess = (data: any) => {\r\n data.forEach((year: any) => {\r\n year.text = year.key + '年';\r\n year.items.forEach((month: any) => {\r\n month.text = month.key + '月';\r\n month.items.forEach((day: any) => {\r\n day.text = day.key + '日';\r\n day.items = [];\r\n });\r\n });\r\n });\r\n data.unshift({\r\n key: '',\r\n value: null,\r\n text: '(空白)'\r\n });\r\n };\r\n };\r\n break;\r\n case 'DOUBLE':\r\n case 'INTEGER':\r\n column.headerFilter.dataSource = (options: any) => {\r\n options.dataSource.postProcess = (data: any) => {\r\n data.unshift({\r\n key: '',\r\n value: null,\r\n text: '(空白)'\r\n });\r\n data.push({\r\n key: '__',\r\n value: '__',\r\n text: '__',\r\n visible: false\r\n });\r\n };\r\n };\r\n break;\r\n case 'STRING':\r\n column.headerFilter.dataSource = (options: any) => {\r\n options.dataSource.postProcess = (data: any) => {\r\n data.unshift({\r\n key: '',\r\n value: null,\r\n text: '(空白)'\r\n });\r\n data.push({\r\n key: '__',\r\n value: '__',\r\n text: '__',\r\n visible: false\r\n });\r\n };\r\n };\r\n switch (field.config.constraint.type) {\r\n case 'USER':\r\n column.userInfo = {\r\n field: field.name\r\n };\r\n column.cellTemplate = 'userCellTemplate';\r\n column.headerFilter.dataSource = {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getUserColumnDataSource(tenant, className, view, field.name));\r\n }\r\n }),\r\n paginate: true\r\n };\r\n if (field.config.constraint.multiple) {\r\n column.allowFiltering = false;\r\n column.lookup = {\r\n dataSource: {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getUserColumnDataSource(tenant, className, view, field.name));\r\n }\r\n }),\r\n paginate: true\r\n },\r\n valueExpr: 'value',\r\n displayExpr: 'text'\r\n };\r\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (this.defaultCalculateFilterExpression) {\r\n if (!filterValue) {\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, '=', target]);\r\n }\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);\r\n }\r\n return '';\r\n };\r\n } else {\r\n column.dataField = '__' + field.name + '\\u0001User_displayName';\r\n column.calculateFilterExpression = function (this: any, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (target === 'headerFilter') {\r\n if (this.defaultCalculateFilterExpression) {\r\n this.dataField = '__' + field.name + '\\u0001User_username';\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);\r\n }\r\n }\r\n return [\r\n [column.name, selectedFilterOperation, filterValue],\r\n 'or',\r\n ['__' + field.name + '\\u0001User_username', selectedFilterOperation, filterValue]\r\n ];\r\n };\r\n }\r\n break;\r\n case 'UNIT':\r\n column.unitInfo = {\r\n field: field.name\r\n };\r\n column.cellTemplate = 'unitCellTemplate';\r\n column.headerFilter.dataSource = {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getUnitColumnDataSource(tenant, className, view, field.name));\r\n }\r\n }),\r\n paginate: true\r\n };\r\n if (field.config.constraint.multiple) {\r\n column.allowFiltering = false;\r\n column.lookup = {\r\n dataSource: {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getUnitColumnDataSource(tenant, className, view, field.name));\r\n }\r\n }),\r\n paginate: true\r\n },\r\n valueExpr: 'value',\r\n displayExpr: 'text'\r\n };\r\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (this.defaultCalculateFilterExpression) {\r\n if (!filterValue) {\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, '=', target]);\r\n }\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);\r\n }\r\n return '';\r\n };\r\n } else {\r\n column.dataField = '__' + field.name + '\\u0001Unit_displayName';\r\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (target === 'headerFilter') {\r\n if (this.defaultCalculateFilterExpression) {\r\n this.dataField = '__' + field.name + '\\u0001Unit_name';\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, selectedFilterOperation, target]);\r\n }\r\n }\r\n return [\r\n [column.name, selectedFilterOperation, filterValue],\r\n 'or',\r\n ['__' + field.name + '\\u0001Unit_name', selectedFilterOperation, filterValue]\r\n ];\r\n };\r\n }\r\n break;\r\n case 'CUSTOM':\r\n column.headerFilter.dataSource = {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getConstraintColumnDataSource(tenant, className, view, field.name, field.config.constraint.name));\r\n }\r\n }),\r\n paginate: true\r\n };\r\n column.lookup = {\r\n dataSource: {\r\n store: new CustomStore({\r\n load: () => {\r\n return lastValueFrom(this.service.getConstraintEntries(field.config.constraint.name));\r\n }\r\n }),\r\n paginate: true\r\n },\r\n valueExpr: 'store',\r\n displayExpr: 'display'\r\n };\r\n column.filterOperations = [];\r\n if (field.config.constraint.multiple) {\r\n column.calculateFilterExpression = function (this: Column, filterValue: any, selectedFilterOperation: any, target: string) {\r\n if (this.defaultCalculateFilterExpression) {\r\n if (!filterValue) {\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, '=', target]);\r\n }\r\n return this.defaultCalculateFilterExpression.apply(this, [filterValue, 'contains', target]);\r\n }\r\n return '';\r\n };\r\n }\r\n column.cellTemplate = 'multipleValueCellTemplate';\r\n break;\r\n default:\r\n // column.cellTemplate = 'textCellTemplate';\r\n break;\r\n }\r\n break;\r\n case 'TEXT':\r\n column.allowHeaderFiltering = false;\r\n column.width = 240;\r\n column.cellTemplate = 'textCellTemplate';\r\n break;\r\n }\r\n break;\r\n case 'RELATION':\r\n column = {\r\n dataField: field.name,\r\n caption: field.caption,\r\n dataType: 'string',\r\n alignment: 'left',\r\n cssClass: 'cell-vertical-middle',\r\n allowHeaderFiltering: false,\r\n allowFiltering: false,\r\n allowSorting: false,\r\n visible: field.visible,\r\n fixed: field.fixed\r\n };\r\n switch (field.relationType) {\r\n case 'MANY_TO_ONE':\r\n case 'ONE_TO_ONE':\r\n column.allowFiltering = true;\r\n column.filterOperations = ['='];\r\n break;\r\n default:\r\n column.cellTemplate = 'multipleValueCellTemplate';\r\n break;\r\n }\r\n }\r\n columns.push(column);\r\n }\r\n result.next(columns);\r\n });\r\n return result;\r\n }\r\n\r\n public makeDataGridDataSource(tenant: any, className: any, view: any, extraFilter: any, keyExpr?: string, dataGridName?: string): CustomStore {\r\n if (!keyExpr) {\r\n keyExpr = 'oid';\r\n }\r\n return new CustomStore({\r\n key: keyExpr,\r\n byKey: (key: any) => {\r\n if (keyExpr === 'oid') {\r\n return lastValueFrom(this.service.getOne(tenant, className, key).pipe(map(response => response.data)));\r\n } else {\r\n return lastValueFrom(this.service.getOneByFilter(tenant, className, keyExpr, key, view));\r\n }\r\n },\r\n load: (loadOptions: any) => {\r\n if (loadOptions.dataField) {\r\n // 未重写headerFilter的dataSource时,headerFilter会调用load方法加载筛选树,重写该方法查询该表所有数据\r\n // 该方式存在风险,无法识别DevExtreme一定是通过headerFilter过滤才存在dataField参数\r\n return lastValueFrom(this.service.getColumnDataSource(tenant, className, view, loadOptions.dataField));\r\n }\r\n let params = '?';\r\n if (loadOptions.skip || loadOptions.take) {\r\n params += 'offset=' + loadOptions.skip;\r\n params += '&limit=' + loadOptions.take;\r\n } else {\r\n params += 'limit=0';\r\n }\r\n if (loadOptions.sort) {\r\n let first = true;\r\n for (const thisSort of loadOptions.sort) {\r\n if (first) {\r\n params += '&orderBy=' + thisSort.selector;\r\n } else {\r\n params += ',' + thisSort.selector;\r\n }\r\n if (thisSort.desc) {\r\n params += ' desc';\r\n }\r\n first = false;\r\n }\r\n }\r\n let filter;\r\n if (loadOptions.filter) {\r\n filter = loadOptions.filter;\r\n }\r\n if (extraFilter) {\r\n if (!Array.isArray(extraFilter)) {\r\n extraFilter = JSON.parse(extraFilter);\r\n }\r\n if (filter) {\r\n filter = [filter, 'and', extraFilter];\r\n } else {\r\n filter = extraFilter;\r\n }\r\n }\r\n if (filter) {\r\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\r\n }\r\n params += '&view=' + (view || '');\r\n if (dataGridName) {\r\n params += '&dataGridName=' + dataGridName;\r\n }\r\n return lastValueFrom(this.service.getMany(tenant, className, params));\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {DataGridService} from \"../data-grid.service\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\nimport {download_file, file_type_icon, format_file_size, notify_warning, support_preview_ext} from \"../../util/utils\";\r\n\r\n@Component({\r\n selector: 'rs-file-cell-template',\r\n templateUrl: './file-cell-template.component.html',\r\n styleUrls: ['./file-cell-template.component.scss']\r\n})\r\nexport class FileCellTemplateComponent {\r\n @Input()\r\n file: any;\r\n filename: any;\r\n content: any;\r\n icon: any;\r\n supportPreview = false;\r\n loading = false;\r\n\r\n constructor(private service: DataGridService, private domSanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.filename = this.file.name;\r\n let extName = '';\r\n if (this.filename.indexOf('.') > -1) {\r\n extName = this.filename.substring(this.filename.lastIndexOf('.') + 1).toLowerCase();\r\n }\r\n this.supportPreview = support_preview_ext().indexOf(extName) > -1;\r\n this.content = this.domSanitizer.bypassSecurityTrustHtml(`\r\n <table>\r\n <tr>\r\n <td style=\"text-align: right;\">名称:</td>\r\n <td style=\"text-align: left;\">${this.filename}</td>\r\n </tr>\r\n <tr>\r\n <td style=\"text-align: right;\">大小:</td>\r\n <td style=\"text-align: left;\">${format_file_size(this.file.size)}</td>\r\n </tr>\r\n <tr>\r\n <td style=\"text-align: right;\">时间:</td>\r\n <td style=\"text-align: left;\">${this.file.time}</td>\r\n </tr>\r\n </table>\r\n `);\r\n this.icon = file_type_icon(this.filename);\r\n }\r\n\r\n preview(tooltip: any) {\r\n if (!(window as any).coast.tabManager) {\r\n notify_warning('此操作仅能在coast-web项目中执行,type:preview');\r\n return;\r\n }\r\n (window as any).coast.tabManager.add.next({\r\n type: 'preview',\r\n id: 'preview:' + this.file.oid,\r\n title: this.filename,\r\n config: {\r\n config: {\r\n direction: \"row\",\r\n list: [{\r\n type: \"plugin\",\r\n style: {},\r\n config: {\r\n name: \"coast-file-preview\",\r\n pluginConfig: {\r\n id: this.file.oid,\r\n name: this.filename\r\n }\r\n }\r\n }]\r\n }\r\n }\r\n });\r\n tooltip.instance.hide();\r\n }\r\n\r\n download() {\r\n this.loading = true;\r\n this.service.downloadAttachment(this.file.oid).subscribe(blob => {\r\n download_file(blob, this.filename, () => {\r\n this.loading = false;\r\n });\r\n });\r\n }\r\n}\r\n","<dx-button #fileBtn type=\"default\" stylingMode=\"text\" (onClick)=\"$event.event?.stopPropagation()\">\r\n <i class=\"coast-icon-file-{{icon}}\" style=\"padding-right: 4px;\"></i>\r\n {{ filename }}\r\n <dx-tooltip #tooltip\r\n [target]=\"fileBtn.instance.element()\"\r\n [position]=\"'top'\"\r\n [visible]=\"false\"\r\n [showEvent]=\"'click'\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <div [innerHTML]=\"content\"></div>\r\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-file\" text=\"预览\"\r\n (onClick)=\"preview(tooltip)\" [disabled]=\"!supportPreview || loading\"></dx-button>\r\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-download\" text=\"下载\"\r\n (onClick)=\"download()\" [disabled]=\"loading\"></dx-button>\r\n </div>\r\n </dx-tooltip>\r\n</dx-button><br/>\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Injectable()\r\nexport class DataDetailService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getInstanceSections(tenant: any, className: any, oid: any) {\r\n return this.http.get<any>('api/data/custom', {\r\n params: {\r\n tenant,\r\n className,\r\n oid,\r\n executor: 'com.cs.system.section.GetInstanceSections'\r\n }\r\n });\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from \"@angular/common/http\";\r\nimport {map} from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class FormService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getFormTemplateConfig(tenant: any, className: any, template?: any) {\r\n return this.http.get<any>('api/metadata/form/' + className, {\r\n params: {\r\n tenant,\r\n template: template || ''\r\n }\r\n });\r\n }\r\n\r\n getOne(tenant: any, className: any, oid: any, template?: any, isCopy?: any) {\r\n let api = 'api/data/' + className + '/' + oid;\r\n return this.http.get<any>(api, {\r\n params: {\r\n tenant,\r\n template: template || '',\r\n isCopy: !!isCopy\r\n }\r\n });\r\n }\r\n\r\n getInitModelByTemplate(tenant: any, className: any, template?: any) {\r\n let api = 'api/data/' + className + '/new';\r\n return this.http.get<any>(api, {\r\n params: {\r\n tenant,\r\n className,\r\n template: template || ''\r\n }\r\n });\r\n }\r\n\r\n extraValidate(model: any, params: any, extraValidator: string) {\r\n return this.http.post<any>('api/validate/form', model, {\r\n params: {\r\n validator: extraValidator,\r\n ...params\r\n }\r\n }).pipe(\r\n map(response => {\r\n if (response.success) {\r\n return response.data;\r\n } else {\r\n return {\r\n isValid: false\r\n };\r\n }\r\n })\r\n );\r\n }\r\n\r\n createOrUpdate(tenant: any, className: any, model: any) {\r\n let api = 'api/data/' + className;\r\n if (model.oid) {\r\n api += '/' + model.oid;\r\n }\r\n return this.http.post<any>(api, model, {\r\n params: {\r\n tenant\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {FormService} from \"./form.service\";\r\nimport {DxButtonComponent, DxValidationGroupComponent} from \"devextreme-angular\";\r\nimport {validate_group} from \"../util/utils\";\r\nimport {ChangeFilter} from \"../util/change-filter\";\r\nimport {lastValueFrom, map} from \"rxjs\";\r\n\r\n@Component({\r\n selector: 'rs-form',\r\n templateUrl: './form.component.html',\r\n styleUrls: ['./form.component.scss'],\r\n providers: [FormService]\r\n})\r\nexport class FormComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input()\r\n tenant?: any = 'T';\r\n @Input()\r\n className!: any;\r\n @Input()\r\n oid?: any;\r\n @Input()\r\n copyOid?: any;\r\n @Input()\r\n template?: any;\r\n @Input()\r\n extraAttrMap?: any;\r\n @Input()\r\n opener?: any;\r\n @Input()\r\n params?: any;\r\n @Input()\r\n tabViewContainerRef!: ViewContainerRef;\r\n @Input()\r\n onlyFrontEnd: boolean = false; // 仅前端,不通过oid获取实例model\r\n @Input()\r\n model?: any;\r\n @Input()\r\n readonly: boolean = false;\r\n config: any;\r\n extraValidator?: string;\r\n @ViewChild(DxValidationGroupComponent) validator!: DxValidationGroupComponent;\r\n @ViewChild('formSubmitter') formSubmitter!: DxButtonComponent;\r\n @Output()\r\n onDataLoaded = new EventEmitter<{ config: any, model: any }>();\r\n @Output()\r\n submitCallback = new EventEmitter<any>();\r\n loading = false;\r\n private changeFilter = new ChangeFilter();\r\n protected extraValidateMessage: any;\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef, private service: FormService, private elementRef: ElementRef) {\r\n this.extraValidate = this.extraValidate.bind(this);\r\n }\r\n\r\n ngOnInit() {\r\n this.load();\r\n this.changeFilter.anyNotFirst(['tenant', 'className', 'oid', 'copyOid', 'template'], () => {\r\n this.load();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.changeFilter.doFilter(changes);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.changeFilter.dispose();\r\n }\r\n\r\n load() {\r\n this.loading = true;\r\n this.params = Object.assign(this.params || {}, {\r\n __form: {\r\n tenant: this.tenant,\r\n className: this.className,\r\n oid: this.oid,\r\n copyOid: this.copyOid,\r\n template: this.template\r\n }\r\n });\r\n this.service.getFormTemplateConfig(this.tenant, this.className, this.template).subscribe(response => {\r\n this.config = response.data.template;\r\n this.extraValidator = this.config.extraValidator;\r\n if (this.onlyFrontEnd) {\r\n this.loading = false;\r\n } else if (this.copyOid || this.oid) {\r\n this.service.getOne(this.tenant, this.className, this.copyOid || this.oid, this.template, this.copyOid)\r\n .subscribe(response => {\r\n this.model = response.data;\r\n this.onDataLoaded.emit({\r\n config: this.config,\r\n model: this.model\r\n });\r\n this.loading = false;\r\n });\r\n } else {\r\n this.service.getInitModelByTemplate(this.tenant, this.className, this.template).subscribe(response => {\r\n this.model = response.data;\r\n this.onDataLoaded.emit({\r\n config: this.config,\r\n model: this.model\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected extraValidate() {\r\n return lastValueFrom(this.service.extraValidate(this.model, this.params, <string>this.extraValidator).pipe(\r\n map(response => {\r\n if (!response.isValid) {\r\n this.extraValidateMessage = response.message;\r\n return response;\r\n }\r\n })\r\n ));\r\n }\r\n\r\n protected submitForm() {\r\n this.validate().then(isValid => {\r\n if (isValid) {\r\n const mergeModel: any = {...this.model};\r\n if (this.extraAttrMap) {\r\n for (const entry of this.extraAttrMap) {\r\n mergeModel[entry.name] = entry.value;\r\n }\r\n }\r\n this.service.createOrUpdate(this.tenant, this.className, {\r\n oid: this.oid,\r\n ...mergeModel\r\n }).subscribe(response => {\r\n this.submitCallback.emit(response);\r\n });\r\n } else {\r\n this.submitCallback.emit({success: false});\r\n }\r\n })\r\n }\r\n\r\n scrollToAnchorPoint(anchorPointId: string) {\r\n const points = this.elementRef.nativeElement.getElementsByClassName('__anchor_point_' + anchorPointId);\r\n if (points.length > 0) {\r\n points[0].scrollIntoView();\r\n }\r\n }\r\n\r\n validate() {\r\n return validate_group(this.validator);\r\n }\r\n\r\n submit() {\r\n this.formSubmitter.instance.element().click();\r\n }\r\n}\r\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<dx-validation-group *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [model]=\"model\"\r\n [opener]=\"this\"\r\n [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-text-box height=\"0\" style=\"border: none;\">\r\n <dx-validator>\r\n <dxi-validation-rule *ngIf=\"extraValidator\" type=\"async\"\r\n [validationCallback]=\"extraValidate\"></dxi-validation-rule>\r\n </dx-validator>\r\n </dx-text-box>\r\n <div *ngIf=\"extraValidateMessage\" class=\"dx-field\">\r\n <div class=\"dx-field-value\">\r\n <div class=\"dx-toast-error dx-toast-content\">\r\n <div class=\"dx-toast-message\">{{ extraValidateMessage }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n","import {Component, ViewContainerRef} from '@angular/core';\r\nimport {DataDetailService} from \"./data-detail.service\";\r\n\r\n@Component({\r\n selector: 'coast-data-detail',\r\n templateUrl: './data-detail.component.html',\r\n styleUrls: ['./data-detail.component.scss'],\r\n providers: [DataDetailService]\r\n})\r\nexport class DataDetailComponent {\r\n tenant: any;\r\n className: any;\r\n oid: any;\r\n params?: any;\r\n tabViewContainerRef!: ViewContainerRef;\r\n sections: any[] = [];\r\n loading = false;\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef, private service: DataDetailService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.loading = true;\r\n this.service.getInstanceSections(this.tenant, this.className, this.oid).subscribe(response => {\r\n (window as any).coast.tabManager.setTitle.next({\r\n id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,\r\n title: response.data.title\r\n });\r\n this.sections = response.data.list;\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\r\n <span>您无权查看该数据实例任何信息</span>\r\n</div>\r\n<ng-container *ngIf=\"sections.length > 0\">\r\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\r\n [selectedItems]=\"sections\" [focusStateEnabled]=\"false\">\r\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\r\n <div class=\"section-title-name\">{{ section.name }}</div>\r\n </div>\r\n <div *dxTemplate=\"let section of 'item'\">\r\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\" [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\" [readonly]=\"true\"></rs-form>\r\n </div>\r\n </dx-accordion>\r\n</ng-container>\r\n","import {Component, HostListener, TemplateRef} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-drawer',\r\n templateUrl: './drawer.component.html',\r\n styleUrls: ['./drawer.component.scss']\r\n})\r\nexport class DrawerComponent {\r\n size: 'default' | 'large' | string = 'default';\r\n _width: string = '480px';\r\n headerTemplate?: TemplateRef<any>;\r\n headerTemplateContext: any;\r\n contentTemplate!: TemplateRef<any>;\r\n contentTemplateContext: any;\r\n config: any;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.size === 'default') {\r\n this._width = '480px';\r\n } else if (this.size === 'large') {\r\n this._width = '960px';\r\n } else {\r\n this._width = this.size;\r\n }\r\n }\r\n\r\n hide($event?: any) {\r\n // 在service中重写\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n stopPropagation($event: any) {\r\n $event.stopPropagation();\r\n }\r\n\r\n @HostListener('window:click', ['$event'])\r\n autoHide($event: any) {\r\n if (this.config?.hideOnOutsideClick) {\r\n this.hide();\r\n }\r\n }\r\n}\r\n","<div class=\"drawer\" [class.hide-on-outside-click]=\"config?.hideOnOutsideClick\" [ngStyle]=\"{width: _width}\">\r\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\r\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\r\n </div>\r\n <div class=\"drawer-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div class=\"drawer-close\">\r\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\r\n </div>\r\n</div>\r\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\r\nimport {DrawerComponent} from \"./drawer.component\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DrawerService {\r\n open(viewContainerRef: ViewContainerRef,\r\n size: 'default' | 'large' | string = 'default',\r\n contentTemplate: TemplateRef<any>,\r\n contentTemplateContext: any,\r\n headerTemplate?: TemplateRef<any>,\r\n headerTemplateContext?: any,\r\n config?: any) {\r\n // 若已存在抽屉,先关闭\r\n const drawers = viewContainerRef.element.nativeElement.parentElement.querySelectorAll('RS-DRAWER');\r\n for (let i = 0; i < drawers.length; i++) {\r\n drawers[i].querySelector('.drawer-close .coast-icon-arrow-right-filling').click();\r\n }\r\n const drawerRef = viewContainerRef.createComponent(DrawerComponent);\r\n drawerRef.instance.hide = ($event?: any) => {\r\n $event?.event?.stopPropagation();\r\n drawerRef.hostView.destroy();\r\n }\r\n drawerRef.instance.size = size;\r\n drawerRef.instance.headerTemplate = headerTemplate;\r\n drawerRef.instance.headerTemplateContext = headerTemplateContext;\r\n drawerRef.instance.contentTemplate = contentTemplate;\r\n drawerRef.instance.contentTemplateContext = contentTemplateContext;\r\n drawerRef.instance.config = config || {\r\n hideOnOutsideClick: true\r\n };\r\n return drawerRef.instance;\r\n }\r\n}\r\n","import {Component, Input, TemplateRef, ViewChild} from '@angular/core';\r\nimport {DrawerService} from \"../../drawer/drawer.service\";\r\nimport {notify_warning} from \"../../util/utils\";\r\nimport {DataDetailComponent} from \"../../data-detail/data-detail.component\";\r\n\r\n@Component({\r\n selector: 'rs-instance-link-template',\r\n templateUrl: './instance-link-template.component.html',\r\n styleUrls: ['./instance-link-template.component.scss']\r\n})\r\nexport class InstanceLinkTemplateComponent {\r\n @Input()\r\n tenant: any;\r\n @Input()\r\n className: any;\r\n @Input()\r\n oid: any;\r\n @Input()\r\n instanceLinkType: any;\r\n @Input()\r\n drawerViewContainerRef?: any;\r\n @Input()\r\n drawerSize?: any;\r\n @Input()\r\n drawerFormTemplate?: any;\r\n @ViewChild('drawerFormHeaderTemplate', {static: true}) drawerFormHeaderTemplate!: TemplateRef<any>;\r\n @ViewChild('drawerFormContentTemplate', {static: true}) drawerFormContentTemplate!: TemplateRef<any>;\r\n loading = false;\r\n\r\n constructor(private drawerService: DrawerService) {\r\n }\r\n\r\n openNewTab($event: any) {\r\n $event.event?.stopPropagation();\r\n if (!(window as any).coast.tabManager) {\r\n notify_warning('此操作仅能在coast-web项目中执行,type:detail,config:tenant=' + this.tenant + ',className=' + this.className + ',oid=' + this.oid);\r\n return;\r\n }\r\n (window as any).coast.tabManager.add.next({\r\n type: 'detail',\r\n id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,\r\n title: '',\r\n component: DataDetailComponent,\r\n config: {\r\n tenant: this.tenant,\r\n className: this.className,\r\n oid: this.oid\r\n }\r\n });\r\n }\r\n\r\n openDrawer($event: any) {\r\n $event.event?.stopPropagation();\r\n this.loading = true;\r\n this.drawerService.open(this.drawerViewContainerRef, this.drawerSize || 'default', this.drawerFormContentTemplate, {\r\n template: this.drawerFormTemplate || 'About'\r\n }, this.drawerFormHeaderTemplate);\r\n }\r\n}\r\n","<dx-button *ngIf=\"instanceLinkType === 'tab'\"\r\n type=\"default\"\r\n stylingMode=\"text\"\r\n icon=\"coast-icon coast-icon-send\"\r\n hint=\"查看详情\"\r\n (onClick)=\"openNewTab($event)\"></dx-button>\r\n<dx-button *ngIf=\"instanceLinkType === 'drawer'\"\r\n type=\"default\"\r\n stylingMode=\"text\"\r\n icon=\"coast-icon coast-icon-send\"\r\n hint=\"查看详情\"\r\n (onClick)=\"openDrawer($event)\"></dx-button>\r\n<ng-template #drawerFormHeaderTemplate>\r\n <dx-button icon=\"coast-icon coast-icon-send\" text=\"在新选项卡中查看\" (onClick)=\"openNewTab($event)\"></dx-button>\r\n</ng-template>\r\n<ng-template #drawerFormContentTemplate let-modalContext>\r\n <rs-form [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"oid\"\r\n [template]=\"modalContext.template\"\r\n [tabViewContainerRef]=\"drawerViewContainerRef\"\r\n (onDataLoaded)=\"loading = false\"\r\n [readonly]=\"true\"></rs-form>\r\n</ng-template>\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {DataGridService} from \"../data-grid.service\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: 'rs-unit-info-template',\r\n templateUrl: './unit-info-template.component.html',\r\n styleUrls: ['./unit-info-template.component.scss']\r\n})\r\nexport class UnitInfoTemplateComponent implements OnInit {\r\n @Input()\r\n uid: any;\r\n @Input()\r\n cellInfo: any;\r\n displayName: any;\r\n content: any;\r\n\r\n constructor(private service: DataGridService, private domSanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const needRemoteDisplayName = Array.isArray(this.cellInfo.value);\r\n if (!needRemoteDisplayName) {\r\n this.displayName = this.cellInfo.value;\r\n }\r\n this.service.getUnitInfo(this.uid).subscribe(response => {\r\n this.displayName = response.displayName;\r\n const unitInfo = response.unitInfo;\r\n let content = '<table>';\r\n for (const item of unitInfo) {\r\n content += `\r\n <tr>\r\n <td style=\"text-align: right;\">${item.caption}:</td>\r\n <td style=\"text-align: left;\">${item.value}</td>\r\n </tr>\r\n `;\r\n }\r\n content += '</table>'\r\n this.content = this.domSanitizer.bypassSecurityTrustHtml(content);\r\n // 重绘表格宽高\r\n setTimeout(() => {\r\n this.service.cellTemplateLoaded$.emit();\r\n });\r\n });\r\n }\r\n}\r\n","<dx-button #textDiv type=\"default\" stylingMode=\"text\" (onClick)=\"$event.event?.stopPropagation()\">\r\n {{ displayName }}\r\n <dx-tooltip [target]=\"textDiv.instance.element()\"\r\n [position]=\"'top'\"\r\n [showEvent]=\"'click'\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <div [innerHTML]=\"content\"></div>\r\n </div>\r\n </dx-tooltip>\r\n</dx-button>\r\n<br/>\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {DataGridService} from \"../data-grid.service\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\n@Component({\r\n selector: 'rs-user-info-template',\r\n templateUrl: './user-info-template.component.html',\r\n styleUrls: ['./user-info-template.component.scss']\r\n})\r\nexport class UserInfoTemplateComponent implements OnInit {\r\n @Input()\r\n uid: any;\r\n @Input()\r\n cellInfo: any;\r\n displayName: any;\r\n content: any;\r\n\r\n constructor(private service: DataGridService, private domSanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit(): void {\r\n const needRemoteDisplayName = Array.isArray(this.cellInfo.value);\r\n if (!needRemoteDisplayName) {\r\n this.displayName = this.cellInfo.value;\r\n }\r\n this.service.getUserInfo(this.uid).subscribe(response => {\r\n this.displayName = response.displayName;\r\n const userInfo = response.userInfo;\r\n let content = '<table>';\r\n for (const item of userInfo) {\r\n content += `\r\n <tr>\r\n <td style=\"text-align: right;\">${item.caption}:</td>\r\n <td style=\"text-align: left;\">${item.value}</td>\r\n </tr>\r\n `;\r\n }\r\n content += '</table>'\r\n this.content = this.domSanitizer.bypassSecurityTrustHtml(content);\r\n // 重绘表格宽高\r\n setTimeout(() => {\r\n this.service.cellTemplateLoaded$.emit();\r\n });\r\n });\r\n }\r\n}\r\n","<dx-button #textDiv type=\"default\" stylingMode=\"text\" (onClick)=\"$event.event?.stopPropagation()\">\r\n {{ displayName }}\r\n <dx-tooltip [target]=\"textDiv.instance.element()\"\r\n [position]=\"'top'\"\r\n [showEvent]=\"'click'\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <div [innerHTML]=\"content\"></div>\r\n </div>\r\n </dx-tooltip>\r\n</dx-button>\r\n<br/>\r\n","import {Component, ContentChild, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {DxDataGridComponent} from \"devextreme-angular\";\r\nimport {DataGridService} from \"./data-grid.service\";\r\nimport {RowButtonsTemplateDirective} from \"./row-buttons-template.directive\";\r\nimport {DataGridFactory} from \"./data-grid.factory\";\r\nimport {debounceTime} from \"rxjs\";\r\nimport {notify_error} from \"../util/utils\";\r\nimport {CustomTemplateDirective} from \"./custom-template.directive\";\r\n\r\n@Component({\r\n selector: 'rs-data-grid',\r\n templateUrl: './data-grid.component.html',\r\n styleUrls: ['./data-grid.component.scss'],\r\n providers: [DataGridService]\r\n})\r\nexport class DataGridComponent implements OnInit {\r\n @Input()\r\n tenant?: any = 'T';\r\n @Input()\r\n className!: any;\r\n @Input()\r\n view?: any;\r\n @Input()\r\n filter?: Array<any> | string;\r\n @Input()\r\n customColumnFn?: (columns: any[]) => void;\r\n @Input()\r\n keyExpr: string = ''; // 用于实例属性选择器,加载组件值时以选中字段为主键获取选中行数据\r\n @Input()\r\n dataGridName?: string; // 用于在获取数据时同时获取台账配置的行内按钮\r\n @Input()\r\n height: any;\r\n @Input()\r\n onlyFrontEnd: boolean = false; // 仅前端,不通过获取表格数据\r\n @Input()\r\n disablePage: boolean = false;\r\n @Input()\r\n dataSource: any = {};\r\n @Input()\r\n selectionMode: 'none' | 'multiple' | 'single' = 'none';\r\n @Input()\r\n selectedRowKeys: any[] = [];\r\n @Output()\r\n selectedRowKeysChange = new EventEmitter<any[]>();\r\n @Input()\r\n showRowNum: boolean = true;\r\n @Input()\r\n instanceLinkType: 'tab' | 'drawer' | 'none' = 'tab';\r\n @Input()\r\n drawerInstanceLinkViewContainerRef: any = this.viewContainerRef;\r\n @Input()\r\n drawerInstanceLinkSize: 'default' | 'large' | string = 'default';\r\n @Input()\r\n drawerInstanceLinkFormTemplate: any;\r\n @Output()\r\n onCellPrepared = new EventEmitter<any>();\r\n @Output()\r\n onContentReady = new EventEmitter<any>();\r\n @Output()\r\n onEditorPreparing = new EventEmitter<any>();\r\n @Output()\r\n onRowClick = new EventEmitter<any>();\r\n @Output()\r\n onRowDblClick = new EventEmitter<any>();\r\n @Output()\r\n onSelectionChanged = new EventEmitter<any>();\r\n @ViewChild(DxDataGridComponent, {static: true}) private dxDataGrid!: DxDataGridComponent;\r\n @ContentChild(RowButtonsTemplateDirective) protected rowButtonsTemplate!: RowButtonsTemplateDirective;\r\n @ContentChild(CustomTemplateDirective) protected customTemplate!: CustomTemplateDirective;\r\n columns: any[] = [];\r\n\r\n constructor(private factory: DataGridFactory, protected service: DataGridService, private viewContainerRef: ViewContainerRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.reload();\r\n this.service.cellTemplateLoaded$.pipe(debounceTime(100)).subscribe(() => {\r\n (<any>this.dxDataGrid.instance).resize();\r\n });\r\n }\r\n\r\n reload() {\r\n this.columns.length = 0;\r\n this.factory.makeDataGridColumns(this.tenant, this.className, this.view).subscribe(columns => {\r\n if (this.customColumnFn) {\r\n this.customColumnFn(columns);\r\n }\r\n if (this.instanceLinkType === 'tab' || this.instanceLinkType === 'drawer') {\r\n columns.unshift({\r\n fixed: true,\r\n width: 48,\r\n cellTemplate: 'instanceLinkTemplate',\r\n alignment: 'center',\r\n cssClass: 'cell-vertical-middle'\r\n });\r\n }\r\n if (this.showRowNum) {\r\n columns.unshift({\r\n fixed: true,\r\n caption: '行号',\r\n width: 48,\r\n cellTemplate: 'rowIndexTemplate',\r\n alignment: 'center',\r\n cssClass: 'cell-vertical-middle'\r\n });\r\n }\r\n this.columns = columns;\r\n });\r\n if (this.onlyFrontEnd) {\r\n if (this.dataSource && !Array.isArray(this.dataSource)) {\r\n notify_error('if onlyFrontEnd set true, you have to set dataSource as an Array');\r\n }\r\n } else {\r\n this.dataSource = this.factory.makeDataGridDataSource(this.tenant, this.className, this.view, this.filter, this.keyExpr, this.dataGridName);\r\n }\r\n }\r\n\r\n protected convertMultipleValueCellText(cellInfo: any) {\r\n if (!cellInfo.value) {\r\n return;\r\n }\r\n if (Array.isArray(cellInfo.value)) {\r\n if (cellInfo.column.lookup) {\r\n return cellInfo.value.map((item: any) => cellInfo.column.lookup.calculateCellValue(item)).join('<br />');\r\n }\r\n return cellInfo.value.join('<br />');\r\n }\r\n if (cellInfo.column.lookup) {\r\n return cellInfo.column.lookup.calculateCellValue(cellInfo.value);\r\n }\r\n return cellInfo.value;\r\n }\r\n\r\n protected getOriginalValue(cellInfo: any, key: any) {\r\n const config = cellInfo.column[key];\r\n if (config) {\r\n const value = cellInfo.data[config.field];\r\n if (value) {\r\n if (Array.isArray(value)) {\r\n return value;\r\n }\r\n return [value];\r\n }\r\n return [];\r\n }\r\n return cellInfo.data[key];\r\n }\r\n\r\n getSelectedRowKeys() {\r\n return this.dxDataGrid.instance.getSelectedRowKeys();\r\n }\r\n\r\n getSelectedRowsData() {\r\n return this.dxDataGrid.instance.getSelectedRowsData();\r\n }\r\n\r\n refresh(callback?: any) {\r\n this.dxDataGrid.instance.refresh().then(() => {\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n onDxDataGridEditorPreparing($event: any) {\r\n if ($event.parentType === 'filterRow' && $event.editorName === 'dxTextBox') {\r\n $event.editorOptions.valueChangeEvent = 'blur';\r\n $event.editorOptions.onEnterKey = (e: any) => {\r\n e.component.blur();\r\n };\r\n }\r\n this.onEditorPreparing.emit($event);\r\n }\r\n\r\n protected readonly CustomTemplateDirective = CustomTemplateDirective;\r\n}\r\n","<dx-data-grid [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'确定'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"[15, 30, 50]\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'rowButtonsTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"rowButtonsTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'multipleValueCellTemplate'\">\r\n <div [innerHTML]=\"convertMultipleValueCellText(cellInfo)\"></div>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'textCellTemplate'\">\r\n <div #textDiv style=\"text-overflow: ellipsis; overflow: hidden; cursor: pointer;\">{{ cellInfo.value }}</div>\r\n <dx-tooltip [target]=\"textDiv\"\r\n [position]=\"'top'\"\r\n [showEvent]=\"'click'\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <p style=\"max-width: 320px; text-align: left; white-space: normal;\" [innerText]=\"cellInfo.value\"></p>\r\n </div>\r\n </dx-tooltip>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'fileCellTemplate'\">\r\n <ng-container *ngFor=\"let file of cellInfo.value\">\r\n <rs-file-cell-template [file]=\"file\"></rs-file-cell-template>\r\n </ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'userCellTemplate'\">\r\n <ng-container *ngFor=\"let user of getOriginalValue(cellInfo, 'userInfo')\">\r\n <rs-user-info-template [uid]=\"user\" [cellInfo]=\"cellInfo\"></rs-user-info-template>\r\n </ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'unitCellTemplate'\">\r\n <ng-container *ngFor=\"let unit of getOriginalValue(cellInfo, 'unitInfo')\">\r\n <rs-unit-info-template [uid]=\"unit\" [cellInfo]=\"cellInfo\"></rs-unit-info-template>\r\n </ng-container>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {DxDropDownBoxComponent} from \"devextreme-angular\";\r\n\r\n@Component({\r\n selector: 'rs-field-selector',\r\n templateUrl: './field-selector.component.html',\r\n styleUrls: ['./field-selector.component.scss']\r\n})\r\nexport class FieldSelectorComponent {\r\n @Input()\r\n fieldTree: any = [];\r\n @Input()\r\n config: any;\r\n @Input()\r\n required = false;\r\n @Input()\r\n label: string = '属性';\r\n @Input()\r\n readonly = false;\r\n @Input()\r\n multiple = false;\r\n @Output()\r\n fieldChanged = new EventEmitter<any>();\r\n\r\n set _fields(__fields: any) {\r\n if (this.__fields !== __fields) {\r\n this.__fields = __fields;\r\n this.fieldChange(this.__fields);\r\n }\r\n }\r\n\r\n get _fields() {\r\n return this.__fields;\r\n }\r\n\r\n protected __fields: string[] = [];\r\n\r\n ngOnInit(): void {\r\n if (this.config.field) {\r\n if (Array.isArray(this.config.field)) {\r\n this._fields = this.config.field;\r\n } else {\r\n this._fields = [this.config.field];\r\n }\r\n }\r\n }\r\n\r\n fieldChange(value: any): void {\r\n if (value && value.length > 0) {\r\n this.config.__formAttribute = value.join(';');\r\n if (this.multiple) {\r\n this.config.field = value;\r\n const fields = [];\r\n for (const fieldName of value) {\r\n fields.push(this.getField(this.fieldTree, fieldName));\r\n }\r\n this.fieldChanged.emit(fields);\r\n } else {\r\n this.config.field = value[0];\r\n this.fieldChanged.emit(this.getField(this.fieldTree, value[0]));\r\n }\r\n } else {\r\n this.config.field = '';\r\n this.config.__formAttribute = '';\r\n this.fieldChanged.emit();\r\n }\r\n }\r\n\r\n private getField(tree: any, field: any) {\r\n for (const node of tree) {\r\n if (node.innerName === field) {\r\n return node;\r\n }\r\n if (node.children) {\r\n const result: any = this.getField(node.children, field);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n onRowPrepared($event: any) {\r\n if ($event.rowType === 'header') {\r\n $event.rowElement.style.display = 'none';\r\n }\r\n }\r\n\r\n onCellPrepared($event: any) {\r\n if ($event.rowType === 'data') {\r\n if (!this.multiple) {\r\n $event.cellElement.style.cursor = 'pointer';\r\n }\r\n if (this.multiple && !$event.visible && $event.data.hasItems) {\r\n const checkbox = $event.cellElement.querySelector('.dx-select-checkbox');\r\n checkbox.style.display = 'none';\r\n }\r\n }\r\n }\r\n\r\n suspendSelectionChanged = false;\r\n\r\n onSelectionChanged($event: any, dropDownBox: DxDropDownBoxComponent) {\r\n if (this.multiple) {\r\n return;\r\n }\r\n if (this.suspendSelectionChanged) {\r\n this.suspendSelectionChanged = false;\r\n return;\r\n }\r\n if ($event.selectedRowsData.length === 0) {\r\n return;\r\n }\r\n if (!$event.selectedRowsData[0].visible && $event.selectedRowsData[0].hasItems) {\r\n if ($event.component.isRowExpanded($event.selectedRowKeys[0])) {\r\n $event.component.collapseRow($event.selectedRowKeys[0]);\r\n } else {\r\n $event.component.expandRow($event.selectedRowKeys[0]);\r\n }\r\n this.suspendSelectionChanged = true;\r\n $event.component.selectRows($event.currentDeselectedRowKeys[0]);\r\n return;\r\n }\r\n dropDownBox.instance.close();\r\n }\r\n\r\n removeItem($event: any, field: any) {\r\n $event.stopPropagation();\r\n const findIndex = this._fields.findIndex((innerName: any) => innerName === field.innerName);\r\n this._fields.splice(findIndex, 1);\r\n }\r\n}\r\n","<div class=\"dx-field\">\r\n <div class=\"dx-field-label\">\r\n <span>属性</span>\r\n <span class=\"required-mark\" *ngIf=\"required\">&nbsp;*</span>\r\n </div>\r\n <div class=\"dx-field-value\">\r\n <dx-drop-down-box #fieldDropDownBox\r\n [dataSource]=\"fieldTree\"\r\n valueExpr=\"innerName\"\r\n fieldTemplate=\"fieldTemplate\"\r\n contentTemplate=\"contentTemplate\"\r\n [showClearButton]=\"true\"\r\n [dropDownOptions]=\"{maxHeight: 'none', deferRendering: false}\"\r\n [(value)]=\"_fields\"\r\n [readOnly]=\"readonly\">\r\n <div *dxTemplate=\"let info of 'fieldTemplate'\">\r\n <dx-text-box [visible]=\"false\"></dx-text-box>\r\n <dx-tag-box [dataSource]=\"fieldTree\"\r\n valueExpr=\"innerName\"\r\n width=\"100%\"\r\n [openOnFieldClick]=\"false\"\r\n [(value)]=\"_fields\"\r\n [class.coast-tag-selector]=\"true\"\r\n [readOnly]=\"readonly\">\r\n <div *dxTemplate=\"let field of 'tag'\">\r\n <dx-button [elementAttr]=\"{ class: 'item'}\">\r\n <span>{{ field.caption }}</span>\r\n <i *ngIf=\"multiple && !readonly\" class=\"coast-icon-close\" (click)=\"removeItem($event, field)\"></i>\r\n </dx-button>\r\n </div>\r\n </dx-tag-box>\r\n </div>\r\n <div *dxTemplate=\"let data of 'contentTemplate'\">\r\n <dx-text-box mode=\"search\" placeholder=\"搜索...\" valueChangeEvent=\"keyup\"\r\n (onValueChanged)=\"dxTreeList.instance.searchByText($event.value)\"></dx-text-box>\r\n <dx-tree-list #dxTreeList\r\n [dataSource]=\"fieldTree\"\r\n [filterValue]=\"['visible','=',true]\"\r\n keyExpr=\"innerName\"\r\n parentIdExpr=\"parentInnerName\"\r\n [(selectedRowKeys)]=\"_fields\"\r\n [height]=\"360\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n (onRowPrepared)=\"onRowPrepared($event)\"\r\n (onCellPrepared)=\"onCellPrepared($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged($event, fieldDropDownBox)\">\r\n <dxi-column dataField=\"innerName\" dataType=\"string\" [visible]=\"false\"></dxi-column>\r\n <dxi-column dataField=\"caption\" dataType=\"string\" caption=\"名称\"></dxi-column>\r\n <dxi-column dataField=\"visible\" dataType=\"boolean\" [visible]=\"false\"></dxi-column>\r\n <dxo-selection [mode]=\"multiple ? 'multiple' : 'single'\" [allowSelectAll]=\"false\"></dxo-selection>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n </dx-tree-list>\r\n </div>\r\n <dx-validator>\r\n <dxi-validation-rule *ngIf=\"required\" type=\"required\" message=\"值不能为空\"></dxi-validation-rule>\r\n </dx-validator>\r\n </dx-drop-down-box>\r\n </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {FormComponent} from './form.component';\r\nimport {BoxContainerModule} from \"../box-container/box-container.module\";\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {FieldSelectorComponent} from './field-selector/field-selector.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n FormComponent,\r\n FieldSelectorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n BoxContainerModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n FormComponent,\r\n FieldSelectorComponent\r\n ]\r\n})\r\nexport class FormModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DataGridComponent} from './data-grid.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {FileCellTemplateComponent} from './file-cell-template/file-cell-template.component';\r\nimport {RowButtonsTemplateDirective} from './row-buttons-template.directive';\r\nimport {UserInfoTemplateComponent} from './user-info-template/user-info-template.component';\r\nimport {UnitInfoTemplateComponent} from './unit-info-template/unit-info-template.component';\r\nimport {InstanceLinkTemplateComponent} from './instance-link-template/instance-link-template.component';\r\nimport {FormModule} from \"../form/form.module\";\r\nimport {CustomTemplateDirective} from './custom-template.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n DataGridComponent,\r\n FileCellTemplateComponent,\r\n InstanceLinkTemplateComponent,\r\n UnitInfoTemplateComponent,\r\n UserInfoTemplateComponent,\r\n RowButtonsTemplateDirective,\r\n CustomTemplateDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule,\r\n FormModule\r\n ],\r\n exports: [\r\n DataGridComponent,\r\n RowButtonsTemplateDirective,\r\n CustomTemplateDirective\r\n ]\r\n})\r\nexport class DataGridModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DataDetailComponent} from './data-detail.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {FormModule} from \"../form/form.module\";\r\n\r\n@NgModule({\r\n declarations: [\r\n DataDetailComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule,\r\n FormModule\r\n ],\r\n exports: [\r\n DataDetailComponent\r\n ]\r\n})\r\nexport class DataDetailModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DrawerComponent} from './drawer.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\n\r\n@NgModule({\r\n declarations: [\r\n DrawerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\r\n ]\r\n})\r\nexport class DrawerModule {\r\n}\r\n","import {Directive, TemplateRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsTooltipContentTemplate]'\r\n})\r\nexport class TooltipContentTemplateDirective {\r\n constructor(public templateRef: TemplateRef<unknown>) {\r\n }\r\n}\r\n","import {Component, ContentChild, Input} from '@angular/core';\r\nimport {TooltipContentTemplateDirective} from \"./tooltip-content-template.directive\";\r\n\r\n@Component({\r\n selector: 'rs-dynamic-params',\r\n templateUrl: './dynamic-params.component.html',\r\n styleUrls: ['./dynamic-params.component.scss']\r\n})\r\nexport class DynamicParamsComponent {\r\n @Input()\r\n label: any = '动态参数';\r\n @Input()\r\n showHelp = false;\r\n @Input()\r\n multipleRow = false;\r\n @Input()\r\n keyPlaceholder: any = '参数名';\r\n @Input()\r\n valuePlaceholder: any = '参数值';\r\n @Input()\r\n params!: { name: string, value: string }[];\r\n @Input()\r\n required = false;\r\n @Input()\r\n readonly = false;\r\n @ContentChild(TooltipContentTemplateDirective) tooltipContentTemplate!: TooltipContentTemplateDirective;\r\n\r\n add() {\r\n this.params.push({name: '', value: ''});\r\n }\r\n\r\n delete(index: number) {\r\n this.params.splice(index, 1);\r\n }\r\n}\r\n","<div class=\"dx-field\">\r\n <div class=\"dx-field-label\">\r\n <span>{{ label }}</span>\r\n <span *ngIf=\"required\" class=\"required-mark\">&nbsp;*</span>\r\n <i *ngIf=\"showHelp\" #dynamicParamsSpan class=\"coast-icon-help cursor-pointer\">\r\n <dx-tooltip [target]=\"dynamicParamsSpan\"\r\n [position]=\"'top'\"\r\n [showEvent]=\"'mouseover'\"\r\n [hideEvent]=\"'mouseout'\">\r\n <div *dxTemplate=\"let data of 'content'\"\r\n style=\"display: flex; flex-flow: column nowrap;align-items: flex-start;\">\r\n <ng-container [ngTemplateOutlet]=\"tooltipContentTemplate.templateRef\"></ng-container>\r\n </div>\r\n </dx-tooltip>\r\n </i>\r\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"\r\n [disabled]=\"readonly\"></dx-button>\r\n </div>\r\n <div class=\"dx-field-value\">\r\n <div *ngFor=\"let param of params; let index = index\" class=\"param\">\r\n <div class=\"param-entry\" [ngStyle]=\" { flexDirection : multipleRow ? 'column' : 'row' } \">\r\n <dx-text-box [placeholder]=\"keyPlaceholder\" [(value)]=\"param.name\" [disabled]=\"readonly\"></dx-text-box>\r\n <dx-text-box [placeholder]=\"valuePlaceholder\" [(value)]=\"param.value\" [disabled]=\"readonly\"></dx-text-box>\r\n </div>\r\n <div class=\"param-operation\">\r\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\r\n (onClick)=\"delete(index)\" [disabled]=\"readonly\"></dx-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DynamicParamsComponent} from './dynamic-params.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {TooltipContentTemplateDirective} from './tooltip-content-template.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n DynamicParamsComponent,\r\n TooltipContentTemplateDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n DynamicParamsComponent,\r\n TooltipContentTemplateDirective\r\n ]\r\n})\r\nexport class DynamicParamsModule {\r\n}\r\n","import {Directive, ElementRef, EventEmitter, Input, Output} from '@angular/core';\n\n@Directive({\n selector: '[rsFullscreen]',\n standalone: true\n})\nexport class FullscreenDirective {\n @Input()\n mode: 'immersive' | 'normal' = 'normal';\n\n @Input()\n set isFullscreen(isFullscreen: boolean) {\n this._isFullscreen = isFullscreen;\n this.toggle();\n }\n\n get isFullscreen() {\n return this._isFullscreen;\n }\n\n _isFullscreen: boolean = false;\n @Output()\n isFullscreenChange = new EventEmitter<boolean>();\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngOnInit() {\n document.addEventListener('fullscreenchange', this.onFullScreenChange);\n }\n\n ngOnDestroy() {\n document.removeEventListener('fullscreenchange', this.onFullScreenChange);\n }\n\n private onFullScreenChange = (event: any) => {\n if (!document.fullscreenElement) {\n this.exitNormalFullscreen();\n this.isFullscreenChange.emit(false);\n }\n };\n\n toggle() {\n switch (this.mode) {\n case \"normal\":\n if (this.isFullscreen) {\n this.launchNormalFullscreen();\n } else {\n this.exitNormalFullscreen();\n }\n break;\n case \"immersive\":\n if (this.isFullscreen) {\n this.launchImmersiveFullScreen().then(() => {\n this.launchNormalFullscreen();\n });\n } else {\n this.exitImmersiveFullScreen().then(() => {\n this.exitNormalFullscreen();\n });\n }\n break;\n }\n }\n\n private launchNormalFullscreen() {\n this.elementRef.nativeElement.classList.add('fullscreen');\n document.getElementsByTagName('html')[0].classList.add('coast-fullscreen');\n }\n\n private exitNormalFullscreen() {\n this.elementRef.nativeElement.classList.remove('fullscreen');\n document.getElementsByTagName('html')[0].classList.remove('coast-fullscreen');\n }\n\n private async launchImmersiveFullScreen() {\n return await document.documentElement.requestFullscreen().then();\n }\n\n private async exitImmersiveFullScreen() {\n if (!document.fullscreenElement) {\n return;\n }\n return await document.exitFullscreen().then();\n }\n}\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {DxPopoverComponent} from \"devextreme-angular\";\r\n\r\n@Component({\r\n selector: 'rs-icon-selector',\r\n templateUrl: './icon-selector.component.html',\r\n styleUrls: ['./icon-selector.component.scss']\r\n})\r\nexport class IconSelectorComponent {\r\n @Input()\r\n target!: any;\r\n @Output()\r\n select = new EventEmitter<string>();\r\n iconList: string[] = [];\r\n hoverIcon?: string;\r\n @ViewChild('iconSelector', {static: true}) popover!: DxPopoverComponent;\r\n @ViewChild('iconZoomOut', {static: true}) iconZoomOut!: DxPopoverComponent;\r\n\r\n constructor() {\r\n const regex = /::before/;\r\n const styles = document.styleSheets;\r\n for (let i = 0; i < styles.length; i++) {\r\n for (let j = 0; j < styles[i].cssRules.length; j++) {\r\n let cssSelectorText = (styles[i].cssRules[j] as CSSStyleRule).selectorText;\r\n if (cssSelectorText && cssSelectorText.indexOf('.coast-icon-') === 0 && regex.test(cssSelectorText)) {\r\n this.iconList.push(cssSelectorText.substring(1, cssSelectorText.length - 8));\r\n }\r\n }\r\n }\r\n }\r\n\r\n selectIcon(icon: string) {\r\n this.select.emit(icon);\r\n this.popover.instance.hide();\r\n }\r\n\r\n zoomOut($event: MouseEvent, icon: string) {\r\n this.hoverIcon = icon;\r\n this.iconZoomOut.instance.show($event.target as Element);\r\n }\r\n}\r\n","<dx-popover #iconSelector\r\n maxWidth=\"280\"\r\n maxHeight=\"280\"\r\n [target]=\"target\"\r\n [showEvent]=\"{name: 'click'}\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <ng-container *ngFor=\"let icon of iconList; let index=index\">\r\n <dx-button [icon]=\"'coast-icon ' + icon\" (onClick)=\"selectIcon(icon)\"\r\n (mouseenter)=\"zoomOut($event, icon)\" (mouseleave)=\"iconZoomOut.instance.hide()\"></dx-button>\r\n </ng-container>\r\n </div>\r\n</dx-popover>\r\n<dx-popover #iconZoomOut height=\"72px\" [enableBodyScroll]=\"false\">\r\n <div *dxTemplate=\"let data of 'content'\"\r\n style=\"display: flex; flex-flow: column nowrap; align-items: center; justify-content: center;\">\r\n <i [class]=\"hoverIcon\" style=\"font-size: 36px;\"></i>\r\n <span>{{ hoverIcon?.substring(11) }}</span>\r\n </div>\r\n</dx-popover>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {IconSelectorComponent} from './icon-selector.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\n\r\n@NgModule({\r\n declarations: [\r\n IconSelectorComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n IconSelectorComponent\r\n ]\r\n})\r\nexport class IconSelectorModule {\r\n}\r\n","import {Component, ElementRef, HostListener, OnDestroy, OnInit, TemplateRef, ViewChild} 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 title!: string;\r\n size: 'default' | 'large' | 'full' | string = 'default';\r\n _width: string = '480px';\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 contentTemplate!: TemplateRef<any>;\r\n contentTemplateContext: any;\r\n footerTemplate?: TemplateRef<any>;\r\n footerTemplateContext: any;\r\n _parentViewContainerRef: any;\r\n\r\n constructor(private elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.size === 'full') {\r\n this.modalElementRef.nativeElement.style.top = '1px';\r\n this.modalElementRef.nativeElement.style.right = '1px';\r\n this.modalElementRef.nativeElement.style.bottom = '1px';\r\n this.modalElementRef.nativeElement.style.left = '1px';\r\n this.modalElementRef.nativeElement.style.margin = '0';\r\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\r\n } else {\r\n if (this.size === 'default') {\r\n this._width = '480px';\r\n } else if (this.size === 'large') {\r\n this._width = '960px';\r\n } else {\r\n this._width = this.size;\r\n }\r\n this.modalElementRef.nativeElement.style.width = this._width;\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.parentElement.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.parentElement.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 resolveModalPosition() {\r\n if (this.size === 'full') {\r\n return {};\r\n }\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 - 1;\r\n currentTop = currentTop > maxTop ? maxTop : currentTop;\r\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\r\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth - 1;\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 if (this.size === 'full') {\r\n return;\r\n }\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 }\r\n}\r\n","<div class=\"modal-backdrop\">\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';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ModalComponent} from './modal.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n ModalComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class ModalModule {\r\n}\r\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\r\nimport {ModalComponent} from './modal.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n constructor() {\r\n }\r\n\r\n open(viewContainerRef: ViewContainerRef,\r\n title: string, size: 'default' | 'large' | 'full' | string = 'default',\r\n contentTemplate: TemplateRef<any>,\r\n contentTemplateContext: any,\r\n footerTemplate?: TemplateRef<any>,\r\n footerTemplateContext?: any) {\r\n const modalRef = viewContainerRef.createComponent(ModalComponent);\r\n modalRef.instance.hide = () => {\r\n modalRef.hostView.destroy();\r\n }\r\n modalRef.instance.title = title;\r\n modalRef.instance.size = size;\r\n modalRef.instance.contentTemplate = contentTemplate;\r\n modalRef.instance.contentTemplateContext = contentTemplateContext;\r\n modalRef.instance.footerTemplate = footerTemplate;\r\n modalRef.instance.footerTemplateContext = footerTemplateContext;\r\n modalRef.instance._parentViewContainerRef = viewContainerRef;\r\n modalRef.instance.show();\r\n return modalRef.instance;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {PdfJsViewerComponent, PdfJsViewerModule} from \"ng2-pdfjs-viewer\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'rs-pdf-viewer',\r\n standalone: true,\r\n imports: [CommonModule, PdfJsViewerModule],\r\n templateUrl: './pdf-viewer.component.html',\r\n styleUrls: ['./pdf-viewer.component.scss']\r\n})\r\nexport class PdfViewerComponent {\r\n @Input()\r\n src: any;\r\n @Output()\r\n loaded = new EventEmitter<void>();\r\n @ViewChild(PdfJsViewerComponent, {static: true}) viewer!: PdfJsViewerComponent;\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n ngOnInit() {\r\n this.http.get(this.src, {\r\n responseType: \"blob\"\r\n }).subscribe(response => {\r\n this.viewer.pdfSrc = response;\r\n this.viewer.refresh();\r\n this.loaded.emit();\r\n });\r\n }\r\n}\r\n","<ng2-pdfjs-viewer\r\n [openFile]=\"false\"\r\n [download]=\"false\"\r\n [viewBookmark]=\"false\"\r\n>\r\n</ng2-pdfjs-viewer>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class WebsocketModule {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {interval, Subject, Subscription} from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class WebsocketService {\r\n private url: any; // 默认请求的url\r\n private webSocket!: WebSocket; // websocket对象\r\n private connectSuccess = false; // websocket 连接成功\r\n private period = 30 * 1000; // 30秒钟检查一次\r\n private serverTimeoutSubscription!: Subscription; // 定时检测连接对象\r\n private reconnectFlag = false; // 重连\r\n private reconnectPeriod = 5 * 1000; // 重连失败,则5秒钟重连一次\r\n private reconnectSubscription!: Subscription; // 重连订阅对象\r\n public serverMessageSubject = new Subject<any>();// subject对象,用于发送服务器消息\r\n\r\n constructor() {\r\n // 实例化时开始连接服务器\r\n this.connect();\r\n // 进入程序就进行心跳检测,避免出现开始就连接中断,后续不重连\r\n this.heartCheckStart();\r\n }\r\n\r\n /**\r\n * 创建新连接\r\n */\r\n private connect() {\r\n this.url = 'ws://' + window.location.host + '/ws?token=' + localStorage.getItem('token');\r\n // 创建websocket对象\r\n this.createWebSocket();\r\n }\r\n\r\n /**\r\n * 创建连接\r\n */\r\n private createWebSocket() {\r\n // 如果没有建立过连接,才建立连接并且添加时间监听\r\n this.webSocket = new WebSocket(this.url);\r\n // 建立连接成功\r\n this.webSocket.onopen = () => this.onOpen();\r\n // 接收到消息\r\n this.webSocket.onmessage = (e) => this.onMessage(e);\r\n // 连接关闭\r\n this.webSocket.onclose = (e) => this.onClose(e);\r\n // 异常\r\n this.webSocket.onerror = (e) => this.onError(e);\r\n }\r\n\r\n /**\r\n * 连接打开\r\n */\r\n private onOpen() {\r\n console.log('websocket 已连接');\r\n // 设置连接成功\r\n this.connectSuccess = true;\r\n // 如果是重连中\r\n if (this.reconnectFlag) {\r\n // 1.停止重连\r\n this.stopReconnect();\r\n // 2.重新开启心跳\r\n this.heartCheckStart();\r\n }\r\n }\r\n\r\n /**\r\n * 接受到消息\r\n */\r\n private onMessage(event: any) {\r\n // 将接受到的消息发布出去\r\n const message = JSON.parse(event.data);\r\n if (message.type === 'websocket') {\r\n sessionStorage.setItem('clientId', message.value);\r\n } else {\r\n this.serverMessageSubject.next(message);\r\n }\r\n }\r\n\r\n /**\r\n * 连接关闭\r\n */\r\n private onClose(e: any) {\r\n console.log('websocket 连接关闭', e);\r\n this.connectSuccess = false;\r\n this.webSocket.close();\r\n // 关闭时开始重连\r\n this.reconnect();\r\n }\r\n\r\n /**\r\n * 连接异常\r\n */\r\n private onError(e: any) {\r\n // 出现异常时一定会进onClose,所以只在onClose做一次重连动作\r\n console.log('websocket 连接异常', e);\r\n this.connectSuccess = false;\r\n }\r\n\r\n /**\r\n * 开始重新连接\r\n */\r\n private reconnect() {\r\n // 如果已重连,则直接return,避免重复连接\r\n if (this.connectSuccess) {\r\n this.stopReconnect();\r\n return;\r\n }\r\n // 如果正在连接中,则直接return,避免产生多个轮训事件\r\n if (this.reconnectFlag) {\r\n console.log('正在重连...');\r\n return;\r\n }\r\n // 开始重连\r\n this.reconnectFlag = true;\r\n // 如果没能成功连接,则定时重连\r\n this.reconnectSubscription = interval(this.reconnectPeriod).subscribe(async (val) => {\r\n console.log(`重连:${val + 1}次`);\r\n // 重新连接\r\n this.connect();\r\n });\r\n }\r\n\r\n /**\r\n * 停止重连\r\n */\r\n private stopReconnect() {\r\n // 连接标识置为false\r\n this.reconnectFlag = false;\r\n // 取消订阅\r\n if (typeof this.reconnectSubscription !== 'undefined' && this.reconnectSubscription != null) {\r\n this.reconnectSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * 开始心跳检测\r\n */\r\n private heartCheckStart() {\r\n this.serverTimeoutSubscription = interval(this.period).subscribe(() => {\r\n // console.log('心跳检查')\r\n // 保持连接状态,重置下\r\n if (this.webSocket != null && this.webSocket.readyState === 1) {\r\n this.webSocket.send('heartbeat check');\r\n } else {\r\n // 停止心跳\r\n this.heartCheckStop();\r\n // 开始重连\r\n this.reconnect();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 停止心跳检测\r\n */\r\n private heartCheckStop() {\r\n // 取消订阅停止心跳\r\n if (typeof this.serverTimeoutSubscription !== 'undefined' && this.serverTimeoutSubscription != null) {\r\n this.serverTimeoutSubscription.unsubscribe();\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.DividerLineComponent","i2.DividerComponent","i2","i3.BoxItemHostDirective","i3","i2.CodeEditorComponent","i1","i1.DataGridService","i4","i1.FormService","i3.BoxContainerComponent","i5","i1.DataDetailService","i7.FormComponent","i1.DrawerService","i4.FormComponent","i1.DataGridFactory","i2.DataGridService","i6","i7","i8.FileCellTemplateComponent","i9.InstanceLinkTemplateComponent","i10.UnitInfoTemplateComponent","i11.UserInfoTemplateComponent","i8"],"mappings":"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"}