ngx-rs-ant 2.1.0 → 2.1.1
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-grid/cell-component-template/cell-component-template.component.mjs +13 -11
- package/esm2020/data-grid/data-grid.service.mjs +1 -1
- package/fesm2015/ngx-rs-ant.mjs +12 -10
- package/fesm2015/ngx-rs-ant.mjs.map +1 -1
- package/fesm2020/ngx-rs-ant.mjs +12 -10
- 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/initUserTask.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/UserTaskPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/UserTaskContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/ServiceTaskPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/ServiceTaskContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/HideOtherPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/CustomReplaceMenuProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/index.ts","../../../projects/ngx-rs-ant/src/code-editor/code-editor.component.ts","../../../projects/ngx-rs-ant/src/code-editor/code-editor.component.html","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.component.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.component.html","../../../projects/ngx-rs-ant/src/code-editor/code-editor.module.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.module.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.component.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.component.html","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.service.ts","../../../projects/ngx-rs-ant/src/data-grid/row-buttons-template.directive.ts","../../../projects/ngx-rs-ant/src/util/utils.ts","../../../projects/ngx-rs-ant/src/data-grid/custom-template.directive.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.factory.ts","../../../projects/ngx-rs-ant/src/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/form/form.service.ts","../../../projects/ngx-rs-ant/src/util/UniqueId.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-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/cell-component-template/cell-component-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/cell-component-template/cell-component-template.component.html","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.html","../../../projects/ngx-rs-ant/src/form/field-selector/field-selector.component.ts","../../../projects/ngx-rs-ant/src/form/field-selector/field-selector.component.html","../../../projects/ngx-rs-ant/src/form/form.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/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/types/component/component-base.ts","../../../projects/ngx-rs-ant/src/types/component/cell-component-base.ts","../../../projects/ngx-rs-ant/src/types/component/form-item-component-base.ts","../../../projects/ngx-rs-ant/src/types/component/modal-component-base.ts","../../../projects/ngx-rs-ant/src/types/component/page-item-component-base.ts","../../../projects/ngx-rs-ant/src/types/config/config-base.ts","../../../projects/ngx-rs-ant/src/types/config/cell-config-base.ts","../../../projects/ngx-rs-ant/src/types/config/form-item-config-base.ts","../../../projects/ngx-rs-ant/src/types/config/modal-config-base.ts","../../../projects/ngx-rs-ant/src/types/config/page-item-config-base.ts","../../../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} 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 {\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\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=\"coast-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=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n","import {Component} 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","<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.widthType = this.style.widthType ? this.style.widthType : 'screen';\n this.style.height = this.style.height ? this.style.height : 'auto';\n this.style.heightType = this.style.heightType ? this.style.heightType : 'screen';\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\" *ngIf=\"style.width === 'auto'\">\n <div class=\"item-title\">适应方式</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.widthType || style.widthType === 'screen' ? 'active' : ''\"\n (click)=\"style.widthType = 'screen'\">\n <span>按屏幕</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.widthType && style.widthType === 'content' ? 'active' : ''\"\n (click)=\"style.widthType = 'content'\">\n <span>按内容</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\" *ngIf=\"style.width !== 'auto'\">\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 </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\" *ngIf=\"style.height === 'auto'\">\n <div class=\"item-title\">适应方式</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.heightType || style.heightType === 'screen' ? 'active' : ''\"\n (click)=\"style.heightType = 'screen'\">\n <span>按屏幕</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.heightType && style.heightType === 'content' ? 'active' : ''\"\n (click)=\"style.heightType = 'content'\">\n <span>按内容</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\" *ngIf=\"style.height !== 'auto'\">\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 </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, EventEmitter, 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<{ id: symbol, item: any }>();\r\n static activeItems: { [id: symbol]: 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 (PluginFactory.hasType(plugin, 'page')) {\r\n instance.editMode = boxItem.boxContainer.editMode;\r\n instance.tabId = boxItem.boxContainer.context?.__tabId;\r\n }\r\n if (PluginFactory.hasType(plugin, 'form')) {\r\n instance.editMode = boxItem.boxContainer.editMode;\r\n instance.validationGroupName = boxItem.boxContainer.context?.__form?.uniqueId;\r\n instance.tenant = boxItem.boxContainer.context?.__form?.tenant;\r\n instance.className = boxItem.boxContainer.context?.__form?.className;\r\n instance.oid = boxItem.boxContainer.context?.__form?.oid;\r\n instance.model = boxItem.boxContainer.context?.__model;\r\n instance.opener = boxItem.boxContainer.context?.__opener;\r\n instance.valueChange = boxItem.boxContainer.context?.__valueChange;\r\n if (instance.valueChange) {\r\n instance.valueChange.subscribe(instance.defaultValueChanged.bind(instance));\r\n }\r\n if (boxItem.boxContainer.readonly) {\r\n instance.readonly = true;\r\n }\r\n }\r\n if (PluginFactory.hasType(plugin, 'modal')) {\r\n instance.opener = boxItem.boxContainer.context?.__opener;\r\n }\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 const wrapperDiv = this.createWrapperDiv(componentRef.location.nativeElement, boxItem.wrapperDivIndex + 1);\r\n this.createHoverComponent(viewContainerRef, wrapperDiv, plugin.caption);\r\n this.createActiveComponent(boxItem, index, wrapperDiv, 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 createWrapperDiv(parent: Element, zIndex: number) {\r\n const div = document.createElement('div');\r\n div.style.position = 'absolute';\r\n div.style.inset = '8px';\r\n div.style.cursor = 'pointer';\r\n div.style.zIndex = String(zIndex);\r\n return parent.appendChild(div);\r\n }\r\n\r\n static createHoverComponent(viewContainerRef: ViewContainerRef, wrapperDiv: Element, caption: string): any {\r\n const hoverComponentRef = viewContainerRef.createComponent(PluginHoverComponent);\r\n hoverComponentRef.instance.name = caption;\r\n hoverComponentRef.instance.targetElement = wrapperDiv;\r\n const hoverElement = hoverComponentRef.location.nativeElement;\r\n wrapperDiv.appendChild(hoverElement);\r\n this.hoverItems.push(wrapperDiv);\r\n wrapperDiv.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 wrapperDiv.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, wrapperDiv: Element, componentRef: ComponentRef<any>,\r\n style: any, config: any, showClose: boolean): any {\r\n const id = boxItem.boxContainer.id;\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = wrapperDiv;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n wrapperDiv.appendChild(activeElement);\r\n if (this.activeItems[id]) {\r\n this.activeItems[id].push(wrapperDiv);\r\n } else {\r\n this.activeItems[id] = [wrapperDiv];\r\n }\r\n wrapperDiv.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems[id]) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems[id].indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({\r\n id,\r\n item: {boxItem, index, style, config: config.config, componentRef}\r\n });\r\n $event.target.classList.add('plugin-active');\r\n });\r\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\r\n if (boxItem.config.direction === direction) {\r\n boxItem.config.list.splice(index + 1, 0, {type: 'blank', style: {}});\r\n boxItem.load();\r\n } else {\r\n if (boxItem.config.list.length === 1) {\r\n boxItem.config.direction = direction;\r\n boxItem.config.list.push({type: 'blank', style: {}});\r\n } else {\r\n if (boxItem.config.list[index].type === 'item' && boxItem.config.list[index].config.direction === direction) {\r\n boxItem.config.list[index].config.list.push({type: 'blank', style: {}});\r\n } else {\r\n boxItem.config.list.splice(index, 1, {\r\n type: 'item',\r\n style: boxItem.config.list[index].style,\r\n config: {\r\n direction,\r\n list: [boxItem.config.list[index], {type: 'blank', style: {}}]\r\n }\r\n });\r\n }\r\n }\r\n boxItem.load();\r\n }\r\n };\r\n activeComponentRef.instance.itemRemove.subscribe(() => {\r\n this.activeItem.next({\r\n id,\r\n item: ''\r\n });\r\n viewContainerRef.clear();\r\n componentRef.instance.onRemove();\r\n });\r\n return activeComponentRef;\r\n }\r\n\r\n static resetItemConfig(itemConfigContainerRef: ViewContainerRef, item: any, context?: any) {\r\n itemConfigContainerRef.clear();\r\n if (!item) {\r\n itemConfigContainerRef.createComponent(ConfigBlankComponent);\r\n return;\r\n }\r\n const plugin = PluginFactory.get(item.config?.name);\r\n const 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 if (PluginFactory.hasType(plugin, 'page')) {\r\n instance.configChange = new EventEmitter<boolean | undefined>();\r\n }\r\n if (PluginFactory.hasType(plugin, 'form')) {\r\n instance.configChange = new EventEmitter<boolean | undefined>();\r\n instance.tenant = context?.tenant;\r\n instance.className = context?.className;\r\n instance.fieldTree = context?.fieldTree;\r\n }\r\n instance.config = item.config.pluginConfig;\r\n instance.configChange.subscribe((reload?: boolean) => {\r\n if (reload) {\r\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\r\n componentRef.location.nativeElement.click();\r\n } else {\r\n setTimeout(() => {\r\n Object.assign(item.componentRef.instance, item.config.pluginConfig);\r\n });\r\n }\r\n });\r\n instance.tabViewContainerRef = item.boxItem.boxContainer.tabViewContainerRef;\r\n } else {\r\n itemConfigContainerRef.createComponent(ConfigBlankComponent);\r\n }\r\n }\r\n\r\n static resetItemStyle(itemStyleContainerRef: ViewContainerRef, item: any) {\r\n itemStyleContainerRef.clear();\r\n if (!item) {\r\n itemStyleContainerRef.createComponent(StyleBlankComponent);\r\n return;\r\n }\r\n const componentRef = itemStyleContainerRef.createComponent(StyleComponent);\r\n const instance: any = componentRef.instance;\r\n instance.style = item.style;\r\n }\r\n}\r\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\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 @Input()\n id: symbol | string = 'global';\n @Input()\n context?: any;\n @ViewChild('itemConfigContainerRef', {\n static: true,\n read: ViewContainerRef\n }) itemConfigContainerRef!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(data => {\n if (data.id !== this.id) {\n return;\n }\n PluginManager.resetItemConfig(this.itemConfigContainerRef, data.item, this.context);\n });\n }\n}\n","<ng-container #itemConfigContainerRef></ng-container>\n","import {Component, Input, 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 @Input()\n id: symbol | string = 'global';\n @ViewChild('itemStyleContainerRef', {static: true, read: ViewContainerRef}) itemStyleContainerRef!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(data => {\n if (data.id !== this.id) {\n return;\n }\n PluginManager.resetItemStyle(this.itemStyleContainerRef, data.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 wrapperDivIndex: number = 10;\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 widthType = this.style?.widthType ? this.style.widthType : 'screen';\n const height = this.style?.height ? this.style.height : 'auto';\n const heightType = this.style?.heightType ? this.style.heightType : 'screen';\n return this._calcStyle(this.pDirection, width, widthType, height, heightType);\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.lastChild.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 instance.wrapperDivIndex = this.wrapperDivIndex + 1;\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 const wrapperDiv = PluginManager.createWrapperDiv(boxItemComponentRef.location.nativeElement, this.wrapperDivIndex + 1);\n PluginManager.createHoverComponent(itemHost.viewContainerRef, wrapperDiv, '格子容器');\n PluginManager.createActiveComponent(this, i, wrapperDiv, 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 const wrapperDiv = PluginManager.createWrapperDiv(containerBlankComponentRef.location.nativeElement, this.wrapperDivIndex + 1);\n PluginManager.createHoverComponent(viewContainerRef, wrapperDiv, '占位格');\n const activeComponentRef = PluginManager.createActiveComponent(this, index, wrapperDiv, 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 widthType = item.style?.widthType ? item.style.widthType : 'screen';\n const height = item.style?.height ? item.style.height : 'auto';\n const heightType = item.style?.heightType ? item.style.heightType : 'screen';\n return {\n ...this._calcStyle(this.config.direction, width, widthType, height, heightType),\n position: 'relative'\n };\n }\n\n private _calcStyle(direction: any, width: string, widthType: string, height: string, heightType: string) {\n if (direction === 'row') {\n return {\n flex: width === 'auto' ? (widthType === 'screen' ? '1' : 'none') : '0 0 ' + width,\n height\n }\n } else if (direction === 'column') {\n return {\n width,\n flex: height === 'auto' ? (heightType === 'screen' ? 'auto' : 'none') : '0 0 ' + height\n }\n }\n return {};\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 // 取消拖拽后,DevExtreme会自动添加样式:transform: translate(0px, 0px);导致组件不可选中,应该是DevExtreme的BUG\n setTimeout(() => {\n $event.itemElement.style.transform = 'none';\n });\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=\".coast-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].previousValue == changes[key].currentValue) && !changes[key].isFirstChange()) {\r\n hasChange = true;\r\n break;\r\n }\r\n }\r\n if (hasChange) {\r\n handler();\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\nimport {ChangeFilter} from \"../util/change-filter\";\r\nimport {PluginManager} from \"./PluginManager\";\r\n\r\n@Component({\r\n selector: 'rs-box-container',\r\n templateUrl: './box-container.component.html',\r\n styleUrls: ['./box-container.component.scss']\r\n})\r\nexport class BoxContainerComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input()\r\n id: symbol | string = 'global';\r\n @Input()\r\n editMode: boolean = false;\r\n @Input()\r\n config: any = {\r\n direction: 'row',\r\n list: [{type: 'blank', style: {}}]\r\n };\r\n @Input()\r\n params?: any;\r\n @Input()\r\n context?: 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', 'params', 'context', 'readonly'], () => {\r\n this.load();\r\n });\r\n PluginManager.activeItem.subscribe(data => {\r\n if (data.id !== this.id) {\r\n return;\r\n }\r\n if (!data.item) {\r\n for (let activeItem of PluginManager.activeItems[this.id]) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.changeFilter.doFilter(changes);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.changeFilter.dispose();\r\n }\r\n\r\n load() {\r\n this.boxContainerContent.clear();\r\n const boxItemComponentRef = this.boxContainerContent.createComponent(BoxItemComponent);\r\n const instance = boxItemComponentRef.instance;\r\n instance.boxContainer = this;\r\n instance.config = this.config;\r\n if (this.editMode) {\r\n boxItemComponentRef.location.nativeElement.style.margin = '8px';\r\n }\r\n instance.leaveOneItem?.subscribe((item: any) => {\r\n if (item.type === 'item') {\r\n Object.assign(instance.config, item);\r\n } else {\r\n instance.config.direction = 'row';\r\n }\r\n instance.load();\r\n });\r\n }\r\n}\r\n","<ng-container #boxContainerContent></ng-container>\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 hand tool': '激活拖拽工具',\r\n 'Activate lasso tool': '激活框选工具',\r\n 'Activate create/remove space tool': '激活空间移动工具',\r\n 'Activate global connect tool': '激活全局连接工具',\r\n 'Create start event': '创建开始节点',\r\n 'Create end event': '创建结束节点',\r\n 'Create user task': '创建用户任务',\r\n 'Create service task': '创建服务任务',\r\n 'Create gateway': '创建网关节点',\r\n // 面板\r\n 'Append user task': '追加用户任务',\r\n 'Append service task': '追加服务任务',\r\n 'Append gateway': '追加网关节点',\r\n 'Append end event': '追加结束节点',\r\n 'Connect to other element': '连接其它节点',\r\n 'Delete': '删除',\r\n 'Change type': '改变节点类型',\r\n 'Exclusive gateway': '互斥网关',\r\n 'Parallel gateway': '并行网关',\r\n 'Default flow': '默认流向',\r\n 'Sequence flow': '顺序流向',\r\n 'Conditional flow': '条件流向',\r\n 'Open minimap': '打开缩略图',\r\n 'Close minimap': '关闭缩略图',\r\n};\r\n","import {translations} from './translations';\r\n\r\nexport function customTranslate(template: string, replacements: {\r\n [key: string]: string\r\n}) {\r\n replacements = replacements || {};\r\n // Translate\r\n template = translations[template] || template;\r\n // Replace\r\n return template.replace(/{([^}]+)}/g, function (_, key) {\r\n return replacements[key] || '{' + key + '}';\r\n });\r\n}\r\n\r\nexport default {\r\n translate: ['value', customTranslate]\r\n}\r\n","export function initUserTask(moddle: any, modeling: any, userTask: any) {\r\n const loopCharacteristics = moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n modeling.updateModdleProperties(userTask, loopCharacteristics, {\r\n ['camunda:collection']: '${workflowHelper.collectUsers(execution, \"' + userTask.id + '\")}',\r\n ['camunda:elementVariable']: 'user'\r\n });\r\n modeling.updateProperties(userTask, {\r\n loopCharacteristics,\r\n ['camunda:assignee']: '${user}'\r\n });\r\n}\r\n","import {initUserTask} from \"./initUserTask\";\r\n\r\nexport default class UserTaskPaletteProvider {\r\n public static $inject = [\r\n 'palette',\r\n 'translate',\r\n 'elementFactory',\r\n 'moddle',\r\n 'modeling',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly elementFactory: any;\r\n private readonly moddle: any;\r\n private readonly modeling: any;\r\n private readonly create: any;\r\n\r\n constructor(palette: any, translate: any, elementFactory: any, moddle: any, modeling: any, create: any) {\r\n this.translate = translate;\r\n this.elementFactory = elementFactory;\r\n this.moddle = moddle;\r\n this.modeling = modeling;\r\n this.create = create;\r\n palette.registerProvider(this);\r\n this.createUserTask = this.createUserTask.bind(this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return {\r\n 'create.user-task': {\r\n group: 'activity',\r\n className: 'bpmn-icon-user-task',\r\n title: this.translate('Create user task'),\r\n action: {\r\n dragstart: this.createUserTask,\r\n click: this.createUserTask\r\n }\r\n }\r\n };\r\n }\r\n\r\n createUserTask(event: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","import {initUserTask} from \"./initUserTask\";\r\n\r\nexport default class UserTaskContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'appendPreview',\r\n 'elementFactory',\r\n 'autoPlace',\r\n 'moddle',\r\n 'modeling',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly appendPreview: any;\r\n private readonly elementFactory: any;\r\n private readonly autoPlace: any;\r\n private readonly moddle: any;\r\n private readonly modeling: any;\r\n private readonly create: any;\r\n\r\n constructor(contextPad: any, translate: any, appendPreview: any, elementFactory: any, autoPlace: any, moddle: any, modeling: any, create: any) {\r\n this.translate = translate;\r\n this.appendPreview = appendPreview;\r\n this.elementFactory = elementFactory;\r\n this.autoPlace = autoPlace;\r\n this.moddle = moddle;\r\n this.modeling = modeling;\r\n this.create = create;\r\n contextPad.registerProvider(this);\r\n this.appendUserTaskPreview = this.appendUserTaskPreview.bind(this);\r\n this.appendUserTask = this.appendUserTask.bind(this);\r\n this.appendUserTaskStart = this.appendUserTaskStart.bind(this);\r\n }\r\n\r\n getContextPadEntries() {\r\n return {\r\n 'append.user-task': {\r\n group: 'model',\r\n className: 'bpmn-icon-user-task',\r\n title: this.translate('Append user task'),\r\n action: {\r\n hover: this.appendUserTaskPreview,\r\n click: this.appendUserTask,\r\n dragstart: this.appendUserTaskStart\r\n }\r\n }\r\n };\r\n }\r\n\r\n appendUserTaskPreview(event: any, source: any) {\r\n this.appendPreview.create(source, 'bpmn:UserTask');\r\n return () => {\r\n this.appendPreview.cleanUp();\r\n };\r\n }\r\n\r\n appendUserTask(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.autoPlace.append(source, shape);\r\n this.appendPreview.cleanUp();\r\n }\r\n\r\n appendUserTaskStart(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.create.start(event, shape, {\r\n source: source\r\n });\r\n this.appendPreview.cleanUp();\r\n }\r\n}\r\n","import UserTaskPaletteProvider from './UserTaskPaletteProvider';\r\nimport UserTaskContextPadProvider from \"./UserTaskContextPadProvider\";\r\n\r\nexport default {\r\n __init__: ['userTaskPaletteProvider', 'userTaskContextPadProvider'],\r\n userTaskPaletteProvider: ['type', UserTaskPaletteProvider],\r\n userTaskContextPadProvider: ['type', UserTaskContextPadProvider],\r\n};\r\n","export default class ServiceTaskPaletteProvider {\r\n public static $inject = [\r\n 'palette',\r\n 'translate',\r\n 'elementFactory',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly elementFactory: any;\r\n private readonly create: any;\r\n\r\n constructor(palette: any, translate: any, elementFactory: any, create: any) {\r\n this.translate = translate;\r\n this.elementFactory = elementFactory;\r\n this.create = create;\r\n palette.registerProvider(this);\r\n this.createServiceTask = this.createServiceTask.bind(this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return {\r\n 'create.service-task': {\r\n group: 'activity',\r\n className: 'bpmn-icon-service-task',\r\n title: this.translate('Create service task'),\r\n action: {\r\n dragstart: this.createServiceTask,\r\n click: this.createServiceTask\r\n }\r\n }\r\n };\r\n }\r\n\r\n createServiceTask(event: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","export default class ServiceTaskContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'appendPreview',\r\n 'elementFactory',\r\n 'autoPlace',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly appendPreview: any;\r\n private readonly elementFactory: any;\r\n private readonly autoPlace: any;\r\n private readonly create: any;\r\n\r\n constructor(contextPad: any, translate: any, appendPreview: any, elementFactory: any, autoPlace: any, create: any) {\r\n this.translate = translate;\r\n this.appendPreview = appendPreview;\r\n this.elementFactory = elementFactory;\r\n this.autoPlace = autoPlace;\r\n this.create = create;\r\n contextPad.registerProvider(this);\r\n this.appendServiceTaskPreview = this.appendServiceTaskPreview.bind(this);\r\n this.appendServiceTask = this.appendServiceTask.bind(this);\r\n this.appendServiceTaskStart = this.appendServiceTaskStart.bind(this);\r\n }\r\n\r\n getContextPadEntries() {\r\n return {\r\n 'append.service-task': {\r\n group: 'model',\r\n className: 'bpmn-icon-service-task',\r\n title: this.translate('Append service task'),\r\n action: {\r\n hover: this.appendServiceTaskPreview,\r\n click: this.appendServiceTask,\r\n dragstart: this.appendServiceTaskStart\r\n }\r\n }\r\n };\r\n }\r\n\r\n appendServiceTaskPreview(event: any, source: any) {\r\n this.appendPreview.create(source, 'bpmn:ServiceTask');\r\n return () => {\r\n this.appendPreview.cleanUp();\r\n };\r\n }\r\n\r\n appendServiceTask(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.autoPlace.append(source, shape);\r\n this.appendPreview.cleanUp();\r\n }\r\n\r\n appendServiceTaskStart(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.create.start(event, shape, {\r\n source: source\r\n });\r\n this.appendPreview.cleanUp();\r\n }\r\n}\r\n","import ServiceTaskPaletteProvider from './ServiceTaskPaletteProvider';\r\nimport ServiceTaskContextPadProvider from \"./ServiceTaskContextPadProvider\";\r\n\r\nexport default {\r\n __init__: ['serviceTaskPaletteProvider', 'serviceTaskContextPadProvider'],\r\n serviceTaskPaletteProvider: ['type', ServiceTaskPaletteProvider],\r\n serviceTaskContextPadProvider: ['type', ServiceTaskContextPadProvider],\r\n};\r\n","export default class HideOtherPaletteProvider {\r\n public static $inject = [\r\n 'palette'\r\n ];\r\n private visibleEntryKeys = [\r\n 'hand-tool',\r\n 'lasso-tool',\r\n 'space-tool',\r\n 'global-connect-tool',\r\n 'tool-separator',\r\n 'create.start-event',\r\n 'create.end-event',\r\n 'create.user-task',\r\n 'create.service-task',\r\n 'create.exclusive-gateway'\r\n ];\r\n\r\n constructor(palette: any) {\r\n palette.registerProvider(0, this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return (entries: any) => {\r\n const visibleEntries: any = {};\r\n for (const visibleEntryKey of this.visibleEntryKeys) {\r\n if (entries.hasOwnProperty(visibleEntryKey)) {\r\n visibleEntries[visibleEntryKey] = entries[visibleEntryKey];\r\n }\r\n }\r\n return visibleEntries;\r\n };\r\n }\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\nimport {isLabel} from 'diagram-js/lib/util/ModelUtil';\r\n\r\nexport default class HideOtherContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'popupMenu'\r\n ];\r\n private readonly contextPad;\r\n private readonly translate;\r\n private readonly popupMenu;\r\n\r\n constructor(contextPad: any, translate: any, popupMenu: any) {\r\n this.contextPad = contextPad;\r\n this.translate = translate;\r\n this.popupMenu = popupMenu;\r\n contextPad.registerProvider(0, this);\r\n }\r\n\r\n getContextPadEntries(element: any) {\r\n return (entries: any) => {\r\n if (isLabel(element)) {\r\n return {};\r\n }\r\n if (is(element, 'bpmn:EndEvent')) {\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n } else if (is(element, 'bpmn:SequenceFlow')) {\r\n if (is(element.businessObject.sourceRef, 'bpmn:Task')) {\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n }\r\n if (entries['replace']) {\r\n return {\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete']\r\n };\r\n }\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n } else if (is(element, 'bpmn:Gateway')) {\r\n return {\r\n 'append.user-task': entries['append.user-task'],\r\n 'append.service-task': entries['append.service-task'],\r\n 'append.gateway': entries['append.gateway'],\r\n 'append.end-event': entries['append.end-event'],\r\n 'connect': entries['connect'],\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete']\r\n };\r\n }\r\n return {\r\n 'append.user-task': entries['append.user-task'],\r\n 'append.service-task': entries['append.service-task'],\r\n 'append.gateway': entries['append.gateway'],\r\n 'append.end-event': entries['append.end-event'],\r\n 'connect': entries['connect'],\r\n 'delete': entries['delete']\r\n };\r\n };\r\n }\r\n\r\n private getReplaceMenuPosition(element: any) {\r\n const pad = this.contextPad.getPad(element).html;\r\n const padRect = pad.getBoundingClientRect();\r\n return {\r\n x: padRect.left,\r\n y: padRect.bottom + 5\r\n };\r\n }\r\n\r\n private createReplaceAction(element: any) {\r\n return {\r\n group: 'edit',\r\n className: 'bpmn-icon-screw-wrench',\r\n title: this.translate('Change type'),\r\n action: {\r\n click: (event: any, element: any) => {\r\n const position = Object.assign(this.getReplaceMenuPosition(element), {\r\n cursor: {\r\n x: event.x,\r\n y: event.y\r\n }\r\n });\r\n this.popupMenu.open(element, 'bpmn-replace', position, {\r\n width: 300,\r\n search: true\r\n });\r\n }\r\n }\r\n };\r\n }\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\n\r\nexport default class CustomReplaceMenuProvider {\r\n public static $inject = [\r\n 'popupMenu'\r\n ];\r\n\r\n constructor(popupMenu: any) {\r\n popupMenu.registerProvider('bpmn-replace', 0, this);\r\n }\r\n\r\n getPopupMenuEntries(element: any) {\r\n return (entries: any) => {\r\n if (is(element, 'bpmn:ExclusiveGateway')) {\r\n return {\r\n 'replace-with-parallel-gateway': entries['replace-with-parallel-gateway']\r\n };\r\n } else if (is(element, 'bpmn:ParallelGateway')) {\r\n return {\r\n 'replace-with-exclusive-gateway': entries['replace-with-exclusive-gateway']\r\n };\r\n }\r\n return entries;\r\n };\r\n }\r\n}\r\n","import HideOtherPaletteProvider from './HideOtherPaletteProvider';\r\nimport HideOtherContextPadProvider from \"./HideOtherContextPadProvider\";\r\nimport CustomReplaceMenuProvider from \"./CustomReplaceMenuProvider\";\r\n\r\nexport default {\r\n __init__: ['hideOtherPaletteProvider', 'hideOtherContextPadProvider', 'gatewayReplaceMenuProvider'],\r\n hideOtherPaletteProvider: ['type', HideOtherPaletteProvider],\r\n hideOtherContextPadProvider: ['type', HideOtherContextPadProvider],\r\n gatewayReplaceMenuProvider: ['type', CustomReplaceMenuProvider]\r\n};\r\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\n\r\ndeclare var monaco: any;\r\n\r\n@Component({\r\n selector: 'rs-code-editor',\r\n templateUrl: './code-editor.component.html',\r\n styleUrls: ['./code-editor.component.scss']\r\n})\r\nexport class CodeEditorComponent implements OnInit {\r\n @Input()\r\n set code(code: string) {\r\n this._code = code || '';\r\n this._editor?.setValue(this._code);\r\n }\r\n\r\n get code() {\r\n return this._code;\r\n }\r\n\r\n private _code: string = '';\r\n @Output()\r\n codeChange = new EventEmitter<string>();\r\n @Input()\r\n language: string = 'java';\r\n @Input()\r\n readonly: boolean = false;\r\n @Input()\r\n enableMinimap: boolean = false;\r\n @Input()\r\n consoleMessage?: string;\r\n @Output()\r\n onContentReady = new EventEmitter<any>();\r\n private _editor: any;\r\n @ViewChild('editorContainer', {static: true}) editorContainer!: ElementRef;\r\n\r\n constructor() {\r\n this.initMonaco = this.initMonaco.bind(this);\r\n }\r\n\r\n ngOnInit(): void {\r\n const baseUrl = './assets/monaco-editor/min/vs';\r\n const loaderScript: HTMLScriptElement = document.createElement('script');\r\n loaderScript.type = 'text/javascript';\r\n loaderScript.src = `${baseUrl}/loader.js`;\r\n loaderScript.addEventListener('load', () => {\r\n (<any>window).require.config({paths: {'vs': `${baseUrl}`}});\r\n (<any>window).require([`vs/editor/editor.main`], () => {\r\n this.initMonaco();\r\n });\r\n });\r\n document.body.appendChild(loaderScript);\r\n }\r\n\r\n private initMonaco() {\r\n this._editor = monaco.editor.create(this.editorContainer.nativeElement, {\r\n value: this.code,\r\n language: this.language,\r\n automaticLayout: true,\r\n readOnly: this.readonly,\r\n minimap: {\r\n enabled: this.enableMinimap\r\n }\r\n });\r\n this._editor.onDidChangeModelContent((e: any) => {\r\n this.codeChange.emit(this._editor.getValue());\r\n });\r\n this.onContentReady.emit(this._editor);\r\n }\r\n}\r\n","<div class=\"editor-container\" #editorContainer></div>\r\n<div *ngIf=\"consoleMessage\" class=\"editor-console\">{{ consoleMessage }}</div>\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport BpmnModeler from 'camunda-bpmn-js/lib/camunda-platform/Modeler';\r\nimport customTranslateModule from './custom/translate';\r\nimport customUserTaskModule from './custom/user-task';\r\nimport customServiceTaskModule from './custom/service-task';\r\nimport customHideOtherModule from './custom/hide-other';\r\n\r\n@Component({\r\n selector: 'rs-camunda-bpmn-editor',\r\n templateUrl: './camunda-bpmn-editor.component.html',\r\n styleUrls: ['./camunda-bpmn-editor.component.scss']\r\n})\r\nexport class CamundaBpmnEditorComponent {\r\n @Input()\r\n set xml(xml: any) {\r\n this._xml = xml;\r\n setTimeout(() => {\r\n this.loadXml();\r\n });\r\n }\r\n\r\n get xml() {\r\n return this._xml;\r\n }\r\n\r\n private _xml: any;\r\n @Input()\r\n showXmlButton = false;\r\n @Input()\r\n showConfigButton = false;\r\n @Output()\r\n selectedNodeChanged = new EventEmitter<{ element: any, util?: any }>();\r\n @ViewChild('bpmnContainer') bpmnContainer?: ElementRef;\r\n @ViewChild('bpmnConfig') bpmnConfig?: ElementRef;\r\n private modeler: any;\r\n private canvas: any;\r\n protected isShowXml = false;\r\n protected isShowConfig = false;\r\n private initialDiagram =\r\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' +\r\n '<bpmn:definitions xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ' +\r\n 'xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" ' +\r\n 'xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" ' +\r\n 'xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" ' +\r\n 'targetNamespace=\"http://bpmn.io/schema/bpmn\" ' +\r\n 'id=\"Definitions_1\">' +\r\n '<bpmn:process id=\"Process_1\" isExecutable=\"true\">' +\r\n '<bpmn:startEvent id=\"StartEvent_1\"/>' +\r\n '</bpmn:process>' +\r\n '<bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">' +\r\n '<bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">' +\r\n '<bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">' +\r\n '<dc:Bounds height=\"36.0\" width=\"36.0\" x=\"173.0\" y=\"102.0\"/>' +\r\n '</bpmndi:BPMNShape>' +\r\n '</bpmndi:BPMNPlane>' +\r\n '</bpmndi:BPMNDiagram>' +\r\n '</bpmn:definitions>';\r\n\r\n ngOnInit() {\r\n if (!this.xml) {\r\n this.xml = this.initialDiagram;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.modeler = new BpmnModeler({\r\n container: this.bpmnContainer?.nativeElement,\r\n propertiesPanel: {\r\n parent: this.bpmnConfig?.nativeElement,\r\n },\r\n keyboard: {\r\n bindTo: document,\r\n },\r\n additionalModules: [\r\n customTranslateModule,\r\n customUserTaskModule,\r\n customServiceTaskModule,\r\n customHideOtherModule,\r\n ]\r\n });\r\n const logo = this.modeler._container.querySelector('.bjs-powered-by');\r\n if (logo) {\r\n this.modeler._container.removeChild(logo);\r\n }\r\n this.modeler.get('palette')._toggleState({twoColumn: false});\r\n this.canvas = this.modeler.get('canvas');\r\n const eventBus = this.modeler.get('eventBus');\r\n eventBus.on(['propertiesPanel.updated'], ($event: any) => {\r\n if (Array.isArray($event.element)) {\r\n this.selectedNodeChanged.emit();\r\n } else {\r\n this.selectedNodeChanged.emit({\r\n element: $event.element,\r\n util: {\r\n bpmnFactory: this.modeler.get('bpmnFactory'),\r\n modeling: this.modeler.get('modeling'),\r\n elementRegistry: this.modeler.get('elementRegistry')\r\n }\r\n });\r\n }\r\n });\r\n this.loadXml();\r\n }\r\n\r\n loadXml() {\r\n this.modeler.importXML(this.xml).then(() => {\r\n this.canvas.zoom('fit-viewport');\r\n });\r\n }\r\n\r\n showXml() {\r\n if (!this.isShowXml) {\r\n this.saveXml((xml: any) => {\r\n this.xml = xml;\r\n })\r\n }\r\n this.isShowXml = !this.isShowXml;\r\n }\r\n\r\n public saveXml(callback?: any) {\r\n this.modeler.saveXML({format: true}).then((response: any) => {\r\n if (callback) {\r\n callback(response.xml);\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer></div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CodeEditorComponent} from './code-editor.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CodeEditorComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n CodeEditorComponent\r\n ]\r\n})\r\nexport class CodeEditorModule {\r\n}\r\n","import {NgModule} from '@angular/core';\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 {Component, ElementRef, Input, ViewChild} from '@angular/core';\r\nimport Viewer from \"camunda-bpmn-js/lib/camunda-platform/NavigatedViewer\";\r\n\r\n@Component({\r\n selector: 'rs-camunda-bpmn-viewer',\r\n templateUrl: './camunda-bpmn-viewer.component.html',\r\n styleUrls: ['./camunda-bpmn-viewer.component.scss']\r\n})\r\nexport class CamundaBpmnViewerComponent {\r\n @Input()\r\n set xml(xml: any) {\r\n this._xml = xml;\r\n setTimeout(() => {\r\n this.loadXml();\r\n });\r\n }\r\n\r\n get xml() {\r\n return this._xml;\r\n }\r\n\r\n private _xml: any;\r\n @Input()\r\n failedActivities: any[] = [];\r\n @Input()\r\n activeActivities: any[] = [];\r\n private viewer: any;\r\n private canvas: any;\r\n @ViewChild('viewerContainer') viewerContainer!: ElementRef;\r\n\r\n ngAfterViewInit() {\r\n this.viewer = new Viewer({\r\n container: this.viewerContainer.nativeElement,\r\n keyboard: {\r\n bindTo: document,\r\n }\r\n });\r\n const logo = this.viewer._container.querySelector('.bjs-powered-by');\r\n if (logo) {\r\n this.viewer._container.removeChild(logo);\r\n }\r\n this.canvas = this.viewer.get('canvas');\r\n this.loadXml();\r\n }\r\n\r\n loadXml() {\r\n if (!this.xml) {\r\n return;\r\n }\r\n this.viewer.importXML(this.xml).then(() => {\r\n this.canvas.zoom('fit-viewport');\r\n for (const activity of this.failedActivities || []) {\r\n this.canvas.addMarker(activity, 'process-failed-node');\r\n }\r\n for (const activity of this.activeActivities || []) {\r\n this.canvas.addMarker(activity, 'process-active-node');\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"container\" #viewerContainer></div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CamundaBpmnViewerComponent} from './camunda-bpmn-viewer.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CamundaBpmnViewerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n CamundaBpmnViewerComponent\r\n ]\r\n})\r\nexport class CamundaBpmnViewerModule {\r\n}\r\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(tenant: any, name: string): Observable<any> {\r\n const key = tenant + '_' + name;\r\n if (!(window as any).coast.cache.hasOwnProperty(key)) {\r\n (window as any).coast.cache[key] = this.http.get<any>('api/metadata/constraint', {\r\n params: {\r\n tenant,\r\n name\r\n }\r\n }).pipe(\r\n shareReplay(1),\r\n map(response => {\r\n const entries = [];\r\n for (let entry of response.data) {\r\n entries.push({\r\n store: entry.store,\r\n display: entry.enabled ? entry.display : entry.display + '(已禁用)'\r\n });\r\n }\r\n return entries;\r\n })\r\n );\r\n }\r\n return (window as any).coast.cache[key];\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","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 {DxValidatorComponent} from \"devextreme-angular\";\r\nimport {firstValueFrom, of} from \"rxjs\";\r\nimport validationEngine from \"devextreme/ui/validation_engine\";\r\n\r\nexport function notify_error(message: string) {\r\n _notify(message, 12000, 'warning');\r\n}\r\n\r\nexport function notify_warning(message: string) {\r\n _notify(message, 8000, 'warning');\r\n}\r\n\r\nexport function notify_success(message: string) {\r\n _notify(message, 4000, 'success');\r\n}\r\n\r\nfunction _notify(message: string, time: number, type: 'danger' | 'warning' | 'success') {\r\n notify({\r\n displayTime: time,\r\n message,\r\n type: type,\r\n closeOnSwipe: false,\r\n minWidth: 200,\r\n maxWidth: 500,\r\n wrapperAttr: {class: 'global-toast-message'}\r\n }, {\r\n direction: 'up-push',\r\n position: 'bottom right'\r\n });\r\n}\r\n\r\nexport function localeSortMethod(value1: string, value2: string) {\r\n return value1.localeCompare(value2);\r\n}\r\n\r\nexport function file_type_icon(name: string): string {\r\n const type = name.substring(name.lastIndexOf('.') + 1).toLocaleLowerCase();\r\n switch (type) {\r\n case 'doc':\r\n case 'docx':\r\n return 'word';\r\n case 'xls':\r\n case 'xlsx':\r\n case 'csv':\r\n return 'excel';\r\n case 'ppt':\r\n case 'pptx':\r\n return 'ppt';\r\n case 'pdf':\r\n return 'pdf';\r\n case 'txt':\r\n case 'xml':\r\n case 'json':\r\n case 'js':\r\n return 'text';\r\n case 'png':\r\n case 'jpg':\r\n case 'jpeg':\r\n case 'gif':\r\n case 'bmp':\r\n return 'image';\r\n case 'zip':\r\n case 'rar':\r\n case '7z':\r\n case 'jar':\r\n return 'zip';\r\n default:\r\n return 'unknown';\r\n }\r\n}\r\n\r\nexport function support_preview_ext(): string[] {\r\n return ['pdf', 'png', 'jpg', 'jpeg', 'gif', 'bmp', 'doc', 'docx', 'txt', 'xml', 'json', 'js', 'xls', 'xlsx', 'csv', 'ppt', 'pptx'];\r\n}\r\n\r\nexport function format_file_size(size: number): string {\r\n const labels = ['b', 'Kb', 'Mb', 'Gb'];\r\n const count = labels.length - 1;\r\n let i = 0;\r\n while (i < count && size >= 1024) {\r\n size /= 1024;\r\n i++;\r\n }\r\n return Math.round(size * 100) / 100 + \" \" + labels[i];\r\n}\r\n\r\nexport function filename_from_disposition(disposition: string) {\r\n const filenamePair = disposition.split(';').filter(str => /^filename=/.test(str.trim())).pop();\r\n if (filenamePair) {\r\n let str = filenamePair.trim();\r\n str = str.split('=')[1];\r\n str = str.replace(/['\"]/g, '');\r\n return decodeURIComponent(str);\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nexport function download_file(blob: Blob, filename: string, callback?: Function) {\r\n const url = window.webkitURL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n a.setAttribute('style', 'display:none');\r\n a.setAttribute('href', url);\r\n a.setAttribute('download', decodeURIComponent(filename));\r\n a.click();\r\n setTimeout(() => {\r\n if (callback) {\r\n callback();\r\n }\r\n a.remove();\r\n });\r\n}\r\n\r\nexport function validate(validator: DxValidatorComponent): Promise<boolean> {\r\n return new Promise<boolean>(resolve => {\r\n if (!validator) {\r\n resolve(true);\r\n }\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 function validate_group(validationGroupComponent: any): Promise<boolean> {\r\n if (!validationGroupComponent) {\r\n return firstValueFrom(of(true));\r\n }\r\n return validateGroup(validationGroupComponent.instance, validationGroupComponent.element.nativeElement)\r\n}\r\n\r\nexport function validate_group_by_name(name: string, brokenElementParent: Element): Promise<boolean> {\r\n const validationGroup = validationEngine.getGroupConfig(name);\r\n if (!validationGroup) {\r\n return firstValueFrom(of(true));\r\n }\r\n return validateGroup(validationGroup, brokenElementParent);\r\n}\r\n\r\nfunction validateGroup(validationGroup: any, brokenElementParent: Element): Promise<boolean> {\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 === brokenElementParent) {\r\n return sourceNode;\r\n }\r\n }\r\n }\r\n };\r\n return new Promise<boolean>(resolve => {\r\n const validateResult = validationGroup.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\r\nexport function openBrowserTab(pluginName: string, title?: string, pluginConfig?: any, params?: any) {\r\n return window.open('custom/' + pluginName + '?title=' + encodeURIComponent(title || '')\r\n + '&pluginConfig=' + encodeURIComponent(JSON.stringify(pluginConfig || {}))\r\n + '¶ms=' + encodeURIComponent(JSON.stringify(params || {})));\r\n}\r\n","import {Directive, TemplateRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsCustomTemplate]'\r\n})\r\nexport class CustomTemplateDirective {\r\n constructor(public templateRef: TemplateRef<unknown>) {\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 dataField: field.name,\r\n caption: field.caption,\r\n dataType: 'string',\r\n alignment: 'left',\r\n allowHeaderFiltering: true,\r\n allowFiltering: true,\r\n allowSorting: true,\r\n visible: field.visible,\r\n fixed: field.fixed\r\n };\r\n if (field.viewConfig.columnWidth) {\r\n column.width = field.viewConfig.columnWidth;\r\n }\r\n if (field.viewConfig.alignCenter) {\r\n column.alignment = 'center';\r\n }\r\n if (field.viewConfig.component) {\r\n column.cellTemplate = 'cellComponentTemplate';\r\n column.config = field.config;\r\n column.viewConfig = field.viewConfig;\r\n }\r\n switch (field.type) {\r\n case 'FILE':\r\n column.allowHeaderFiltering = false;\r\n column.allowFiltering = false;\r\n column.allowSorting = false;\r\n break;\r\n case 'NORMAL':\r\n column.dataType = this.typeMap[field.dataType].dataType;\r\n column.headerFilter = {\r\n allowSelectAll: false\r\n };\r\n column.filterOperations = this.typeMap[field.dataType].filterOperations;\r\n column.format = this.typeMap[field.dataType].format;\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 column.alignment = 'right';\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 if (column.viewConfig) {\r\n column.viewConfig.componentConfig = {\r\n ...column.viewConfig.componentConfig,\r\n originalField: field.name\r\n };\r\n }\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.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 if (column.viewConfig) {\r\n column.viewConfig.componentConfig = {\r\n ...column.viewConfig.componentConfig,\r\n originalField: field.name\r\n };\r\n }\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.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(tenant, 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 break;\r\n default:\r\n break;\r\n }\r\n break;\r\n case 'TEXT':\r\n column.allowHeaderFiltering = false;\r\n break;\r\n }\r\n break;\r\n case 'RELATION':\r\n column.allowHeaderFiltering = false;\r\n column.allowSorting = false;\r\n switch (field.relationType) {\r\n case 'MANY_TO_ONE':\r\n case 'ONE_TO_ONE':\r\n column.filterOperations = ['='];\r\n break;\r\n default:\r\n column.allowFiltering = false;\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 (!key) {\r\n return Promise.resolve();\r\n }\r\n if (keyExpr === 'oid') {\r\n return lastValueFrom(this.service.getOne(tenant, className, key).pipe(map(response => response.data)));\r\n } else {\r\n return lastValueFrom(this.service.getOneByFilter(tenant, className, keyExpr, key, view));\r\n }\r\n },\r\n load: (loadOptions: any) => {\r\n if (loadOptions.dataField) {\r\n // 未重写headerFilter的dataSource时,headerFilter会调用load方法加载筛选树,重写该方法查询该表所有数据\r\n // 该方式存在风险,无法识别DevExtreme一定是通过headerFilter过滤才存在dataField参数\r\n return lastValueFrom(this.service.getColumnDataSource(tenant, className, view, loadOptions.dataField));\r\n }\r\n let params = '?';\r\n if (loadOptions.skip || loadOptions.take) {\r\n params += 'offset=' + loadOptions.skip;\r\n params += '&limit=' + loadOptions.take;\r\n } else {\r\n params += 'limit=0';\r\n }\r\n if (loadOptions.sort) {\r\n let first = true;\r\n for (const thisSort of loadOptions.sort) {\r\n if (first) {\r\n params += '&orderBy=' + thisSort.selector;\r\n } else {\r\n params += ',' + thisSort.selector;\r\n }\r\n if (thisSort.desc) {\r\n params += ' desc';\r\n }\r\n first = false;\r\n }\r\n }\r\n let filter;\r\n if (loadOptions.filter) {\r\n filter = loadOptions.filter;\r\n }\r\n if (extraFilter) {\r\n if (!Array.isArray(extraFilter)) {\r\n extraFilter = JSON.parse(extraFilter);\r\n }\r\n if (filter) {\r\n filter = [filter, 'and', extraFilter];\r\n } else {\r\n filter = extraFilter;\r\n }\r\n }\r\n if (filter) {\r\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\r\n }\r\n params += '&view=' + (view || '');\r\n if (dataGridName) {\r\n params += '&dataGridName=' + dataGridName;\r\n }\r\n return lastValueFrom(this.service.getMany(tenant, className, params));\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, HostListener, 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 {\n size: 'default' | 'large' | string = 'default';\n _width: string = '480px';\n headerTemplate?: TemplateRef<any>;\n headerTemplateContext: any;\n contentTemplate!: TemplateRef<any>;\n contentTemplateContext: any;\n config: any;\n\n constructor() {\n }\n\n ngOnInit(): void {\n if (this.size === 'default') {\n this._width = '480px';\n } else if (this.size === 'large') {\n this._width = '960px';\n } else {\n this._width = this.size;\n }\n }\n\n hide($event?: any) {\n // 在service中重写\n }\n\n @HostListener('click', ['$event'])\n stopPropagation($event: any) {\n $event.stopPropagation();\n }\n\n @HostListener('window:click', ['$event'])\n autoHide($event: any) {\n if (this.config?.hideOnOutsideClick) {\n this.hide();\n }\n }\n}\n","<div class=\"drawer\" [class.hide-on-outside-click]=\"config?.hideOnOutsideClick\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {DrawerComponent} from \"./drawer.component\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DrawerService {\n open(viewContainerRef: ViewContainerRef,\n size: 'default' | 'large' | string = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any,\n headerTemplate?: TemplateRef<any>,\n headerTemplateContext?: any,\n config?: any) {\n // 若已存在抽屉,先关闭\n const drawers = viewContainerRef.element.nativeElement.parentElement.querySelectorAll('RS-DRAWER');\n for (let i = 0; i < drawers.length; i++) {\n drawers[i].querySelector('.drawer-close .coast-icon-arrow-right-filling').click();\n }\n const drawerRef = viewContainerRef.createComponent(DrawerComponent);\n drawerRef.instance.hide = ($event?: any) => {\n $event?.event?.stopPropagation();\n drawerRef.hostView.destroy();\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.config = config || {\n hideOnOutsideClick: true\n };\n return drawerRef.instance;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {map} from \"rxjs\";\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 extraValidate(model: any, params: any, extraValidator: string) {\n return this.http.post<any>('api/validate/form', model, {\n params: {\n validator: extraValidator,\n ...params\n }\n }).pipe(\n map(response => {\n if (response.success) {\n return response.data;\n } else {\n return {\n isValid: false\n };\n }\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","export class UniqueId {\r\n private static __ID_COUNTER = 1;\r\n\r\n constructor(prefix: string) {\r\n this.uniqueId = prefix + '_' + UniqueId.__ID_COUNTER++;\r\n }\r\n\r\n private readonly uniqueId: string;\r\n\r\n getUniqueId() {\r\n return this.uniqueId;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {FormService} from \"./form.service\";\r\nimport {DxButtonComponent} from \"devextreme-angular\";\r\nimport {validate_group_by_name} from \"../util/utils\";\r\nimport {ChangeFilter} from \"../util/change-filter\";\r\nimport {lastValueFrom, map, Subject} from \"rxjs\";\r\nimport {UniqueId} from \"../util/UniqueId\";\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 extends UniqueId 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 params?: any;\r\n @Input()\r\n tabViewContainerRef!: ViewContainerRef;\r\n @Input()\r\n onlyFrontEnd: boolean = false; // 仅前端,不通过oid获取实例model\r\n @Input()\r\n model?: any;\r\n @Input()\r\n readonly: boolean = false;\r\n config: any;\r\n extraValidator?: string;\r\n @ViewChild('formSubmitter') formSubmitter!: DxButtonComponent;\r\n @Output()\r\n onDataLoaded = new EventEmitter<{ id: string, config: any, model: any }>();\r\n @Output()\r\n submitCallback = new EventEmitter<any>();\r\n loading = false;\r\n private changeFilter = new ChangeFilter();\r\n private valueChange = new Subject<{\r\n field: string,\r\n value: any\r\n onlyInit?: boolean,\r\n }>();\r\n protected context: any;\r\n protected extraValidateMessage: any;\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef, private service: FormService, private elementRef: ElementRef) {\r\n super('rs-form');\r\n this.extraValidate = this.extraValidate.bind(this);\r\n }\r\n\r\n ngOnInit() {\r\n this.load();\r\n this.changeFilter.anyNotFirst(['tenant', 'className', 'oid', 'copyOid', 'template'], () => {\r\n this.load();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.changeFilter.doFilter(changes);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.changeFilter.dispose();\r\n this.valueChange.unsubscribe();\r\n }\r\n\r\n load() {\r\n this.loading = true;\r\n this.context = {\r\n __form: {\r\n uniqueId: this.getUniqueId(),\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 __model: this.model || {},\r\n __opener: this,\r\n __valueChange: this.valueChange\r\n };\r\n this.service.getFormTemplateConfig(this.tenant, this.className, this.template).subscribe(response => {\r\n this.config = response.data.template;\r\n this.extraValidator = this.config.extraValidator;\r\n if (this.onlyFrontEnd) {\r\n this.loading = false;\r\n } else if (this.copyOid || this.oid) {\r\n this.service.getOne(this.tenant, this.className, this.copyOid || this.oid, this.template, this.copyOid)\r\n .subscribe(response => {\r\n this.model = response.data;\r\n this.context.__model = this.model;\r\n this.onDataLoaded.emit({\r\n id: this.getUniqueId(),\r\n config: this.config,\r\n model: this.model\r\n });\r\n this.loading = false;\r\n });\r\n } else {\r\n this.service.getInitModelByTemplate(this.tenant, this.className, this.template).subscribe(response => {\r\n this.model = response.data;\r\n this.context.__model = this.model;\r\n this.onDataLoaded.emit({\r\n id: this.getUniqueId(),\r\n config: this.config,\r\n model: this.model\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected extraValidate() {\r\n return lastValueFrom(this.service.extraValidate(this.model, Object.assign({}, this.params, {\r\n tenant: this.tenant,\r\n className: this.className,\r\n oid: this.oid,\r\n template: this.template\r\n }), <string>this.extraValidator).pipe(\r\n map(response => {\r\n if (!response.isValid) {\r\n this.extraValidateMessage = response.message;\r\n return response;\r\n }\r\n })\r\n ));\r\n }\r\n\r\n protected submitForm() {\r\n this.validate().then(isValid => {\r\n if (isValid) {\r\n const mergeModel: any = {...this.model};\r\n if (this.extraAttrMap) {\r\n for (const entry of this.extraAttrMap) {\r\n mergeModel[entry.name] = entry.value;\r\n }\r\n }\r\n this.service.createOrUpdate(this.tenant, this.className, {\r\n oid: this.oid,\r\n ...mergeModel\r\n }).subscribe(response => {\r\n this.submitCallback.emit(response);\r\n });\r\n } else {\r\n this.submitCallback.emit({success: false});\r\n }\r\n })\r\n }\r\n\r\n scrollToAnchorPoint(anchorPointId: string) {\r\n const points = this.elementRef.nativeElement.getElementsByClassName('__anchor_point_' + anchorPointId);\r\n if (points.length > 0) {\r\n points[0].scrollIntoView();\r\n }\r\n }\r\n\r\n validate() {\r\n return validate_group_by_name(this.getUniqueId(), this.elementRef.nativeElement);\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<ng-container *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [params]=\"params\"\r\n [context]=\"context\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-text-box height=\"0\" style=\"border: none;\">\r\n <dx-validator [validationGroup]=\"getUniqueId()\">\r\n <dxi-validation-rule *ngIf=\"extraValidator\" type=\"async\"\r\n [validationCallback]=\"extraValidate\"></dxi-validation-rule>\r\n </dx-validator>\r\n </dx-text-box>\r\n <div *ngIf=\"extraValidateMessage\" class=\"dx-field\">\r\n <div class=\"dx-field-value\">\r\n <div class=\"dx-toast-error dx-toast-content\">\r\n <div class=\"dx-toast-message\">{{ extraValidateMessage }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</ng-container>\r\n","import {Component, Input, TemplateRef, ViewChild} from '@angular/core';\nimport {DrawerService} from \"../../drawer/drawer.service\";\nimport {notify_warning} from \"../../util/utils\";\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 drawerSize?: any;\n @Input()\n drawerShowHeader: boolean = false;\n @Input()\n drawerFormTemplate?: any;\n @ViewChild('drawerFormHeaderTemplate', {static: true}) drawerFormHeaderTemplate!: TemplateRef<any>;\n @ViewChild('drawerFormContentTemplate', {static: true}) drawerFormContentTemplate!: TemplateRef<any>;\n loading = false;\n\n constructor(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: 'coast-dynamic-data-detail',\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.loading = true;\n this.drawerService.open(this.drawerViewContainerRef, this.drawerSize || 'default', this.drawerFormContentTemplate, {\n template: this.drawerFormTemplate || 'About'\n }, this.drawerShowHeader ? this.drawerFormHeaderTemplate : undefined);\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)\"\n [disabled]=\"!oid\"></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)\"\n [disabled]=\"!oid\"></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-drawerContentContext>\n <rs-form [tenant]=\"tenant\"\n [className]=\"className\"\n [oid]=\"oid\"\n [template]=\"drawerContentContext.template\"\n [tabViewContainerRef]=\"drawerViewContainerRef\"\n (onDataLoaded)=\"loading = false\"\n [readonly]=\"true\"></rs-form>\n</ng-template>\n","import {Component, Input, ViewChild, ViewContainerRef} from '@angular/core';\nimport {DataGridService} from \"../data-grid.service\";\nimport {PluginFactory} from \"coast-plugin-register\";\nimport {PluginNotFoundComponent} from \"../../box-container/plugin-not-found/plugin-not-found.component\";\n\n@Component({\n selector: 'rs-cell-component-template',\n templateUrl: './cell-component-template.component.html',\n styleUrls: ['./cell-component-template.component.scss']\n})\nexport class CellComponentTemplateComponent {\n @Input()\n cellInfo: any;\n @ViewChild('cellComponent', {static: true, read: ViewContainerRef}) cellComponentRef!: ViewContainerRef;\n\n constructor(private service: DataGridService) {\n }\n\n ngOnInit() {\n const fieldConfig = this.cellInfo.column.config;\n const cellComponentConfig = this.cellInfo.column.viewConfig.componentConfig;\n this.cellComponentRef.clear();\n const plugin = PluginFactory.get(this.cellInfo.column.viewConfig.component);\n if (!plugin) {\n this.cellComponentRef.createComponent(PluginNotFoundComponent);\n return;\n }\n const componentRef = this.cellComponentRef.createComponent(plugin.component);\n const instance: any = componentRef.instance;\n Object.assign(instance, cellComponentConfig);\n instance.field = this.cellInfo.column.dataField;\n instance.fieldConfig = fieldConfig;\n instance.rowData = this.cellInfo.data;\n instance.columnLookup = this.cellInfo.column.lookup;\n instance.value = this.cellInfo.value;\n instance.displayValue = this.cellInfo.displayValue;\n instance.loaded$ = this.service.cellTemplateLoaded$;\n }\n}\n","<ng-container #cellComponent></ng-container>\n","import {Component, ContentChild, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {DxDataGridComponent} from \"devextreme-angular\";\r\nimport {DataGridService} from \"./data-grid.service\";\r\nimport {RowButtonsTemplateDirective} from \"./row-buttons-template.directive\";\r\nimport {DataGridFactory} from \"./data-grid.factory\";\r\nimport {debounceTime} from \"rxjs\";\r\nimport {notify_error} from \"../util/utils\";\r\nimport {CustomTemplateDirective} from \"./custom-template.directive\";\r\n\r\n@Component({\r\n selector: 'rs-data-grid',\r\n templateUrl: './data-grid.component.html',\r\n styleUrls: ['./data-grid.component.scss'],\r\n providers: [DataGridService]\r\n})\r\nexport class DataGridComponent implements OnInit {\r\n @Input()\r\n tenant?: any = 'T';\r\n @Input()\r\n className!: any;\r\n @Input()\r\n view?: any;\r\n @Input()\r\n filter?: Array<any> | string;\r\n @Input()\r\n customColumnFn?: (columns: any[]) => void;\r\n @Input()\r\n keyExpr: string = ''; // 用于实例属性选择器,加载组件值时以选中字段为主键获取选中行数据\r\n @Input()\r\n dataGridName?: string; // 用于在获取数据时同时获取台账配置的行内按钮\r\n @Input()\r\n height: any;\r\n @Input()\r\n onlyFrontEnd: boolean = false; // 仅前端,需指定dataSource,不自动获取表格数据\r\n @Input()\r\n pageSize: number = 15;\r\n allowedPageSizes: number[] = [15, 30, 50];\r\n @Input()\r\n disablePage: boolean = false;\r\n @Input()\r\n dataSource: any = {};\r\n @Input()\r\n selectionMode: 'none' | 'multiple' | 'single' = 'none';\r\n @Input()\r\n selectedRowKeys: any[] = [];\r\n @Output()\r\n selectedRowKeysChange = new EventEmitter<any[]>();\r\n @Input()\r\n showRowNum: boolean = true;\r\n @Input()\r\n instanceLinkType: 'tab' | 'drawer' | 'none' = 'tab';\r\n @Input()\r\n drawerInstanceLinkViewContainerRef: any = this.viewContainerRef;\r\n @Input()\r\n drawerInstanceLinkSize: 'default' | 'large' | string = 'default';\r\n @Input()\r\n drawerInstanceLinkShowHeader: boolean = false;\r\n @Input()\r\n drawerInstanceLinkFormTemplate: any;\r\n @Output()\r\n onCellPrepared = new EventEmitter<any>();\r\n @Output()\r\n onContentReady = new EventEmitter<any>();\r\n @Output()\r\n onEditorPreparing = new EventEmitter<any>();\r\n @Output()\r\n onRowClick = new EventEmitter<any>();\r\n @Output()\r\n onRowDblClick = new EventEmitter<any>();\r\n @Output()\r\n onSelectionChanged = new EventEmitter<any>();\r\n @ViewChild(DxDataGridComponent, {static: true}) private dxDataGrid!: DxDataGridComponent;\r\n @ContentChild(RowButtonsTemplateDirective) protected rowButtonsTemplate!: RowButtonsTemplateDirective;\r\n @ContentChild(CustomTemplateDirective) protected customTemplate!: CustomTemplateDirective;\r\n columns: any[] = [];\r\n\r\n constructor(private factory: DataGridFactory, protected service: DataGridService, private viewContainerRef: ViewContainerRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.pageSize && !this.allowedPageSizes.includes(this.pageSize)) {\r\n this.allowedPageSizes.push(this.pageSize);\r\n }\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 caption: '详情',\r\n fixed: true,\r\n width: 48,\r\n alignment: 'center',\r\n cellTemplate: 'instanceLinkTemplate'\r\n });\r\n }\r\n if (this.showRowNum) {\r\n columns.unshift({\r\n caption: '行号',\r\n fixed: true,\r\n width: 48,\r\n alignment: 'center',\r\n cellTemplate: 'rowIndexTemplate'\r\n });\r\n }\r\n this.columns = columns;\r\n if (this.onlyFrontEnd && this.filter) {\r\n if (Array.isArray(this.filter)) {\r\n this.dxDataGrid.instance.filter(this.filter);\r\n } else {\r\n this.dxDataGrid.instance.filter(JSON.parse(this.filter));\r\n }\r\n }\r\n });\r\n if (this.onlyFrontEnd) {\r\n if (this.dataSource && !Array.isArray(this.dataSource)) {\r\n notify_error('因onlyFrontEnd参数为true,需要明确指定dataSource参数为数组');\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 getSelectedRowKeys() {\r\n return this.dxDataGrid.instance.getSelectedRowKeys();\r\n }\r\n\r\n getSelectedRowsData() {\r\n return this.dxDataGrid.instance.getSelectedRowsData();\r\n }\r\n\r\n refresh(callback?: any) {\r\n this.dxDataGrid.instance.clearSelection();\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 [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'确定'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"pageSize\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"allowedPageSizes\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerShowHeader]=\"drawerInstanceLinkShowHeader\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-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 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {DxDropDownBoxComponent} from \"devextreme-angular\";\n\n@Component({\n selector: 'rs-field-selector',\n templateUrl: './field-selector.component.html',\n styleUrls: ['./field-selector.component.scss']\n})\nexport class FieldSelectorComponent {\n @Input()\n fieldTree: any = [];\n @Input()\n config: any;\n @Input()\n required = false;\n @Input()\n label: string = '属性';\n @Input()\n readonly = false;\n @Input()\n multiple = false;\n @Output()\n fieldChanged = new EventEmitter<any>();\n\n set _fields(__fields: any) {\n if (this.__fields !== __fields) {\n this.__fields = __fields;\n this.fieldChange(this.__fields);\n }\n }\n\n get _fields() {\n return this.__fields;\n }\n\n protected __fields: string[] = [];\n\n ngOnInit(): void {\n if (this.config.field) {\n if (Array.isArray(this.config.field)) {\n this._fields = this.config.field;\n } else {\n this._fields = [this.config.field];\n }\n }\n }\n\n fieldChange(value: any): void {\n if (value && value.length > 0) {\n this.config.__formAttribute = value.join(';');\n if (this.multiple) {\n this.config.field = value;\n const fields = [];\n for (const fieldName of value) {\n fields.push(this.getField(this.fieldTree, fieldName));\n }\n this.fieldChanged.emit(fields);\n } else {\n this.config.field = value[0];\n this.fieldChanged.emit(this.getField(this.fieldTree, value[0]));\n }\n } else {\n this.config.field = '';\n this.config.__formAttribute = '';\n this.fieldChanged.emit();\n }\n }\n\n private getField(tree: any, field: any) {\n for (const node of tree) {\n if (node.innerName === field) {\n return node;\n }\n if (node.children) {\n const result: any = this.getField(node.children, field);\n if (result) {\n return result;\n }\n }\n }\n return undefined;\n }\n\n onRowPrepared($event: any) {\n if ($event.rowType === 'header') {\n $event.rowElement.style.display = 'none';\n }\n }\n\n onCellPrepared($event: any) {\n if ($event.rowType === 'data') {\n if (!this.multiple) {\n $event.cellElement.style.cursor = 'pointer';\n }\n if (this.multiple && !$event.visible && $event.data.hasItems) {\n const checkbox = $event.cellElement.querySelector('.dx-select-checkbox');\n checkbox.style.display = 'none';\n }\n }\n }\n\n suspendSelectionChanged = false;\n\n onSelectionChanged($event: any, dropDownBox: DxDropDownBoxComponent) {\n if (this.multiple) {\n return;\n }\n if (this.suspendSelectionChanged) {\n this.suspendSelectionChanged = false;\n return;\n }\n if ($event.selectedRowsData.length === 0) {\n return;\n }\n if (!$event.selectedRowsData[0].visible && $event.selectedRowsData[0].hasItems) {\n if ($event.component.isRowExpanded($event.selectedRowKeys[0])) {\n $event.component.collapseRow($event.selectedRowKeys[0]);\n } else {\n $event.component.expandRow($event.selectedRowKeys[0]);\n }\n this.suspendSelectionChanged = true;\n $event.component.selectRows($event.currentDeselectedRowKeys[0]);\n return;\n }\n dropDownBox.instance.close();\n }\n\n removeItem($event: any, field: any) {\n $event.stopPropagation();\n const findIndex = this._fields.findIndex((innerName: any) => innerName === field.innerName);\n this._fields.splice(findIndex, 1);\n this.fieldChange(this.__fields);\n }\n}\n","<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>属性</span>\n <span class=\"required-mark\" *ngIf=\"required\"> *</span>\n </div>\n <div class=\"dx-field-value\">\n <dx-drop-down-box #fieldDropDownBox\n [dataSource]=\"fieldTree\"\n valueExpr=\"innerName\"\n fieldTemplate=\"fieldTemplate\"\n contentTemplate=\"contentTemplate\"\n [showClearButton]=\"true\"\n [dropDownOptions]=\"{maxHeight: 'none', deferRendering: false}\"\n [(value)]=\"_fields\"\n [readOnly]=\"readonly\">\n <div *dxTemplate=\"let info of 'fieldTemplate'\">\n <dx-text-box [visible]=\"false\"></dx-text-box>\n <dx-tag-box [dataSource]=\"fieldTree\"\n valueExpr=\"innerName\"\n width=\"100%\"\n [openOnFieldClick]=\"false\"\n [(value)]=\"_fields\"\n [class.coast-tag-selector]=\"true\"\n [readOnly]=\"readonly\">\n <div *dxTemplate=\"let field of 'tag'\">\n <dx-button [elementAttr]=\"{ class: 'item'}\">\n <span>{{ field.caption }}</span>\n <i *ngIf=\"multiple && !readonly\" class=\"coast-icon-close\" (click)=\"removeItem($event, field)\"></i>\n </dx-button>\n </div>\n </dx-tag-box>\n </div>\n <div *dxTemplate=\"let data of 'contentTemplate'\">\n <dx-text-box mode=\"search\" placeholder=\"搜索...\" valueChangeEvent=\"keyup\"\n (onValueChanged)=\"dxTreeList.instance.searchByText($event.value)\"></dx-text-box>\n <dx-tree-list #dxTreeList\n [dataSource]=\"fieldTree\"\n [filterValue]=\"['visible','=',true]\"\n keyExpr=\"innerName\"\n parentIdExpr=\"parentInnerName\"\n [(selectedRowKeys)]=\"_fields\"\n [height]=\"360\"\n [showRowLines]=\"true\"\n [showBorders]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n (onRowPrepared)=\"onRowPrepared($event)\"\n (onCellPrepared)=\"onCellPrepared($event)\"\n (onSelectionChanged)=\"onSelectionChanged($event, fieldDropDownBox)\">\n <dxi-column dataField=\"innerName\" dataType=\"string\" [visible]=\"false\"></dxi-column>\n <dxi-column dataField=\"caption\" dataType=\"string\" caption=\"名称\"></dxi-column>\n <dxi-column dataField=\"visible\" dataType=\"boolean\" [visible]=\"false\"></dxi-column>\n <dxo-selection [mode]=\"multiple ? 'multiple' : 'single'\" [allowSelectAll]=\"false\"></dxo-selection>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n </dx-tree-list>\n </div>\n <dx-validator>\n <dxi-validation-rule *ngIf=\"required\" type=\"required\" message=\"值不能为空\"></dxi-validation-rule>\n </dx-validator>\n </dx-drop-down-box>\n </div>\n</div>\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\";\nimport {FieldSelectorComponent} from './field-selector/field-selector.component';\n\n@NgModule({\n declarations: [\n FormComponent,\n FieldSelectorComponent\n ],\n imports: [\n CommonModule,\n BoxContainerModule,\n DevExtremeModule\n ],\n exports: [\n FormComponent,\n FieldSelectorComponent\n ]\n})\nexport class FormModule {\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DataGridComponent} from './data-grid.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {RowButtonsTemplateDirective} from './row-buttons-template.directive';\r\nimport {InstanceLinkTemplateComponent} from './instance-link-template/instance-link-template.component';\r\nimport {FormModule} from \"../form/form.module\";\r\nimport {CustomTemplateDirective} from './custom-template.directive';\r\nimport {CellComponentTemplateComponent} from './cell-component-template/cell-component-template.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n DataGridComponent,\r\n InstanceLinkTemplateComponent,\r\n RowButtonsTemplateDirective,\r\n CustomTemplateDirective,\r\n CellComponentTemplateComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule,\r\n FormModule\r\n ],\r\n exports: [\r\n DataGridComponent,\r\n RowButtonsTemplateDirective,\r\n CustomTemplateDirective\r\n ]\r\n})\r\nexport class DataGridModule {\r\n}\r\n","import {NgModule} from '@angular/core';\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 multipleRow = 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\" class=\"param\">\n <div class=\"param-entry\" [ngStyle]=\" { flexDirection : multipleRow ? 'column' : 'row' } \">\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 </div>\n <div class=\"param-operation\">\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</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 @Input()\r\n showExitIcon: boolean = false;\r\n @Input()\r\n hideLayout: boolean = true;\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 = () => {\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 if (this.showExitIcon) {\r\n const exitIconDiv = document.createElement('div');\r\n exitIconDiv.id = 'fullscreen-exit-icon';\r\n exitIconDiv.classList.add('exit-icon');\r\n exitIconDiv.addEventListener('click', () => {\r\n this.exitNormalFullscreen();\r\n this.isFullscreenChange.emit(false);\r\n });\r\n const exitIconI = document.createElement('i');\r\n exitIconI.classList.add('coast-icon-close');\r\n exitIconDiv.appendChild(exitIconI);\r\n this.elementRef.nativeElement.appendChild(exitIconDiv);\r\n }\r\n if (this.hideLayout) {\r\n document.getElementsByTagName('html')[0].classList.add('coast-fullscreen');\r\n }\r\n }\r\n\r\n private exitNormalFullscreen() {\r\n this.elementRef.nativeElement.classList.remove('fullscreen');\r\n if (this.showExitIcon) {\r\n const exitIconDiv = document.getElementById('fullscreen-exit-icon');\r\n if (exitIconDiv) {\r\n this.elementRef.nativeElement.removeChild(exitIconDiv);\r\n }\r\n }\r\n if (this.hideLayout) {\r\n document.getElementsByTagName('html')[0].classList.remove('coast-fullscreen');\r\n }\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 const icon = cssSelectorText.substring(1, cssSelectorText.length - 8);\n if (!this.iconList.includes(icon)) {\n this.iconList.push(icon);\n }\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 Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n OnDestroy,\r\n OnInit,\r\n Output,\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' | string = 'default';\r\n _width: string = '480px';\r\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\r\n moveHandleEl!: HTMLElement;\r\n movable: boolean = false;\r\n topStart = 0;\r\n leftStart = 0;\r\n contentTemplate!: TemplateRef<any>;\r\n contentTemplateContext: any;\r\n footerTemplate?: TemplateRef<any>;\r\n footerTemplateContext: any;\r\n _parentViewContainerRef: any;\r\n @Output()\r\n onHide = new EventEmitter();\r\n\r\n constructor(private elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.size === 'full') {\r\n this.modalElementRef.nativeElement.style.top = '1px';\r\n this.modalElementRef.nativeElement.style.right = '1px';\r\n this.modalElementRef.nativeElement.style.bottom = '1px';\r\n this.modalElementRef.nativeElement.style.left = '1px';\r\n this.modalElementRef.nativeElement.style.margin = '0';\r\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\r\n } else {\r\n if (this.size === 'default') {\r\n this._width = '480px';\r\n } else if (this.size === 'large') {\r\n this._width = '960px';\r\n } else {\r\n this._width = this.size;\r\n }\r\n this.modalElementRef.nativeElement.style.width = this._width;\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\r\n this.moveHandleEl.style.cursor = 'move';\r\n }\r\n }\r\n\r\n show() {\r\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const modals = this._parentViewContainerRef.element.nativeElement.parentElement.querySelectorAll(nodeName);\r\n for (let i = 0; i < modals.length; i++) {\r\n if (i === modals.length - 1) {\r\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\r\n } else {\r\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n // 在service中重写\r\n this.onHide.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // 若存在多层模态框,下一层遮罩设置为不透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const nextModal = this._parentViewContainerRef.element.nativeElement.parentElement.querySelector(nodeName + ':nth-last-child(2)');\r\n if (nextModal) {\r\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\r\n }\r\n }\r\n\r\n resolveModalPosition() {\r\n if (this.size === 'full') {\r\n return {};\r\n }\r\n if (this.modalElementRef.nativeElement.offsetHeight >= this.elementRef.nativeElement.parentElement.offsetHeight - 48) {\r\n this.modalElementRef.nativeElement.style.height = this.elementRef.nativeElement.parentElement.offsetHeight - 48 + 'px';\r\n } else {\r\n this.modalElementRef.nativeElement.style.height = 'auto';\r\n }\r\n return {};\r\n }\r\n\r\n onMousedown($event: MouseEvent) {\r\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\r\n return;\r\n }\r\n this.movable = true;\r\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\r\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\r\n }\r\n\r\n private checkHandleTarget(target: any, element: any): boolean {\r\n if (!element) {\r\n return false;\r\n }\r\n if (target === element) {\r\n return true;\r\n }\r\n for (let child in element.children) {\r\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\r\n if (this.checkHandleTarget(target, element.children[child])) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n onMouseup() {\r\n this.movable = false;\r\n }\r\n\r\n @HostListener('document:mousemove', ['$event'])\r\n onMousemove($event: MouseEvent) {\r\n if (!this.movable) {\r\n return;\r\n }\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n const element = this.modalElementRef.nativeElement;\r\n let currentTop = $event.clientY - this.topStart;\r\n let currentLeft = $event.clientX - this.leftStart;\r\n currentTop = currentTop < 0 ? 0 : currentTop;\r\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight - 1;\r\n currentTop = currentTop > maxTop ? maxTop : currentTop;\r\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\r\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth - 1;\r\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\r\n element.style.top = currentTop + 'px';\r\n element.style.left = currentLeft + 'px';\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n if (this.size === 'full') {\r\n return;\r\n }\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n","<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"coast-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';\r\nimport {ModalComponent} from './modal.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n constructor() {\r\n }\r\n\r\n open(viewContainerRef: ViewContainerRef,\r\n title: string, size: 'default' | 'large' | 'full' | string = 'default',\r\n contentTemplate: TemplateRef<any>,\r\n contentTemplateContext: any,\r\n footerTemplate?: TemplateRef<any>,\r\n footerTemplateContext?: any) {\r\n const modalRef = viewContainerRef.createComponent(ModalComponent);\r\n modalRef.instance.hide = () => {\r\n modalRef.instance.onHide.emit();\r\n modalRef.hostView.destroy();\r\n }\r\n modalRef.instance.title = title;\r\n modalRef.instance.size = size;\r\n modalRef.instance.contentTemplate = contentTemplate;\r\n modalRef.instance.contentTemplateContext = contentTemplateContext;\r\n modalRef.instance.footerTemplate = footerTemplate;\r\n modalRef.instance.footerTemplateContext = footerTemplateContext;\r\n modalRef.instance._parentViewContainerRef = viewContainerRef;\r\n modalRef.instance.show();\r\n return modalRef.instance;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {PdfJsViewerComponent, PdfJsViewerModule} from \"ng2-pdfjs-viewer\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'rs-pdf-viewer',\r\n standalone: true,\r\n imports: [CommonModule, PdfJsViewerModule],\r\n templateUrl: './pdf-viewer.component.html',\r\n styleUrls: ['./pdf-viewer.component.scss']\r\n})\r\nexport class PdfViewerComponent {\r\n @Input()\r\n src: any;\r\n @Output()\r\n loaded = new EventEmitter<void>();\r\n @ViewChild(PdfJsViewerComponent, {static: true}) viewer!: PdfJsViewerComponent;\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n ngOnInit() {\r\n this.http.get(this.src, {\r\n responseType: \"blob\"\r\n }).subscribe(response => {\r\n this.viewer.pdfSrc = response;\r\n this.viewer.refresh();\r\n this.loaded.emit();\r\n });\r\n }\r\n}\r\n","<ng2-pdfjs-viewer\r\n [openFile]=\"false\"\r\n [download]=\"false\"\r\n [viewBookmark]=\"false\"\r\n>\r\n</ng2-pdfjs-viewer>\r\n","import {ViewContainerRef} from \"@angular/core\";\r\n\r\nexport class ComponentBase {\r\n /**\r\n * 上层传入参数,可能是站点配置的参数、按钮配置的参数、台账勾选的行等\r\n */\r\n params: any;\r\n /**\r\n * 当前tab页的视图,用于在组件中弹窗\r\n */\r\n tabViewContainerRef!: ViewContainerRef;\r\n}\r\n","import {ComponentBase} from \"./component-base\";\r\nimport {EventEmitter} from \"@angular/core\";\r\n\r\nexport class CellComponentBase extends ComponentBase {\r\n /**\r\n * 属性\r\n */\r\n field: any;\r\n /**\r\n * 属性配置\r\n */\r\n fieldConfig: any;\r\n /**\r\n * 当前行数据\r\n */\r\n rowData: any;\r\n /**\r\n * 属性约束,对应表头下拉过滤列表,可能为空\r\n */\r\n columnLookup: any;\r\n /**\r\n * 当前单元格的值\r\n */\r\n value: any;\r\n /**\r\n * 当前单元格的显示值\r\n */\r\n displayValue: any;\r\n /**\r\n * 单元格加载完成事件,若单元格加载后自适应的列宽不够,emit()会触发上层重新调整表格列宽\r\n */\r\n loaded$!: EventEmitter<void>;\r\n}\r\n","import {ComponentBase} from \"./component-base\";\r\nimport {Subject} from \"rxjs\";\r\n\r\nexport class FormItemComponentBase extends ComponentBase {\r\n /**\r\n * 编辑模式,在设计器中为true,用于区分组件设计和应用状态\r\n */\r\n editMode: boolean = false;\r\n /**\r\n * 表单唯一标识,表单组件dx-validator的validationGroup名称,用于统一校验表单\r\n */\r\n validationGroupName!: string;\r\n /**\r\n * 当前表单对应数据类租户\r\n */\r\n tenant: any;\r\n /**\r\n * 当前表单对应数据类名\r\n */\r\n className: any;\r\n /**\r\n * 当前表单对应数据实例oid\r\n */\r\n oid?: any;\r\n /**\r\n * 表单当前model\r\n */\r\n model: any;\r\n /**\r\n * 属性值更新订阅,用于属性映射,表单组件驱动更新其他表单组件的值\r\n */\r\n valueChange?: Subject<{\r\n field: string,\r\n value: any\r\n onlyInit?: boolean\r\n }>;\r\n /**\r\n * 自定义属性值更新函数,在收到属性值更新事件时自定义更新逻辑,如转换数据类型为数组\r\n */\r\n customValueChanged?: (change: { field: string, value: any, onlyInit?: boolean }) => void;\r\n /**\r\n * 打开表单的组件,一般用于刷新上层表格\r\n */\r\n opener: any;\r\n /**\r\n * 表单只读状态,用于区分组件只读状态\r\n */\r\n readonly: boolean = false;\r\n\r\n protected defaultValueChanged(change: { field: string, value: any, onlyInit?: boolean }): void {\r\n if (!(this as any).field) {\r\n return;\r\n }\r\n const thisField = (this as any).field;\r\n if (Array.isArray(thisField)) {\r\n if (!thisField.includes(change.field)) {\r\n return;\r\n }\r\n } else if (thisField !== change.field) {\r\n return;\r\n }\r\n if ((this as any).customValueChanged) {\r\n (this as any).customValueChanged(change);\r\n return;\r\n }\r\n if (change.onlyInit && this.model[change.field]) {\r\n return;\r\n }\r\n this.model[change.field] = change.value;\r\n }\r\n}\r\n","import {ComponentBase} from \"./component-base\";\r\nimport {ModalComponent} from \"../../modal/modal.component\";\r\n\r\nexport class ModalComponentBase extends ComponentBase {\r\n /**\r\n * 租户\r\n */\r\n tenant: any;\r\n /**\r\n * 数据类\r\n */\r\n className: any;\r\n /**\r\n * 可能为空,比如在台账中,基于类的按钮打开模态窗时,若有勾选的行,其oid在params中\r\n */\r\n oid?: any;\r\n /**\r\n * 当前行数据,同oid,可能为空\r\n */\r\n rowData?: any;\r\n /**\r\n * 当前模态窗实例,用于关闭模窗\r\n */\r\n modal!: ModalComponent;\r\n /**\r\n * 打开模态窗的组件,一般用于刷新上层表格\r\n */\r\n opener: any;\r\n}\r\n","import {ComponentBase} from \"./component-base\";\r\n\r\nexport class PageItemComponentBase extends ComponentBase {\r\n /**\r\n * 编辑模式,在设计器中为true,用于区分组件设计和应用状态\r\n */\r\n editMode: boolean = false;\r\n /**\r\n * 当前页面所在tab页的id,一般用于更新tab页title\r\n */\r\n tabId!: string;\r\n}\r\n","import {ViewContainerRef} from \"@angular/core\";\r\n\r\nexport class ConfigBase {\r\n /**\r\n * 组件配置\r\n */\r\n config: any;\r\n /**\r\n * 当前tab页的视图,用于在组件配置中弹窗\r\n */\r\n tabViewContainerRef!: ViewContainerRef;\r\n}\r\n","import {ConfigBase} from \"./config-base\";\r\n\r\nexport class CellConfigBase extends ConfigBase {\r\n}\r\n","import {EventEmitter} from \"@angular/core\";\r\nimport {ConfigBase} from \"./config-base\";\r\n\r\nexport class FormItemConfigBase extends ConfigBase {\r\n /**\r\n * 当前表单对应数据类租户\r\n */\r\n tenant: any;\r\n /**\r\n * 当前表单对应数据类名\r\n */\r\n className: any;\r\n /**\r\n * 属性树,用于指定表单组件绑定的属性\r\n */\r\n fieldTree: any;\r\n /**\r\n * 配置更新事件,emit()将更新配置到组件,emit(true)将更新配置到组件并重新加载组件\r\n */\r\n configChange!: EventEmitter<boolean | undefined>;\r\n}\r\n","import {ConfigBase} from \"./config-base\";\r\n\r\nexport class ModalConfigBase extends ConfigBase {\r\n}\r\n","import {ConfigBase} from \"./config-base\";\r\nimport {EventEmitter} from \"@angular/core\";\r\n\r\nexport class PageItemConfigBase extends ConfigBase {\r\n /**\r\n * 配置更新事件,emit()将更新配置到组件,emit(true)将更新配置到组件并重新加载组件\r\n */\r\n configChange!: EventEmitter<boolean | undefined>;\r\n}\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 = 30 * 1000; // 30秒钟检查一次\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 this.webSocket.send('heartbeat check');\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","i2.CodeEditorComponent","i1","i1.FormService","i3.BoxContainerComponent","i4","i5","i6","i1.DrawerService","i4.FormComponent","i1.DataGridService","i1.DataGridFactory","i2.DataGridService","i3","i7.InstanceLinkTemplateComponent","i8.CellComponentTemplateComponent","i8","i9"],"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/initUserTask.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/UserTaskPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/UserTaskContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/user-task/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/ServiceTaskPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/ServiceTaskContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/service-task/index.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/HideOtherPaletteProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/CustomReplaceMenuProvider.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/custom/hide-other/index.ts","../../../projects/ngx-rs-ant/src/code-editor/code-editor.component.ts","../../../projects/ngx-rs-ant/src/code-editor/code-editor.component.html","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.component.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.component.html","../../../projects/ngx-rs-ant/src/code-editor/code-editor.module.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-editor/camunda-bpmn-editor.module.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.component.ts","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.component.html","../../../projects/ngx-rs-ant/src/camunda-bpmn-viewer/camunda-bpmn-viewer.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.service.ts","../../../projects/ngx-rs-ant/src/data-grid/row-buttons-template.directive.ts","../../../projects/ngx-rs-ant/src/util/utils.ts","../../../projects/ngx-rs-ant/src/data-grid/custom-template.directive.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.factory.ts","../../../projects/ngx-rs-ant/src/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/form/form.service.ts","../../../projects/ngx-rs-ant/src/util/UniqueId.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-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/cell-component-template/cell-component-template.component.ts","../../../projects/ngx-rs-ant/src/data-grid/cell-component-template/cell-component-template.component.html","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.component.html","../../../projects/ngx-rs-ant/src/form/field-selector/field-selector.component.ts","../../../projects/ngx-rs-ant/src/form/field-selector/field-selector.component.html","../../../projects/ngx-rs-ant/src/form/form.module.ts","../../../projects/ngx-rs-ant/src/data-grid/data-grid.module.ts","../../../projects/ngx-rs-ant/src/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/types/component/component-base.ts","../../../projects/ngx-rs-ant/src/types/component/cell-component-base.ts","../../../projects/ngx-rs-ant/src/types/component/form-item-component-base.ts","../../../projects/ngx-rs-ant/src/types/component/modal-component-base.ts","../../../projects/ngx-rs-ant/src/types/component/page-item-component-base.ts","../../../projects/ngx-rs-ant/src/types/config/config-base.ts","../../../projects/ngx-rs-ant/src/types/config/cell-config-base.ts","../../../projects/ngx-rs-ant/src/types/config/form-item-config-base.ts","../../../projects/ngx-rs-ant/src/types/config/modal-config-base.ts","../../../projects/ngx-rs-ant/src/types/config/page-item-config-base.ts","../../../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} 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 {\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\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=\"coast-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=\"coast-icon-close\" (click)=\"onItemCloseIconClick($event)\"></i>\r\n </div>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"row\"\r\n (dividerClick)=\"splitItem('column')\"></rs-divider>\r\n <rs-divider *ngIf=\"showDivider\" [targetElement]=\"targetElement\" direction=\"column\"\r\n (dividerClick)=\"splitItem('row')\"></rs-divider>\r\n</div>\r\n","import {Component} 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","<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.widthType = this.style.widthType ? this.style.widthType : 'screen';\n this.style.height = this.style.height ? this.style.height : 'auto';\n this.style.heightType = this.style.heightType ? this.style.heightType : 'screen';\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\" *ngIf=\"style.width === 'auto'\">\n <div class=\"item-title\">适应方式</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.widthType || style.widthType === 'screen' ? 'active' : ''\"\n (click)=\"style.widthType = 'screen'\">\n <span>按屏幕</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.widthType && style.widthType === 'content' ? 'active' : ''\"\n (click)=\"style.widthType = 'content'\">\n <span>按内容</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\" *ngIf=\"style.width !== 'auto'\">\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 </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\" *ngIf=\"style.height === 'auto'\">\n <div class=\"item-title\">适应方式</div>\n <div class=\"item-setting\">\n <div class=\"card-style-radio\">\n <div class=\"radio-value\" [ngClass]=\"!style.heightType || style.heightType === 'screen' ? 'active' : ''\"\n (click)=\"style.heightType = 'screen'\">\n <span>按屏幕</span>\n </div>\n <div class=\"radio-value\" [ngClass]=\"style.heightType && style.heightType === 'content' ? 'active' : ''\"\n (click)=\"style.heightType = 'content'\">\n <span>按内容</span>\n </div>\n </div>\n </div>\n</div>\n<div class=\"config-item\" *ngIf=\"style.height !== 'auto'\">\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 </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, EventEmitter, 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<{ id: symbol, item: any }>();\r\n static activeItems: { [id: symbol]: 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 (PluginFactory.hasType(plugin, 'page')) {\r\n instance.editMode = boxItem.boxContainer.editMode;\r\n instance.tabId = boxItem.boxContainer.context?.__tabId;\r\n }\r\n if (PluginFactory.hasType(plugin, 'form')) {\r\n instance.editMode = boxItem.boxContainer.editMode;\r\n instance.validationGroupName = boxItem.boxContainer.context?.__form?.uniqueId;\r\n instance.tenant = boxItem.boxContainer.context?.__form?.tenant;\r\n instance.className = boxItem.boxContainer.context?.__form?.className;\r\n instance.oid = boxItem.boxContainer.context?.__form?.oid;\r\n instance.model = boxItem.boxContainer.context?.__model;\r\n instance.opener = boxItem.boxContainer.context?.__opener;\r\n instance.valueChange = boxItem.boxContainer.context?.__valueChange;\r\n if (instance.valueChange) {\r\n instance.valueChange.subscribe(instance.defaultValueChanged.bind(instance));\r\n }\r\n if (boxItem.boxContainer.readonly) {\r\n instance.readonly = true;\r\n }\r\n }\r\n if (PluginFactory.hasType(plugin, 'modal')) {\r\n instance.opener = boxItem.boxContainer.context?.__opener;\r\n }\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 const wrapperDiv = this.createWrapperDiv(componentRef.location.nativeElement, boxItem.wrapperDivIndex + 1);\r\n this.createHoverComponent(viewContainerRef, wrapperDiv, plugin.caption);\r\n this.createActiveComponent(boxItem, index, wrapperDiv, 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 createWrapperDiv(parent: Element, zIndex: number) {\r\n const div = document.createElement('div');\r\n div.style.position = 'absolute';\r\n div.style.inset = '8px';\r\n div.style.cursor = 'pointer';\r\n div.style.zIndex = String(zIndex);\r\n return parent.appendChild(div);\r\n }\r\n\r\n static createHoverComponent(viewContainerRef: ViewContainerRef, wrapperDiv: Element, caption: string): any {\r\n const hoverComponentRef = viewContainerRef.createComponent(PluginHoverComponent);\r\n hoverComponentRef.instance.name = caption;\r\n hoverComponentRef.instance.targetElement = wrapperDiv;\r\n const hoverElement = hoverComponentRef.location.nativeElement;\r\n wrapperDiv.appendChild(hoverElement);\r\n this.hoverItems.push(wrapperDiv);\r\n wrapperDiv.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 wrapperDiv.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, wrapperDiv: Element, componentRef: ComponentRef<any>,\r\n style: any, config: any, showClose: boolean): any {\r\n const id = boxItem.boxContainer.id;\r\n const viewContainerRef: any = boxItem.itemHosts.get(index)?.viewContainerRef;\r\n const activeComponentRef = viewContainerRef.createComponent(PluginActiveComponent);\r\n activeComponentRef.instance.name = config.caption;\r\n activeComponentRef.instance.showClose = showClose;\r\n activeComponentRef.instance.targetElement = wrapperDiv;\r\n const activeElement = activeComponentRef.location.nativeElement;\r\n wrapperDiv.appendChild(activeElement);\r\n if (this.activeItems[id]) {\r\n this.activeItems[id].push(wrapperDiv);\r\n } else {\r\n this.activeItems[id] = [wrapperDiv];\r\n }\r\n wrapperDiv.addEventListener('click', ($event: any) => {\r\n $event.stopPropagation();\r\n for (let activeItem of this.activeItems[id]) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n if (this.activeItems[id].indexOf($event.target) < 0) {\r\n return;\r\n }\r\n this.activeItem.next({\r\n id,\r\n item: {boxItem, index, style, config: config.config, componentRef}\r\n });\r\n $event.target.classList.add('plugin-active');\r\n });\r\n activeComponentRef.instance.splitItem = (direction: 'row' | 'column') => {\r\n if (boxItem.config.direction === direction) {\r\n boxItem.config.list.splice(index + 1, 0, {type: 'blank', style: {}});\r\n boxItem.load();\r\n } else {\r\n if (boxItem.config.list.length === 1) {\r\n boxItem.config.direction = direction;\r\n boxItem.config.list.push({type: 'blank', style: {}});\r\n } else {\r\n if (boxItem.config.list[index].type === 'item' && boxItem.config.list[index].config.direction === direction) {\r\n boxItem.config.list[index].config.list.push({type: 'blank', style: {}});\r\n } else {\r\n boxItem.config.list.splice(index, 1, {\r\n type: 'item',\r\n style: boxItem.config.list[index].style,\r\n config: {\r\n direction,\r\n list: [boxItem.config.list[index], {type: 'blank', style: {}}]\r\n }\r\n });\r\n }\r\n }\r\n boxItem.load();\r\n }\r\n };\r\n activeComponentRef.instance.itemRemove.subscribe(() => {\r\n this.activeItem.next({\r\n id,\r\n item: ''\r\n });\r\n viewContainerRef.clear();\r\n componentRef.instance.onRemove();\r\n });\r\n return activeComponentRef;\r\n }\r\n\r\n static resetItemConfig(itemConfigContainerRef: ViewContainerRef, item: any, context?: any) {\r\n itemConfigContainerRef.clear();\r\n if (!item) {\r\n itemConfigContainerRef.createComponent(ConfigBlankComponent);\r\n return;\r\n }\r\n const plugin = PluginFactory.get(item.config?.name);\r\n const 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 if (PluginFactory.hasType(plugin, 'page')) {\r\n instance.configChange = new EventEmitter<boolean | undefined>();\r\n }\r\n if (PluginFactory.hasType(plugin, 'form')) {\r\n instance.configChange = new EventEmitter<boolean | undefined>();\r\n instance.tenant = context?.tenant;\r\n instance.className = context?.className;\r\n instance.fieldTree = context?.fieldTree;\r\n }\r\n instance.config = item.config.pluginConfig;\r\n instance.configChange.subscribe((reload?: boolean) => {\r\n if (reload) {\r\n const componentRef = PluginManager.createComponent(item.boxItem, item.index, item.style, item.config);\r\n componentRef.location.nativeElement.click();\r\n } else {\r\n setTimeout(() => {\r\n Object.assign(item.componentRef.instance, item.config.pluginConfig);\r\n });\r\n }\r\n });\r\n instance.tabViewContainerRef = item.boxItem.boxContainer.tabViewContainerRef;\r\n } else {\r\n itemConfigContainerRef.createComponent(ConfigBlankComponent);\r\n }\r\n }\r\n\r\n static resetItemStyle(itemStyleContainerRef: ViewContainerRef, item: any) {\r\n itemStyleContainerRef.clear();\r\n if (!item) {\r\n itemStyleContainerRef.createComponent(StyleBlankComponent);\r\n return;\r\n }\r\n const componentRef = itemStyleContainerRef.createComponent(StyleComponent);\r\n const instance: any = componentRef.instance;\r\n instance.style = item.style;\r\n }\r\n}\r\n","import {Component, Input, OnInit, ViewChild, ViewContainerRef} from '@angular/core';\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 @Input()\n id: symbol | string = 'global';\n @Input()\n context?: any;\n @ViewChild('itemConfigContainerRef', {\n static: true,\n read: ViewContainerRef\n }) itemConfigContainerRef!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(data => {\n if (data.id !== this.id) {\n return;\n }\n PluginManager.resetItemConfig(this.itemConfigContainerRef, data.item, this.context);\n });\n }\n}\n","<ng-container #itemConfigContainerRef></ng-container>\n","import {Component, Input, 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 @Input()\n id: symbol | string = 'global';\n @ViewChild('itemStyleContainerRef', {static: true, read: ViewContainerRef}) itemStyleContainerRef!: ViewContainerRef;\n\n ngOnInit(): void {\n PluginManager.activeItem.subscribe(data => {\n if (data.id !== this.id) {\n return;\n }\n PluginManager.resetItemStyle(this.itemStyleContainerRef, data.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 wrapperDivIndex: number = 10;\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 widthType = this.style?.widthType ? this.style.widthType : 'screen';\n const height = this.style?.height ? this.style.height : 'auto';\n const heightType = this.style?.heightType ? this.style.heightType : 'screen';\n return this._calcStyle(this.pDirection, width, widthType, height, heightType);\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.lastChild.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 instance.wrapperDivIndex = this.wrapperDivIndex + 1;\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 const wrapperDiv = PluginManager.createWrapperDiv(boxItemComponentRef.location.nativeElement, this.wrapperDivIndex + 1);\n PluginManager.createHoverComponent(itemHost.viewContainerRef, wrapperDiv, '格子容器');\n PluginManager.createActiveComponent(this, i, wrapperDiv, 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 const wrapperDiv = PluginManager.createWrapperDiv(containerBlankComponentRef.location.nativeElement, this.wrapperDivIndex + 1);\n PluginManager.createHoverComponent(viewContainerRef, wrapperDiv, '占位格');\n const activeComponentRef = PluginManager.createActiveComponent(this, index, wrapperDiv, 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 widthType = item.style?.widthType ? item.style.widthType : 'screen';\n const height = item.style?.height ? item.style.height : 'auto';\n const heightType = item.style?.heightType ? item.style.heightType : 'screen';\n return {\n ...this._calcStyle(this.config.direction, width, widthType, height, heightType),\n position: 'relative'\n };\n }\n\n private _calcStyle(direction: any, width: string, widthType: string, height: string, heightType: string) {\n if (direction === 'row') {\n return {\n flex: width === 'auto' ? (widthType === 'screen' ? '1' : 'none') : '0 0 ' + width,\n height\n }\n } else if (direction === 'column') {\n return {\n width,\n flex: height === 'auto' ? (heightType === 'screen' ? 'auto' : 'none') : '0 0 ' + height\n }\n }\n return {};\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 // 取消拖拽后,DevExtreme会自动添加样式:transform: translate(0px, 0px);导致组件不可选中,应该是DevExtreme的BUG\n setTimeout(() => {\n $event.itemElement.style.transform = 'none';\n });\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=\".coast-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].previousValue == changes[key].currentValue) && !changes[key].isFirstChange()) {\r\n hasChange = true;\r\n break;\r\n }\r\n }\r\n if (hasChange) {\r\n handler();\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {BoxItemComponent} from './box-item/box-item.component';\r\nimport {ChangeFilter} from \"../util/change-filter\";\r\nimport {PluginManager} from \"./PluginManager\";\r\n\r\n@Component({\r\n selector: 'rs-box-container',\r\n templateUrl: './box-container.component.html',\r\n styleUrls: ['./box-container.component.scss']\r\n})\r\nexport class BoxContainerComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input()\r\n id: symbol | string = 'global';\r\n @Input()\r\n editMode: boolean = false;\r\n @Input()\r\n config: any = {\r\n direction: 'row',\r\n list: [{type: 'blank', style: {}}]\r\n };\r\n @Input()\r\n params?: any;\r\n @Input()\r\n context?: 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', 'params', 'context', 'readonly'], () => {\r\n this.load();\r\n });\r\n PluginManager.activeItem.subscribe(data => {\r\n if (data.id !== this.id) {\r\n return;\r\n }\r\n if (!data.item) {\r\n for (let activeItem of PluginManager.activeItems[this.id]) {\r\n activeItem.classList.remove('plugin-active');\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.changeFilter.doFilter(changes);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.changeFilter.dispose();\r\n }\r\n\r\n load() {\r\n this.boxContainerContent.clear();\r\n const boxItemComponentRef = this.boxContainerContent.createComponent(BoxItemComponent);\r\n const instance = boxItemComponentRef.instance;\r\n instance.boxContainer = this;\r\n instance.config = this.config;\r\n if (this.editMode) {\r\n boxItemComponentRef.location.nativeElement.style.margin = '8px';\r\n }\r\n instance.leaveOneItem?.subscribe((item: any) => {\r\n if (item.type === 'item') {\r\n Object.assign(instance.config, item);\r\n } else {\r\n instance.config.direction = 'row';\r\n }\r\n instance.load();\r\n });\r\n }\r\n}\r\n","<ng-container #boxContainerContent></ng-container>\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 hand tool': '激活拖拽工具',\r\n 'Activate lasso tool': '激活框选工具',\r\n 'Activate create/remove space tool': '激活空间移动工具',\r\n 'Activate global connect tool': '激活全局连接工具',\r\n 'Create start event': '创建开始节点',\r\n 'Create end event': '创建结束节点',\r\n 'Create user task': '创建用户任务',\r\n 'Create service task': '创建服务任务',\r\n 'Create gateway': '创建网关节点',\r\n // 面板\r\n 'Append user task': '追加用户任务',\r\n 'Append service task': '追加服务任务',\r\n 'Append gateway': '追加网关节点',\r\n 'Append end event': '追加结束节点',\r\n 'Connect to other element': '连接其它节点',\r\n 'Delete': '删除',\r\n 'Change type': '改变节点类型',\r\n 'Exclusive gateway': '互斥网关',\r\n 'Parallel gateway': '并行网关',\r\n 'Default flow': '默认流向',\r\n 'Sequence flow': '顺序流向',\r\n 'Conditional flow': '条件流向',\r\n 'Open minimap': '打开缩略图',\r\n 'Close minimap': '关闭缩略图',\r\n};\r\n","import {translations} from './translations';\r\n\r\nexport function customTranslate(template: string, replacements: {\r\n [key: string]: string\r\n}) {\r\n replacements = replacements || {};\r\n // Translate\r\n template = translations[template] || template;\r\n // Replace\r\n return template.replace(/{([^}]+)}/g, function (_, key) {\r\n return replacements[key] || '{' + key + '}';\r\n });\r\n}\r\n\r\nexport default {\r\n translate: ['value', customTranslate]\r\n}\r\n","export function initUserTask(moddle: any, modeling: any, userTask: any) {\r\n const loopCharacteristics = moddle.create('bpmn:MultiInstanceLoopCharacteristics');\r\n modeling.updateModdleProperties(userTask, loopCharacteristics, {\r\n ['camunda:collection']: '${workflowHelper.collectUsers(execution, \"' + userTask.id + '\")}',\r\n ['camunda:elementVariable']: 'user'\r\n });\r\n modeling.updateProperties(userTask, {\r\n loopCharacteristics,\r\n ['camunda:assignee']: '${user}'\r\n });\r\n}\r\n","import {initUserTask} from \"./initUserTask\";\r\n\r\nexport default class UserTaskPaletteProvider {\r\n public static $inject = [\r\n 'palette',\r\n 'translate',\r\n 'elementFactory',\r\n 'moddle',\r\n 'modeling',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly elementFactory: any;\r\n private readonly moddle: any;\r\n private readonly modeling: any;\r\n private readonly create: any;\r\n\r\n constructor(palette: any, translate: any, elementFactory: any, moddle: any, modeling: any, create: any) {\r\n this.translate = translate;\r\n this.elementFactory = elementFactory;\r\n this.moddle = moddle;\r\n this.modeling = modeling;\r\n this.create = create;\r\n palette.registerProvider(this);\r\n this.createUserTask = this.createUserTask.bind(this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return {\r\n 'create.user-task': {\r\n group: 'activity',\r\n className: 'bpmn-icon-user-task',\r\n title: this.translate('Create user task'),\r\n action: {\r\n dragstart: this.createUserTask,\r\n click: this.createUserTask\r\n }\r\n }\r\n };\r\n }\r\n\r\n createUserTask(event: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","import {initUserTask} from \"./initUserTask\";\r\n\r\nexport default class UserTaskContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'appendPreview',\r\n 'elementFactory',\r\n 'autoPlace',\r\n 'moddle',\r\n 'modeling',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly appendPreview: any;\r\n private readonly elementFactory: any;\r\n private readonly autoPlace: any;\r\n private readonly moddle: any;\r\n private readonly modeling: any;\r\n private readonly create: any;\r\n\r\n constructor(contextPad: any, translate: any, appendPreview: any, elementFactory: any, autoPlace: any, moddle: any, modeling: any, create: any) {\r\n this.translate = translate;\r\n this.appendPreview = appendPreview;\r\n this.elementFactory = elementFactory;\r\n this.autoPlace = autoPlace;\r\n this.moddle = moddle;\r\n this.modeling = modeling;\r\n this.create = create;\r\n contextPad.registerProvider(this);\r\n this.appendUserTaskPreview = this.appendUserTaskPreview.bind(this);\r\n this.appendUserTask = this.appendUserTask.bind(this);\r\n this.appendUserTaskStart = this.appendUserTaskStart.bind(this);\r\n }\r\n\r\n getContextPadEntries() {\r\n return {\r\n 'append.user-task': {\r\n group: 'model',\r\n className: 'bpmn-icon-user-task',\r\n title: this.translate('Append user task'),\r\n action: {\r\n hover: this.appendUserTaskPreview,\r\n click: this.appendUserTask,\r\n dragstart: this.appendUserTaskStart\r\n }\r\n }\r\n };\r\n }\r\n\r\n appendUserTaskPreview(event: any, source: any) {\r\n this.appendPreview.create(source, 'bpmn:UserTask');\r\n return () => {\r\n this.appendPreview.cleanUp();\r\n };\r\n }\r\n\r\n appendUserTask(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.autoPlace.append(source, shape);\r\n this.appendPreview.cleanUp();\r\n }\r\n\r\n appendUserTaskStart(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:UserTask'});\r\n initUserTask(this.moddle, this.modeling, shape);\r\n this.create.start(event, shape, {\r\n source: source\r\n });\r\n this.appendPreview.cleanUp();\r\n }\r\n}\r\n","import UserTaskPaletteProvider from './UserTaskPaletteProvider';\r\nimport UserTaskContextPadProvider from \"./UserTaskContextPadProvider\";\r\n\r\nexport default {\r\n __init__: ['userTaskPaletteProvider', 'userTaskContextPadProvider'],\r\n userTaskPaletteProvider: ['type', UserTaskPaletteProvider],\r\n userTaskContextPadProvider: ['type', UserTaskContextPadProvider],\r\n};\r\n","export default class ServiceTaskPaletteProvider {\r\n public static $inject = [\r\n 'palette',\r\n 'translate',\r\n 'elementFactory',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly elementFactory: any;\r\n private readonly create: any;\r\n\r\n constructor(palette: any, translate: any, elementFactory: any, create: any) {\r\n this.translate = translate;\r\n this.elementFactory = elementFactory;\r\n this.create = create;\r\n palette.registerProvider(this);\r\n this.createServiceTask = this.createServiceTask.bind(this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return {\r\n 'create.service-task': {\r\n group: 'activity',\r\n className: 'bpmn-icon-service-task',\r\n title: this.translate('Create service task'),\r\n action: {\r\n dragstart: this.createServiceTask,\r\n click: this.createServiceTask\r\n }\r\n }\r\n };\r\n }\r\n\r\n createServiceTask(event: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.create.start(event, shape);\r\n }\r\n}\r\n","export default class ServiceTaskContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'appendPreview',\r\n 'elementFactory',\r\n 'autoPlace',\r\n 'create'\r\n ];\r\n private readonly translate: any;\r\n private readonly appendPreview: any;\r\n private readonly elementFactory: any;\r\n private readonly autoPlace: any;\r\n private readonly create: any;\r\n\r\n constructor(contextPad: any, translate: any, appendPreview: any, elementFactory: any, autoPlace: any, create: any) {\r\n this.translate = translate;\r\n this.appendPreview = appendPreview;\r\n this.elementFactory = elementFactory;\r\n this.autoPlace = autoPlace;\r\n this.create = create;\r\n contextPad.registerProvider(this);\r\n this.appendServiceTaskPreview = this.appendServiceTaskPreview.bind(this);\r\n this.appendServiceTask = this.appendServiceTask.bind(this);\r\n this.appendServiceTaskStart = this.appendServiceTaskStart.bind(this);\r\n }\r\n\r\n getContextPadEntries() {\r\n return {\r\n 'append.service-task': {\r\n group: 'model',\r\n className: 'bpmn-icon-service-task',\r\n title: this.translate('Append service task'),\r\n action: {\r\n hover: this.appendServiceTaskPreview,\r\n click: this.appendServiceTask,\r\n dragstart: this.appendServiceTaskStart\r\n }\r\n }\r\n };\r\n }\r\n\r\n appendServiceTaskPreview(event: any, source: any) {\r\n this.appendPreview.create(source, 'bpmn:ServiceTask');\r\n return () => {\r\n this.appendPreview.cleanUp();\r\n };\r\n }\r\n\r\n appendServiceTask(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.autoPlace.append(source, shape);\r\n this.appendPreview.cleanUp();\r\n }\r\n\r\n appendServiceTaskStart(event: any, source: any) {\r\n const shape = this.elementFactory.createShape({type: 'bpmn:ServiceTask'});\r\n this.create.start(event, shape, {\r\n source: source\r\n });\r\n this.appendPreview.cleanUp();\r\n }\r\n}\r\n","import ServiceTaskPaletteProvider from './ServiceTaskPaletteProvider';\r\nimport ServiceTaskContextPadProvider from \"./ServiceTaskContextPadProvider\";\r\n\r\nexport default {\r\n __init__: ['serviceTaskPaletteProvider', 'serviceTaskContextPadProvider'],\r\n serviceTaskPaletteProvider: ['type', ServiceTaskPaletteProvider],\r\n serviceTaskContextPadProvider: ['type', ServiceTaskContextPadProvider],\r\n};\r\n","export default class HideOtherPaletteProvider {\r\n public static $inject = [\r\n 'palette'\r\n ];\r\n private visibleEntryKeys = [\r\n 'hand-tool',\r\n 'lasso-tool',\r\n 'space-tool',\r\n 'global-connect-tool',\r\n 'tool-separator',\r\n 'create.start-event',\r\n 'create.end-event',\r\n 'create.user-task',\r\n 'create.service-task',\r\n 'create.exclusive-gateway'\r\n ];\r\n\r\n constructor(palette: any) {\r\n palette.registerProvider(0, this);\r\n }\r\n\r\n getPaletteEntries() {\r\n return (entries: any) => {\r\n const visibleEntries: any = {};\r\n for (const visibleEntryKey of this.visibleEntryKeys) {\r\n if (entries.hasOwnProperty(visibleEntryKey)) {\r\n visibleEntries[visibleEntryKey] = entries[visibleEntryKey];\r\n }\r\n }\r\n return visibleEntries;\r\n };\r\n }\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\nimport {isLabel} from 'diagram-js/lib/util/ModelUtil';\r\n\r\nexport default class HideOtherContextPadProvider {\r\n public static $inject = [\r\n 'contextPad',\r\n 'translate',\r\n 'popupMenu'\r\n ];\r\n private readonly contextPad;\r\n private readonly translate;\r\n private readonly popupMenu;\r\n\r\n constructor(contextPad: any, translate: any, popupMenu: any) {\r\n this.contextPad = contextPad;\r\n this.translate = translate;\r\n this.popupMenu = popupMenu;\r\n contextPad.registerProvider(0, this);\r\n }\r\n\r\n getContextPadEntries(element: any) {\r\n return (entries: any) => {\r\n if (isLabel(element)) {\r\n return {};\r\n }\r\n if (is(element, 'bpmn:EndEvent')) {\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n } else if (is(element, 'bpmn:SequenceFlow')) {\r\n if (is(element.businessObject.sourceRef, 'bpmn:Task')) {\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n }\r\n if (entries['replace']) {\r\n return {\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete']\r\n };\r\n }\r\n return {\r\n 'delete': entries['delete']\r\n };\r\n } else if (is(element, 'bpmn:Gateway')) {\r\n return {\r\n 'append.user-task': entries['append.user-task'],\r\n 'append.service-task': entries['append.service-task'],\r\n 'append.gateway': entries['append.gateway'],\r\n 'append.end-event': entries['append.end-event'],\r\n 'connect': entries['connect'],\r\n 'replace': this.createReplaceAction(element),\r\n 'delete': entries['delete']\r\n };\r\n }\r\n return {\r\n 'append.user-task': entries['append.user-task'],\r\n 'append.service-task': entries['append.service-task'],\r\n 'append.gateway': entries['append.gateway'],\r\n 'append.end-event': entries['append.end-event'],\r\n 'connect': entries['connect'],\r\n 'delete': entries['delete']\r\n };\r\n };\r\n }\r\n\r\n private getReplaceMenuPosition(element: any) {\r\n const pad = this.contextPad.getPad(element).html;\r\n const padRect = pad.getBoundingClientRect();\r\n return {\r\n x: padRect.left,\r\n y: padRect.bottom + 5\r\n };\r\n }\r\n\r\n private createReplaceAction(element: any) {\r\n return {\r\n group: 'edit',\r\n className: 'bpmn-icon-screw-wrench',\r\n title: this.translate('Change type'),\r\n action: {\r\n click: (event: any, element: any) => {\r\n const position = Object.assign(this.getReplaceMenuPosition(element), {\r\n cursor: {\r\n x: event.x,\r\n y: event.y\r\n }\r\n });\r\n this.popupMenu.open(element, 'bpmn-replace', position, {\r\n width: 300,\r\n search: true\r\n });\r\n }\r\n }\r\n };\r\n }\r\n}\r\n","import {is} from 'bpmn-js/lib/util/ModelUtil';\r\n\r\nexport default class CustomReplaceMenuProvider {\r\n public static $inject = [\r\n 'popupMenu'\r\n ];\r\n\r\n constructor(popupMenu: any) {\r\n popupMenu.registerProvider('bpmn-replace', 0, this);\r\n }\r\n\r\n getPopupMenuEntries(element: any) {\r\n return (entries: any) => {\r\n if (is(element, 'bpmn:ExclusiveGateway')) {\r\n return {\r\n 'replace-with-parallel-gateway': entries['replace-with-parallel-gateway']\r\n };\r\n } else if (is(element, 'bpmn:ParallelGateway')) {\r\n return {\r\n 'replace-with-exclusive-gateway': entries['replace-with-exclusive-gateway']\r\n };\r\n }\r\n return entries;\r\n };\r\n }\r\n}\r\n","import HideOtherPaletteProvider from './HideOtherPaletteProvider';\r\nimport HideOtherContextPadProvider from \"./HideOtherContextPadProvider\";\r\nimport CustomReplaceMenuProvider from \"./CustomReplaceMenuProvider\";\r\n\r\nexport default {\r\n __init__: ['hideOtherPaletteProvider', 'hideOtherContextPadProvider', 'gatewayReplaceMenuProvider'],\r\n hideOtherPaletteProvider: ['type', HideOtherPaletteProvider],\r\n hideOtherContextPadProvider: ['type', HideOtherContextPadProvider],\r\n gatewayReplaceMenuProvider: ['type', CustomReplaceMenuProvider]\r\n};\r\n","import {Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\n\r\ndeclare var monaco: any;\r\n\r\n@Component({\r\n selector: 'rs-code-editor',\r\n templateUrl: './code-editor.component.html',\r\n styleUrls: ['./code-editor.component.scss']\r\n})\r\nexport class CodeEditorComponent implements OnInit {\r\n @Input()\r\n set code(code: string) {\r\n this._code = code || '';\r\n this._editor?.setValue(this._code);\r\n }\r\n\r\n get code() {\r\n return this._code;\r\n }\r\n\r\n private _code: string = '';\r\n @Output()\r\n codeChange = new EventEmitter<string>();\r\n @Input()\r\n language: string = 'java';\r\n @Input()\r\n readonly: boolean = false;\r\n @Input()\r\n enableMinimap: boolean = false;\r\n @Input()\r\n consoleMessage?: string;\r\n @Output()\r\n onContentReady = new EventEmitter<any>();\r\n private _editor: any;\r\n @ViewChild('editorContainer', {static: true}) editorContainer!: ElementRef;\r\n\r\n constructor() {\r\n this.initMonaco = this.initMonaco.bind(this);\r\n }\r\n\r\n ngOnInit(): void {\r\n const baseUrl = './assets/monaco-editor/min/vs';\r\n const loaderScript: HTMLScriptElement = document.createElement('script');\r\n loaderScript.type = 'text/javascript';\r\n loaderScript.src = `${baseUrl}/loader.js`;\r\n loaderScript.addEventListener('load', () => {\r\n (<any>window).require.config({paths: {'vs': `${baseUrl}`}});\r\n (<any>window).require([`vs/editor/editor.main`], () => {\r\n this.initMonaco();\r\n });\r\n });\r\n document.body.appendChild(loaderScript);\r\n }\r\n\r\n private initMonaco() {\r\n this._editor = monaco.editor.create(this.editorContainer.nativeElement, {\r\n value: this.code,\r\n language: this.language,\r\n automaticLayout: true,\r\n readOnly: this.readonly,\r\n minimap: {\r\n enabled: this.enableMinimap\r\n }\r\n });\r\n this._editor.onDidChangeModelContent((e: any) => {\r\n this.codeChange.emit(this._editor.getValue());\r\n });\r\n this.onContentReady.emit(this._editor);\r\n }\r\n}\r\n","<div class=\"editor-container\" #editorContainer></div>\r\n<div *ngIf=\"consoleMessage\" class=\"editor-console\">{{ consoleMessage }}</div>\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport BpmnModeler from 'camunda-bpmn-js/lib/camunda-platform/Modeler';\r\nimport customTranslateModule from './custom/translate';\r\nimport customUserTaskModule from './custom/user-task';\r\nimport customServiceTaskModule from './custom/service-task';\r\nimport customHideOtherModule from './custom/hide-other';\r\n\r\n@Component({\r\n selector: 'rs-camunda-bpmn-editor',\r\n templateUrl: './camunda-bpmn-editor.component.html',\r\n styleUrls: ['./camunda-bpmn-editor.component.scss']\r\n})\r\nexport class CamundaBpmnEditorComponent {\r\n @Input()\r\n set xml(xml: any) {\r\n this._xml = xml;\r\n setTimeout(() => {\r\n this.loadXml();\r\n });\r\n }\r\n\r\n get xml() {\r\n return this._xml;\r\n }\r\n\r\n private _xml: any;\r\n @Input()\r\n showXmlButton = false;\r\n @Input()\r\n showConfigButton = false;\r\n @Output()\r\n selectedNodeChanged = new EventEmitter<{ element: any, util?: any }>();\r\n @ViewChild('bpmnContainer') bpmnContainer?: ElementRef;\r\n @ViewChild('bpmnConfig') bpmnConfig?: ElementRef;\r\n private modeler: any;\r\n private canvas: any;\r\n protected isShowXml = false;\r\n protected isShowConfig = false;\r\n private initialDiagram =\r\n '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' +\r\n '<bpmn:definitions xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ' +\r\n 'xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" ' +\r\n 'xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" ' +\r\n 'xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" ' +\r\n 'targetNamespace=\"http://bpmn.io/schema/bpmn\" ' +\r\n 'id=\"Definitions_1\">' +\r\n '<bpmn:process id=\"Process_1\" isExecutable=\"true\">' +\r\n '<bpmn:startEvent id=\"StartEvent_1\"/>' +\r\n '</bpmn:process>' +\r\n '<bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">' +\r\n '<bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">' +\r\n '<bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">' +\r\n '<dc:Bounds height=\"36.0\" width=\"36.0\" x=\"173.0\" y=\"102.0\"/>' +\r\n '</bpmndi:BPMNShape>' +\r\n '</bpmndi:BPMNPlane>' +\r\n '</bpmndi:BPMNDiagram>' +\r\n '</bpmn:definitions>';\r\n\r\n ngOnInit() {\r\n if (!this.xml) {\r\n this.xml = this.initialDiagram;\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.modeler = new BpmnModeler({\r\n container: this.bpmnContainer?.nativeElement,\r\n propertiesPanel: {\r\n parent: this.bpmnConfig?.nativeElement,\r\n },\r\n keyboard: {\r\n bindTo: document,\r\n },\r\n additionalModules: [\r\n customTranslateModule,\r\n customUserTaskModule,\r\n customServiceTaskModule,\r\n customHideOtherModule,\r\n ]\r\n });\r\n const logo = this.modeler._container.querySelector('.bjs-powered-by');\r\n if (logo) {\r\n this.modeler._container.removeChild(logo);\r\n }\r\n this.modeler.get('palette')._toggleState({twoColumn: false});\r\n this.canvas = this.modeler.get('canvas');\r\n const eventBus = this.modeler.get('eventBus');\r\n eventBus.on(['propertiesPanel.updated'], ($event: any) => {\r\n if (Array.isArray($event.element)) {\r\n this.selectedNodeChanged.emit();\r\n } else {\r\n this.selectedNodeChanged.emit({\r\n element: $event.element,\r\n util: {\r\n bpmnFactory: this.modeler.get('bpmnFactory'),\r\n modeling: this.modeler.get('modeling'),\r\n elementRegistry: this.modeler.get('elementRegistry')\r\n }\r\n });\r\n }\r\n });\r\n this.loadXml();\r\n }\r\n\r\n loadXml() {\r\n this.modeler.importXML(this.xml).then(() => {\r\n this.canvas.zoom('fit-viewport');\r\n });\r\n }\r\n\r\n showXml() {\r\n if (!this.isShowXml) {\r\n this.saveXml((xml: any) => {\r\n this.xml = xml;\r\n })\r\n }\r\n this.isShowXml = !this.isShowXml;\r\n }\r\n\r\n public saveXml(callback?: any) {\r\n this.modeler.saveXML({format: true}).then((response: any) => {\r\n if (callback) {\r\n callback(response.xml);\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"main\">\r\n <div class=\"container\" #bpmnContainer></div>\r\n <div [hidden]=\"!isShowConfig\" class=\"config\" #bpmnConfig></div>\r\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\r\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\r\n </div>\r\n</div>\r\n<div class=\"footer\">\r\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\r\n [visible]=\"showXmlButton\" (onClick)=\"showXml()\"></dx-button>\r\n <dx-button [type]=\"isShowConfig ? 'default' : 'normal'\" icon=\"coast-icon coast-icon-setting\"\r\n style=\"float: right;\" [visible]=\"showConfigButton\"\r\n (onClick)=\"isShowConfig = !isShowConfig;\"></dx-button>\r\n</div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CodeEditorComponent} from './code-editor.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n CodeEditorComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n CodeEditorComponent\r\n ]\r\n})\r\nexport class CodeEditorModule {\r\n}\r\n","import {NgModule} from '@angular/core';\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 {Component, ElementRef, Input, ViewChild} from '@angular/core';\r\nimport Viewer from \"camunda-bpmn-js/lib/camunda-platform/NavigatedViewer\";\r\n\r\n@Component({\r\n selector: 'rs-camunda-bpmn-viewer',\r\n templateUrl: './camunda-bpmn-viewer.component.html',\r\n styleUrls: ['./camunda-bpmn-viewer.component.scss']\r\n})\r\nexport class CamundaBpmnViewerComponent {\r\n @Input()\r\n set xml(xml: any) {\r\n this._xml = xml;\r\n setTimeout(() => {\r\n this.loadXml();\r\n });\r\n }\r\n\r\n get xml() {\r\n return this._xml;\r\n }\r\n\r\n private _xml: any;\r\n @Input()\r\n failedActivities: any[] = [];\r\n @Input()\r\n activeActivities: any[] = [];\r\n private viewer: any;\r\n private canvas: any;\r\n @ViewChild('viewerContainer') viewerContainer!: ElementRef;\r\n\r\n ngAfterViewInit() {\r\n this.viewer = new Viewer({\r\n container: this.viewerContainer.nativeElement,\r\n keyboard: {\r\n bindTo: document,\r\n }\r\n });\r\n const logo = this.viewer._container.querySelector('.bjs-powered-by');\r\n if (logo) {\r\n this.viewer._container.removeChild(logo);\r\n }\r\n this.canvas = this.viewer.get('canvas');\r\n this.loadXml();\r\n }\r\n\r\n loadXml() {\r\n if (!this.xml) {\r\n return;\r\n }\r\n this.viewer.importXML(this.xml).then(() => {\r\n this.canvas.zoom('fit-viewport');\r\n for (const activity of this.failedActivities || []) {\r\n this.canvas.addMarker(activity, 'process-failed-node');\r\n }\r\n for (const activity of this.activeActivities || []) {\r\n this.canvas.addMarker(activity, 'process-active-node');\r\n }\r\n });\r\n }\r\n}\r\n","<div class=\"container\" #viewerContainer></div>\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CamundaBpmnViewerComponent} from './camunda-bpmn-viewer.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\n\r\n@NgModule({\r\n declarations: [\r\n CamundaBpmnViewerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule\r\n ],\r\n exports: [\r\n CamundaBpmnViewerComponent\r\n ]\r\n})\r\nexport class CamundaBpmnViewerModule {\r\n}\r\n","import {EventEmitter, Injectable} from '@angular/core';\r\nimport {HttpClient} from \"@angular/common/http\";\r\nimport {debounceTime, 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(tenant: any, name: string): Observable<any> {\r\n const key = tenant + '_' + name;\r\n if (!(window as any).coast.cache.hasOwnProperty(key)) {\r\n (window as any).coast.cache[key] = this.http.get<any>('api/metadata/constraint', {\r\n params: {\r\n tenant,\r\n name\r\n }\r\n }).pipe(\r\n shareReplay(1),\r\n map(response => {\r\n const entries = [];\r\n for (let entry of response.data) {\r\n entries.push({\r\n store: entry.store,\r\n display: entry.enabled ? entry.display : entry.display + '(已禁用)'\r\n });\r\n }\r\n return entries;\r\n })\r\n );\r\n }\r\n return (window as any).coast.cache[key];\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","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 {DxValidatorComponent} from \"devextreme-angular\";\r\nimport {firstValueFrom, of} from \"rxjs\";\r\nimport validationEngine from \"devextreme/ui/validation_engine\";\r\n\r\nexport function notify_error(message: string) {\r\n _notify(message, 12000, 'warning');\r\n}\r\n\r\nexport function notify_warning(message: string) {\r\n _notify(message, 8000, 'warning');\r\n}\r\n\r\nexport function notify_success(message: string) {\r\n _notify(message, 4000, 'success');\r\n}\r\n\r\nfunction _notify(message: string, time: number, type: 'danger' | 'warning' | 'success') {\r\n notify({\r\n displayTime: time,\r\n message,\r\n type: type,\r\n closeOnSwipe: false,\r\n minWidth: 200,\r\n maxWidth: 500,\r\n wrapperAttr: {class: 'global-toast-message'}\r\n }, {\r\n direction: 'up-push',\r\n position: 'bottom right'\r\n });\r\n}\r\n\r\nexport function localeSortMethod(value1: string, value2: string) {\r\n return value1.localeCompare(value2);\r\n}\r\n\r\nexport function file_type_icon(name: string): string {\r\n const type = name.substring(name.lastIndexOf('.') + 1).toLocaleLowerCase();\r\n switch (type) {\r\n case 'doc':\r\n case 'docx':\r\n return 'word';\r\n case 'xls':\r\n case 'xlsx':\r\n case 'csv':\r\n return 'excel';\r\n case 'ppt':\r\n case 'pptx':\r\n return 'ppt';\r\n case 'pdf':\r\n return 'pdf';\r\n case 'txt':\r\n case 'xml':\r\n case 'json':\r\n case 'js':\r\n return 'text';\r\n case 'png':\r\n case 'jpg':\r\n case 'jpeg':\r\n case 'gif':\r\n case 'bmp':\r\n return 'image';\r\n case 'zip':\r\n case 'rar':\r\n case '7z':\r\n case 'jar':\r\n return 'zip';\r\n default:\r\n return 'unknown';\r\n }\r\n}\r\n\r\nexport function support_preview_ext(): string[] {\r\n return ['pdf', 'png', 'jpg', 'jpeg', 'gif', 'bmp', 'doc', 'docx', 'txt', 'xml', 'json', 'js', 'xls', 'xlsx', 'csv', 'ppt', 'pptx'];\r\n}\r\n\r\nexport function format_file_size(size: number): string {\r\n const labels = ['b', 'Kb', 'Mb', 'Gb'];\r\n const count = labels.length - 1;\r\n let i = 0;\r\n while (i < count && size >= 1024) {\r\n size /= 1024;\r\n i++;\r\n }\r\n return Math.round(size * 100) / 100 + \" \" + labels[i];\r\n}\r\n\r\nexport function filename_from_disposition(disposition: string) {\r\n const filenamePair = disposition.split(';').filter(str => /^filename=/.test(str.trim())).pop();\r\n if (filenamePair) {\r\n let str = filenamePair.trim();\r\n str = str.split('=')[1];\r\n str = str.replace(/['\"]/g, '');\r\n return decodeURIComponent(str);\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nexport function download_file(blob: Blob, filename: string, callback?: Function) {\r\n const url = window.webkitURL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n document.body.appendChild(a);\r\n a.setAttribute('style', 'display:none');\r\n a.setAttribute('href', url);\r\n a.setAttribute('download', decodeURIComponent(filename));\r\n a.click();\r\n setTimeout(() => {\r\n if (callback) {\r\n callback();\r\n }\r\n a.remove();\r\n });\r\n}\r\n\r\nexport function validate(validator: DxValidatorComponent): Promise<boolean> {\r\n return new Promise<boolean>(resolve => {\r\n if (!validator) {\r\n resolve(true);\r\n }\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 function validate_group(validationGroupComponent: any): Promise<boolean> {\r\n if (!validationGroupComponent) {\r\n return firstValueFrom(of(true));\r\n }\r\n return validateGroup(validationGroupComponent.instance, validationGroupComponent.element.nativeElement)\r\n}\r\n\r\nexport function validate_group_by_name(name: string, brokenElementParent: Element): Promise<boolean> {\r\n const validationGroup = validationEngine.getGroupConfig(name);\r\n if (!validationGroup) {\r\n return firstValueFrom(of(true));\r\n }\r\n return validateGroup(validationGroup, brokenElementParent);\r\n}\r\n\r\nfunction validateGroup(validationGroup: any, brokenElementParent: Element): Promise<boolean> {\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 === brokenElementParent) {\r\n return sourceNode;\r\n }\r\n }\r\n }\r\n };\r\n return new Promise<boolean>(resolve => {\r\n const validateResult = validationGroup.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\r\nexport function openBrowserTab(pluginName: string, title?: string, pluginConfig?: any, params?: any) {\r\n return window.open('custom/' + pluginName + '?title=' + encodeURIComponent(title || '')\r\n + '&pluginConfig=' + encodeURIComponent(JSON.stringify(pluginConfig || {}))\r\n + '¶ms=' + encodeURIComponent(JSON.stringify(params || {})));\r\n}\r\n","import {Directive, TemplateRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rsCustomTemplate]'\r\n})\r\nexport class CustomTemplateDirective {\r\n constructor(public templateRef: TemplateRef<unknown>) {\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 dataField: field.name,\r\n caption: field.caption,\r\n dataType: 'string',\r\n alignment: 'left',\r\n allowHeaderFiltering: true,\r\n allowFiltering: true,\r\n allowSorting: true,\r\n visible: field.visible,\r\n fixed: field.fixed\r\n };\r\n if (field.viewConfig.columnWidth) {\r\n column.width = field.viewConfig.columnWidth;\r\n }\r\n if (field.viewConfig.alignCenter) {\r\n column.alignment = 'center';\r\n }\r\n if (field.viewConfig.component) {\r\n column.cellTemplate = 'cellComponentTemplate';\r\n column.config = field.config;\r\n column.viewConfig = field.viewConfig;\r\n }\r\n switch (field.type) {\r\n case 'FILE':\r\n column.allowHeaderFiltering = false;\r\n column.allowFiltering = false;\r\n column.allowSorting = false;\r\n break;\r\n case 'NORMAL':\r\n column.dataType = this.typeMap[field.dataType].dataType;\r\n column.headerFilter = {\r\n allowSelectAll: false\r\n };\r\n column.filterOperations = this.typeMap[field.dataType].filterOperations;\r\n column.format = this.typeMap[field.dataType].format;\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 column.alignment = 'right';\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 if (column.viewConfig) {\r\n column.viewConfig.componentConfig = {\r\n ...column.viewConfig.componentConfig,\r\n originalField: field.name\r\n };\r\n }\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.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 if (column.viewConfig) {\r\n column.viewConfig.componentConfig = {\r\n ...column.viewConfig.componentConfig,\r\n originalField: field.name\r\n };\r\n }\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.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(tenant, 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 break;\r\n default:\r\n break;\r\n }\r\n break;\r\n case 'TEXT':\r\n column.allowHeaderFiltering = false;\r\n break;\r\n }\r\n break;\r\n case 'RELATION':\r\n column.allowHeaderFiltering = false;\r\n column.allowSorting = false;\r\n switch (field.relationType) {\r\n case 'MANY_TO_ONE':\r\n case 'ONE_TO_ONE':\r\n column.filterOperations = ['='];\r\n break;\r\n default:\r\n column.allowFiltering = false;\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 (!key) {\r\n return Promise.resolve();\r\n }\r\n if (keyExpr === 'oid') {\r\n return lastValueFrom(this.service.getOne(tenant, className, key).pipe(map(response => response.data)));\r\n } else {\r\n return lastValueFrom(this.service.getOneByFilter(tenant, className, keyExpr, key, view));\r\n }\r\n },\r\n load: (loadOptions: any) => {\r\n if (loadOptions.dataField) {\r\n // 未重写headerFilter的dataSource时,headerFilter会调用load方法加载筛选树,重写该方法查询该表所有数据\r\n // 该方式存在风险,无法识别DevExtreme一定是通过headerFilter过滤才存在dataField参数\r\n return lastValueFrom(this.service.getColumnDataSource(tenant, className, view, loadOptions.dataField));\r\n }\r\n let params = '?';\r\n if (loadOptions.skip || loadOptions.take) {\r\n params += 'offset=' + loadOptions.skip;\r\n params += '&limit=' + loadOptions.take;\r\n } else {\r\n params += 'limit=0';\r\n }\r\n if (loadOptions.sort) {\r\n let first = true;\r\n for (const thisSort of loadOptions.sort) {\r\n if (first) {\r\n params += '&orderBy=' + thisSort.selector;\r\n } else {\r\n params += ',' + thisSort.selector;\r\n }\r\n if (thisSort.desc) {\r\n params += ' desc';\r\n }\r\n first = false;\r\n }\r\n }\r\n let filter;\r\n if (loadOptions.filter) {\r\n filter = loadOptions.filter;\r\n }\r\n if (extraFilter) {\r\n if (!Array.isArray(extraFilter)) {\r\n extraFilter = JSON.parse(extraFilter);\r\n }\r\n if (filter) {\r\n filter = [filter, 'and', extraFilter];\r\n } else {\r\n filter = extraFilter;\r\n }\r\n }\r\n if (filter) {\r\n params += '&filter=' + encodeURIComponent(JSON.stringify(filter));\r\n }\r\n params += '&view=' + (view || '');\r\n if (dataGridName) {\r\n params += '&dataGridName=' + dataGridName;\r\n }\r\n return lastValueFrom(this.service.getMany(tenant, className, params));\r\n }\r\n });\r\n }\r\n}\r\n","import {Component, HostListener, 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 {\n size: 'default' | 'large' | string = 'default';\n _width: string = '480px';\n headerTemplate?: TemplateRef<any>;\n headerTemplateContext: any;\n contentTemplate!: TemplateRef<any>;\n contentTemplateContext: any;\n config: any;\n\n constructor() {\n }\n\n ngOnInit(): void {\n if (this.size === 'default') {\n this._width = '480px';\n } else if (this.size === 'large') {\n this._width = '960px';\n } else {\n this._width = this.size;\n }\n }\n\n hide($event?: any) {\n // 在service中重写\n }\n\n @HostListener('click', ['$event'])\n stopPropagation($event: any) {\n $event.stopPropagation();\n }\n\n @HostListener('window:click', ['$event'])\n autoHide($event: any) {\n if (this.config?.hideOnOutsideClick) {\n this.hide();\n }\n }\n}\n","<div class=\"drawer\" [class.hide-on-outside-click]=\"config?.hideOnOutsideClick\" [ngStyle]=\"{width: _width}\">\n <div *ngIf=\"headerTemplate\" class=\"drawer-header\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: headerTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-content\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{$implicit: contentTemplateContext}\"></ng-template>\n </div>\n <div class=\"drawer-close\">\n <dx-button height=\"80px\" icon=\"coast-icon coast-icon-arrow-right-filling\" (onClick)=\"hide($event)\"></dx-button>\n </div>\n</div>\n","import {Injectable, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {DrawerComponent} from \"./drawer.component\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DrawerService {\n open(viewContainerRef: ViewContainerRef,\n size: 'default' | 'large' | string = 'default',\n contentTemplate: TemplateRef<any>,\n contentTemplateContext: any,\n headerTemplate?: TemplateRef<any>,\n headerTemplateContext?: any,\n config?: any) {\n // 若已存在抽屉,先关闭\n const drawers = viewContainerRef.element.nativeElement.parentElement.querySelectorAll('RS-DRAWER');\n for (let i = 0; i < drawers.length; i++) {\n drawers[i].querySelector('.drawer-close .coast-icon-arrow-right-filling').click();\n }\n const drawerRef = viewContainerRef.createComponent(DrawerComponent);\n drawerRef.instance.hide = ($event?: any) => {\n $event?.event?.stopPropagation();\n drawerRef.hostView.destroy();\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.config = config || {\n hideOnOutsideClick: true\n };\n return drawerRef.instance;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {map} from \"rxjs\";\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 extraValidate(model: any, params: any, extraValidator: string) {\n return this.http.post<any>('api/validate/form', model, {\n params: {\n validator: extraValidator,\n ...params\n }\n }).pipe(\n map(response => {\n if (response.success) {\n return response.data;\n } else {\n return {\n isValid: false\n };\n }\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","export class UniqueId {\r\n private static __ID_COUNTER = 1;\r\n\r\n constructor(prefix: string) {\r\n this.uniqueId = prefix + '_' + UniqueId.__ID_COUNTER++;\r\n }\r\n\r\n private readonly uniqueId: string;\r\n\r\n getUniqueId() {\r\n return this.uniqueId;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {FormService} from \"./form.service\";\r\nimport {DxButtonComponent} from \"devextreme-angular\";\r\nimport {validate_group_by_name} from \"../util/utils\";\r\nimport {ChangeFilter} from \"../util/change-filter\";\r\nimport {lastValueFrom, map, Subject} from \"rxjs\";\r\nimport {UniqueId} from \"../util/UniqueId\";\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 extends UniqueId 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 params?: any;\r\n @Input()\r\n tabViewContainerRef!: ViewContainerRef;\r\n @Input()\r\n onlyFrontEnd: boolean = false; // 仅前端,不通过oid获取实例model\r\n @Input()\r\n model?: any;\r\n @Input()\r\n readonly: boolean = false;\r\n config: any;\r\n extraValidator?: string;\r\n @ViewChild('formSubmitter') formSubmitter!: DxButtonComponent;\r\n @Output()\r\n onDataLoaded = new EventEmitter<{ id: string, config: any, model: any }>();\r\n @Output()\r\n submitCallback = new EventEmitter<any>();\r\n loading = false;\r\n private changeFilter = new ChangeFilter();\r\n private valueChange = new Subject<{\r\n field: string,\r\n value: any\r\n onlyInit?: boolean,\r\n }>();\r\n protected context: any;\r\n protected extraValidateMessage: any;\r\n\r\n constructor(protected viewContainerRef: ViewContainerRef, private service: FormService, private elementRef: ElementRef) {\r\n super('rs-form');\r\n this.extraValidate = this.extraValidate.bind(this);\r\n }\r\n\r\n ngOnInit() {\r\n this.load();\r\n this.changeFilter.anyNotFirst(['tenant', 'className', 'oid', 'copyOid', 'template'], () => {\r\n this.load();\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.changeFilter.doFilter(changes);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.changeFilter.dispose();\r\n this.valueChange.unsubscribe();\r\n }\r\n\r\n load() {\r\n this.loading = true;\r\n this.context = {\r\n __form: {\r\n uniqueId: this.getUniqueId(),\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 __model: this.model || {},\r\n __opener: this,\r\n __valueChange: this.valueChange\r\n };\r\n this.service.getFormTemplateConfig(this.tenant, this.className, this.template).subscribe(response => {\r\n this.config = response.data.template;\r\n this.extraValidator = this.config.extraValidator;\r\n if (this.onlyFrontEnd) {\r\n this.loading = false;\r\n } else if (this.copyOid || this.oid) {\r\n this.service.getOne(this.tenant, this.className, this.copyOid || this.oid, this.template, this.copyOid)\r\n .subscribe(response => {\r\n this.model = response.data;\r\n this.context.__model = this.model;\r\n this.onDataLoaded.emit({\r\n id: this.getUniqueId(),\r\n config: this.config,\r\n model: this.model\r\n });\r\n this.loading = false;\r\n });\r\n } else {\r\n this.service.getInitModelByTemplate(this.tenant, this.className, this.template).subscribe(response => {\r\n this.model = response.data;\r\n this.context.__model = this.model;\r\n this.onDataLoaded.emit({\r\n id: this.getUniqueId(),\r\n config: this.config,\r\n model: this.model\r\n });\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n protected extraValidate() {\r\n return lastValueFrom(this.service.extraValidate(this.model, Object.assign({}, this.params, {\r\n tenant: this.tenant,\r\n className: this.className,\r\n oid: this.oid,\r\n template: this.template\r\n }), <string>this.extraValidator).pipe(\r\n map(response => {\r\n if (!response.isValid) {\r\n this.extraValidateMessage = response.message;\r\n return response;\r\n }\r\n })\r\n ));\r\n }\r\n\r\n protected submitForm() {\r\n this.validate().then(isValid => {\r\n if (isValid) {\r\n const mergeModel: any = {...this.model};\r\n if (this.extraAttrMap) {\r\n for (const entry of this.extraAttrMap) {\r\n mergeModel[entry.name] = entry.value;\r\n }\r\n }\r\n this.service.createOrUpdate(this.tenant, this.className, {\r\n oid: this.oid,\r\n ...mergeModel\r\n }).subscribe(response => {\r\n this.submitCallback.emit(response);\r\n });\r\n } else {\r\n this.submitCallback.emit({success: false});\r\n }\r\n })\r\n }\r\n\r\n scrollToAnchorPoint(anchorPointId: string) {\r\n const points = this.elementRef.nativeElement.getElementsByClassName('__anchor_point_' + anchorPointId);\r\n if (points.length > 0) {\r\n points[0].scrollIntoView();\r\n }\r\n }\r\n\r\n validate() {\r\n return validate_group_by_name(this.getUniqueId(), this.elementRef.nativeElement);\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<ng-container *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [params]=\"params\"\r\n [context]=\"context\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-text-box height=\"0\" style=\"border: none;\">\r\n <dx-validator [validationGroup]=\"getUniqueId()\">\r\n <dxi-validation-rule *ngIf=\"extraValidator\" type=\"async\"\r\n [validationCallback]=\"extraValidate\"></dxi-validation-rule>\r\n </dx-validator>\r\n </dx-text-box>\r\n <div *ngIf=\"extraValidateMessage\" class=\"dx-field\">\r\n <div class=\"dx-field-value\">\r\n <div class=\"dx-toast-error dx-toast-content\">\r\n <div class=\"dx-toast-message\">{{ extraValidateMessage }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</ng-container>\r\n","import {Component, Input, TemplateRef, ViewChild} from '@angular/core';\nimport {DrawerService} from \"../../drawer/drawer.service\";\nimport {notify_warning} from \"../../util/utils\";\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 drawerSize?: any;\n @Input()\n drawerShowHeader: boolean = false;\n @Input()\n drawerFormTemplate?: any;\n @ViewChild('drawerFormHeaderTemplate', {static: true}) drawerFormHeaderTemplate!: TemplateRef<any>;\n @ViewChild('drawerFormContentTemplate', {static: true}) drawerFormContentTemplate!: TemplateRef<any>;\n loading = false;\n\n constructor(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: 'coast-dynamic-data-detail',\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.loading = true;\n this.drawerService.open(this.drawerViewContainerRef, this.drawerSize || 'default', this.drawerFormContentTemplate, {\n template: this.drawerFormTemplate || 'About'\n }, this.drawerShowHeader ? this.drawerFormHeaderTemplate : undefined);\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)\"\n [disabled]=\"!oid\"></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)\"\n [disabled]=\"!oid\"></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-drawerContentContext>\n <rs-form [tenant]=\"tenant\"\n [className]=\"className\"\n [oid]=\"oid\"\n [template]=\"drawerContentContext.template\"\n [tabViewContainerRef]=\"drawerViewContainerRef\"\n (onDataLoaded)=\"loading = false\"\n [readonly]=\"true\"></rs-form>\n</ng-template>\n","import {Component, Input, ViewChild, ViewContainerRef} from '@angular/core';\nimport {DataGridService} from \"../data-grid.service\";\nimport {PluginFactory} from \"coast-plugin-register\";\nimport {PluginNotFoundComponent} from \"../../box-container/plugin-not-found/plugin-not-found.component\";\n\n@Component({\n selector: 'rs-cell-component-template',\n templateUrl: './cell-component-template.component.html',\n styleUrls: ['./cell-component-template.component.scss']\n})\nexport class CellComponentTemplateComponent {\n @Input()\n cellInfo: any;\n @ViewChild('cellComponent', {static: true, read: ViewContainerRef}) cellComponentRef!: ViewContainerRef;\n\n constructor(private service: DataGridService) {\n }\n\n ngOnInit() {\n const fieldConfig = this.cellInfo.column.config;\n const cellComponentConfig = this.cellInfo.column.viewConfig.componentConfig;\n this.cellComponentRef.clear();\n const plugin = PluginFactory.get(this.cellInfo.column.viewConfig.component);\n if (!plugin) {\n this.cellComponentRef.createComponent(PluginNotFoundComponent);\n return;\n }\n setTimeout(() => {\n const componentRef = this.cellComponentRef.createComponent(plugin.component);\n const instance: any = componentRef.instance;\n Object.assign(instance, cellComponentConfig);\n instance.field = this.cellInfo.column.dataField;\n instance.fieldConfig = fieldConfig;\n instance.rowData = this.cellInfo.data;\n instance.columnLookup = this.cellInfo.column.lookup;\n instance.value = this.cellInfo.value;\n instance.displayValue = this.cellInfo.displayValue;\n instance.loaded$ = this.service.cellTemplateLoaded$;\n });\n }\n}\n","<ng-container #cellComponent></ng-container>\n","import {Component, ContentChild, EventEmitter, Input, OnInit, Output, ViewChild, ViewContainerRef} from '@angular/core';\r\nimport {DxDataGridComponent} from \"devextreme-angular\";\r\nimport {DataGridService} from \"./data-grid.service\";\r\nimport {RowButtonsTemplateDirective} from \"./row-buttons-template.directive\";\r\nimport {DataGridFactory} from \"./data-grid.factory\";\r\nimport {debounceTime} from \"rxjs\";\r\nimport {notify_error} from \"../util/utils\";\r\nimport {CustomTemplateDirective} from \"./custom-template.directive\";\r\n\r\n@Component({\r\n selector: 'rs-data-grid',\r\n templateUrl: './data-grid.component.html',\r\n styleUrls: ['./data-grid.component.scss'],\r\n providers: [DataGridService]\r\n})\r\nexport class DataGridComponent implements OnInit {\r\n @Input()\r\n tenant?: any = 'T';\r\n @Input()\r\n className!: any;\r\n @Input()\r\n view?: any;\r\n @Input()\r\n filter?: Array<any> | string;\r\n @Input()\r\n customColumnFn?: (columns: any[]) => void;\r\n @Input()\r\n keyExpr: string = ''; // 用于实例属性选择器,加载组件值时以选中字段为主键获取选中行数据\r\n @Input()\r\n dataGridName?: string; // 用于在获取数据时同时获取台账配置的行内按钮\r\n @Input()\r\n height: any;\r\n @Input()\r\n onlyFrontEnd: boolean = false; // 仅前端,需指定dataSource,不自动获取表格数据\r\n @Input()\r\n pageSize: number = 15;\r\n allowedPageSizes: number[] = [15, 30, 50];\r\n @Input()\r\n disablePage: boolean = false;\r\n @Input()\r\n dataSource: any = {};\r\n @Input()\r\n selectionMode: 'none' | 'multiple' | 'single' = 'none';\r\n @Input()\r\n selectedRowKeys: any[] = [];\r\n @Output()\r\n selectedRowKeysChange = new EventEmitter<any[]>();\r\n @Input()\r\n showRowNum: boolean = true;\r\n @Input()\r\n instanceLinkType: 'tab' | 'drawer' | 'none' = 'tab';\r\n @Input()\r\n drawerInstanceLinkViewContainerRef: any = this.viewContainerRef;\r\n @Input()\r\n drawerInstanceLinkSize: 'default' | 'large' | string = 'default';\r\n @Input()\r\n drawerInstanceLinkShowHeader: boolean = false;\r\n @Input()\r\n drawerInstanceLinkFormTemplate: any;\r\n @Output()\r\n onCellPrepared = new EventEmitter<any>();\r\n @Output()\r\n onContentReady = new EventEmitter<any>();\r\n @Output()\r\n onEditorPreparing = new EventEmitter<any>();\r\n @Output()\r\n onRowClick = new EventEmitter<any>();\r\n @Output()\r\n onRowDblClick = new EventEmitter<any>();\r\n @Output()\r\n onSelectionChanged = new EventEmitter<any>();\r\n @ViewChild(DxDataGridComponent, {static: true}) private dxDataGrid!: DxDataGridComponent;\r\n @ContentChild(RowButtonsTemplateDirective) protected rowButtonsTemplate!: RowButtonsTemplateDirective;\r\n @ContentChild(CustomTemplateDirective) protected customTemplate!: CustomTemplateDirective;\r\n columns: any[] = [];\r\n\r\n constructor(private factory: DataGridFactory, protected service: DataGridService, private viewContainerRef: ViewContainerRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.pageSize && !this.allowedPageSizes.includes(this.pageSize)) {\r\n this.allowedPageSizes.push(this.pageSize);\r\n }\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 caption: '详情',\r\n fixed: true,\r\n width: 48,\r\n alignment: 'center',\r\n cellTemplate: 'instanceLinkTemplate'\r\n });\r\n }\r\n if (this.showRowNum) {\r\n columns.unshift({\r\n caption: '行号',\r\n fixed: true,\r\n width: 48,\r\n alignment: 'center',\r\n cellTemplate: 'rowIndexTemplate'\r\n });\r\n }\r\n this.columns = columns;\r\n if (this.onlyFrontEnd && this.filter) {\r\n if (Array.isArray(this.filter)) {\r\n this.dxDataGrid.instance.filter(this.filter);\r\n } else {\r\n this.dxDataGrid.instance.filter(JSON.parse(this.filter));\r\n }\r\n }\r\n });\r\n if (this.onlyFrontEnd) {\r\n if (this.dataSource && !Array.isArray(this.dataSource)) {\r\n notify_error('因onlyFrontEnd参数为true,需要明确指定dataSource参数为数组');\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 getSelectedRowKeys() {\r\n return this.dxDataGrid.instance.getSelectedRowKeys();\r\n }\r\n\r\n getSelectedRowsData() {\r\n return this.dxDataGrid.instance.getSelectedRowsData();\r\n }\r\n\r\n refresh(callback?: any) {\r\n this.dxDataGrid.instance.clearSelection();\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 [showColumnLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n dateSerializationFormat=\"yyyy/MM/dd HH:mm:ss\"\r\n [syncLookupFilterValues]=\"false\"\r\n [dataSource]=\"dataSource\"\r\n [columns]=\"columns\"\r\n [height]=\"height\"\r\n [keyExpr]=\"keyExpr\"\r\n [selectedRowKeys]=\"selectedRowKeys\"\r\n (selectedRowKeysChange)=\"selectedRowKeysChange.emit($event)\"\r\n (onCellPrepared)=\"onCellPrepared.emit($event)\"\r\n (onContentReady)=\"onContentReady.emit($event)\"\r\n (onEditorPreparing)=\"onDxDataGridEditorPreparing($event)\"\r\n (onRowClick)=\"onRowClick.emit($event)\"\r\n (onRowDblClick)=\"onRowDblClick.emit($event)\"\r\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\r\n <dxo-sorting mode=\"multiple\"></dxo-sorting>\r\n <dxo-selection [mode]=\"selectionMode\" selectAllMode=\"page\" showCheckBoxesMode=\"always\"></dxo-selection>\r\n <dxo-header-filter [visible]=\"!onlyFrontEnd\">\r\n <dxo-search [enabled]=\"true\"></dxo-search>\r\n <dxo-texts [ok]=\"'确定'\"></dxo-texts>\r\n </dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-remote-operations [filtering]=\"!onlyFrontEnd\"\r\n [sorting]=\"!onlyFrontEnd\"\r\n [paging]=\"!onlyFrontEnd\">\r\n </dxo-remote-operations>\r\n <dxo-paging [enabled]=\"!disablePage\" [pageSize]=\"pageSize\"></dxo-paging>\r\n <dxo-pager [visible]=\"!disablePage\"\r\n [showInfo]=\"true\"\r\n infoText=\"第{0}页,共{1}页(共{2}个项目)\"\r\n [showPageSizeSelector]=\"true\"\r\n [allowedPageSizes]=\"allowedPageSizes\"\r\n ></dxo-pager>\r\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\r\n <div *dxTemplate=\"let cellInfo of 'rowIndexTemplate'\">\r\n {{ cellInfo.rowIndex + 1 }}\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'instanceLinkTemplate'\">\r\n <rs-instance-link-template [tenant]=\"tenant\"\r\n [className]=\"className\"\r\n [oid]=\"cellInfo.data.oid\"\r\n [instanceLinkType]=\"instanceLinkType\"\r\n [drawerViewContainerRef]=\"drawerInstanceLinkViewContainerRef\"\r\n [drawerSize]=\"drawerInstanceLinkSize\"\r\n [drawerShowHeader]=\"drawerInstanceLinkShowHeader\"\r\n [drawerFormTemplate]=\"drawerInstanceLinkFormTemplate\">\r\n </rs-instance-link-template>\r\n </div>\r\n <div *dxTemplate=\"let cellInfo of 'cellComponentTemplate'\">\r\n <rs-cell-component-template [cellInfo]=\"cellInfo\"></rs-cell-component-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 'customTemplate'\">\r\n <ng-container [ngTemplateOutlet]=\"customTemplate.templateRef\"\r\n [ngTemplateOutletContext]=\"{$implicit: cellInfo, cellTemplateLoaded$: service.cellTemplateLoaded$}\"></ng-container>\r\n </div>\r\n</dx-data-grid>\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {DxDropDownBoxComponent} from \"devextreme-angular\";\n\n@Component({\n selector: 'rs-field-selector',\n templateUrl: './field-selector.component.html',\n styleUrls: ['./field-selector.component.scss']\n})\nexport class FieldSelectorComponent {\n @Input()\n fieldTree: any = [];\n @Input()\n config: any;\n @Input()\n required = false;\n @Input()\n label: string = '属性';\n @Input()\n readonly = false;\n @Input()\n multiple = false;\n @Output()\n fieldChanged = new EventEmitter<any>();\n\n set _fields(__fields: any) {\n if (this.__fields !== __fields) {\n this.__fields = __fields;\n this.fieldChange(this.__fields);\n }\n }\n\n get _fields() {\n return this.__fields;\n }\n\n protected __fields: string[] = [];\n\n ngOnInit(): void {\n if (this.config.field) {\n if (Array.isArray(this.config.field)) {\n this._fields = this.config.field;\n } else {\n this._fields = [this.config.field];\n }\n }\n }\n\n fieldChange(value: any): void {\n if (value && value.length > 0) {\n this.config.__formAttribute = value.join(';');\n if (this.multiple) {\n this.config.field = value;\n const fields = [];\n for (const fieldName of value) {\n fields.push(this.getField(this.fieldTree, fieldName));\n }\n this.fieldChanged.emit(fields);\n } else {\n this.config.field = value[0];\n this.fieldChanged.emit(this.getField(this.fieldTree, value[0]));\n }\n } else {\n this.config.field = '';\n this.config.__formAttribute = '';\n this.fieldChanged.emit();\n }\n }\n\n private getField(tree: any, field: any) {\n for (const node of tree) {\n if (node.innerName === field) {\n return node;\n }\n if (node.children) {\n const result: any = this.getField(node.children, field);\n if (result) {\n return result;\n }\n }\n }\n return undefined;\n }\n\n onRowPrepared($event: any) {\n if ($event.rowType === 'header') {\n $event.rowElement.style.display = 'none';\n }\n }\n\n onCellPrepared($event: any) {\n if ($event.rowType === 'data') {\n if (!this.multiple) {\n $event.cellElement.style.cursor = 'pointer';\n }\n if (this.multiple && !$event.visible && $event.data.hasItems) {\n const checkbox = $event.cellElement.querySelector('.dx-select-checkbox');\n checkbox.style.display = 'none';\n }\n }\n }\n\n suspendSelectionChanged = false;\n\n onSelectionChanged($event: any, dropDownBox: DxDropDownBoxComponent) {\n if (this.multiple) {\n return;\n }\n if (this.suspendSelectionChanged) {\n this.suspendSelectionChanged = false;\n return;\n }\n if ($event.selectedRowsData.length === 0) {\n return;\n }\n if (!$event.selectedRowsData[0].visible && $event.selectedRowsData[0].hasItems) {\n if ($event.component.isRowExpanded($event.selectedRowKeys[0])) {\n $event.component.collapseRow($event.selectedRowKeys[0]);\n } else {\n $event.component.expandRow($event.selectedRowKeys[0]);\n }\n this.suspendSelectionChanged = true;\n $event.component.selectRows($event.currentDeselectedRowKeys[0]);\n return;\n }\n dropDownBox.instance.close();\n }\n\n removeItem($event: any, field: any) {\n $event.stopPropagation();\n const findIndex = this._fields.findIndex((innerName: any) => innerName === field.innerName);\n this._fields.splice(findIndex, 1);\n this.fieldChange(this.__fields);\n }\n}\n","<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>属性</span>\n <span class=\"required-mark\" *ngIf=\"required\"> *</span>\n </div>\n <div class=\"dx-field-value\">\n <dx-drop-down-box #fieldDropDownBox\n [dataSource]=\"fieldTree\"\n valueExpr=\"innerName\"\n fieldTemplate=\"fieldTemplate\"\n contentTemplate=\"contentTemplate\"\n [showClearButton]=\"true\"\n [dropDownOptions]=\"{maxHeight: 'none', deferRendering: false}\"\n [(value)]=\"_fields\"\n [readOnly]=\"readonly\">\n <div *dxTemplate=\"let info of 'fieldTemplate'\">\n <dx-text-box [visible]=\"false\"></dx-text-box>\n <dx-tag-box [dataSource]=\"fieldTree\"\n valueExpr=\"innerName\"\n width=\"100%\"\n [openOnFieldClick]=\"false\"\n [(value)]=\"_fields\"\n [class.coast-tag-selector]=\"true\"\n [readOnly]=\"readonly\">\n <div *dxTemplate=\"let field of 'tag'\">\n <dx-button [elementAttr]=\"{ class: 'item'}\">\n <span>{{ field.caption }}</span>\n <i *ngIf=\"multiple && !readonly\" class=\"coast-icon-close\" (click)=\"removeItem($event, field)\"></i>\n </dx-button>\n </div>\n </dx-tag-box>\n </div>\n <div *dxTemplate=\"let data of 'contentTemplate'\">\n <dx-text-box mode=\"search\" placeholder=\"搜索...\" valueChangeEvent=\"keyup\"\n (onValueChanged)=\"dxTreeList.instance.searchByText($event.value)\"></dx-text-box>\n <dx-tree-list #dxTreeList\n [dataSource]=\"fieldTree\"\n [filterValue]=\"['visible','=',true]\"\n keyExpr=\"innerName\"\n parentIdExpr=\"parentInnerName\"\n [(selectedRowKeys)]=\"_fields\"\n [height]=\"360\"\n [showRowLines]=\"true\"\n [showBorders]=\"true\"\n [hoverStateEnabled]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [columnAutoWidth]=\"true\"\n (onRowPrepared)=\"onRowPrepared($event)\"\n (onCellPrepared)=\"onCellPrepared($event)\"\n (onSelectionChanged)=\"onSelectionChanged($event, fieldDropDownBox)\">\n <dxi-column dataField=\"innerName\" dataType=\"string\" [visible]=\"false\"></dxi-column>\n <dxi-column dataField=\"caption\" dataType=\"string\" caption=\"名称\"></dxi-column>\n <dxi-column dataField=\"visible\" dataType=\"boolean\" [visible]=\"false\"></dxi-column>\n <dxo-selection [mode]=\"multiple ? 'multiple' : 'single'\" [allowSelectAll]=\"false\"></dxo-selection>\n <dxo-scrolling showScrollbar=\"always\"></dxo-scrolling>\n </dx-tree-list>\n </div>\n <dx-validator>\n <dxi-validation-rule *ngIf=\"required\" type=\"required\" message=\"值不能为空\"></dxi-validation-rule>\n </dx-validator>\n </dx-drop-down-box>\n </div>\n</div>\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\";\nimport {FieldSelectorComponent} from './field-selector/field-selector.component';\n\n@NgModule({\n declarations: [\n FormComponent,\n FieldSelectorComponent\n ],\n imports: [\n CommonModule,\n BoxContainerModule,\n DevExtremeModule\n ],\n exports: [\n FormComponent,\n FieldSelectorComponent\n ]\n})\nexport class FormModule {\n}\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {DataGridComponent} from './data-grid.component';\r\nimport {DevExtremeModule} from \"devextreme-angular\";\r\nimport {RowButtonsTemplateDirective} from './row-buttons-template.directive';\r\nimport {InstanceLinkTemplateComponent} from './instance-link-template/instance-link-template.component';\r\nimport {FormModule} from \"../form/form.module\";\r\nimport {CustomTemplateDirective} from './custom-template.directive';\r\nimport {CellComponentTemplateComponent} from './cell-component-template/cell-component-template.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n DataGridComponent,\r\n InstanceLinkTemplateComponent,\r\n RowButtonsTemplateDirective,\r\n CustomTemplateDirective,\r\n CellComponentTemplateComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n DevExtremeModule,\r\n FormModule\r\n ],\r\n exports: [\r\n DataGridComponent,\r\n RowButtonsTemplateDirective,\r\n CustomTemplateDirective\r\n ]\r\n})\r\nexport class DataGridModule {\r\n}\r\n","import {NgModule} from '@angular/core';\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 multipleRow = 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\" class=\"param\">\n <div class=\"param-entry\" [ngStyle]=\" { flexDirection : multipleRow ? 'column' : 'row' } \">\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 </div>\n <div class=\"param-operation\">\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</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 @Input()\r\n showExitIcon: boolean = false;\r\n @Input()\r\n hideLayout: boolean = true;\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 = () => {\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 if (this.showExitIcon) {\r\n const exitIconDiv = document.createElement('div');\r\n exitIconDiv.id = 'fullscreen-exit-icon';\r\n exitIconDiv.classList.add('exit-icon');\r\n exitIconDiv.addEventListener('click', () => {\r\n this.exitNormalFullscreen();\r\n this.isFullscreenChange.emit(false);\r\n });\r\n const exitIconI = document.createElement('i');\r\n exitIconI.classList.add('coast-icon-close');\r\n exitIconDiv.appendChild(exitIconI);\r\n this.elementRef.nativeElement.appendChild(exitIconDiv);\r\n }\r\n if (this.hideLayout) {\r\n document.getElementsByTagName('html')[0].classList.add('coast-fullscreen');\r\n }\r\n }\r\n\r\n private exitNormalFullscreen() {\r\n this.elementRef.nativeElement.classList.remove('fullscreen');\r\n if (this.showExitIcon) {\r\n const exitIconDiv = document.getElementById('fullscreen-exit-icon');\r\n if (exitIconDiv) {\r\n this.elementRef.nativeElement.removeChild(exitIconDiv);\r\n }\r\n }\r\n if (this.hideLayout) {\r\n document.getElementsByTagName('html')[0].classList.remove('coast-fullscreen');\r\n }\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 const icon = cssSelectorText.substring(1, cssSelectorText.length - 8);\n if (!this.iconList.includes(icon)) {\n this.iconList.push(icon);\n }\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 Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n OnDestroy,\r\n OnInit,\r\n Output,\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' | string = 'default';\r\n _width: string = '480px';\r\n @ViewChild('modal', {static: true}) modalElementRef!: ElementRef;\r\n moveHandleEl!: HTMLElement;\r\n movable: boolean = false;\r\n topStart = 0;\r\n leftStart = 0;\r\n contentTemplate!: TemplateRef<any>;\r\n contentTemplateContext: any;\r\n footerTemplate?: TemplateRef<any>;\r\n footerTemplateContext: any;\r\n _parentViewContainerRef: any;\r\n @Output()\r\n onHide = new EventEmitter();\r\n\r\n constructor(private elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.size === 'full') {\r\n this.modalElementRef.nativeElement.style.top = '1px';\r\n this.modalElementRef.nativeElement.style.right = '1px';\r\n this.modalElementRef.nativeElement.style.bottom = '1px';\r\n this.modalElementRef.nativeElement.style.left = '1px';\r\n this.modalElementRef.nativeElement.style.margin = '0';\r\n this.modalElementRef.nativeElement.style.boxShadow = 'none';\r\n } else {\r\n if (this.size === 'default') {\r\n this._width = '480px';\r\n } else if (this.size === 'large') {\r\n this._width = '960px';\r\n } else {\r\n this._width = this.size;\r\n }\r\n this.modalElementRef.nativeElement.style.width = this._width;\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n this.moveHandleEl = this.elementRef.nativeElement.querySelector('.modal-header');\r\n this.moveHandleEl.style.cursor = 'move';\r\n }\r\n }\r\n\r\n show() {\r\n // 若存在多层模态框,仅保留最上层遮罩颜色,下层遮罩设置为透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const modals = this._parentViewContainerRef.element.nativeElement.parentElement.querySelectorAll(nodeName);\r\n for (let i = 0; i < modals.length; i++) {\r\n if (i === modals.length - 1) {\r\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\r\n } else {\r\n modals[i].querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0)';\r\n }\r\n }\r\n }\r\n\r\n hide() {\r\n // 在service中重写\r\n this.onHide.emit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // 若存在多层模态框,下一层遮罩设置为不透明\r\n const nodeName = this.elementRef.nativeElement.nodeName;\r\n const nextModal = this._parentViewContainerRef.element.nativeElement.parentElement.querySelector(nodeName + ':nth-last-child(2)');\r\n if (nextModal) {\r\n nextModal.querySelector('.modal-backdrop').style.backgroundColor = 'rgba(37, 43, 58, 0.05)';\r\n }\r\n }\r\n\r\n resolveModalPosition() {\r\n if (this.size === 'full') {\r\n return {};\r\n }\r\n if (this.modalElementRef.nativeElement.offsetHeight >= this.elementRef.nativeElement.parentElement.offsetHeight - 48) {\r\n this.modalElementRef.nativeElement.style.height = this.elementRef.nativeElement.parentElement.offsetHeight - 48 + 'px';\r\n } else {\r\n this.modalElementRef.nativeElement.style.height = 'auto';\r\n }\r\n return {};\r\n }\r\n\r\n onMousedown($event: MouseEvent) {\r\n if ($event.button === 2 || !this.checkHandleTarget($event.target, this.moveHandleEl)) {\r\n return;\r\n }\r\n this.movable = true;\r\n this.topStart = $event.clientY - this.modalElementRef.nativeElement.style.top.replace('px', '');\r\n this.leftStart = $event.clientX - this.modalElementRef.nativeElement.style.left.replace('px', '');\r\n }\r\n\r\n private checkHandleTarget(target: any, element: any): boolean {\r\n if (!element) {\r\n return false;\r\n }\r\n if (target === element) {\r\n return true;\r\n }\r\n for (let child in element.children) {\r\n if (Object.prototype.hasOwnProperty.call(element.children, child)) {\r\n if (this.checkHandleTarget(target, element.children[child])) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n @HostListener('document:mouseup', ['$event'])\r\n onMouseup() {\r\n this.movable = false;\r\n }\r\n\r\n @HostListener('document:mousemove', ['$event'])\r\n onMousemove($event: MouseEvent) {\r\n if (!this.movable) {\r\n return;\r\n }\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n const element = this.modalElementRef.nativeElement;\r\n let currentTop = $event.clientY - this.topStart;\r\n let currentLeft = $event.clientX - this.leftStart;\r\n currentTop = currentTop < 0 ? 0 : currentTop;\r\n const maxTop = element.parentElement.offsetHeight - element.offsetHeight - 1;\r\n currentTop = currentTop > maxTop ? maxTop : currentTop;\r\n currentLeft = currentLeft < 0 ? 0 : currentLeft;\r\n const maxLeft = element.parentElement.offsetWidth - element.offsetWidth - 1;\r\n currentLeft = currentLeft > maxLeft ? maxLeft : currentLeft;\r\n element.style.top = currentTop + 'px';\r\n element.style.left = currentLeft + 'px';\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onWindowResize() {\r\n if (this.size === 'full') {\r\n return;\r\n }\r\n this.modalElementRef.nativeElement.style.top = '24px';\r\n this.modalElementRef.nativeElement.style.left =\r\n (this.elementRef.nativeElement.parentElement.offsetWidth - this.modalElementRef.nativeElement.offsetWidth) / 2 + 'px';\r\n }\r\n}\r\n","<div class=\"modal-backdrop\">\r\n <div #modal class=\"modal\" [ngStyle]=\"resolveModalPosition()\">\r\n <div class=\"modal-header\" (mousedown)=\"onMousedown($event)\">\r\n <div class=\"modal-title\">{{ title }}</div>\r\n <i class=\"coast-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';\r\nimport {ModalComponent} from './modal.component';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n constructor() {\r\n }\r\n\r\n open(viewContainerRef: ViewContainerRef,\r\n title: string, size: 'default' | 'large' | 'full' | string = 'default',\r\n contentTemplate: TemplateRef<any>,\r\n contentTemplateContext: any,\r\n footerTemplate?: TemplateRef<any>,\r\n footerTemplateContext?: any) {\r\n const modalRef = viewContainerRef.createComponent(ModalComponent);\r\n modalRef.instance.hide = () => {\r\n modalRef.instance.onHide.emit();\r\n modalRef.hostView.destroy();\r\n }\r\n modalRef.instance.title = title;\r\n modalRef.instance.size = size;\r\n modalRef.instance.contentTemplate = contentTemplate;\r\n modalRef.instance.contentTemplateContext = contentTemplateContext;\r\n modalRef.instance.footerTemplate = footerTemplate;\r\n modalRef.instance.footerTemplateContext = footerTemplateContext;\r\n modalRef.instance._parentViewContainerRef = viewContainerRef;\r\n modalRef.instance.show();\r\n return modalRef.instance;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {PdfJsViewerComponent, PdfJsViewerModule} from \"ng2-pdfjs-viewer\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Component({\r\n selector: 'rs-pdf-viewer',\r\n standalone: true,\r\n imports: [CommonModule, PdfJsViewerModule],\r\n templateUrl: './pdf-viewer.component.html',\r\n styleUrls: ['./pdf-viewer.component.scss']\r\n})\r\nexport class PdfViewerComponent {\r\n @Input()\r\n src: any;\r\n @Output()\r\n loaded = new EventEmitter<void>();\r\n @ViewChild(PdfJsViewerComponent, {static: true}) viewer!: PdfJsViewerComponent;\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n ngOnInit() {\r\n this.http.get(this.src, {\r\n responseType: \"blob\"\r\n }).subscribe(response => {\r\n this.viewer.pdfSrc = response;\r\n this.viewer.refresh();\r\n this.loaded.emit();\r\n });\r\n }\r\n}\r\n","<ng2-pdfjs-viewer\r\n [openFile]=\"false\"\r\n [download]=\"false\"\r\n [viewBookmark]=\"false\"\r\n>\r\n</ng2-pdfjs-viewer>\r\n","import {ViewContainerRef} from \"@angular/core\";\r\n\r\nexport class ComponentBase {\r\n /**\r\n * 上层传入参数,可能是站点配置的参数、按钮配置的参数、台账勾选的行等\r\n */\r\n params: any;\r\n /**\r\n * 当前tab页的视图,用于在组件中弹窗\r\n */\r\n tabViewContainerRef!: ViewContainerRef;\r\n}\r\n","import {ComponentBase} from \"./component-base\";\r\nimport {EventEmitter} from \"@angular/core\";\r\n\r\nexport class CellComponentBase extends ComponentBase {\r\n /**\r\n * 属性\r\n */\r\n field: any;\r\n /**\r\n * 属性配置\r\n */\r\n fieldConfig: any;\r\n /**\r\n * 当前行数据\r\n */\r\n rowData: any;\r\n /**\r\n * 属性约束,对应表头下拉过滤列表,可能为空\r\n */\r\n columnLookup: any;\r\n /**\r\n * 当前单元格的值\r\n */\r\n value: any;\r\n /**\r\n * 当前单元格的显示值\r\n */\r\n displayValue: any;\r\n /**\r\n * 单元格加载完成事件,若单元格加载后自适应的列宽不够,emit()会触发上层重新调整表格列宽\r\n */\r\n loaded$!: EventEmitter<void>;\r\n}\r\n","import {ComponentBase} from \"./component-base\";\r\nimport {Subject} from \"rxjs\";\r\n\r\nexport class FormItemComponentBase extends ComponentBase {\r\n /**\r\n * 编辑模式,在设计器中为true,用于区分组件设计和应用状态\r\n */\r\n editMode: boolean = false;\r\n /**\r\n * 表单唯一标识,表单组件dx-validator的validationGroup名称,用于统一校验表单\r\n */\r\n validationGroupName!: string;\r\n /**\r\n * 当前表单对应数据类租户\r\n */\r\n tenant: any;\r\n /**\r\n * 当前表单对应数据类名\r\n */\r\n className: any;\r\n /**\r\n * 当前表单对应数据实例oid\r\n */\r\n oid?: any;\r\n /**\r\n * 表单当前model\r\n */\r\n model: any;\r\n /**\r\n * 属性值更新订阅,用于属性映射,表单组件驱动更新其他表单组件的值\r\n */\r\n valueChange?: Subject<{\r\n field: string,\r\n value: any\r\n onlyInit?: boolean\r\n }>;\r\n /**\r\n * 自定义属性值更新函数,在收到属性值更新事件时自定义更新逻辑,如转换数据类型为数组\r\n */\r\n customValueChanged?: (change: { field: string, value: any, onlyInit?: boolean }) => void;\r\n /**\r\n * 打开表单的组件,一般用于刷新上层表格\r\n */\r\n opener: any;\r\n /**\r\n * 表单只读状态,用于区分组件只读状态\r\n */\r\n readonly: boolean = false;\r\n\r\n protected defaultValueChanged(change: { field: string, value: any, onlyInit?: boolean }): void {\r\n if (!(this as any).field) {\r\n return;\r\n }\r\n const thisField = (this as any).field;\r\n if (Array.isArray(thisField)) {\r\n if (!thisField.includes(change.field)) {\r\n return;\r\n }\r\n } else if (thisField !== change.field) {\r\n return;\r\n }\r\n if ((this as any).customValueChanged) {\r\n (this as any).customValueChanged(change);\r\n return;\r\n }\r\n if (change.onlyInit && this.model[change.field]) {\r\n return;\r\n }\r\n this.model[change.field] = change.value;\r\n }\r\n}\r\n","import {ComponentBase} from \"./component-base\";\r\nimport {ModalComponent} from \"../../modal/modal.component\";\r\n\r\nexport class ModalComponentBase extends ComponentBase {\r\n /**\r\n * 租户\r\n */\r\n tenant: any;\r\n /**\r\n * 数据类\r\n */\r\n className: any;\r\n /**\r\n * 可能为空,比如在台账中,基于类的按钮打开模态窗时,若有勾选的行,其oid在params中\r\n */\r\n oid?: any;\r\n /**\r\n * 当前行数据,同oid,可能为空\r\n */\r\n rowData?: any;\r\n /**\r\n * 当前模态窗实例,用于关闭模窗\r\n */\r\n modal!: ModalComponent;\r\n /**\r\n * 打开模态窗的组件,一般用于刷新上层表格\r\n */\r\n opener: any;\r\n}\r\n","import {ComponentBase} from \"./component-base\";\r\n\r\nexport class PageItemComponentBase extends ComponentBase {\r\n /**\r\n * 编辑模式,在设计器中为true,用于区分组件设计和应用状态\r\n */\r\n editMode: boolean = false;\r\n /**\r\n * 当前页面所在tab页的id,一般用于更新tab页title\r\n */\r\n tabId!: string;\r\n}\r\n","import {ViewContainerRef} from \"@angular/core\";\r\n\r\nexport class ConfigBase {\r\n /**\r\n * 组件配置\r\n */\r\n config: any;\r\n /**\r\n * 当前tab页的视图,用于在组件配置中弹窗\r\n */\r\n tabViewContainerRef!: ViewContainerRef;\r\n}\r\n","import {ConfigBase} from \"./config-base\";\r\n\r\nexport class CellConfigBase extends ConfigBase {\r\n}\r\n","import {EventEmitter} from \"@angular/core\";\r\nimport {ConfigBase} from \"./config-base\";\r\n\r\nexport class FormItemConfigBase extends ConfigBase {\r\n /**\r\n * 当前表单对应数据类租户\r\n */\r\n tenant: any;\r\n /**\r\n * 当前表单对应数据类名\r\n */\r\n className: any;\r\n /**\r\n * 属性树,用于指定表单组件绑定的属性\r\n */\r\n fieldTree: any;\r\n /**\r\n * 配置更新事件,emit()将更新配置到组件,emit(true)将更新配置到组件并重新加载组件\r\n */\r\n configChange!: EventEmitter<boolean | undefined>;\r\n}\r\n","import {ConfigBase} from \"./config-base\";\r\n\r\nexport class ModalConfigBase extends ConfigBase {\r\n}\r\n","import {ConfigBase} from \"./config-base\";\r\nimport {EventEmitter} from \"@angular/core\";\r\n\r\nexport class PageItemConfigBase extends ConfigBase {\r\n /**\r\n * 配置更新事件,emit()将更新配置到组件,emit(true)将更新配置到组件并重新加载组件\r\n */\r\n configChange!: EventEmitter<boolean | undefined>;\r\n}\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 = 30 * 1000; // 30秒钟检查一次\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 this.webSocket.send('heartbeat check');\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","i2.CodeEditorComponent","i1","i1.FormService","i3.BoxContainerComponent","i4","i5","i6","i1.DrawerService","i4.FormComponent","i1.DataGridService","i1.DataGridFactory","i2.DataGridService","i3","i7.InstanceLinkTemplateComponent","i8.CellComponentTemplateComponent","i8","i9"],"mappings":"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"}
|