ngx-rs-ant 1.5.1 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/data-detail/data-detail.component.mjs +2 -2
- package/esm2020/data-grid/user-info-template/user-info-template.component.mjs +1 -1
- package/fesm2015/ngx-rs-ant.mjs +1 -1
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +1 -1
- package/fesm2020/ngx-rs-ant.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -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/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/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/GatewayReplaceMenuProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/util/ElementUtils.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/properties/user-task/TaskDescriptionProps.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/properties/user-task/user-assignment/UserAssignmentStaticOrDynamicProps.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/properties/user-task/user-assignment/UserAssignmentProps.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/CustomPropertiesProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/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/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/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/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';\n\n@Component({\n selector: 'rs-divider-line',\n templateUrl: './divider-line.component.html',\n styleUrls: ['./divider-line.component.scss']\n})\nexport class DividerLineComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n height: elementRect.width + 'px'\n };\n }\n if (this.direction === 'column') {\n return {\n height: elementRect.height + 'px'\n };\n }\n return {};\n }\n}\n","","import {Component, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss']\n})\nexport class DividerComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n @Output()\n dividerClick = new EventEmitter();\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n top: elementRect.height / 2 - 12 + 'px',\n left: '4px',\n transform: 'rotate(270deg)'\n };\n }\n if (this.direction === 'column') {\n return {\n top: '4px',\n left: elementRect.width / 2 - 12 + 'px'\n };\n }\n return {};\n }\n\n @HostListener('click')\n onClick() {\n this.dividerClick.emit();\n }\n}\n","<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n","import {Component, EventEmitter, HostBinding, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-active',\r\n templateUrl: './plugin-active.component.html',\r\n styleUrls: ['./plugin-active.component.scss']\r\n})\r\nexport class PluginActiveComponent implements OnInit {\r\n name!: string;\r\n showClose: boolean = true;\r\n showDivider: boolean = false;\r\n itemRemove = new EventEmitter();\r\n targetElement: any;\r\n targetRect: any = {\r\n width: 0,\r\n height: 0\r\n };\r\n _targetRect: any = {};\r\n width: number = 0;\r\n height: number = 0;\r\n\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>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-plugin-not-found',\n templateUrl: './plugin-not-found.component.html',\n styleUrls: ['./plugin-not-found.component.scss']\n})\nexport class PluginNotFoundComponent {\n}\n","<div>\n <span>组件加载失败</span>\n</div>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-config-blank',\n templateUrl: './config-blank.component.html',\n styleUrls: ['./config-blank.component.scss']\n})\nexport class ConfigBlankComponent {\n}\n","<div>\n <span>无配置项</span>\n</div>\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'rs-style',\n templateUrl: './style.component.html',\n styleUrls: ['./style.component.scss']\n})\nexport class StyleComponent implements OnInit {\n style: any;\n width: number = 0;\n height: number = 0;\n\n ngOnInit(): void {\n this.style.width = this.style.width ? this.style.width : 'auto';\n this.style.height = this.style.height ? this.style.height : 'auto';\n if (this.style.width !== 'auto') {\n this.width = this.style.width.substring(0, this.style.width.length - 2);\n }\n if (this.style.height !== 'auto') {\n this.height = this.style.height.substring(0, this.style.height.length - 2);\n }\n }\n\n select(name: string, value: any) {\n const that: any = this;\n if (value === 'auto') {\n this.style[name] = 'auto';\n that[name] = 0;\n } else {\n if (!that[name]) {\n that[name] = value;\n }\n this.style[name] = that[name] + 'px';\n }\n }\n\n typing(name: string, value: any) {\n if (value) {\n this.style[name] = value + 'px';\n } else {\n this.style[name] = 'auto';\n }\n }\n}\n","<div class=\"config-item\">\n <div class=\"item-title\">宽度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\n (click)=\"select('width','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\n (click)=\"select('width',240)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定宽度</div>\n <div class=\"item-setting\">\n <dx-number-box [min]=\"0\"\n [showSpinButtons]=\"true\"\n [showClearButton]=\"true\"\n [(value)]=\"width\"\n (onValueChanged)=\"typing('width', $event.value)\"\n [readOnly]=\"style.width === 'auto'\">\n </dx-number-box>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">高度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\n (click)=\"select('height','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\n (click)=\"select('height',800)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定高度</div>\n <div class=\"item-setting\">\n <dx-number-box [min]=\"0\"\n [showSpinButtons]=\"true\"\n [showClearButton]=\"true\"\n [(value)]=\"height\"\n (onValueChanged)=\"typing('height', $event.value)\"\n [readOnly]=\"style.height === 'auto'\">\n </dx-number-box>\n </div>\n</div>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-style-blank',\n templateUrl: './style-blank.component.html',\n styleUrls: ['./style-blank.component.scss']\n})\nexport class StyleBlankComponent {\n}\n","<div>\n <span>请在左侧画布选中节点</span>\n</div>\n","import {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\n\r\nexport class PluginManager {\r\n static hoverItems: any[] = [];\r\n static activeItem = new Subject<any>();\r\n static activeItems: any[] = [];\r\n\r\n static createComponent(boxItem: BoxItemComponent, index: number, style: any, config: any): any {\r\n let plugin: any = PluginFactory.get(config.name);\r\n if (!plugin) {\r\n console.error('undefined plugin: ' + config.name);\r\n plugin = {\r\n component: PluginNotFoundComponent,\r\n name: config.name,\r\n caption: config.name\r\n }\r\n }\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n viewContainerRef.clear();\r\n const componentRef = viewContainerRef.createComponent(plugin.component);\r\n const instance: any = componentRef.instance;\r\n Object.assign(instance, config.pluginConfig);\r\n if (plugin.type === 'form') {\r\n instance.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.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 viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(activeElement);\r\n this.activeItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems.indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({boxItem, index, style, config: config.config, componentRef});\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 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 if (!item) {\r\n return;\r\n }\r\n itemConfigContainerRef.clear();\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 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 Object.assign(item.componentRef.instance, item.config.pluginConfig);\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 const componentRef = itemStyleContainerRef.createComponent(StyleComponent);\r\n const instance: any = componentRef.instance;\r\n instance.style = item.style;\r\n } else {\r\n itemStyleContainerRef.createComponent(StyleBlankComponent);\r\n }\r\n }\r\n}\r\n","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\n\n@Component({\n selector: 'rs-item-config',\n templateUrl: './item-config.component.html',\n styleUrls: ['./item-config.component.scss']\n})\nexport class ItemConfigComponent implements OnInit {\n fieldTree?: any;\n @ViewChild('itemConfigContainerRef', {\n static: true,\n read: ViewContainerRef\n }) itemConfigContainerRef!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(item => {\n PluginManager.resetItemConfig(this.itemConfigContainerRef, item, this.fieldTree);\n });\n }\n}\n","<ng-container #itemConfigContainerRef></ng-container>\n","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\n\n@Component({\n selector: 'rs-item-style',\n templateUrl: './item-style.component.html',\n styleUrls: ['./item-style.component.scss']\n})\nexport class ItemStyleComponent implements OnInit {\n @ViewChild('itemStyleContainerRef', {static: true, read: ViewContainerRef}) itemStyleContainerRef!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(item => {\n PluginManager.resetItemStyle(this.itemStyleContainerRef, item);\n });\n }\n}\n","<ng-container #itemStyleContainerRef></ng-container>\n","import {Directive, ElementRef, Input, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[rsBoxItemHost]'\n})\nexport class BoxItemHostDirective {\n @Input()\n hostId: any;\n\n constructor(private el: ElementRef, public viewContainerRef: ViewContainerRef) {\n this.el.nativeElement.hostId = this.hostId;\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-item-blank',\n templateUrl: './item-blank.component.html',\n styleUrls: ['./item-blank.component.scss']\n})\nexport class ItemBlankComponent {\n}\n","<div>\n <span>拖拽组件到此处</span>\n</div>\n","import {Component, EventEmitter, HostBinding, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\nimport {BoxItemHostDirective} from './box-item-host.directive';\nimport {PluginManager} from '../PluginManager';\nimport {ItemBlankComponent} from \"./item-blank/item-blank.component\";\n\n@Component({\n selector: 'rs-box-item',\n templateUrl: './box-item.component.html',\n styleUrls: ['./box-item.component.scss']\n})\nexport class BoxItemComponent implements OnInit {\n boxContainer: any;\n style: any = {};\n config: any = {};\n pDirection?: 'row' | 'column';\n\n @HostBinding('style.flex-direction') get _direction() {\n return this.config.direction;\n }\n\n @HostBinding('style') get _style() {\n if (this.pDirection) {\n return {};\n }\n const width = this.style?.width ? this.style.width : 'auto';\n const height = this.style?.height ? this.style.height : 'auto';\n return this._calcStyle(this.pDirection, width, height);\n }\n\n @Output()\n leaveOneItem = new EventEmitter();\n @ViewChildren(BoxItemHostDirective) itemHosts!: QueryList<BoxItemHostDirective>;\n\n ngOnInit(): void {\n this.load();\n }\n\n load(activeIndex?: number) {\n setTimeout(() => {\n for (let i = 0; i < this.itemHosts.length; i++) {\n const itemHost: any = this.itemHosts.get(i);\n itemHost.viewContainerRef.clear();\n const item = this.config.list[i];\n switch (item.type) {\n case 'plugin':\n const componentRef = PluginManager.createComponent(this, i, item.style, item.config);\n if (activeIndex === i) {\n componentRef.location.nativeElement.click();\n }\n break;\n case 'item':\n const boxItemComponentRef = itemHost.viewContainerRef.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this.boxContainer;\n instance.style = item.style;\n instance.config = item.config;\n instance.pDirection = this.config.direction;\n if (this.boxContainer.editMode) {\n boxItemComponentRef.location.nativeElement.style.margin = '8px';\n instance.leaveOneItem.subscribe((item: any) => {\n if (item.type === 'item' && item.direction === this.config.direction) {\n this.config.list.splice(i, 1, ...item.list);\n } else {\n this.config.list.splice(i, 1, item);\n }\n this.load();\n });\n PluginManager.createHoverComponent(itemHost.viewContainerRef, boxItemComponentRef, '格子容器');\n PluginManager.createActiveComponent(this, i, boxItemComponentRef, item.style, {\n name: 'coast-box-container',\n caption: '格子容器'\n }, false);\n }\n break;\n case 'blank':\n default:\n if (this.boxContainer.editMode) {\n this.createBlankComponent(i);\n }\n break;\n }\n }\n });\n }\n\n private createBlankComponent(index: number) {\n const viewContainerRef: any = this.itemHosts.get(index)?.viewContainerRef;\n const containerBlankComponentRef: any = viewContainerRef.createComponent(ItemBlankComponent);\n containerBlankComponentRef.instance.onRemove = () => {\n this.config.list.splice(index, 1);\n if (this.config.list.length === 1) {\n this.leaveOneItem.emit(this.config.list[0]);\n } else {\n this.load();\n }\n };\n PluginManager.createHoverComponent(viewContainerRef, containerBlankComponentRef, '占位格');\n const activeComponentRef = PluginManager.createActiveComponent(this, index, containerBlankComponentRef,\n this.config.list[index].style, {\n name: 'coast-box-container',\n caption: '占位格'\n }, this.config.list.length > 1);\n activeComponentRef.instance.showDivider = true;\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\n if (this.config.direction === direction) {\n this.config.list.splice(index + 1, 0, {type: 'blank', style: {}});\n this.load();\n } else {\n if (this.config.list.length === 1) {\n this.config.direction = direction;\n this.config.list.push({type: 'blank', style: {}});\n } else {\n this.config.list.splice(index, 1, {\n type: 'item',\n style: {},\n config: {\n direction,\n list: [this.config.list[index], {type: 'blank', style: {}}]\n }\n });\n }\n this.load();\n }\n };\n }\n\n calcStyle(item: any) {\n const width = item.style?.width ? item.style.width : 'auto';\n const height = item.style?.height ? item.style.height : 'auto';\n return {\n ...this._calcStyle(this.config.direction, width, height),\n position: 'relative'\n };\n }\n\n private _calcStyle(direction: any, width: string, height: string) {\n if (direction === 'row') {\n return {\n flex: width === 'auto' ? '1' : '0 0 ' + width,\n height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n } else if (direction === 'column') {\n return {\n width,\n flex: height === 'auto' ? 'auto' : '0 0 ' + height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n }\n return {\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n };\n }\n\n dragOverComponent: any;\n\n onDragMove($event: any) {\n if ($event.fromData === $event.toData) {\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\n delete this.dragOverComponent;\n return;\n }\n if ($event.toComponent !== this.dragOverComponent) {\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\n this.dragOverComponent = $event.toComponent;\n this.dragOverComponent.instance().element().classList.add('active');\n }\n }\n\n onDragEnd($event: any) {\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\n delete this.dragOverComponent;\n const toBoxItem = $event.toData.boxItem;\n const toIndex = $event.toData.index;\n const fromIndex = $event.fromData.index;\n const fromBoxItemConfig = this.config.list[fromIndex].config;\n if ($event.toData.item.type === 'plugin') {\n this.config.list[fromIndex].config = toBoxItem.config.list[toIndex].config;\n this.load();\n toBoxItem.config.list[toIndex].config = fromBoxItemConfig;\n } else if ($event.toData.item.type === 'blank') {\n this.config.list.splice(fromIndex, 1, {type: 'blank', style: this.config.list[fromIndex].style});\n this.load();\n toBoxItem.config.list[toIndex] = {\n type: 'plugin',\n style: toBoxItem.config.list[toIndex].style,\n config: {\n name: fromBoxItemConfig.name,\n pluginConfig: fromBoxItemConfig.pluginConfig || {}\n }\n };\n }\n toBoxItem.load(toIndex);\n $event.cancel = true;\n }\n}\n","<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\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].isFirstChange()) {\r\n hasChange = true;\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\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 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 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 }\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>\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\n\r\n@NgModule({\r\n declarations: [\r\n BoxContainerComponent,\r\n BoxItemHostDirective,\r\n BoxItemComponent,\r\n PluginActiveComponent,\r\n DividerComponent,\r\n DividerLineComponent,\r\n PluginHoverComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent,\r\n StyleBlankComponent,\r\n ItemBlankComponent,\r\n StyleComponent,\r\n PluginNotFoundComponent,\r\n 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 the hand tool': '激活拖拽工具',\r\n 'Activate the lasso tool': '激活框选工具',\r\n 'Activate the create/remove space tool': '激活空间移动工具',\r\n 'Activate the global connect tool': '激活全局连接工具',\r\n 'Create StartEvent': '创建开始节点',\r\n 'Create EndEvent': '创建结束节点',\r\n 'Create UserTask': '创建用户任务',\r\n 'Create ServiceTask': '创建服务任务',\r\n 'Create Gateway': '创建网关节点',\r\n // 面板\r\n 'Append EndEvent': '追加结束节点',\r\n 'Append UserTask': '追加用户任务',\r\n 'Append ServiceTask': '追加服务任务',\r\n 'Append Gateway': '追加网关节点',\r\n 'Connect using Sequence/MessageFlow or Association': '使用序列/消息流或关联连接',\r\n 'Remove': '删除',\r\n 'Set Color': '设置颜色',\r\n 'Change type': '改变节点类型',\r\n 'Exclusive Gateway': '互斥网关',\r\n 'Parallel Gateway': '并行网关',\r\n 'Default Flow': '默认流向',\r\n 'Sequence Flow': '顺序流向',\r\n 'Open minimap': '打开缩略图',\r\n 'Close minimap': '关闭缩略图',\r\n // 配置\r\n 'General': '参数配置',\r\n 'Name': '名称',\r\n 'Task description': '任务描述',\r\n 'Set assignment rule': '设置用户规则',\r\n 'dynamic user': '动态用户',\r\n 'static user': '静态用户',\r\n 'dynamic role': '动态角色',\r\n 'static role': '静态角色',\r\n\r\n\r\n /*\r\n 'Create {type}': '创建{type}',\r\n 'Create Intermediate/Boundary Event': '创建中间/边界事件',\r\n 'Append {type}': '追加{type}', //'追加{type}',\r\n 'Add Lane above': '添加上面泳道',\r\n 'Divide into two Lanes': '拆分两个泳道',\r\n 'Divide into three Lanes': '拆分三个泳道',\r\n 'Add Lane below': '添下面泳道',\r\n 'Append compensation activity': '追加补偿活动',\r\n 'Change type': '改变节点类型', // 改变事情类型\r\n 'Connect using Association': '使用关联连接',\r\n 'Connect using Sequence/MessageFlow or Association': '使用序列/消息流或关联连接',\r\n 'Connect using DataInputAssociation': '使用数据输入关联连接',\r\n 'Remove': '删除',\r\n 'Create expanded SubProcess': '创建扩展子流程',\r\n // 'Create Pool/Participant': '创建者或参与者',\r\n 'Create IntermediateThrowEvent/BoundaryEvent': '创建中间事件或边界事件',\r\n 'Parallel Multi Instance': '并行多实例',\r\n 'Sequential Multi Instance': '顺序多重实例',\r\n 'Loop': '循环',\r\n 'Ad-hoc': '特别指定',\r\n 'Task': '任务',\r\n 'Send Task': '发送任务', // 发送任务\r\n 'Receive Task': '接收任务',\r\n 'User Task': '用户任务',\r\n 'Manual Task': '手工任务',\r\n 'Business Rule Task': '作业规则任务',\r\n 'Service Task': '服务任务',\r\n 'Script Task': '脚本任务',\r\n 'Call Activity': '调用活动',\r\n 'Sub Process (collapsed)': '子过程(折叠)',\r\n 'Sub Process (expanded)': '子过程(展开)',\r\n 'Start Event': '开始事件',\r\n 'Intermediate Throw Event': '抛出事件',\r\n 'End Event': '结束事件',\r\n 'Message Start Event': '消息开始事件',\r\n 'Timer Start Event': '时间开始事件',\r\n 'Conditional Start Event': '条件开始事件',\r\n 'Signal Start Event': '信号开始事件',\r\n 'Error Start Event': '错误开始事件',\r\n 'Escalation Start Event': '升级开始事件',\r\n 'Compensation Start Event': '补偿开始事件',\r\n 'Message Start Event (non-interrupting)': '消息开始事件(不中断)',\r\n 'Timer Start Event (non-interrupting)': '定时开始事件(不中断)',\r\n 'Conditional Start Event (non-interrupting)': '条件开始事件(不中断)',\r\n 'Signal Start Event (non-interrupting)': '信号开始事件(不中断)',\r\n 'Escalation Start Event (non-interrupting)': '升级开始事件(不中断)',\r\n 'Message Intermediate Catch Event': '信息捕获事件',\r\n 'Message Intermediate Throw Event': '信息抛出事件',\r\n 'Timer Intermediate Catch Event': '定时器捕获事件',\r\n 'Escalation Intermediate Throw Event': '升级抛出事件',\r\n 'Conditional Intermediate Catch Event': '条件捕获事件',\r\n 'Link Intermediate Catch Event': '链接捕获事件',\r\n 'Link Intermediate Throw Event': '链接抛出事件',\r\n 'Compensation Intermediate Throw Event': '补偿抛出事件',\r\n 'Signal Intermediate Catch Event': '信号捕获事件',\r\n 'Signal Intermediate Throw Event': '信号抛出事件',\r\n 'Message End Event': '消息结束事件',\r\n 'Escalation End Event': '升级结束事件',\r\n 'Error End Event': '错误结束事件',\r\n 'Cancel End Event': '取消结束事件',\r\n 'Compensation End Event': '补偿结束事件',\r\n 'Signal End Event': '信号结束事件',\r\n 'Terminate End Event': '终止结束事件',\r\n 'Message Boundary Event': '消息边界事件',\r\n 'Message Boundary Event (non-interrupting)': '消息边界事件(非中断)',\r\n 'Timer Boundary Event': '定时边界事件',\r\n 'Timer Boundary Event (non-interrupting)': '定时边界事件(非中断)',\r\n 'Escalation Boundary Event': '升级边界事件',\r\n 'Escalation Boundary Event (non-interrupting)': '升级边界事件(非中断)',\r\n 'Conditional Boundary Event': '有条件的边界事件',\r\n 'Conditional Boundary Event (non-interrupting)': '条件边界事件(非中断)',\r\n 'Error Boundary Event': '错误边界事件',\r\n 'Cancel Boundary Event': '取消边界事件',\r\n 'Signal Boundary Event': '信号边界事件',\r\n 'Signal Boundary Event (non-interrupting)': '信号边界事件(非中断)',\r\n 'Compensation Boundary Event': '补偿边界事件',\r\n 'Exclusive': '排他',\r\n 'Exclusive Gateway': '互斥网关',\r\n 'Parallel Gateway': '并行网关',\r\n 'Inclusive Gateway': '相容网关',\r\n 'Complex Gateway': '复杂网关',\r\n 'Event based Gateway': '事件网关',\r\n 'Transaction': '交换',\r\n 'Sub Process': '子流程',\r\n 'Event Sub Process': '事件子流程',\r\n 'Empty Pool (removes content)': '清空泳池(删除内容)',\r\n 'Collapsed Pool': '合并泳池',\r\n 'Expanded Pool': '扩展泳池',\r\n\r\n // flow\r\n 'Default Flow': '默认流向',\r\n 'Sequence Flow': '顺序流向',\r\n 'Conditional Flow': '条件流向',\r\n\r\n // Errors\r\n 'no parent for {element} in {parent}': '在{parent}中的{element}没有父元素',\r\n 'no shape type specified': '没有指定的形状类型',\r\n 'flow elements must be children of pools/participants': '流动元素必须是游泳池/参与者',\r\n 'out of bounds release': '跨界界释放',\r\n 'more than {count} child lanes': '超出{count}分支',\r\n 'element required': '被请求元素',\r\n 'diagram not part of bpmn': '图在bpmn中',\r\n 'no diagram to display': '没有图表来显示',\r\n 'no process or collaboration to display': '没有流程或协作显示',\r\n 'element {element} referenced by {referenced}#{property} not yet drawn':\r\n '元素{element}在{referenced}#{property}的引用还没有绘制',\r\n 'already rendered {element}': '已经提供{element}',\r\n 'failed to import {element}': '元素导入失败{element}',\r\n 'ID must not be empty.': 'ID不能为空!',\r\n 'ID must be a valid QName.': '无效的ID输入!',\r\n\r\n // message\r\n 'This maps to the process definition key.': '映射流程定义的Key。',\r\n 'This maps to the task definition key.': '映射任务定义的Key。',\r\n 'Specify more than one group as a comma separated list.': '多于一个组时为逗号分隔的列表。',\r\n 'Specify more than one user as a comma separated list.': '多于一个用户时为逗号分隔的列表。',\r\n 'Must provide either loop cardinality or collection': '必须提供循环基数或集合',\r\n 'Available process variables, identified in the diagram.': '可用的过程变量,如图中所示。',\r\n 'No variables found.': '未找到变量。',\r\n\r\n 'General': '基本属性',\r\n 'Documentation': '备注',\r\n 'Element documentation': '元素备注',\r\n 'Executable': '可执行',\r\n 'Process Documentation': '过程说明',\r\n '': '无',\r\n 'Listeners': '监听器',\r\n 'Execution Listener': '扩展监听器',\r\n 'Extensions': '扩展',\r\n 'Properties': '属性',\r\n 'Add Property': '添加属性',\r\n 'Process Id': '流程标识',\r\n 'Process Name': '流程名称',\r\n 'Participant Id': '参与者标识',\r\n 'Participant Name': '参与者名称',\r\n 'Name': '名称',\r\n 'Id': '标识',\r\n 'ID': '标识',\r\n 'Value': '值',\r\n 'Version Tag': '版本标记',\r\n 'External Task Configuration': '外部任务配置',\r\n 'Task Priority': '任务优先级',\r\n 'Job Configuration': '作业配置',\r\n 'Job Priority': '作业优先级',\r\n 'History Configuration': '历史配置',\r\n 'History Time To Live': '历史生存时间',\r\n 'Details': '详情',\r\n 'Initiator': '初始化',\r\n 'Asynchronous Continuations': '异步连续',\r\n 'Asynchronous Before': '异步之前',\r\n 'Asynchronous After': '异步之后',\r\n 'Forms': '表单',\r\n 'Form Key': '表单名',\r\n 'Form Fields': '表单字段',\r\n 'Form Buttons': '表单按钮',\r\n 'Form Field': '表单字段',\r\n 'Form Button': '表单按钮',\r\n 'Button Name': '按钮名称',\r\n 'Business Key': '业务键',\r\n 'Type': '类型',\r\n 'Label': '标签',\r\n 'Default Value': '默认值',\r\n 'Validation': '校验',\r\n 'Add Constraint': '添加约束',\r\n 'Config': '配置',\r\n 'Must provide a value': '必须提供一个值',\r\n 'Event Type': '事件类型',\r\n 'Listener Type': '监听器类型',\r\n 'Java Class': 'Java 类',\r\n 'Field Injection': '字段注入',\r\n 'Fields': '字段',\r\n 'Condition Type': '条件类型',\r\n 'Script Format': '脚本格式',\r\n 'Script Type': '脚本类型',\r\n 'Inline Script': '内联脚本',\r\n 'External Resource': '外部资源',\r\n 'Expression': '表达式',\r\n 'Delegate Expression': '委托表达式',\r\n 'Script': '脚本',\r\n 'Parameter must have a name': '参数必须有一个名称',\r\n 'String': '字符串',\r\n 'Implementation': '实现',\r\n 'External': '外部',\r\n 'Connector': '连接器',\r\n 'Must configure Connector': '必须配置连接器',\r\n 'Connector Id': '连接器ID',\r\n 'Input/Output': '输入/输出',\r\n 'Input Parameters': '输入参数',\r\n 'Input Parameter': '输入参数',\r\n 'Output Parameters': '输出参数',\r\n 'Output Parameter': '输出参数',\r\n 'Text': '文本',\r\n 'List': '列表',\r\n 'Add Entry': '增加条目',\r\n 'Field Injections': '字段注入',\r\n 'TextAnnotation': '文本注释',\r\n 'Variables': '变量',\r\n 'In Mapping': '输入映射',\r\n 'Out Mapping': '输出映射',\r\n 'Target': '目标',\r\n 'Source': '来源',\r\n 'Local': '本地',\r\n 'Candidate Starter Configuration': '候选人起动器配置',\r\n 'Candidate Starter Groups': '候选人起动器组',\r\n 'Candidate Starter Users': '候选人起动器用户',\r\n 'Configure Connector': '配置连接器',\r\n 'Assignee Type': '受理人类型',\r\n 'Assignee': '受理人',\r\n 'Dynamic': '动态',\r\n 'Static': '静态',\r\n 'User': '用户',\r\n 'Role': '角色',\r\n 'Candidate Users': '候选用户',\r\n 'Candidate Groups': '候选组',\r\n 'Due Date': '到期',\r\n 'Follow Up Date': '跟踪日期',\r\n 'Priority': '优先级',\r\n 'The due date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':\r\n '可以使用EL表达式,(例如:${someDate} 或者ISO日期(例如:2015-06-26T09:54:00))',\r\n 'The follow up date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':\r\n '可以使用EL表达式,(例如:${someDate} 或者ISO日期(例如:2015-06-26T09:54:00))',\r\n\r\n 'Create Task': '创建任务',\r\n 'Create DataObjectReference': '创建数据对象引用',\r\n 'Create DataStoreReference': '创建数据存储引用',\r\n 'Create Group': '创建分组',\r\n 'Category Value': '类别值',\r\n\r\n //custom\r\n 'Create CallActivity': '创建调用任务',\r\n 'Append Gateway': '追加网关节点',\r\n 'Append Intermediate/Boundary Event': '追加中间/边界事件',\r\n 'StartEvent': '开始节点',\r\n 'EndEvent': '结束节点',\r\n 'DataObjectReference': '数据对象引用',\r\n 'DataStoreReference': '数据存储引用',\r\n 'Element must have an unique id.': '节点元素必须用于唯一编号',\r\n 'Create ExclusiveGateway': '创建排他网关',\r\n 'Create Pool/Participant': '创建泳道或参与者',\r\n 'Append ExclusiveGateway': '追加排他网关',\r\n 'Append Task': '追加任务',\r\n 'Append UserTask': '追加用户任务',\r\n 'Append Sequence': '追加连线',\r\n 'Append EndEvent': '追加结束节点',\r\n 'UserTask': '用户任务',\r\n 'ExclusiveGateway': '条件', //排他网关\r\n 'Element is not set findUserType': '员工节点未设置节点人员',\r\n 'Token Simulation ': '流程模拟',\r\n 'Tasklist Configuration': '任务列表配置',\r\n 'Startable': '可启动',\r\n 'Element Documentation': '元素描述',\r\n\r\n 'Multi Instance': '多实例',\r\n 'Loop Cardinality': '循环基数',\r\n 'Collection': '集合',\r\n 'Element Variable': '元素变量',\r\n 'Completion Condition': '完成条件',\r\n 'Multi Instance Asynchronous Before': '多实例异步之前',\r\n 'Multi Instance Asynchronous After': '多实例异步之后',\r\n 'Multi Instance Exclusive': '多实例排他',\r\n 'Multi Instance Retry Time Cycle': '多实例重试时间',\r\n */\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 default class UserTaskPaletteProvider {\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 UserTask'),\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 const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n loopCharacteristics.set('isSequential', false);\r\n this.modeling.updateProperties(shape, {loopCharacteristics});\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","export default class UserTaskContextPadProvider {\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 UserTask'),\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 const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n loopCharacteristics.set('isSequential', false);\r\n this.modeling.updateProperties(shape, {loopCharacteristics});\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 const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n loopCharacteristics.set('isSequential', false);\r\n this.modeling.updateProperties(shape, {loopCharacteristics});\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 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 ServiceTask'),\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 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 ServiceTask'),\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 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 'xml'\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\n\r\nexport default class HideOtherContextPadProvider {\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 (is(element, 'bpmn:EndEvent')) {\r\n return {\r\n 'delete': entries['delete'],\r\n 'set-color': entries['set-color']\r\n }\r\n } else if (is(element, 'bpmn:SequenceFlow')) {\r\n if (entries['replace']) {\r\n return {\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete'],\r\n 'set-color': entries['set-color']\r\n }\r\n }\r\n return {\r\n 'delete': entries['delete'],\r\n 'set-color': entries['set-color']\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 'set-color': entries['set-color']\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 'set-color': entries['set-color']\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 GatewayReplaceMenuProvider {\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 GatewayReplaceMenuProvider from \"./GatewayReplaceMenuProvider\";\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', GatewayReplaceMenuProvider]\r\n};\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\n\r\nexport const util: any = {};\r\n\r\nexport function addExtensionProperty(element: any, key: string, value: string) {\r\n let extensionElements = element.businessObject.get('extensionElements');\r\n if (!extensionElements) {\r\n extensionElements = util.bpmnFactory.create('bpmn:ExtensionElements', {values: []});\r\n extensionElements.$parent = element.businessObject;\r\n util.modeling.updateModdleProperties(element, element.businessObject, {extensionElements});\r\n }\r\n let properties = null;\r\n const extensionElementValues = extensionElements.get('values');\r\n const existPropertiesElements = extensionElementValues.filter((value: any) => is(value, 'camunda:Properties'));\r\n if (existPropertiesElements.length > 0) {\r\n properties = existPropertiesElements[0];\r\n }\r\n if (!properties) {\r\n properties = util.bpmnFactory.create('camunda:Properties', {values: []});\r\n properties.$parent = extensionElements;\r\n util.modeling.updateModdleProperties(element, extensionElements, {values: [...extensionElements.get('values'), properties]});\r\n }\r\n const propertyValues = properties.get('values');\r\n const existPropertyIndex = propertyValues.findIndex((value: any) => value.name === key);\r\n if (existPropertyIndex > -1) {\r\n util.modeling.updateModdleProperties(element, propertyValues[existPropertyIndex], {name: key, value});\r\n } else {\r\n const property = util.bpmnFactory.create('camunda:Property', {name: key, value});\r\n property.$parent = properties;\r\n util.modeling.updateModdleProperties(element, properties, {values: [...properties.get('values'), property]});\r\n }\r\n}\r\n\r\nexport function getExtensionPropertyValue(element: any, key: string) {\r\n let extensionElements = element.businessObject.get('extensionElements');\r\n if (!extensionElements) {\r\n return '';\r\n }\r\n let properties = null;\r\n const extensionElementValues = extensionElements.get('values');\r\n const existPropertiesElements = extensionElementValues.filter((value: any) => is(value, 'camunda:Properties'));\r\n if (existPropertiesElements.length > 0) {\r\n properties = existPropertiesElements[0];\r\n }\r\n if (!properties) {\r\n return '';\r\n }\r\n const propertyValues = properties.get('values');\r\n const existPropertyIndex = propertyValues.findIndex((value: any) => value.name === key);\r\n if (existPropertyIndex > -1) {\r\n return propertyValues[existPropertyIndex].value;\r\n }\r\n}\r\n","// @ts-ignore\r\nimport {isTextAreaEntryEdited, TextAreaEntry} from '@bpmn-io/properties-panel';\r\nimport {addExtensionProperty, getExtensionPropertyValue, util} from \"../../util/ElementUtils\";\r\n\r\nexport default class TaskDescriptionProps {\r\n id = 'Coast_taskDescription';\r\n component: any;\r\n isEdited: any;\r\n\r\n constructor(props: any) {\r\n const {\r\n element\r\n } = props;\r\n this.component = () => {\r\n return TextAreaEntry({\r\n element: element,\r\n id: this.id,\r\n label: util.translate('Task description'),\r\n getValue: () => {\r\n return getExtensionPropertyValue(element, this.id);\r\n },\r\n setValue: (value: any) => {\r\n addExtensionProperty(element, this.id, value);\r\n },\r\n debounce: util.debounce,\r\n autoResize: true\r\n });\r\n };\r\n this.isEdited = isTextAreaEntryEdited;\r\n }\r\n}\r\n","// @ts-ignore\r\nimport {isSelectEntryEdited, SelectEntry} from '@bpmn-io/properties-panel';\r\nimport {addExtensionProperty, getExtensionPropertyValue, util} from \"../../../util/ElementUtils\";\r\n\r\nexport default class UserAssignmentStaticOrDynamicProps {\r\n id = 'Coast_userAssignment_staticOrDynamic';\r\n component: any;\r\n isEdited: any;\r\n\r\n constructor(props: any) {\r\n const {element} = props;\r\n this.component = () => {\r\n return SelectEntry({\r\n element: element,\r\n id: this.id,\r\n label: util.translate('Set assignment rule'),\r\n getValue: () => {\r\n return getExtensionPropertyValue(element, this.id);\r\n },\r\n setValue: (value: any) => {\r\n addExtensionProperty(element, this.id, value);\r\n },\r\n getOptions: () => {\r\n return [\r\n {value: '', label: util.translate('dynamic user')},\r\n {value: 'static_user', label: util.translate('static user')},\r\n {value: 'dynamic_role', label: util.translate('dynamic role')},\r\n {value: 'static_role', label: util.translate('static role')}\r\n ]\r\n }\r\n });\r\n };\r\n this.isEdited = isSelectEntryEdited;\r\n }\r\n}\r\n","import UserAssignmentStaticOrDynamicProps from \"./UserAssignmentStaticOrDynamicProps\";\r\n\r\nexport function getUserAssignmentProps(element: any) {\r\n return [new UserAssignmentStaticOrDynamicProps(element)];\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\nimport TaskDescriptionProps from \"./properties/user-task/TaskDescriptionProps\";\r\nimport {getUserAssignmentProps} from \"./properties/user-task/user-assignment/UserAssignmentProps\";\r\nimport {util} from './util/ElementUtils';\r\n\r\nexport default class CustomPropertiesProvider {\r\n private readonly translate;\r\n\r\n constructor(propertiesPanel: any, translate: any, bpmnFactory: any, modeling: any, debounceInput: any) {\r\n this.translate = translate;\r\n util.translate = translate;\r\n util.bpmnFactory = bpmnFactory;\r\n util.modeling = modeling;\r\n util.debounce = debounceInput;\r\n propertiesPanel.registerProvider(0, this);\r\n }\r\n\r\n getGroups(element: any) {\r\n return ((groups: any) => {\r\n const generalGroup = groups.find((group: any) => group.id === 'general');\r\n generalGroup.shouldOpen = true;\r\n console.log(generalGroup)\r\n if (is(element, 'bpmn:Process')) {\r\n generalGroup.entries.splice(1, 3);\r\n } else if (is(element, 'bpmn:UserTask')) {\r\n generalGroup.entries.splice(1, 1);\r\n generalGroup.entries.push(...[\r\n new TaskDescriptionProps({element}),\r\n ...getUserAssignmentProps({element})\r\n ]);\r\n }\r\n return [generalGroup];\r\n });\r\n }\r\n}\r\n","import CustomPropertiesProvider from \"./CustomPropertiesProvider\";\r\n\r\nexport default {\r\n __init__: ['customPropertiesProvider'],\r\n customPropertiesProvider: ['type', CustomPropertiesProvider]\r\n};\r\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef} from '@angular/core';\n\ndeclare var monaco: any;\n\n@Component({\n selector: 'rs-code-editor',\n templateUrl: './code-editor.component.html',\n styleUrls: ['./code-editor.component.scss']\n})\nexport class CodeEditorComponent implements OnInit {\n @Input()\n set code(code: string) {\n this._code = code || '';\n this._editor?.setValue(this._code);\n }\n\n get code() {\n return this._code;\n }\n\n private _code: string = '';\n @Output()\n codeChange = new EventEmitter<string>();\n @Input()\n language: string = 'java';\n @Input()\n readonly: boolean = false;\n @Input()\n enableMinimap: boolean = false;\n @Input()\n consoleMessage?: string;\n @Output()\n onContentReady = new EventEmitter<any>();\n private _editor: any;\n @ViewChild('editorContainer', {static: true}) editorContainer!: ElementRef;\n loading = true;\n\n constructor(protected viewContainerRef: ViewContainerRef) {\n }\n\n ngOnInit(): void {\n const baseUrl = './assets/monaco-editor/min/vs';\n const loaderScript: HTMLScriptElement = document.createElement('script');\n loaderScript.type = 'text/javascript';\n loaderScript.src = `${baseUrl}/loader.js`;\n loaderScript.addEventListener('load', () => {\n (<any>window).require.config({paths: {'vs': `${baseUrl}`}});\n (<any>window).require([`vs/editor/editor.main`], () => {\n this.initMonaco();\n });\n });\n document.body.appendChild(loaderScript);\n }\n\n private initMonaco() {\n this._editor = monaco.editor.create(this.editorContainer.nativeElement, {\n value: this.code,\n language: this.language,\n automaticLayout: true,\n readOnly: this.readonly,\n minimap: {\n enabled: this.enableMinimap\n }\n });\n this._editor.onDidChangeModelContent((e: any) => {\n this.codeChange.emit(this._editor.getValue());\n });\n this.onContentReady.emit(this._editor);\n this.loading = false;\n }\n}\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div class=\"editor-container\" #editorContainer></div>\n<div *ngIf=\"consoleMessage\" class=\"editor-console\">{{consoleMessage}}</div>\n","import {Component, ElementRef, 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\nimport customPropertiesPanelModule from './custom/config';\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 @ViewChild('container') container?: ElementRef;\r\n @ViewChild('config') config?: ElementRef;\r\n modeler: any;\r\n canvas: any;\r\n xml: any;\r\n isShowXml = false;\r\n 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 ngAfterViewInit() {\r\n this.modeler = new BpmnModeler({\r\n container: this.container?.nativeElement,\r\n propertiesPanel: {\r\n parent: this.config?.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 customPropertiesPanelModule\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.canvas = this.modeler.get('canvas');\r\n this.modeler.importXML(this.initialDiagram).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.modeler.saveXML({format: true}).then((response: any) => {\r\n this.xml = response.xml;\r\n });\r\n }\r\n this.isShowXml = !this.isShowXml;\r\n }\r\n}\r\n","<div class=\"main\">\n <div class=\"container\" #container></div>\n <div class=\"config\" #config></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CodeEditorComponent} from './code-editor.component';\nimport {DxLoadPanelModule} from \"devextreme-angular\";\nimport {DxoPositionModule} from \"devextreme-angular/ui/nested\";\n\n@NgModule({\n declarations: [\n CodeEditorComponent\n ],\n imports: [\n CommonModule,\n DxLoadPanelModule,\n DxoPositionModule\n ],\n exports: [\n CodeEditorComponent\n ]\n})\nexport class CodeEditorModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CamundaBpmnEditorComponent} from './camunda-bpmn-editor.component';\nimport {CodeEditorModule} from \"../code-editor/code-editor.module\";\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n CamundaBpmnEditorComponent\n ],\n imports: [\n CommonModule,\n CodeEditorModule,\n DevExtremeModule\n ],\n exports: [\n CamundaBpmnEditorComponent\n ]\n})\nexport class CamundaBpmnEditorModule {\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 getInstanceCaption(tenant: any, className: any, oid: any) {\r\n return this.http.get<any>('api/data/' + className + '/' + oid + '/caption', {\r\n params: {\r\n tenant\r\n }\r\n }).pipe(\r\n map(response => {\r\n return response.data;\r\n })\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';\n\n@Directive({\n selector: '[rsRowButtonsTemplate]'\n})\nexport class RowButtonsTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\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 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 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 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 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 (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';\nimport {HttpClient} from \"@angular/common/http\";\n\n@Injectable()\nexport class DataDetailService {\n constructor(private http: HttpClient) {\n }\n\n getSectionList(tenant: any, className: any, oid: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n tenant,\n className,\n oid,\n executor: 'com.cs.system.section.LoadSections'\n }\n })\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\n\n@Injectable()\nexport class FormService {\n constructor(private http: HttpClient) {\n }\n\n getFormTemplateConfig(tenant: any, className: any, template?: any) {\n return this.http.get<any>('api/metadata/form/' + className, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, template?: any, isCopy?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n template: template || '',\n isCopy: !!isCopy\n }\n });\n }\n\n getInitModelByTemplate(tenant: any, className: any, template?: any) {\n let api = 'api/data/' + className + '/new';\n return this.http.get<any>(api, {\n params: {\n tenant,\n className,\n template: template || ''\n }\n });\n }\n\n createOrUpdate(tenant: any, className: any, model: any) {\n let api = 'api/data/' + className;\n if (model.oid) {\n api += '/' + model.oid;\n }\n return this.http.post<any>(api, model, {\n params: {\n tenant\n }\n });\n }\n}\n","import {\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\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 @ViewChild(DxValidationGroupComponent) validator!: DxValidationGroupComponent;\r\n @ViewChild('formSubmitter') formSubmitter!: DxButtonComponent;\r\n @Output()\r\n submitCallback = new EventEmitter<any>();\r\n loading = false;\r\n private changeFilter = new ChangeFilter();\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef, private service: FormService, private elementRef: ElementRef) {\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 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.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.loading = false;\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-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n","import {Component, ViewContainerRef} from '@angular/core';\nimport {DataDetailService} from \"./data-detail.service\";\n\n@Component({\n selector: 'coast-data-detail',\n templateUrl: './data-detail.component.html',\n styleUrls: ['./data-detail.component.scss'],\n providers: [DataDetailService]\n})\nexport class DataDetailComponent {\n tenant: any;\n className: any;\n oid: any;\n params?: any;\n tabViewContainerRef!: ViewContainerRef;\n sections: any[] = [];\n loading = false;\n\n constructor(protected viewContainerRef: ViewContainerRef, private service: DataDetailService) {\n }\n\n ngOnInit() {\n this.loading = true;\n this.service.getSectionList(this.tenant, this.className, this.oid).subscribe(response => {\n (window as any).coast.tabManager.add.next({\n id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,\n title: response.data.title\n });\n this.sections = response.data.list;\n this.loading = false;\n });\n }\n}\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\n <span>您无权查看该数据实例任何信息</span>\n</div>\n<ng-container *ngIf=\"sections.length > 0\">\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\n [selectedItems]=\"sections\">\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\n <div class=\"section-title-name\">{{ section.name }}</div>\n </div>\n <div *dxTemplate=\"let section of 'item'\">\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\" [params]=\"params\"\n [tabViewContainerRef]=\"tabViewContainerRef\" [readonly]=\"true\"></rs-form>\n </div>\n </dx-accordion>\n</ng-container>\n","import {Component, ElementRef, OnDestroy, OnInit, TemplateRef} from '@angular/core';\n\n@Component({\n selector: 'rs-drawer',\n templateUrl: './drawer.component.html',\n styleUrls: ['./drawer.component.scss']\n})\nexport class DrawerComponent implements OnInit, OnDestroy {\n size: 'default' | 'large' = 'default';\n _width: any = '480px';\n headerTemplate?: TemplateRef<any>;\n headerTemplateContext: any;\n contentTemplate!: TemplateRef<any>;\n contentTemplateContext: any;\n _parentViewContainerRef: any;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngOnInit(): void {\n if (this.size === 'large') {\n this._width = '960px';\n }\n }\n\n show() {\n // 若存在多层抽屉,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const nodeName = this.elementRef.nativeElement.nodeName;\n const drawers = this._parentViewContainerRef.element.nativeElement.parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < drawers.length; i++) {\n if (i === drawers.length - 1) {\n drawers[i].querySelector('.drawer-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n drawers[i].querySelector('.drawer-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide($event: any, backdrop?: any) {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层抽屉,下一层遮罩设置为不透明\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextDrawer = this._parentViewContainerRef.element.nativeElement.parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextDrawer) {\n nextDrawer.querySelector('.drawer-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n}\n","<div #drawerBackdrop class=\"drawer-backdrop\" (click)=\"hide($event, drawerBackdrop)\">\n <div class=\"drawer\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"40px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {DrawerComponent} from \"./drawer.component\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DrawerService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n size: 'default' | 'large' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any,\n headerTemplate?: TemplateRef<any>,\n headerTemplateContext?: any) {\n const drawerRef = viewContainerRef.createComponent(DrawerComponent);\n drawerRef.instance.hide = ($event: any, backdrop?: any) => {\n if ($event.target === backdrop) {\n drawerRef.hostView.destroy();\n }\n }\n drawerRef.instance.size = size;\n drawerRef.instance.headerTemplate = headerTemplate;\n drawerRef.instance.headerTemplateContext = headerTemplateContext;\n drawerRef.instance.contentTemplate = contentTemplate;\n drawerRef.instance.contentTemplateContext = contentTemplateContext;\n drawerRef.instance._parentViewContainerRef = viewContainerRef;\n drawerRef.instance.show();\n return drawerRef.instance;\n }\n}\n","import {Component, Input, TemplateRef, ViewChild} from '@angular/core';\nimport {DataGridService} from \"../data-grid.service\";\nimport {DrawerService} from \"../../drawer/drawer.service\";\nimport {notify_warning} from \"../../util/utils\";\nimport {DataDetailComponent} from \"../../data-detail/data-detail.component\";\n\n@Component({\n selector: 'rs-instance-link-template',\n templateUrl: './instance-link-template.component.html',\n styleUrls: ['./instance-link-template.component.scss']\n})\nexport class InstanceLinkTemplateComponent {\n @Input()\n tenant: any;\n @Input()\n className: any;\n @Input()\n oid: any;\n @Input()\n instanceLinkType: any;\n @Input()\n drawerViewContainerRef?: any;\n @Input()\n drawerFormTemplate?: any;\n @ViewChild('drawerFormHeaderTemplate', {static: true}) drawerFormHeaderTemplate!: TemplateRef<any>;\n @ViewChild('drawerFormContentTemplate', {static: true}) drawerFormContentTemplate!: TemplateRef<any>;\n\n constructor(private service: DataGridService, private drawerService: DrawerService) {\n }\n\n openNewTab($event: any) {\n $event.event?.stopPropagation();\n if (!(window as any).coast.tabManager) {\n notify_warning('此操作仅能在coast-web项目中执行,type:detail,config:tenant=' + this.tenant + ',className=' + this.className + ',oid=' + this.oid);\n return;\n }\n (window as any).coast.tabManager.add.next({\n type: 'detail',\n id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,\n title: '',\n component: DataDetailComponent,\n config: {\n tenant: this.tenant,\n className: this.className,\n oid: this.oid\n }\n });\n }\n\n openDrawer($event: any) {\n $event.event?.stopPropagation();\n this.drawerService.open(this.drawerViewContainerRef, 'default', this.drawerFormContentTemplate, {\n template: this.drawerFormTemplate || 'About'\n }, this.drawerFormHeaderTemplate);\n }\n}\n","<dx-button *ngIf=\"instanceLinkType === 'tab'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"查看详情\"\n (onClick)=\"openNewTab($event)\"></dx-button>\n<dx-button *ngIf=\"instanceLinkType === 'drawer'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"查看详情\"\n (onClick)=\"openDrawer($event)\"></dx-button>\n<ng-template #drawerFormHeaderTemplate>\n <dx-button icon=\"coast-icon coast-icon-send\" text=\"在新选项卡中查看\" (onClick)=\"openNewTab($event)\"></dx-button>\n</ng-template>\n<ng-template #drawerFormContentTemplate let-modalContext>\n <rs-form [tenant]=\"tenant\"\n [className]=\"className\"\n [oid]=\"oid\"\n [template]=\"modalContext.template\"\n [readonly]=\"true\"></rs-form>\n</ng-template>\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 if (needRemoteDisplayName) {\r\n this.displayName = response.displayName;\r\n }\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()\">\n {{ displayName }}\n <dx-tooltip [target]=\"textDiv.instance.element()\"\n [position]=\"'top'\"\n [showEvent]=\"'click'\">\n <div *dxTemplate=\"let data of 'content'\">\n <div [innerHTML]=\"content\"></div>\n </div>\n </dx-tooltip>\n</dx-button>\n<br/>\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 if(needRemoteDisplayName){\r\n this.displayName = response.displayName;\r\n }\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()\">\n {{ displayName }}\n <dx-tooltip [target]=\"textDiv.instance.element()\"\n [position]=\"'top'\"\n [showEvent]=\"'click'\">\n <div *dxTemplate=\"let data of 'content'\">\n <div [innerHTML]=\"content\"></div>\n </div>\n </dx-tooltip>\n</dx-button>\n<br/>\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\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?: any;\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 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 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 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(200)).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 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 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","<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]=\"true\"\r\n [sorting]=\"true\"\r\n [paging]=\"true\">\r\n </dxo-remote-operations>\r\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"true\"\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 [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</dx-data-grid>\r\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormComponent} from './form.component';\nimport {BoxContainerModule} from \"../box-container/box-container.module\";\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n FormComponent\n ],\n imports: [\n CommonModule,\n BoxContainerModule,\n DevExtremeModule\n ],\n exports: [\n FormComponent\n ]\n})\nexport class FormModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataGridComponent} from './data-grid.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\nimport {FileCellTemplateComponent} from './file-cell-template/file-cell-template.component';\nimport {RowButtonsTemplateDirective} from './row-buttons-template.directive';\nimport {UserInfoTemplateComponent} from './user-info-template/user-info-template.component';\nimport {UnitInfoTemplateComponent} from './unit-info-template/unit-info-template.component';\nimport {InstanceLinkTemplateComponent} from './instance-link-template/instance-link-template.component';\nimport {FormModule} from \"../form/form.module\";\n\n@NgModule({\n declarations: [\n DataGridComponent,\n FileCellTemplateComponent,\n InstanceLinkTemplateComponent,\n UnitInfoTemplateComponent,\n UserInfoTemplateComponent,\n RowButtonsTemplateDirective\n ],\n imports: [\n CommonModule,\n DevExtremeModule,\n FormModule\n ],\n exports: [\n DataGridComponent,\n RowButtonsTemplateDirective\n ]\n})\nexport class DataGridModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataDetailComponent} from './data-detail.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\nimport {FormModule} from \"../form/form.module\";\n\n@NgModule({\n declarations: [\n DataDetailComponent\n ],\n imports: [\n CommonModule,\n DevExtremeModule,\n FormModule\n ],\n exports: [\n DataDetailComponent\n ]\n})\nexport class DataDetailModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DrawerComponent} from './drawer.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n DrawerComponent\n ],\n imports: [\n CommonModule,\n DevExtremeModule\n ]\n})\nexport class DrawerModule {\n}\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[rsTooltipContentTemplate]'\n})\nexport class TooltipContentTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\n","import {Component, ContentChild, Input} from '@angular/core';\nimport {TooltipContentTemplateDirective} from \"./tooltip-content-template.directive\";\n\n@Component({\n selector: 'rs-dynamic-params',\n templateUrl: './dynamic-params.component.html',\n styleUrls: ['./dynamic-params.component.scss']\n})\nexport class DynamicParamsComponent {\n @Input()\n label: any = '动态参数';\n @Input()\n showHelp = false;\n @Input()\n keyPlaceholder: any = '参数名';\n @Input()\n valuePlaceholder: any = '参数值';\n @Input()\n params!: { name: string, value: string }[];\n @Input()\n required = false;\n @Input()\n readonly = false;\n @ContentChild(TooltipContentTemplateDirective) tooltipContentTemplate!: TooltipContentTemplateDirective;\n\n add() {\n this.params.push({name: '', value: ''});\n }\n\n delete(index: number) {\n this.params.splice(index, 1);\n }\n}\n","<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>{{ label }}</span>\n <span *ngIf=\"required\" class=\"required-mark\"> *</span>\n <i *ngIf=\"showHelp\" #dynamicParamsSpan class=\"coast-icon-help cursor-pointer\">\n <dx-tooltip [target]=\"dynamicParamsSpan\"\n [position]=\"'top'\"\n [showEvent]=\"'mouseover'\"\n [hideEvent]=\"'mouseout'\">\n <div *dxTemplate=\"let data of 'content'\"\n style=\"display: flex; flex-flow: column nowrap;align-items: flex-start;\">\n <ng-container [ngTemplateOutlet]=\"tooltipContentTemplate.templateRef\"></ng-container>\n </div>\n </dx-tooltip>\n </i>\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"\n [disabled]=\"readonly\"></dx-button>\n </div>\n <div class=\"dx-field-value\">\n <div *ngFor=\"let param of params; let index = index\">\n <dx-text-box [placeholder]=\"keyPlaceholder\" [(value)]=\"param.name\" [disabled]=\"readonly\"></dx-text-box>\n <dx-text-box [placeholder]=\"valuePlaceholder\" [(value)]=\"param.value\" [disabled]=\"readonly\"></dx-text-box>\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\n (onClick)=\"delete(index)\" [disabled]=\"readonly\"></dx-button>\n </div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DynamicParamsComponent} from './dynamic-params.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\nimport {TooltipContentTemplateDirective} from './tooltip-content-template.directive';\n\n@NgModule({\n declarations: [\n DynamicParamsComponent,\n TooltipContentTemplateDirective\n ],\n imports: [\n CommonModule,\n DevExtremeModule\n ],\n exports: [\n DynamicParamsComponent,\n TooltipContentTemplateDirective\n ]\n})\nexport class DynamicParamsModule {\n}\n","import {Directive, ElementRef, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsFullscreen]',\r\n standalone: true\r\n})\r\nexport class FullscreenDirective {\r\n @Input()\r\n mode: 'immersive' | 'normal' = 'normal';\r\n\r\n @Input()\r\n set isFullscreen(isFullscreen: boolean) {\r\n this._isFullscreen = isFullscreen;\r\n this.toggle();\r\n }\r\n\r\n get isFullscreen() {\r\n return this._isFullscreen;\r\n }\r\n\r\n _isFullscreen: boolean = false;\r\n @Output()\r\n isFullscreenChange = new EventEmitter<boolean>();\r\n\r\n constructor(private elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n document.addEventListener('fullscreenchange', this.onFullScreenChange);\r\n }\r\n\r\n ngOnDestroy() {\r\n document.removeEventListener('fullscreenchange', this.onFullScreenChange);\r\n }\r\n\r\n private onFullScreenChange = (event: any) => {\r\n if (!document.fullscreenElement) {\r\n this.exitNormalFullscreen();\r\n this.isFullscreenChange.emit(false);\r\n }\r\n };\r\n\r\n toggle() {\r\n switch (this.mode) {\r\n case \"normal\":\r\n if (this.isFullscreen) {\r\n this.launchNormalFullscreen();\r\n } else {\r\n this.exitNormalFullscreen();\r\n }\r\n break;\r\n case \"immersive\":\r\n if (this.isFullscreen) {\r\n this.launchImmersiveFullScreen().then(() => {\r\n this.launchNormalFullscreen();\r\n });\r\n } else {\r\n this.exitImmersiveFullScreen().then(() => {\r\n this.exitNormalFullscreen();\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n private launchNormalFullscreen() {\r\n this.elementRef.nativeElement.classList.add('fullscreen');\r\n document.getElementsByTagName('html')[0].classList.add('coast-fullscreen');\r\n }\r\n\r\n private exitNormalFullscreen() {\r\n this.elementRef.nativeElement.classList.remove('fullscreen');\r\n document.getElementsByTagName('html')[0].classList.remove('coast-fullscreen');\r\n }\r\n\r\n private async launchImmersiveFullScreen() {\r\n return await document.documentElement.requestFullscreen().then();\r\n }\r\n\r\n private async exitImmersiveFullScreen() {\r\n if (!document.fullscreenElement) {\r\n return;\r\n }\r\n return await document.exitFullscreen().then();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\nimport {DxPopoverComponent} from \"devextreme-angular\";\n\n@Component({\n selector: 'rs-icon-selector',\n templateUrl: './icon-selector.component.html',\n styleUrls: ['./icon-selector.component.scss']\n})\nexport class IconSelectorComponent {\n @Input()\n target!: any;\n @Output()\n select = new EventEmitter<string>();\n iconList: string[] = [];\n hoverIcon?: string;\n @ViewChild('iconSelector', {static: true}) popover!: DxPopoverComponent;\n @ViewChild('iconZoomOut', {static: true}) iconZoomOut!: DxPopoverComponent;\n\n constructor() {\n const regex = /::before/;\n const styles = document.styleSheets;\n for (let i = 0; i < styles.length; i++) {\n for (let j = 0; j < styles[i].cssRules.length; j++) {\n let cssSelectorText = (styles[i].cssRules[j] as CSSStyleRule).selectorText;\n if (cssSelectorText && cssSelectorText.indexOf('.coast-icon-') === 0 && regex.test(cssSelectorText)) {\n this.iconList.push(cssSelectorText.substring(1, cssSelectorText.length - 8));\n }\n }\n }\n }\n\n selectIcon(icon: string) {\n this.select.emit(icon);\n this.popover.instance.hide();\n }\n\n zoomOut($event: MouseEvent, icon: string) {\n this.hoverIcon = icon;\n this.iconZoomOut.instance.show($event.target as Element);\n }\n}\n","<dx-popover #iconSelector\n maxWidth=\"280\"\n maxHeight=\"280\"\n [target]=\"target\"\n [showEvent]=\"{name: 'click'}\">\n <div *dxTemplate=\"let data of 'content'\">\n <ng-container *ngFor=\"let icon of iconList; let index=index\">\n <dx-button [icon]=\"'coast-icon ' + icon\" (onClick)=\"selectIcon(icon)\"\n (mouseenter)=\"zoomOut($event, icon)\" (mouseleave)=\"iconZoomOut.instance.hide()\"></dx-button>\n </ng-container>\n </div>\n</dx-popover>\n<dx-popover #iconZoomOut height=\"72px\" [enableBodyScroll]=\"false\">\n <div *dxTemplate=\"let data of 'content'\"\n style=\"display: flex; flex-flow: column nowrap; align-items: center; justify-content: center;\">\n <i [class]=\"hoverIcon\" style=\"font-size: 36px;\"></i>\n <span>{{hoverIcon?.substring(11)}}</span>\n </div>\n</dx-popover>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {IconSelectorComponent} from './icon-selector.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n IconSelectorComponent\n ],\n imports: [\n CommonModule,\n DevExtremeModule\n ],\n exports: [\n IconSelectorComponent\n ]\n})\nexport class IconSelectorModule {\n}\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n title!: string;\r\n size: 'default' | 'large' | 'full' = 'default';\r\n _width: number = 480;\r\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\r\n moveHandleEl!: HTMLElement;\r\n movable: boolean = false;\r\n topStart = 0;\r\n leftStart = 0;\r\n 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, private changeDetectorRef: ChangeDetectorRef) {\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 === 'large') {\r\n this._width = 960;\r\n }\r\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\r\n this.moveHandleEl.style.cursor = 'move';\r\n }\r\n }\r\n\r\n show() {\r\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const modals = this._parentViewContainerRef.element.nativeElement.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;\r\n currentTop = currentTop > maxTop ? maxTop : currentTop;\r\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\r\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\r\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\r\n element.style.top = currentTop + 'px';\r\n element.style.left = currentLeft + 'px';\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n}\r\n","<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{title}}</div>\r\n <i class=\"icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class ModalModule {\n}\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any,\n footerTemplate?: TemplateRef<any>,\n footerTemplateContext?: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.footerTemplate = footerTemplate;\n modalRef.instance.footerTemplateContext = footerTemplateContext;\n modalRef.instance._parentViewContainerRef = viewContainerRef;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\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';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ]\n})\nexport class WebsocketModule {\n}\n","import {Injectable} from '@angular/core';\nimport {interval, Subject, Subscription} from \"rxjs\";\n\n@Injectable()\nexport class WebsocketService {\n private url: any; // 默认请求的url\n private webSocket!: WebSocket; // websocket对象\n private connectSuccess = false; // websocket 连接成功\n private period = 60 * 1000 * 10; // 10分钟检查一次\n private serverTimeoutSubscription!: Subscription; // 定时检测连接对象\n private reconnectFlag = false; // 重连\n private reconnectPeriod = 5 * 1000; // 重连失败,则5秒钟重连一次\n private reconnectSubscription!: Subscription; // 重连订阅对象\n public serverMessageSubject = new Subject<any>();// subject对象,用于发送服务器消息\n\n constructor() {\n // 实例化时开始连接服务器\n this.connect();\n // 进入程序就进行心跳检测,避免出现开始就连接中断,后续不重连\n this.heartCheckStart();\n }\n\n /**\n * 创建新连接\n */\n private connect() {\n this.url = 'ws://' + window.location.host + '/ws?token=' + localStorage.getItem('token');\n // 创建websocket对象\n this.createWebSocket();\n }\n\n /**\n * 创建连接\n */\n private createWebSocket() {\n // 如果没有建立过连接,才建立连接并且添加时间监听\n this.webSocket = new WebSocket(this.url);\n // 建立连接成功\n this.webSocket.onopen = () => this.onOpen();\n // 接收到消息\n this.webSocket.onmessage = (e) => this.onMessage(e);\n // 连接关闭\n this.webSocket.onclose = (e) => this.onClose(e);\n // 异常\n this.webSocket.onerror = (e) => this.onError(e);\n }\n\n /**\n * 连接打开\n */\n private onOpen() {\n console.log('websocket 已连接');\n // 设置连接成功\n this.connectSuccess = true;\n // 如果是重连中\n if (this.reconnectFlag) {\n // 1.停止重连\n this.stopReconnect();\n // 2.重新开启心跳\n this.heartCheckStart();\n }\n }\n\n /**\n * 接受到消息\n */\n private onMessage(event: any) {\n // 将接受到的消息发布出去\n const message = JSON.parse(event.data);\n if (message.type === 'websocket') {\n sessionStorage.setItem('clientId', message.value);\n } else {\n this.serverMessageSubject.next(message);\n }\n }\n\n /**\n * 连接关闭\n */\n private onClose(e: any) {\n console.log('websocket 连接关闭', e);\n this.connectSuccess = false;\n this.webSocket.close();\n // 关闭时开始重连\n this.reconnect();\n }\n\n /**\n * 连接异常\n */\n private onError(e: any) {\n // 出现异常时一定会进onClose,所以只在onClose做一次重连动作\n console.log('websocket 连接异常', e);\n this.connectSuccess = false;\n }\n\n /**\n * 开始重新连接\n */\n private reconnect() {\n // 如果已重连,则直接return,避免重复连接\n if (this.connectSuccess) {\n this.stopReconnect();\n return;\n }\n // 如果正在连接中,则直接return,避免产生多个轮训事件\n if (this.reconnectFlag) {\n console.log('正在重连...');\n return;\n }\n // 开始重连\n this.reconnectFlag = true;\n // 如果没能成功连接,则定时重连\n this.reconnectSubscription = interval(this.reconnectPeriod).subscribe(async (val) => {\n console.log(`重连:${val + 1}次`);\n // 重新连接\n this.connect();\n });\n }\n\n /**\n * 停止重连\n */\n private stopReconnect() {\n // 连接标识置为false\n this.reconnectFlag = false;\n // 取消订阅\n if (typeof this.reconnectSubscription !== 'undefined' && this.reconnectSubscription != null) {\n this.reconnectSubscription.unsubscribe();\n }\n }\n\n /**\n * 开始心跳检测\n */\n private heartCheckStart() {\n this.serverTimeoutSubscription = interval(this.period).subscribe(() => {\n console.log('心跳检查')\n // 保持连接状态,重置下\n if (this.webSocket != null && this.webSocket.readyState === 1) {\n } else {\n // 停止心跳\n this.heartCheckStop();\n // 开始重连\n this.reconnect();\n }\n });\n }\n\n /**\n * 停止心跳检测\n */\n private heartCheckStop() {\n // 取消订阅停止心跳\n if (typeof this.serverTimeoutSubscription !== 'undefined' && this.serverTimeoutSubscription != null) {\n this.serverTimeoutSubscription.unsubscribe();\n }\n }\n}\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","i1.FormService","i3.BoxContainerComponent","i4","i5","i1.DataDetailService","i7.FormComponent","i2.DrawerService","i5.FormComponent","i1.DataGridFactory","i2.DataGridService","i6","i7","i8.FileCellTemplateComponent","i9.InstanceLinkTemplateComponent","i10.UnitInfoTemplateComponent","i11.UserInfoTemplateComponent"],"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/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/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/GatewayReplaceMenuProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/util/ElementUtils.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/properties/user-task/TaskDescriptionProps.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/properties/user-task/user-assignment/UserAssignmentStaticOrDynamicProps.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/properties/user-task/user-assignment/UserAssignmentProps.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/CustomPropertiesProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/config/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/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/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/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';\n\n@Component({\n selector: 'rs-divider-line',\n templateUrl: './divider-line.component.html',\n styleUrls: ['./divider-line.component.scss']\n})\nexport class DividerLineComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n height: elementRect.width + 'px'\n };\n }\n if (this.direction === 'column') {\n return {\n height: elementRect.height + 'px'\n };\n }\n return {};\n }\n}\n","","import {Component, EventEmitter, HostBinding, HostListener, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'rs-divider',\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss']\n})\nexport class DividerComponent {\n @Input()\n direction?: 'row' | 'column';\n @Input()\n targetElement: any;\n @Output()\n dividerClick = new EventEmitter();\n\n @HostBinding('style') get _style() {\n if (!this.targetElement) {\n return {};\n }\n const elementRect = this.targetElement.getBoundingClientRect();\n if (this.direction === 'row') {\n return {\n top: elementRect.height / 2 - 12 + 'px',\n left: '4px',\n transform: 'rotate(270deg)'\n };\n }\n if (this.direction === 'column') {\n return {\n top: '4px',\n left: elementRect.width / 2 - 12 + 'px'\n };\n }\n return {};\n }\n\n @HostListener('click')\n onClick() {\n this.dividerClick.emit();\n }\n}\n","<div class=\"divider-image\"></div>\n<rs-divider-line [targetElement]=\"targetElement\" [direction]=\"direction\"></rs-divider-line>\n","import {Component, EventEmitter, HostBinding, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-plugin-active',\r\n templateUrl: './plugin-active.component.html',\r\n styleUrls: ['./plugin-active.component.scss']\r\n})\r\nexport class PluginActiveComponent implements OnInit {\r\n name!: string;\r\n showClose: boolean = true;\r\n showDivider: boolean = false;\r\n itemRemove = new EventEmitter();\r\n targetElement: any;\r\n targetRect: any = {\r\n width: 0,\r\n height: 0\r\n };\r\n _targetRect: any = {};\r\n width: number = 0;\r\n height: number = 0;\r\n\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>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-plugin-not-found',\n templateUrl: './plugin-not-found.component.html',\n styleUrls: ['./plugin-not-found.component.scss']\n})\nexport class PluginNotFoundComponent {\n}\n","<div>\n <span>组件加载失败</span>\n</div>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-config-blank',\n templateUrl: './config-blank.component.html',\n styleUrls: ['./config-blank.component.scss']\n})\nexport class ConfigBlankComponent {\n}\n","<div>\n <span>无配置项</span>\n</div>\n","import {Component, OnInit} from '@angular/core';\n\n@Component({\n selector: 'rs-style',\n templateUrl: './style.component.html',\n styleUrls: ['./style.component.scss']\n})\nexport class StyleComponent implements OnInit {\n style: any;\n width: number = 0;\n height: number = 0;\n\n ngOnInit(): void {\n this.style.width = this.style.width ? this.style.width : 'auto';\n this.style.height = this.style.height ? this.style.height : 'auto';\n if (this.style.width !== 'auto') {\n this.width = this.style.width.substring(0, this.style.width.length - 2);\n }\n if (this.style.height !== 'auto') {\n this.height = this.style.height.substring(0, this.style.height.length - 2);\n }\n }\n\n select(name: string, value: any) {\n const that: any = this;\n if (value === 'auto') {\n this.style[name] = 'auto';\n that[name] = 0;\n } else {\n if (!that[name]) {\n that[name] = value;\n }\n this.style[name] = that[name] + 'px';\n }\n }\n\n typing(name: string, value: any) {\n if (value) {\n this.style[name] = value + 'px';\n } else {\n this.style[name] = 'auto';\n }\n }\n}\n","<div class=\"config-item\">\n <div class=\"item-title\">宽度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.width || style.width === 'auto' ? 'active' : ''\"\n (click)=\"select('width','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.width && style.width !== 'auto' ? 'active' : ''\"\n (click)=\"select('width',240)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定宽度</div>\n <div class=\"item-setting\">\n <dx-number-box [min]=\"0\"\n [showSpinButtons]=\"true\"\n [showClearButton]=\"true\"\n [(value)]=\"width\"\n (onValueChanged)=\"typing('width', $event.value)\"\n [readOnly]=\"style.width === 'auto'\">\n </dx-number-box>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">高度类型</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.height || style.height === 'auto' ? 'active' : ''\"\n (click)=\"select('height','auto')\">\n <span>自适应</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.height && style.height !== 'auto' ? 'active' : ''\"\n (click)=\"select('height',800)\">\n <span>固定值</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\">\n <div class=\"item-title\">固定高度</div>\n <div class=\"item-setting\">\n <dx-number-box [min]=\"0\"\n [showSpinButtons]=\"true\"\n [showClearButton]=\"true\"\n [(value)]=\"height\"\n (onValueChanged)=\"typing('height', $event.value)\"\n [readOnly]=\"style.height === 'auto'\">\n </dx-number-box>\n </div>\n</div>\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-style-blank',\n templateUrl: './style-blank.component.html',\n styleUrls: ['./style-blank.component.scss']\n})\nexport class StyleBlankComponent {\n}\n","<div>\n <span>请在左侧画布选中节点</span>\n</div>\n","import {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\n\r\nexport class PluginManager {\r\n static hoverItems: any[] = [];\r\n static activeItem = new Subject<any>();\r\n static activeItems: any[] = [];\r\n\r\n static createComponent(boxItem: BoxItemComponent, index: number, style: any, config: any): any {\r\n let plugin: any = PluginFactory.get(config.name);\r\n if (!plugin) {\r\n console.error('undefined plugin: ' + config.name);\r\n plugin = {\r\n component: PluginNotFoundComponent,\r\n name: config.name,\r\n caption: config.name\r\n }\r\n }\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n viewContainerRef.clear();\r\n const componentRef = viewContainerRef.createComponent(plugin.component);\r\n const instance: any = componentRef.instance;\r\n Object.assign(instance, config.pluginConfig);\r\n if (plugin.type === 'form') {\r\n instance.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.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 viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = componentRef.location.nativeElement;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n componentRef.location.nativeElement.appendChild(activeElement);\r\n this.activeItems.push(componentRef.location.nativeElement);\r\n componentRef.location.nativeElement.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems.indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({boxItem, index, style, config: config.config, componentRef});\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 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 if (!item) {\r\n return;\r\n }\r\n itemConfigContainerRef.clear();\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 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 Object.assign(item.componentRef.instance, item.config.pluginConfig);\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 const componentRef = itemStyleContainerRef.createComponent(StyleComponent);\r\n const instance: any = componentRef.instance;\r\n instance.style = item.style;\r\n } else {\r\n itemStyleContainerRef.createComponent(StyleBlankComponent);\r\n }\r\n }\r\n}\r\n","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\n\n@Component({\n selector: 'rs-item-config',\n templateUrl: './item-config.component.html',\n styleUrls: ['./item-config.component.scss']\n})\nexport class ItemConfigComponent implements OnInit {\n fieldTree?: any;\n @ViewChild('itemConfigContainerRef', {\n static: true,\n read: ViewContainerRef\n }) itemConfigContainerRef!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(item => {\n PluginManager.resetItemConfig(this.itemConfigContainerRef, item, this.fieldTree);\n });\n }\n}\n","<ng-container #itemConfigContainerRef></ng-container>\n","import {Component, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\nimport {PluginManager} from \"../../PluginManager\";\n\n@Component({\n selector: 'rs-item-style',\n templateUrl: './item-style.component.html',\n styleUrls: ['./item-style.component.scss']\n})\nexport class ItemStyleComponent implements OnInit {\n @ViewChild('itemStyleContainerRef', {static: true, read: ViewContainerRef}) itemStyleContainerRef!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(item => {\n PluginManager.resetItemStyle(this.itemStyleContainerRef, item);\n });\n }\n}\n","<ng-container #itemStyleContainerRef></ng-container>\n","import {Directive, ElementRef, Input, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[rsBoxItemHost]'\n})\nexport class BoxItemHostDirective {\n @Input()\n hostId: any;\n\n constructor(private el: ElementRef, public viewContainerRef: ViewContainerRef) {\n this.el.nativeElement.hostId = this.hostId;\n }\n}\n","import {Component} from '@angular/core';\n\n@Component({\n selector: 'rs-item-blank',\n templateUrl: './item-blank.component.html',\n styleUrls: ['./item-blank.component.scss']\n})\nexport class ItemBlankComponent {\n}\n","<div>\n <span>拖拽组件到此处</span>\n</div>\n","import {Component, EventEmitter, HostBinding, OnInit, Output, QueryList, ViewChildren} from '@angular/core';\nimport {BoxItemHostDirective} from './box-item-host.directive';\nimport {PluginManager} from '../PluginManager';\nimport {ItemBlankComponent} from \"./item-blank/item-blank.component\";\n\n@Component({\n selector: 'rs-box-item',\n templateUrl: './box-item.component.html',\n styleUrls: ['./box-item.component.scss']\n})\nexport class BoxItemComponent implements OnInit {\n boxContainer: any;\n style: any = {};\n config: any = {};\n pDirection?: 'row' | 'column';\n\n @HostBinding('style.flex-direction') get _direction() {\n return this.config.direction;\n }\n\n @HostBinding('style') get _style() {\n if (this.pDirection) {\n return {};\n }\n const width = this.style?.width ? this.style.width : 'auto';\n const height = this.style?.height ? this.style.height : 'auto';\n return this._calcStyle(this.pDirection, width, height);\n }\n\n @Output()\n leaveOneItem = new EventEmitter();\n @ViewChildren(BoxItemHostDirective) itemHosts!: QueryList<BoxItemHostDirective>;\n\n ngOnInit(): void {\n this.load();\n }\n\n load(activeIndex?: number) {\n setTimeout(() => {\n for (let i = 0; i < this.itemHosts.length; i++) {\n const itemHost: any = this.itemHosts.get(i);\n itemHost.viewContainerRef.clear();\n const item = this.config.list[i];\n switch (item.type) {\n case 'plugin':\n const componentRef = PluginManager.createComponent(this, i, item.style, item.config);\n if (activeIndex === i) {\n componentRef.location.nativeElement.click();\n }\n break;\n case 'item':\n const boxItemComponentRef = itemHost.viewContainerRef.createComponent(BoxItemComponent);\n const instance = boxItemComponentRef.instance;\n instance.boxContainer = this.boxContainer;\n instance.style = item.style;\n instance.config = item.config;\n instance.pDirection = this.config.direction;\n if (this.boxContainer.editMode) {\n boxItemComponentRef.location.nativeElement.style.margin = '8px';\n instance.leaveOneItem.subscribe((item: any) => {\n if (item.type === 'item' && item.direction === this.config.direction) {\n this.config.list.splice(i, 1, ...item.list);\n } else {\n this.config.list.splice(i, 1, item);\n }\n this.load();\n });\n PluginManager.createHoverComponent(itemHost.viewContainerRef, boxItemComponentRef, '格子容器');\n PluginManager.createActiveComponent(this, i, boxItemComponentRef, item.style, {\n name: 'coast-box-container',\n caption: '格子容器'\n }, false);\n }\n break;\n case 'blank':\n default:\n if (this.boxContainer.editMode) {\n this.createBlankComponent(i);\n }\n break;\n }\n }\n });\n }\n\n private createBlankComponent(index: number) {\n const viewContainerRef: any = this.itemHosts.get(index)?.viewContainerRef;\n const containerBlankComponentRef: any = viewContainerRef.createComponent(ItemBlankComponent);\n containerBlankComponentRef.instance.onRemove = () => {\n this.config.list.splice(index, 1);\n if (this.config.list.length === 1) {\n this.leaveOneItem.emit(this.config.list[0]);\n } else {\n this.load();\n }\n };\n PluginManager.createHoverComponent(viewContainerRef, containerBlankComponentRef, '占位格');\n const activeComponentRef = PluginManager.createActiveComponent(this, index, containerBlankComponentRef,\n this.config.list[index].style, {\n name: 'coast-box-container',\n caption: '占位格'\n }, this.config.list.length > 1);\n activeComponentRef.instance.showDivider = true;\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\n if (this.config.direction === direction) {\n this.config.list.splice(index + 1, 0, {type: 'blank', style: {}});\n this.load();\n } else {\n if (this.config.list.length === 1) {\n this.config.direction = direction;\n this.config.list.push({type: 'blank', style: {}});\n } else {\n this.config.list.splice(index, 1, {\n type: 'item',\n style: {},\n config: {\n direction,\n list: [this.config.list[index], {type: 'blank', style: {}}]\n }\n });\n }\n this.load();\n }\n };\n }\n\n calcStyle(item: any) {\n const width = item.style?.width ? item.style.width : 'auto';\n const height = item.style?.height ? item.style.height : 'auto';\n return {\n ...this._calcStyle(this.config.direction, width, height),\n position: 'relative'\n };\n }\n\n private _calcStyle(direction: any, width: string, height: string) {\n if (direction === 'row') {\n return {\n flex: width === 'auto' ? '1' : '0 0 ' + width,\n height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n } else if (direction === 'column') {\n return {\n width,\n flex: height === 'auto' ? 'auto' : '0 0 ' + height,\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n }\n }\n return {\n pointerEvents: this.boxContainer.editMode ? 'none' : 'all'\n };\n }\n\n dragOverComponent: any;\n\n onDragMove($event: any) {\n if ($event.fromData === $event.toData) {\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\n delete this.dragOverComponent;\n return;\n }\n if ($event.toComponent !== this.dragOverComponent) {\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\n this.dragOverComponent = $event.toComponent;\n this.dragOverComponent.instance().element().classList.add('active');\n }\n }\n\n onDragEnd($event: any) {\n this.dragOverComponent?.instance()?.element()?.classList?.remove('active');\n delete this.dragOverComponent;\n const toBoxItem = $event.toData.boxItem;\n const toIndex = $event.toData.index;\n const fromIndex = $event.fromData.index;\n const fromBoxItemConfig = this.config.list[fromIndex].config;\n if ($event.toData.item.type === 'plugin') {\n this.config.list[fromIndex].config = toBoxItem.config.list[toIndex].config;\n this.load();\n toBoxItem.config.list[toIndex].config = fromBoxItemConfig;\n } else if ($event.toData.item.type === 'blank') {\n this.config.list.splice(fromIndex, 1, {type: 'blank', style: this.config.list[fromIndex].style});\n this.load();\n toBoxItem.config.list[toIndex] = {\n type: 'plugin',\n style: toBoxItem.config.list[toIndex].style,\n config: {\n name: fromBoxItemConfig.name,\n pluginConfig: fromBoxItemConfig.pluginConfig || {}\n }\n };\n }\n toBoxItem.load(toIndex);\n $event.cancel = true;\n }\n}\n","<ng-container *ngFor=\"let item of config.list; index as index\">\n <ng-container *ngIf=\"boxContainer.editMode\">\n <ng-container *ngIf=\"item.type === 'plugin'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n handle=\".icon-drag\"\n group=\"rsBoxContainerDragGroup\"\n (onDragMove)=\"onDragMove($event)\"\n (onDragEnd)=\"onDragEnd($event)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'item'\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n <ng-container *ngIf=\"item.type === 'blank'\">\n <dx-draggable [ngStyle]=\"calcStyle(item)\"\n [data]=\"{boxItem: this, item, index}\"\n group=\"rsBoxContainerDragGroup\"\n (onDragStart)=\"$event.cancel = true\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </dx-draggable>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!boxContainer.editMode\">\n <div [ngStyle]=\"calcStyle(item)\">\n <ng-template rsBoxItemHost [hostId]=\"index\"></ng-template>\n </div>\n </ng-container>\n</ng-container>\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].isFirstChange()) {\r\n hasChange = true;\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\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 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 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 }\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>\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\n\r\n@NgModule({\r\n declarations: [\r\n BoxContainerComponent,\r\n BoxItemHostDirective,\r\n BoxItemComponent,\r\n PluginActiveComponent,\r\n DividerComponent,\r\n DividerLineComponent,\r\n PluginHoverComponent,\r\n ItemConfigComponent,\r\n ItemStyleComponent,\r\n StyleBlankComponent,\r\n ItemBlankComponent,\r\n StyleComponent,\r\n PluginNotFoundComponent,\r\n 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 the hand tool': '激活拖拽工具',\r\n 'Activate the lasso tool': '激活框选工具',\r\n 'Activate the create/remove space tool': '激活空间移动工具',\r\n 'Activate the global connect tool': '激活全局连接工具',\r\n 'Create StartEvent': '创建开始节点',\r\n 'Create EndEvent': '创建结束节点',\r\n 'Create UserTask': '创建用户任务',\r\n 'Create ServiceTask': '创建服务任务',\r\n 'Create Gateway': '创建网关节点',\r\n // 面板\r\n 'Append EndEvent': '追加结束节点',\r\n 'Append UserTask': '追加用户任务',\r\n 'Append ServiceTask': '追加服务任务',\r\n 'Append Gateway': '追加网关节点',\r\n 'Connect using Sequence/MessageFlow or Association': '使用序列/消息流或关联连接',\r\n 'Remove': '删除',\r\n 'Set Color': '设置颜色',\r\n 'Change type': '改变节点类型',\r\n 'Exclusive Gateway': '互斥网关',\r\n 'Parallel Gateway': '并行网关',\r\n 'Default Flow': '默认流向',\r\n 'Sequence Flow': '顺序流向',\r\n 'Open minimap': '打开缩略图',\r\n 'Close minimap': '关闭缩略图',\r\n // 配置\r\n 'General': '参数配置',\r\n 'Name': '名称',\r\n 'Task description': '任务描述',\r\n 'Set assignment rule': '设置用户规则',\r\n 'dynamic user': '动态用户',\r\n 'static user': '静态用户',\r\n 'dynamic role': '动态角色',\r\n 'static role': '静态角色',\r\n\r\n\r\n /*\r\n 'Create {type}': '创建{type}',\r\n 'Create Intermediate/Boundary Event': '创建中间/边界事件',\r\n 'Append {type}': '追加{type}', //'追加{type}',\r\n 'Add Lane above': '添加上面泳道',\r\n 'Divide into two Lanes': '拆分两个泳道',\r\n 'Divide into three Lanes': '拆分三个泳道',\r\n 'Add Lane below': '添下面泳道',\r\n 'Append compensation activity': '追加补偿活动',\r\n 'Change type': '改变节点类型', // 改变事情类型\r\n 'Connect using Association': '使用关联连接',\r\n 'Connect using Sequence/MessageFlow or Association': '使用序列/消息流或关联连接',\r\n 'Connect using DataInputAssociation': '使用数据输入关联连接',\r\n 'Remove': '删除',\r\n 'Create expanded SubProcess': '创建扩展子流程',\r\n // 'Create Pool/Participant': '创建者或参与者',\r\n 'Create IntermediateThrowEvent/BoundaryEvent': '创建中间事件或边界事件',\r\n 'Parallel Multi Instance': '并行多实例',\r\n 'Sequential Multi Instance': '顺序多重实例',\r\n 'Loop': '循环',\r\n 'Ad-hoc': '特别指定',\r\n 'Task': '任务',\r\n 'Send Task': '发送任务', // 发送任务\r\n 'Receive Task': '接收任务',\r\n 'User Task': '用户任务',\r\n 'Manual Task': '手工任务',\r\n 'Business Rule Task': '作业规则任务',\r\n 'Service Task': '服务任务',\r\n 'Script Task': '脚本任务',\r\n 'Call Activity': '调用活动',\r\n 'Sub Process (collapsed)': '子过程(折叠)',\r\n 'Sub Process (expanded)': '子过程(展开)',\r\n 'Start Event': '开始事件',\r\n 'Intermediate Throw Event': '抛出事件',\r\n 'End Event': '结束事件',\r\n 'Message Start Event': '消息开始事件',\r\n 'Timer Start Event': '时间开始事件',\r\n 'Conditional Start Event': '条件开始事件',\r\n 'Signal Start Event': '信号开始事件',\r\n 'Error Start Event': '错误开始事件',\r\n 'Escalation Start Event': '升级开始事件',\r\n 'Compensation Start Event': '补偿开始事件',\r\n 'Message Start Event (non-interrupting)': '消息开始事件(不中断)',\r\n 'Timer Start Event (non-interrupting)': '定时开始事件(不中断)',\r\n 'Conditional Start Event (non-interrupting)': '条件开始事件(不中断)',\r\n 'Signal Start Event (non-interrupting)': '信号开始事件(不中断)',\r\n 'Escalation Start Event (non-interrupting)': '升级开始事件(不中断)',\r\n 'Message Intermediate Catch Event': '信息捕获事件',\r\n 'Message Intermediate Throw Event': '信息抛出事件',\r\n 'Timer Intermediate Catch Event': '定时器捕获事件',\r\n 'Escalation Intermediate Throw Event': '升级抛出事件',\r\n 'Conditional Intermediate Catch Event': '条件捕获事件',\r\n 'Link Intermediate Catch Event': '链接捕获事件',\r\n 'Link Intermediate Throw Event': '链接抛出事件',\r\n 'Compensation Intermediate Throw Event': '补偿抛出事件',\r\n 'Signal Intermediate Catch Event': '信号捕获事件',\r\n 'Signal Intermediate Throw Event': '信号抛出事件',\r\n 'Message End Event': '消息结束事件',\r\n 'Escalation End Event': '升级结束事件',\r\n 'Error End Event': '错误结束事件',\r\n 'Cancel End Event': '取消结束事件',\r\n 'Compensation End Event': '补偿结束事件',\r\n 'Signal End Event': '信号结束事件',\r\n 'Terminate End Event': '终止结束事件',\r\n 'Message Boundary Event': '消息边界事件',\r\n 'Message Boundary Event (non-interrupting)': '消息边界事件(非中断)',\r\n 'Timer Boundary Event': '定时边界事件',\r\n 'Timer Boundary Event (non-interrupting)': '定时边界事件(非中断)',\r\n 'Escalation Boundary Event': '升级边界事件',\r\n 'Escalation Boundary Event (non-interrupting)': '升级边界事件(非中断)',\r\n 'Conditional Boundary Event': '有条件的边界事件',\r\n 'Conditional Boundary Event (non-interrupting)': '条件边界事件(非中断)',\r\n 'Error Boundary Event': '错误边界事件',\r\n 'Cancel Boundary Event': '取消边界事件',\r\n 'Signal Boundary Event': '信号边界事件',\r\n 'Signal Boundary Event (non-interrupting)': '信号边界事件(非中断)',\r\n 'Compensation Boundary Event': '补偿边界事件',\r\n 'Exclusive': '排他',\r\n 'Exclusive Gateway': '互斥网关',\r\n 'Parallel Gateway': '并行网关',\r\n 'Inclusive Gateway': '相容网关',\r\n 'Complex Gateway': '复杂网关',\r\n 'Event based Gateway': '事件网关',\r\n 'Transaction': '交换',\r\n 'Sub Process': '子流程',\r\n 'Event Sub Process': '事件子流程',\r\n 'Empty Pool (removes content)': '清空泳池(删除内容)',\r\n 'Collapsed Pool': '合并泳池',\r\n 'Expanded Pool': '扩展泳池',\r\n\r\n // flow\r\n 'Default Flow': '默认流向',\r\n 'Sequence Flow': '顺序流向',\r\n 'Conditional Flow': '条件流向',\r\n\r\n // Errors\r\n 'no parent for {element} in {parent}': '在{parent}中的{element}没有父元素',\r\n 'no shape type specified': '没有指定的形状类型',\r\n 'flow elements must be children of pools/participants': '流动元素必须是游泳池/参与者',\r\n 'out of bounds release': '跨界界释放',\r\n 'more than {count} child lanes': '超出{count}分支',\r\n 'element required': '被请求元素',\r\n 'diagram not part of bpmn': '图在bpmn中',\r\n 'no diagram to display': '没有图表来显示',\r\n 'no process or collaboration to display': '没有流程或协作显示',\r\n 'element {element} referenced by {referenced}#{property} not yet drawn':\r\n '元素{element}在{referenced}#{property}的引用还没有绘制',\r\n 'already rendered {element}': '已经提供{element}',\r\n 'failed to import {element}': '元素导入失败{element}',\r\n 'ID must not be empty.': 'ID不能为空!',\r\n 'ID must be a valid QName.': '无效的ID输入!',\r\n\r\n // message\r\n 'This maps to the process definition key.': '映射流程定义的Key。',\r\n 'This maps to the task definition key.': '映射任务定义的Key。',\r\n 'Specify more than one group as a comma separated list.': '多于一个组时为逗号分隔的列表。',\r\n 'Specify more than one user as a comma separated list.': '多于一个用户时为逗号分隔的列表。',\r\n 'Must provide either loop cardinality or collection': '必须提供循环基数或集合',\r\n 'Available process variables, identified in the diagram.': '可用的过程变量,如图中所示。',\r\n 'No variables found.': '未找到变量。',\r\n\r\n 'General': '基本属性',\r\n 'Documentation': '备注',\r\n 'Element documentation': '元素备注',\r\n 'Executable': '可执行',\r\n 'Process Documentation': '过程说明',\r\n '': '无',\r\n 'Listeners': '监听器',\r\n 'Execution Listener': '扩展监听器',\r\n 'Extensions': '扩展',\r\n 'Properties': '属性',\r\n 'Add Property': '添加属性',\r\n 'Process Id': '流程标识',\r\n 'Process Name': '流程名称',\r\n 'Participant Id': '参与者标识',\r\n 'Participant Name': '参与者名称',\r\n 'Name': '名称',\r\n 'Id': '标识',\r\n 'ID': '标识',\r\n 'Value': '值',\r\n 'Version Tag': '版本标记',\r\n 'External Task Configuration': '外部任务配置',\r\n 'Task Priority': '任务优先级',\r\n 'Job Configuration': '作业配置',\r\n 'Job Priority': '作业优先级',\r\n 'History Configuration': '历史配置',\r\n 'History Time To Live': '历史生存时间',\r\n 'Details': '详情',\r\n 'Initiator': '初始化',\r\n 'Asynchronous Continuations': '异步连续',\r\n 'Asynchronous Before': '异步之前',\r\n 'Asynchronous After': '异步之后',\r\n 'Forms': '表单',\r\n 'Form Key': '表单名',\r\n 'Form Fields': '表单字段',\r\n 'Form Buttons': '表单按钮',\r\n 'Form Field': '表单字段',\r\n 'Form Button': '表单按钮',\r\n 'Button Name': '按钮名称',\r\n 'Business Key': '业务键',\r\n 'Type': '类型',\r\n 'Label': '标签',\r\n 'Default Value': '默认值',\r\n 'Validation': '校验',\r\n 'Add Constraint': '添加约束',\r\n 'Config': '配置',\r\n 'Must provide a value': '必须提供一个值',\r\n 'Event Type': '事件类型',\r\n 'Listener Type': '监听器类型',\r\n 'Java Class': 'Java 类',\r\n 'Field Injection': '字段注入',\r\n 'Fields': '字段',\r\n 'Condition Type': '条件类型',\r\n 'Script Format': '脚本格式',\r\n 'Script Type': '脚本类型',\r\n 'Inline Script': '内联脚本',\r\n 'External Resource': '外部资源',\r\n 'Expression': '表达式',\r\n 'Delegate Expression': '委托表达式',\r\n 'Script': '脚本',\r\n 'Parameter must have a name': '参数必须有一个名称',\r\n 'String': '字符串',\r\n 'Implementation': '实现',\r\n 'External': '外部',\r\n 'Connector': '连接器',\r\n 'Must configure Connector': '必须配置连接器',\r\n 'Connector Id': '连接器ID',\r\n 'Input/Output': '输入/输出',\r\n 'Input Parameters': '输入参数',\r\n 'Input Parameter': '输入参数',\r\n 'Output Parameters': '输出参数',\r\n 'Output Parameter': '输出参数',\r\n 'Text': '文本',\r\n 'List': '列表',\r\n 'Add Entry': '增加条目',\r\n 'Field Injections': '字段注入',\r\n 'TextAnnotation': '文本注释',\r\n 'Variables': '变量',\r\n 'In Mapping': '输入映射',\r\n 'Out Mapping': '输出映射',\r\n 'Target': '目标',\r\n 'Source': '来源',\r\n 'Local': '本地',\r\n 'Candidate Starter Configuration': '候选人起动器配置',\r\n 'Candidate Starter Groups': '候选人起动器组',\r\n 'Candidate Starter Users': '候选人起动器用户',\r\n 'Configure Connector': '配置连接器',\r\n 'Assignee Type': '受理人类型',\r\n 'Assignee': '受理人',\r\n 'Dynamic': '动态',\r\n 'Static': '静态',\r\n 'User': '用户',\r\n 'Role': '角色',\r\n 'Candidate Users': '候选用户',\r\n 'Candidate Groups': '候选组',\r\n 'Due Date': '到期',\r\n 'Follow Up Date': '跟踪日期',\r\n 'Priority': '优先级',\r\n 'The due date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':\r\n '可以使用EL表达式,(例如:${someDate} 或者ISO日期(例如:2015-06-26T09:54:00))',\r\n 'The follow up date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':\r\n '可以使用EL表达式,(例如:${someDate} 或者ISO日期(例如:2015-06-26T09:54:00))',\r\n\r\n 'Create Task': '创建任务',\r\n 'Create DataObjectReference': '创建数据对象引用',\r\n 'Create DataStoreReference': '创建数据存储引用',\r\n 'Create Group': '创建分组',\r\n 'Category Value': '类别值',\r\n\r\n //custom\r\n 'Create CallActivity': '创建调用任务',\r\n 'Append Gateway': '追加网关节点',\r\n 'Append Intermediate/Boundary Event': '追加中间/边界事件',\r\n 'StartEvent': '开始节点',\r\n 'EndEvent': '结束节点',\r\n 'DataObjectReference': '数据对象引用',\r\n 'DataStoreReference': '数据存储引用',\r\n 'Element must have an unique id.': '节点元素必须用于唯一编号',\r\n 'Create ExclusiveGateway': '创建排他网关',\r\n 'Create Pool/Participant': '创建泳道或参与者',\r\n 'Append ExclusiveGateway': '追加排他网关',\r\n 'Append Task': '追加任务',\r\n 'Append UserTask': '追加用户任务',\r\n 'Append Sequence': '追加连线',\r\n 'Append EndEvent': '追加结束节点',\r\n 'UserTask': '用户任务',\r\n 'ExclusiveGateway': '条件', //排他网关\r\n 'Element is not set findUserType': '员工节点未设置节点人员',\r\n 'Token Simulation ': '流程模拟',\r\n 'Tasklist Configuration': '任务列表配置',\r\n 'Startable': '可启动',\r\n 'Element Documentation': '元素描述',\r\n\r\n 'Multi Instance': '多实例',\r\n 'Loop Cardinality': '循环基数',\r\n 'Collection': '集合',\r\n 'Element Variable': '元素变量',\r\n 'Completion Condition': '完成条件',\r\n 'Multi Instance Asynchronous Before': '多实例异步之前',\r\n 'Multi Instance Asynchronous After': '多实例异步之后',\r\n 'Multi Instance Exclusive': '多实例排他',\r\n 'Multi Instance Retry Time Cycle': '多实例重试时间',\r\n */\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 default class UserTaskPaletteProvider {\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 UserTask'),\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 const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n loopCharacteristics.set('isSequential', false);\r\n this.modeling.updateProperties(shape, {loopCharacteristics});\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","export default class UserTaskContextPadProvider {\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 UserTask'),\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 const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n loopCharacteristics.set('isSequential', false);\r\n this.modeling.updateProperties(shape, {loopCharacteristics});\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 const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n loopCharacteristics.set('isSequential', false);\r\n this.modeling.updateProperties(shape, {loopCharacteristics});\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 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 ServiceTask'),\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 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 ServiceTask'),\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 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 'xml'\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\n\r\nexport default class HideOtherContextPadProvider {\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 (is(element, 'bpmn:EndEvent')) {\r\n return {\r\n 'delete': entries['delete'],\r\n 'set-color': entries['set-color']\r\n }\r\n } else if (is(element, 'bpmn:SequenceFlow')) {\r\n if (entries['replace']) {\r\n return {\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete'],\r\n 'set-color': entries['set-color']\r\n }\r\n }\r\n return {\r\n 'delete': entries['delete'],\r\n 'set-color': entries['set-color']\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 'set-color': entries['set-color']\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 'set-color': entries['set-color']\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 GatewayReplaceMenuProvider {\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 GatewayReplaceMenuProvider from \"./GatewayReplaceMenuProvider\";\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', GatewayReplaceMenuProvider]\r\n};\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\n\r\nexport const util: any = {};\r\n\r\nexport function addExtensionProperty(element: any, key: string, value: string) {\r\n let extensionElements = element.businessObject.get('extensionElements');\r\n if (!extensionElements) {\r\n extensionElements = util.bpmnFactory.create('bpmn:ExtensionElements', {values: []});\r\n extensionElements.$parent = element.businessObject;\r\n util.modeling.updateModdleProperties(element, element.businessObject, {extensionElements});\r\n }\r\n let properties = null;\r\n const extensionElementValues = extensionElements.get('values');\r\n const existPropertiesElements = extensionElementValues.filter((value: any) => is(value, 'camunda:Properties'));\r\n if (existPropertiesElements.length > 0) {\r\n properties = existPropertiesElements[0];\r\n }\r\n if (!properties) {\r\n properties = util.bpmnFactory.create('camunda:Properties', {values: []});\r\n properties.$parent = extensionElements;\r\n util.modeling.updateModdleProperties(element, extensionElements, {values: [...extensionElements.get('values'), properties]});\r\n }\r\n const propertyValues = properties.get('values');\r\n const existPropertyIndex = propertyValues.findIndex((value: any) => value.name === key);\r\n if (existPropertyIndex > -1) {\r\n util.modeling.updateModdleProperties(element, propertyValues[existPropertyIndex], {name: key, value});\r\n } else {\r\n const property = util.bpmnFactory.create('camunda:Property', {name: key, value});\r\n property.$parent = properties;\r\n util.modeling.updateModdleProperties(element, properties, {values: [...properties.get('values'), property]});\r\n }\r\n}\r\n\r\nexport function getExtensionPropertyValue(element: any, key: string) {\r\n let extensionElements = element.businessObject.get('extensionElements');\r\n if (!extensionElements) {\r\n return '';\r\n }\r\n let properties = null;\r\n const extensionElementValues = extensionElements.get('values');\r\n const existPropertiesElements = extensionElementValues.filter((value: any) => is(value, 'camunda:Properties'));\r\n if (existPropertiesElements.length > 0) {\r\n properties = existPropertiesElements[0];\r\n }\r\n if (!properties) {\r\n return '';\r\n }\r\n const propertyValues = properties.get('values');\r\n const existPropertyIndex = propertyValues.findIndex((value: any) => value.name === key);\r\n if (existPropertyIndex > -1) {\r\n return propertyValues[existPropertyIndex].value;\r\n }\r\n}\r\n","// @ts-ignore\r\nimport {isTextAreaEntryEdited, TextAreaEntry} from '@bpmn-io/properties-panel';\r\nimport {addExtensionProperty, getExtensionPropertyValue, util} from \"../../util/ElementUtils\";\r\n\r\nexport default class TaskDescriptionProps {\r\n id = 'Coast_taskDescription';\r\n component: any;\r\n isEdited: any;\r\n\r\n constructor(props: any) {\r\n const {\r\n element\r\n } = props;\r\n this.component = () => {\r\n return TextAreaEntry({\r\n element: element,\r\n id: this.id,\r\n label: util.translate('Task description'),\r\n getValue: () => {\r\n return getExtensionPropertyValue(element, this.id);\r\n },\r\n setValue: (value: any) => {\r\n addExtensionProperty(element, this.id, value);\r\n },\r\n debounce: util.debounce,\r\n autoResize: true\r\n });\r\n };\r\n this.isEdited = isTextAreaEntryEdited;\r\n }\r\n}\r\n","// @ts-ignore\r\nimport {isSelectEntryEdited, SelectEntry} from '@bpmn-io/properties-panel';\r\nimport {addExtensionProperty, getExtensionPropertyValue, util} from \"../../../util/ElementUtils\";\r\n\r\nexport default class UserAssignmentStaticOrDynamicProps {\r\n id = 'Coast_userAssignment_staticOrDynamic';\r\n component: any;\r\n isEdited: any;\r\n\r\n constructor(props: any) {\r\n const {element} = props;\r\n this.component = () => {\r\n return SelectEntry({\r\n element: element,\r\n id: this.id,\r\n label: util.translate('Set assignment rule'),\r\n getValue: () => {\r\n return getExtensionPropertyValue(element, this.id);\r\n },\r\n setValue: (value: any) => {\r\n addExtensionProperty(element, this.id, value);\r\n },\r\n getOptions: () => {\r\n return [\r\n {value: '', label: util.translate('dynamic user')},\r\n {value: 'static_user', label: util.translate('static user')},\r\n {value: 'dynamic_role', label: util.translate('dynamic role')},\r\n {value: 'static_role', label: util.translate('static role')}\r\n ]\r\n }\r\n });\r\n };\r\n this.isEdited = isSelectEntryEdited;\r\n }\r\n}\r\n","import UserAssignmentStaticOrDynamicProps from \"./UserAssignmentStaticOrDynamicProps\";\r\n\r\nexport function getUserAssignmentProps(element: any) {\r\n return [new UserAssignmentStaticOrDynamicProps(element)];\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\nimport TaskDescriptionProps from \"./properties/user-task/TaskDescriptionProps\";\r\nimport {getUserAssignmentProps} from \"./properties/user-task/user-assignment/UserAssignmentProps\";\r\nimport {util} from './util/ElementUtils';\r\n\r\nexport default class CustomPropertiesProvider {\r\n private readonly translate;\r\n\r\n constructor(propertiesPanel: any, translate: any, bpmnFactory: any, modeling: any, debounceInput: any) {\r\n this.translate = translate;\r\n util.translate = translate;\r\n util.bpmnFactory = bpmnFactory;\r\n util.modeling = modeling;\r\n util.debounce = debounceInput;\r\n propertiesPanel.registerProvider(0, this);\r\n }\r\n\r\n getGroups(element: any) {\r\n return ((groups: any) => {\r\n const generalGroup = groups.find((group: any) => group.id === 'general');\r\n generalGroup.shouldOpen = true;\r\n console.log(generalGroup)\r\n if (is(element, 'bpmn:Process')) {\r\n generalGroup.entries.splice(1, 3);\r\n } else if (is(element, 'bpmn:UserTask')) {\r\n generalGroup.entries.splice(1, 1);\r\n generalGroup.entries.push(...[\r\n new TaskDescriptionProps({element}),\r\n ...getUserAssignmentProps({element})\r\n ]);\r\n }\r\n return [generalGroup];\r\n });\r\n }\r\n}\r\n","import CustomPropertiesProvider from \"./CustomPropertiesProvider\";\r\n\r\nexport default {\r\n __init__: ['customPropertiesProvider'],\r\n customPropertiesProvider: ['type', CustomPropertiesProvider]\r\n};\r\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef} from '@angular/core';\n\ndeclare var monaco: any;\n\n@Component({\n selector: 'rs-code-editor',\n templateUrl: './code-editor.component.html',\n styleUrls: ['./code-editor.component.scss']\n})\nexport class CodeEditorComponent implements OnInit {\n @Input()\n set code(code: string) {\n this._code = code || '';\n this._editor?.setValue(this._code);\n }\n\n get code() {\n return this._code;\n }\n\n private _code: string = '';\n @Output()\n codeChange = new EventEmitter<string>();\n @Input()\n language: string = 'java';\n @Input()\n readonly: boolean = false;\n @Input()\n enableMinimap: boolean = false;\n @Input()\n consoleMessage?: string;\n @Output()\n onContentReady = new EventEmitter<any>();\n private _editor: any;\n @ViewChild('editorContainer', {static: true}) editorContainer!: ElementRef;\n loading = true;\n\n constructor(protected viewContainerRef: ViewContainerRef) {\n }\n\n ngOnInit(): void {\n const baseUrl = './assets/monaco-editor/min/vs';\n const loaderScript: HTMLScriptElement = document.createElement('script');\n loaderScript.type = 'text/javascript';\n loaderScript.src = `${baseUrl}/loader.js`;\n loaderScript.addEventListener('load', () => {\n (<any>window).require.config({paths: {'vs': `${baseUrl}`}});\n (<any>window).require([`vs/editor/editor.main`], () => {\n this.initMonaco();\n });\n });\n document.body.appendChild(loaderScript);\n }\n\n private initMonaco() {\n this._editor = monaco.editor.create(this.editorContainer.nativeElement, {\n value: this.code,\n language: this.language,\n automaticLayout: true,\n readOnly: this.readonly,\n minimap: {\n enabled: this.enableMinimap\n }\n });\n this._editor.onDidChangeModelContent((e: any) => {\n this.codeChange.emit(this._editor.getValue());\n });\n this.onContentReady.emit(this._editor);\n this.loading = false;\n }\n}\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div class=\"editor-container\" #editorContainer></div>\n<div *ngIf=\"consoleMessage\" class=\"editor-console\">{{consoleMessage}}</div>\n","import {Component, ElementRef, 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\nimport customPropertiesPanelModule from './custom/config';\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 @ViewChild('container') container?: ElementRef;\r\n @ViewChild('config') config?: ElementRef;\r\n modeler: any;\r\n canvas: any;\r\n xml: any;\r\n isShowXml = false;\r\n 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 ngAfterViewInit() {\r\n this.modeler = new BpmnModeler({\r\n container: this.container?.nativeElement,\r\n propertiesPanel: {\r\n parent: this.config?.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 customPropertiesPanelModule\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.canvas = this.modeler.get('canvas');\r\n this.modeler.importXML(this.initialDiagram).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.modeler.saveXML({format: true}).then((response: any) => {\r\n this.xml = response.xml;\r\n });\r\n }\r\n this.isShowXml = !this.isShowXml;\r\n }\r\n}\r\n","<div class=\"main\">\n <div class=\"container\" #container></div>\n <div class=\"config\" #config></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CodeEditorComponent} from './code-editor.component';\nimport {DxLoadPanelModule} from \"devextreme-angular\";\nimport {DxoPositionModule} from \"devextreme-angular/ui/nested\";\n\n@NgModule({\n declarations: [\n CodeEditorComponent\n ],\n imports: [\n CommonModule,\n DxLoadPanelModule,\n DxoPositionModule\n ],\n exports: [\n CodeEditorComponent\n ]\n})\nexport class CodeEditorModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CamundaBpmnEditorComponent} from './camunda-bpmn-editor.component';\nimport {CodeEditorModule} from \"../code-editor/code-editor.module\";\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n CamundaBpmnEditorComponent\n ],\n imports: [\n CommonModule,\n CodeEditorModule,\n DevExtremeModule\n ],\n exports: [\n CamundaBpmnEditorComponent\n ]\n})\nexport class CamundaBpmnEditorModule {\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 getInstanceCaption(tenant: any, className: any, oid: any) {\r\n return this.http.get<any>('api/data/' + className + '/' + oid + '/caption', {\r\n params: {\r\n tenant\r\n }\r\n }).pipe(\r\n map(response => {\r\n return response.data;\r\n })\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';\n\n@Directive({\n selector: '[rsRowButtonsTemplate]'\n})\nexport class RowButtonsTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\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 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 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 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 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 (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';\nimport {HttpClient} from \"@angular/common/http\";\n\n@Injectable()\nexport class DataDetailService {\n constructor(private http: HttpClient) {\n }\n\n getSectionList(tenant: any, className: any, oid: any) {\n return this.http.get<any>('api/data/custom', {\n params: {\n tenant,\n className,\n oid,\n executor: 'com.cs.system.section.LoadSections'\n }\n })\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\n\n@Injectable()\nexport class FormService {\n constructor(private http: HttpClient) {\n }\n\n getFormTemplateConfig(tenant: any, className: any, template?: any) {\n return this.http.get<any>('api/metadata/form/' + className, {\n params: {\n tenant,\n template: template || ''\n }\n });\n }\n\n getOne(tenant: any, className: any, oid: any, template?: any, isCopy?: any) {\n let api = 'api/data/' + className + '/' + oid;\n return this.http.get<any>(api, {\n params: {\n tenant,\n template: template || '',\n isCopy: !!isCopy\n }\n });\n }\n\n getInitModelByTemplate(tenant: any, className: any, template?: any) {\n let api = 'api/data/' + className + '/new';\n return this.http.get<any>(api, {\n params: {\n tenant,\n className,\n template: template || ''\n }\n });\n }\n\n createOrUpdate(tenant: any, className: any, model: any) {\n let api = 'api/data/' + className;\n if (model.oid) {\n api += '/' + model.oid;\n }\n return this.http.post<any>(api, model, {\n params: {\n tenant\n }\n });\n }\n}\n","import {\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\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 @ViewChild(DxValidationGroupComponent) validator!: DxValidationGroupComponent;\r\n @ViewChild('formSubmitter') formSubmitter!: DxButtonComponent;\r\n @Output()\r\n submitCallback = new EventEmitter<any>();\r\n loading = false;\r\n private changeFilter = new ChangeFilter();\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef, private service: FormService, private elementRef: ElementRef) {\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 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.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.loading = false;\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-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n","import {Component, ViewContainerRef} from '@angular/core';\nimport {DataDetailService} from \"./data-detail.service\";\n\n@Component({\n selector: 'coast-data-detail',\n templateUrl: './data-detail.component.html',\n styleUrls: ['./data-detail.component.scss'],\n providers: [DataDetailService]\n})\nexport class DataDetailComponent {\n tenant: any;\n className: any;\n oid: any;\n params?: any;\n tabViewContainerRef!: ViewContainerRef;\n sections: any[] = [];\n loading = false;\n\n constructor(protected viewContainerRef: ViewContainerRef, private service: DataDetailService) {\n }\n\n ngOnInit() {\n this.loading = true;\n this.service.getSectionList(this.tenant, this.className, this.oid).subscribe(response => {\n (window as any).coast.tabManager.setTitle.next({\n id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,\n title: response.data.title\n });\n this.sections = response.data.list;\n this.loading = false;\n });\n }\n}\n","<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\n <span>您无权查看该数据实例任何信息</span>\n</div>\n<ng-container *ngIf=\"sections.length > 0\">\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\n [selectedItems]=\"sections\">\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\n <div class=\"section-title-name\">{{ section.name }}</div>\n </div>\n <div *dxTemplate=\"let section of 'item'\">\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\" [params]=\"params\"\n [tabViewContainerRef]=\"tabViewContainerRef\" [readonly]=\"true\"></rs-form>\n </div>\n </dx-accordion>\n</ng-container>\n","import {Component, ElementRef, OnDestroy, OnInit, TemplateRef} from '@angular/core';\n\n@Component({\n selector: 'rs-drawer',\n templateUrl: './drawer.component.html',\n styleUrls: ['./drawer.component.scss']\n})\nexport class DrawerComponent implements OnInit, OnDestroy {\n size: 'default' | 'large' = 'default';\n _width: any = '480px';\n headerTemplate?: TemplateRef<any>;\n headerTemplateContext: any;\n contentTemplate!: TemplateRef<any>;\n contentTemplateContext: any;\n _parentViewContainerRef: any;\n\n constructor(private elementRef: ElementRef) {\n }\n\n ngOnInit(): void {\n if (this.size === 'large') {\n this._width = '960px';\n }\n }\n\n show() {\n // 若存在多层抽屉,仅保留最上层遮罩颜色,下层遮罩设置为透明\n const nodeName = this.elementRef.nativeElement.nodeName;\n const drawers = this._parentViewContainerRef.element.nativeElement.parentElement.querySelectorAll(nodeName);\n for (let i = 0; i < drawers.length; i++) {\n if (i === drawers.length - 1) {\n drawers[i].querySelector('.drawer-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n } else {\n drawers[i].querySelector('.drawer-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\n }\n }\n }\n\n hide($event: any, backdrop?: any) {\n // 在service中重写\n }\n\n ngOnDestroy(): void {\n // 若存在多层抽屉,下一层遮罩设置为不透明\n const nodeName = this.elementRef.nativeElement.nodeName;\n const nextDrawer = this._parentViewContainerRef.element.nativeElement.parentElement.querySelector(nodeName + ':nth-last-child(2)');\n if (nextDrawer) {\n nextDrawer.querySelector('.drawer-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\n }\n }\n}\n","<div #drawerBackdrop class=\"drawer-backdrop\" (click)=\"hide($event, drawerBackdrop)\">\n <div class=\"drawer\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"40px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {DrawerComponent} from \"./drawer.component\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DrawerService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n size: 'default' | 'large' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any,\n headerTemplate?: TemplateRef<any>,\n headerTemplateContext?: any) {\n const drawerRef = viewContainerRef.createComponent(DrawerComponent);\n drawerRef.instance.hide = ($event: any, backdrop?: any) => {\n if ($event.target === backdrop) {\n drawerRef.hostView.destroy();\n }\n }\n drawerRef.instance.size = size;\n drawerRef.instance.headerTemplate = headerTemplate;\n drawerRef.instance.headerTemplateContext = headerTemplateContext;\n drawerRef.instance.contentTemplate = contentTemplate;\n drawerRef.instance.contentTemplateContext = contentTemplateContext;\n drawerRef.instance._parentViewContainerRef = viewContainerRef;\n drawerRef.instance.show();\n return drawerRef.instance;\n }\n}\n","import {Component, Input, TemplateRef, ViewChild} from '@angular/core';\nimport {DataGridService} from \"../data-grid.service\";\nimport {DrawerService} from \"../../drawer/drawer.service\";\nimport {notify_warning} from \"../../util/utils\";\nimport {DataDetailComponent} from \"../../data-detail/data-detail.component\";\n\n@Component({\n selector: 'rs-instance-link-template',\n templateUrl: './instance-link-template.component.html',\n styleUrls: ['./instance-link-template.component.scss']\n})\nexport class InstanceLinkTemplateComponent {\n @Input()\n tenant: any;\n @Input()\n className: any;\n @Input()\n oid: any;\n @Input()\n instanceLinkType: any;\n @Input()\n drawerViewContainerRef?: any;\n @Input()\n drawerFormTemplate?: any;\n @ViewChild('drawerFormHeaderTemplate', {static: true}) drawerFormHeaderTemplate!: TemplateRef<any>;\n @ViewChild('drawerFormContentTemplate', {static: true}) drawerFormContentTemplate!: TemplateRef<any>;\n\n constructor(private service: DataGridService, private drawerService: DrawerService) {\n }\n\n openNewTab($event: any) {\n $event.event?.stopPropagation();\n if (!(window as any).coast.tabManager) {\n notify_warning('此操作仅能在coast-web项目中执行,type:detail,config:tenant=' + this.tenant + ',className=' + this.className + ',oid=' + this.oid);\n return;\n }\n (window as any).coast.tabManager.add.next({\n type: 'detail',\n id: 'detail:' + this.tenant + '_' + this.className + '_' + this.oid,\n title: '',\n component: DataDetailComponent,\n config: {\n tenant: this.tenant,\n className: this.className,\n oid: this.oid\n }\n });\n }\n\n openDrawer($event: any) {\n $event.event?.stopPropagation();\n this.drawerService.open(this.drawerViewContainerRef, 'default', this.drawerFormContentTemplate, {\n template: this.drawerFormTemplate || 'About'\n }, this.drawerFormHeaderTemplate);\n }\n}\n","<dx-button *ngIf=\"instanceLinkType === 'tab'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"查看详情\"\n (onClick)=\"openNewTab($event)\"></dx-button>\n<dx-button *ngIf=\"instanceLinkType === 'drawer'\"\n type=\"default\"\n stylingMode=\"text\"\n icon=\"coast-icon coast-icon-send\"\n hint=\"查看详情\"\n (onClick)=\"openDrawer($event)\"></dx-button>\n<ng-template #drawerFormHeaderTemplate>\n <dx-button icon=\"coast-icon coast-icon-send\" text=\"在新选项卡中查看\" (onClick)=\"openNewTab($event)\"></dx-button>\n</ng-template>\n<ng-template #drawerFormContentTemplate let-modalContext>\n <rs-form [tenant]=\"tenant\"\n [className]=\"className\"\n [oid]=\"oid\"\n [template]=\"modalContext.template\"\n [readonly]=\"true\"></rs-form>\n</ng-template>\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 if (needRemoteDisplayName) {\r\n this.displayName = response.displayName;\r\n }\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()\">\n {{ displayName }}\n <dx-tooltip [target]=\"textDiv.instance.element()\"\n [position]=\"'top'\"\n [showEvent]=\"'click'\">\n <div *dxTemplate=\"let data of 'content'\">\n <div [innerHTML]=\"content\"></div>\n </div>\n </dx-tooltip>\n</dx-button>\n<br/>\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 if (needRemoteDisplayName) {\r\n this.displayName = response.displayName;\r\n }\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()\">\n {{ displayName }}\n <dx-tooltip [target]=\"textDiv.instance.element()\"\n [position]=\"'top'\"\n [showEvent]=\"'click'\">\n <div *dxTemplate=\"let data of 'content'\">\n <div [innerHTML]=\"content\"></div>\n </div>\n </dx-tooltip>\n</dx-button>\n<br/>\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\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?: any;\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 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 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 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(200)).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 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 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","<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]=\"true\"\r\n [sorting]=\"true\"\r\n [paging]=\"true\">\r\n </dxo-remote-operations>\r\n <dxo-paging [pageSize]=\"15\"></dxo-paging>\r\n <dxo-pager [visible]=\"true\"\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 [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</dx-data-grid>\r\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormComponent} from './form.component';\nimport {BoxContainerModule} from \"../box-container/box-container.module\";\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n FormComponent\n ],\n imports: [\n CommonModule,\n BoxContainerModule,\n DevExtremeModule\n ],\n exports: [\n FormComponent\n ]\n})\nexport class FormModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataGridComponent} from './data-grid.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\nimport {FileCellTemplateComponent} from './file-cell-template/file-cell-template.component';\nimport {RowButtonsTemplateDirective} from './row-buttons-template.directive';\nimport {UserInfoTemplateComponent} from './user-info-template/user-info-template.component';\nimport {UnitInfoTemplateComponent} from './unit-info-template/unit-info-template.component';\nimport {InstanceLinkTemplateComponent} from './instance-link-template/instance-link-template.component';\nimport {FormModule} from \"../form/form.module\";\n\n@NgModule({\n declarations: [\n DataGridComponent,\n FileCellTemplateComponent,\n InstanceLinkTemplateComponent,\n UnitInfoTemplateComponent,\n UserInfoTemplateComponent,\n RowButtonsTemplateDirective\n ],\n imports: [\n CommonModule,\n DevExtremeModule,\n FormModule\n ],\n exports: [\n DataGridComponent,\n RowButtonsTemplateDirective\n ]\n})\nexport class DataGridModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DataDetailComponent} from './data-detail.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\nimport {FormModule} from \"../form/form.module\";\n\n@NgModule({\n declarations: [\n DataDetailComponent\n ],\n imports: [\n CommonModule,\n DevExtremeModule,\n FormModule\n ],\n exports: [\n DataDetailComponent\n ]\n})\nexport class DataDetailModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DrawerComponent} from './drawer.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n DrawerComponent\n ],\n imports: [\n CommonModule,\n DevExtremeModule\n ]\n})\nexport class DrawerModule {\n}\n","import {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[rsTooltipContentTemplate]'\n})\nexport class TooltipContentTemplateDirective {\n constructor(public templateRef: TemplateRef<unknown>) {\n }\n}\n","import {Component, ContentChild, Input} from '@angular/core';\nimport {TooltipContentTemplateDirective} from \"./tooltip-content-template.directive\";\n\n@Component({\n selector: 'rs-dynamic-params',\n templateUrl: './dynamic-params.component.html',\n styleUrls: ['./dynamic-params.component.scss']\n})\nexport class DynamicParamsComponent {\n @Input()\n label: any = '动态参数';\n @Input()\n showHelp = false;\n @Input()\n keyPlaceholder: any = '参数名';\n @Input()\n valuePlaceholder: any = '参数值';\n @Input()\n params!: { name: string, value: string }[];\n @Input()\n required = false;\n @Input()\n readonly = false;\n @ContentChild(TooltipContentTemplateDirective) tooltipContentTemplate!: TooltipContentTemplateDirective;\n\n add() {\n this.params.push({name: '', value: ''});\n }\n\n delete(index: number) {\n this.params.splice(index, 1);\n }\n}\n","<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>{{ label }}</span>\n <span *ngIf=\"required\" class=\"required-mark\"> *</span>\n <i *ngIf=\"showHelp\" #dynamicParamsSpan class=\"coast-icon-help cursor-pointer\">\n <dx-tooltip [target]=\"dynamicParamsSpan\"\n [position]=\"'top'\"\n [showEvent]=\"'mouseover'\"\n [hideEvent]=\"'mouseout'\">\n <div *dxTemplate=\"let data of 'content'\"\n style=\"display: flex; flex-flow: column nowrap;align-items: flex-start;\">\n <ng-container [ngTemplateOutlet]=\"tooltipContentTemplate.templateRef\"></ng-container>\n </div>\n </dx-tooltip>\n </i>\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"\n [disabled]=\"readonly\"></dx-button>\n </div>\n <div class=\"dx-field-value\">\n <div *ngFor=\"let param of params; let index = index\">\n <dx-text-box [placeholder]=\"keyPlaceholder\" [(value)]=\"param.name\" [disabled]=\"readonly\"></dx-text-box>\n <dx-text-box [placeholder]=\"valuePlaceholder\" [(value)]=\"param.value\" [disabled]=\"readonly\"></dx-text-box>\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\n (onClick)=\"delete(index)\" [disabled]=\"readonly\"></dx-button>\n </div>\n </div>\n</div>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {DynamicParamsComponent} from './dynamic-params.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\nimport {TooltipContentTemplateDirective} from './tooltip-content-template.directive';\n\n@NgModule({\n declarations: [\n DynamicParamsComponent,\n TooltipContentTemplateDirective\n ],\n imports: [\n CommonModule,\n DevExtremeModule\n ],\n exports: [\n DynamicParamsComponent,\n TooltipContentTemplateDirective\n ]\n})\nexport class DynamicParamsModule {\n}\n","import {Directive, ElementRef, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsFullscreen]',\r\n standalone: true\r\n})\r\nexport class FullscreenDirective {\r\n @Input()\r\n mode: 'immersive' | 'normal' = 'normal';\r\n\r\n @Input()\r\n set isFullscreen(isFullscreen: boolean) {\r\n this._isFullscreen = isFullscreen;\r\n this.toggle();\r\n }\r\n\r\n get isFullscreen() {\r\n return this._isFullscreen;\r\n }\r\n\r\n _isFullscreen: boolean = false;\r\n @Output()\r\n isFullscreenChange = new EventEmitter<boolean>();\r\n\r\n constructor(private elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n document.addEventListener('fullscreenchange', this.onFullScreenChange);\r\n }\r\n\r\n ngOnDestroy() {\r\n document.removeEventListener('fullscreenchange', this.onFullScreenChange);\r\n }\r\n\r\n private onFullScreenChange = (event: any) => {\r\n if (!document.fullscreenElement) {\r\n this.exitNormalFullscreen();\r\n this.isFullscreenChange.emit(false);\r\n }\r\n };\r\n\r\n toggle() {\r\n switch (this.mode) {\r\n case \"normal\":\r\n if (this.isFullscreen) {\r\n this.launchNormalFullscreen();\r\n } else {\r\n this.exitNormalFullscreen();\r\n }\r\n break;\r\n case \"immersive\":\r\n if (this.isFullscreen) {\r\n this.launchImmersiveFullScreen().then(() => {\r\n this.launchNormalFullscreen();\r\n });\r\n } else {\r\n this.exitImmersiveFullScreen().then(() => {\r\n this.exitNormalFullscreen();\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n private launchNormalFullscreen() {\r\n this.elementRef.nativeElement.classList.add('fullscreen');\r\n document.getElementsByTagName('html')[0].classList.add('coast-fullscreen');\r\n }\r\n\r\n private exitNormalFullscreen() {\r\n this.elementRef.nativeElement.classList.remove('fullscreen');\r\n document.getElementsByTagName('html')[0].classList.remove('coast-fullscreen');\r\n }\r\n\r\n private async launchImmersiveFullScreen() {\r\n return await document.documentElement.requestFullscreen().then();\r\n }\r\n\r\n private async exitImmersiveFullScreen() {\r\n if (!document.fullscreenElement) {\r\n return;\r\n }\r\n return await document.exitFullscreen().then();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\nimport {DxPopoverComponent} from \"devextreme-angular\";\n\n@Component({\n selector: 'rs-icon-selector',\n templateUrl: './icon-selector.component.html',\n styleUrls: ['./icon-selector.component.scss']\n})\nexport class IconSelectorComponent {\n @Input()\n target!: any;\n @Output()\n select = new EventEmitter<string>();\n iconList: string[] = [];\n hoverIcon?: string;\n @ViewChild('iconSelector', {static: true}) popover!: DxPopoverComponent;\n @ViewChild('iconZoomOut', {static: true}) iconZoomOut!: DxPopoverComponent;\n\n constructor() {\n const regex = /::before/;\n const styles = document.styleSheets;\n for (let i = 0; i < styles.length; i++) {\n for (let j = 0; j < styles[i].cssRules.length; j++) {\n let cssSelectorText = (styles[i].cssRules[j] as CSSStyleRule).selectorText;\n if (cssSelectorText && cssSelectorText.indexOf('.coast-icon-') === 0 && regex.test(cssSelectorText)) {\n this.iconList.push(cssSelectorText.substring(1, cssSelectorText.length - 8));\n }\n }\n }\n }\n\n selectIcon(icon: string) {\n this.select.emit(icon);\n this.popover.instance.hide();\n }\n\n zoomOut($event: MouseEvent, icon: string) {\n this.hoverIcon = icon;\n this.iconZoomOut.instance.show($event.target as Element);\n }\n}\n","<dx-popover #iconSelector\n maxWidth=\"280\"\n maxHeight=\"280\"\n [target]=\"target\"\n [showEvent]=\"{name: 'click'}\">\n <div *dxTemplate=\"let data of 'content'\">\n <ng-container *ngFor=\"let icon of iconList; let index=index\">\n <dx-button [icon]=\"'coast-icon ' + icon\" (onClick)=\"selectIcon(icon)\"\n (mouseenter)=\"zoomOut($event, icon)\" (mouseleave)=\"iconZoomOut.instance.hide()\"></dx-button>\n </ng-container>\n </div>\n</dx-popover>\n<dx-popover #iconZoomOut height=\"72px\" [enableBodyScroll]=\"false\">\n <div *dxTemplate=\"let data of 'content'\"\n style=\"display: flex; flex-flow: column nowrap; align-items: center; justify-content: center;\">\n <i [class]=\"hoverIcon\" style=\"font-size: 36px;\"></i>\n <span>{{hoverIcon?.substring(11)}}</span>\n </div>\n</dx-popover>\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {IconSelectorComponent} from './icon-selector.component';\nimport {DevExtremeModule} from \"devextreme-angular\";\n\n@NgModule({\n declarations: [\n IconSelectorComponent\n ],\n imports: [\n CommonModule,\n DevExtremeModule\n ],\n exports: [\n IconSelectorComponent\n ]\n})\nexport class IconSelectorModule {\n}\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n HostListener,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'rs-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss']\r\n})\r\nexport class ModalComponent implements OnInit, OnDestroy {\r\n title!: string;\r\n size: 'default' | 'large' | 'full' = 'default';\r\n _width: number = 480;\r\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\r\n moveHandleEl!: HTMLElement;\r\n movable: boolean = false;\r\n topStart = 0;\r\n leftStart = 0;\r\n 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, private changeDetectorRef: ChangeDetectorRef) {\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 === 'large') {\r\n this._width = 960;\r\n }\r\n this.modalElementRef.nativeElement.style.width = this._width + 'px';\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\r\n this.moveHandleEl.style.cursor = 'move';\r\n }\r\n }\r\n\r\n show() {\r\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const modals = this._parentViewContainerRef.element.nativeElement.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;\r\n currentTop = currentTop > maxTop ? maxTop : currentTop;\r\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\r\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth;\r\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\r\n element.style.top = currentTop + 'px';\r\n element.style.left = currentLeft + 'px';\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n}\r\n","<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{title}}</div>\r\n <i class=\"icon-close\" (click)=\"hide()\"></i>\r\n </div>\r\n <div class=\"modal-content\">\r\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\r\n </div>\r\n <div *ngIf=\"footerTemplate\" class=\"modal-footer\">\r\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"\r\n [ngTemplateOutletContext]=\"{$implicit: footerTemplateContext}\"></ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalComponent} from './modal.component';\n\n@NgModule({\n declarations: [\n ModalComponent\n ],\n imports: [\n CommonModule\n ]\n})\nexport class ModalModule {\n}\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {ModalComponent} from './modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalService {\n constructor() {\n }\n\n open(viewContainerRef: ViewContainerRef,\n title: string, size: 'default' | 'large' | 'full' = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any,\n footerTemplate?: TemplateRef<any>,\n footerTemplateContext?: any) {\n const modalRef = viewContainerRef.createComponent(ModalComponent);\n modalRef.instance.hide = () => {\n modalRef.hostView.destroy();\n }\n modalRef.instance.title = title;\n modalRef.instance.size = size;\n modalRef.instance.contentTemplate = contentTemplate;\n modalRef.instance.contentTemplateContext = contentTemplateContext;\n modalRef.instance.footerTemplate = footerTemplate;\n modalRef.instance.footerTemplateContext = footerTemplateContext;\n modalRef.instance._parentViewContainerRef = viewContainerRef;\n modalRef.instance.show();\n return modalRef.instance;\n }\n}\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';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ]\n})\nexport class WebsocketModule {\n}\n","import {Injectable} from '@angular/core';\nimport {interval, Subject, Subscription} from \"rxjs\";\n\n@Injectable()\nexport class WebsocketService {\n private url: any; // 默认请求的url\n private webSocket!: WebSocket; // websocket对象\n private connectSuccess = false; // websocket 连接成功\n private period = 60 * 1000 * 10; // 10分钟检查一次\n private serverTimeoutSubscription!: Subscription; // 定时检测连接对象\n private reconnectFlag = false; // 重连\n private reconnectPeriod = 5 * 1000; // 重连失败,则5秒钟重连一次\n private reconnectSubscription!: Subscription; // 重连订阅对象\n public serverMessageSubject = new Subject<any>();// subject对象,用于发送服务器消息\n\n constructor() {\n // 实例化时开始连接服务器\n this.connect();\n // 进入程序就进行心跳检测,避免出现开始就连接中断,后续不重连\n this.heartCheckStart();\n }\n\n /**\n * 创建新连接\n */\n private connect() {\n this.url = 'ws://' + window.location.host + '/ws?token=' + localStorage.getItem('token');\n // 创建websocket对象\n this.createWebSocket();\n }\n\n /**\n * 创建连接\n */\n private createWebSocket() {\n // 如果没有建立过连接,才建立连接并且添加时间监听\n this.webSocket = new WebSocket(this.url);\n // 建立连接成功\n this.webSocket.onopen = () => this.onOpen();\n // 接收到消息\n this.webSocket.onmessage = (e) => this.onMessage(e);\n // 连接关闭\n this.webSocket.onclose = (e) => this.onClose(e);\n // 异常\n this.webSocket.onerror = (e) => this.onError(e);\n }\n\n /**\n * 连接打开\n */\n private onOpen() {\n console.log('websocket 已连接');\n // 设置连接成功\n this.connectSuccess = true;\n // 如果是重连中\n if (this.reconnectFlag) {\n // 1.停止重连\n this.stopReconnect();\n // 2.重新开启心跳\n this.heartCheckStart();\n }\n }\n\n /**\n * 接受到消息\n */\n private onMessage(event: any) {\n // 将接受到的消息发布出去\n const message = JSON.parse(event.data);\n if (message.type === 'websocket') {\n sessionStorage.setItem('clientId', message.value);\n } else {\n this.serverMessageSubject.next(message);\n }\n }\n\n /**\n * 连接关闭\n */\n private onClose(e: any) {\n console.log('websocket 连接关闭', e);\n this.connectSuccess = false;\n this.webSocket.close();\n // 关闭时开始重连\n this.reconnect();\n }\n\n /**\n * 连接异常\n */\n private onError(e: any) {\n // 出现异常时一定会进onClose,所以只在onClose做一次重连动作\n console.log('websocket 连接异常', e);\n this.connectSuccess = false;\n }\n\n /**\n * 开始重新连接\n */\n private reconnect() {\n // 如果已重连,则直接return,避免重复连接\n if (this.connectSuccess) {\n this.stopReconnect();\n return;\n }\n // 如果正在连接中,则直接return,避免产生多个轮训事件\n if (this.reconnectFlag) {\n console.log('正在重连...');\n return;\n }\n // 开始重连\n this.reconnectFlag = true;\n // 如果没能成功连接,则定时重连\n this.reconnectSubscription = interval(this.reconnectPeriod).subscribe(async (val) => {\n console.log(`重连:${val + 1}次`);\n // 重新连接\n this.connect();\n });\n }\n\n /**\n * 停止重连\n */\n private stopReconnect() {\n // 连接标识置为false\n this.reconnectFlag = false;\n // 取消订阅\n if (typeof this.reconnectSubscription !== 'undefined' && this.reconnectSubscription != null) {\n this.reconnectSubscription.unsubscribe();\n }\n }\n\n /**\n * 开始心跳检测\n */\n private heartCheckStart() {\n this.serverTimeoutSubscription = interval(this.period).subscribe(() => {\n console.log('心跳检查')\n // 保持连接状态,重置下\n if (this.webSocket != null && this.webSocket.readyState === 1) {\n } else {\n // 停止心跳\n this.heartCheckStop();\n // 开始重连\n this.reconnect();\n }\n });\n }\n\n /**\n * 停止心跳检测\n */\n private heartCheckStop() {\n // 取消订阅停止心跳\n if (typeof this.serverTimeoutSubscription !== 'undefined' && this.serverTimeoutSubscription != null) {\n this.serverTimeoutSubscription.unsubscribe();\n }\n }\n}\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","i1.FormService","i3.BoxContainerComponent","i4","i5","i1.DataDetailService","i7.FormComponent","i2.DrawerService","i5.FormComponent","i1.DataGridFactory","i2.DataGridService","i6","i7","i8.FileCellTemplateComponent","i9.InstanceLinkTemplateComponent","i10.UnitInfoTemplateComponent","i11.UserInfoTemplateComponent"],"mappings":"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"}
|