ngx-rs-ant 1.2.4 → 1.2.6

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.
Files changed (47) hide show
  1. package/box-container/box-container.component.d.ts +1 -1
  2. package/camunda-bpmn-editor/camunda-bpmn-editor.component.d.ts +15 -0
  3. package/camunda-bpmn-editor/camunda-bpmn-editor.module.d.ts +10 -0
  4. package/camunda-bpmn-editor/custom/config/CustomPropertiesProvider.d.ts +8 -0
  5. package/camunda-bpmn-editor/custom/config/index.d.ts +6 -0
  6. package/camunda-bpmn-editor/custom/config/properties/DescriptionProps.d.ts +6 -0
  7. package/camunda-bpmn-editor/custom/config/util/ElementUtils.d.ts +1 -0
  8. package/camunda-bpmn-editor/custom/hide-other/GatewayReplaceMenuProvider.d.ts +4 -0
  9. package/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.d.ts +55 -0
  10. package/camunda-bpmn-editor/custom/hide-other/HideOtherPaletteProvider.d.ts +5 -0
  11. package/camunda-bpmn-editor/custom/hide-other/index.d.ts +10 -0
  12. package/camunda-bpmn-editor/custom/translate/index.d.ts +7 -0
  13. package/camunda-bpmn-editor/custom/translate/translations.d.ts +3 -0
  14. package/camunda-bpmn-editor/custom/user-task/UserTaskContextPadProvider.d.ts +25 -0
  15. package/camunda-bpmn-editor/custom/user-task/UserTaskPaletteProvider.d.ts +20 -0
  16. package/camunda-bpmn-editor/custom/user-task/index.d.ts +8 -0
  17. package/data-detail/data-detail.component.d.ts +2 -1
  18. package/dynamic-params/dynamic-params.component.d.ts +2 -1
  19. package/esm2020/box-container/PluginManager.mjs +2 -2
  20. package/esm2020/box-container/box-container.component.mjs +4 -2
  21. package/esm2020/camunda-bpmn-editor/camunda-bpmn-editor.component.mjs +65 -0
  22. package/esm2020/camunda-bpmn-editor/camunda-bpmn-editor.module.mjs +32 -0
  23. package/esm2020/camunda-bpmn-editor/custom/config/CustomPropertiesProvider.mjs +31 -0
  24. package/esm2020/camunda-bpmn-editor/custom/config/descriptors/coast.json +24 -0
  25. package/esm2020/camunda-bpmn-editor/custom/config/index.mjs +6 -0
  26. package/esm2020/camunda-bpmn-editor/custom/config/properties/DescriptionProps.mjs +28 -0
  27. package/esm2020/camunda-bpmn-editor/custom/config/util/ElementUtils.mjs +31 -0
  28. package/esm2020/camunda-bpmn-editor/custom/hide-other/GatewayReplaceMenuProvider.mjs +22 -0
  29. package/esm2020/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.mjs +81 -0
  30. package/esm2020/camunda-bpmn-editor/custom/hide-other/HideOtherPaletteProvider.mjs +29 -0
  31. package/esm2020/camunda-bpmn-editor/custom/hide-other/index.mjs +10 -0
  32. package/esm2020/camunda-bpmn-editor/custom/translate/index.mjs +14 -0
  33. package/esm2020/camunda-bpmn-editor/custom/translate/translations.mjs +276 -0
  34. package/esm2020/camunda-bpmn-editor/custom/user-task/UserTaskContextPadProvider.mjs +54 -0
  35. package/esm2020/camunda-bpmn-editor/custom/user-task/UserTaskPaletteProvider.mjs +32 -0
  36. package/esm2020/camunda-bpmn-editor/custom/user-task/index.mjs +8 -0
  37. package/esm2020/data-detail/data-detail.component.mjs +4 -2
  38. package/esm2020/dynamic-params/dynamic-params.component.mjs +8 -3
  39. package/esm2020/form/form.component.mjs +5 -3
  40. package/esm2020/public-api.mjs +3 -1
  41. package/fesm2015/ngx-rs-ant.mjs +743 -9
  42. package/fesm2015/ngx-rs-ant.mjs.map +1 -1
  43. package/fesm2020/ngx-rs-ant.mjs +743 -9
  44. package/fesm2020/ngx-rs-ant.mjs.map +1 -1
  45. package/form/form.component.d.ts +2 -1
  46. package/package.json +2 -1
  47. package/public-api.d.ts +2 -0
@@ -7,9 +7,13 @@ import { Subject, ReplaySubject, Subscription, map, of, lastValueFrom, interval
7
7
  import * as i2 from 'devextreme-angular/ui/number-box';
8
8
  import * as i2$1 from 'devextreme-angular/ui/draggable';
9
9
  import { DevExtremeModule, DxLoadPanelModule, DxDataGridComponent, DxValidationGroupComponent } from 'devextreme-angular';
10
+ import BpmnModeler from 'camunda-bpmn-js/lib/camunda-platform/Modeler';
11
+ import { is } from 'bpmn-js/lib/util/ModelUtil';
12
+ import { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';
10
13
  import * as i6 from 'devextreme-angular/ui/load-panel';
11
14
  import * as i5 from 'devextreme-angular/ui/nested';
12
15
  import { DxoPositionModule } from 'devextreme-angular/ui/nested';
16
+ import * as i4 from 'devextreme-angular/ui/button';
13
17
  import { HelperUtils } from 'ng-devui';
14
18
  import * as i1$1 from '@angular/common/http';
15
19
  import CustomStore from 'devextreme/data/custom_store';
@@ -17,7 +21,6 @@ import * as i3 from 'devextreme-angular/core';
17
21
  import * as i4$1 from 'devextreme-angular/ui/data-grid';
18
22
  import * as i5$1 from 'devextreme-angular/ui/tooltip';
19
23
  import * as i2$2 from '@angular/platform-browser';
20
- import * as i4 from 'devextreme-angular/ui/button';
21
24
  import * as i3$1 from 'devextreme-angular/ui/accordion';
22
25
  import { __awaiter } from 'tslib';
23
26
  import notify from 'devextreme/ui/notify';
@@ -272,7 +275,7 @@ class PluginManager {
272
275
  if (boxItem.boxContainer.readonly) {
273
276
  instance.readonly = true;
274
277
  }
275
- instance.pageParams = boxItem.boxContainer.params;
278
+ instance.params = boxItem.boxContainer.params;
276
279
  instance.tabViewContainerRef = boxItem.boxContainer.tabViewContainerRef;
277
280
  if (boxItem.boxContainer.editMode) {
278
281
  instance.onRemove = () => {
@@ -780,7 +783,7 @@ class BoxContainerComponent {
780
783
  }
781
784
  }
782
785
  BoxContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
783
- BoxContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxContainerComponent, selector: "rs-box-container", inputs: { config: "config", model: "model", readonly: "readonly" }, viewQueries: [{ propertyName: "boxContainerContent", first: true, predicate: ["boxContainerContent"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container #boxContainerContent></ng-container>\n", styles: [":host{flex:1;position:relative;display:flex;flex-flow:row nowrap}\n"] });
786
+ BoxContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BoxContainerComponent, selector: "rs-box-container", inputs: { config: "config", model: "model", params: "params", readonly: "readonly" }, viewQueries: [{ propertyName: "boxContainerContent", first: true, predicate: ["boxContainerContent"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container #boxContainerContent></ng-container>\n", styles: [":host{flex:1;position:relative;display:flex;flex-flow:row nowrap}\n"] });
784
787
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerComponent, decorators: [{
785
788
  type: Component,
786
789
  args: [{ selector: 'rs-box-container', template: "<ng-container #boxContainerContent></ng-container>\n", styles: [":host{flex:1;position:relative;display:flex;flex-flow:row nowrap}\n"] }]
@@ -788,6 +791,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
788
791
  type: Input
789
792
  }], model: [{
790
793
  type: Input
794
+ }], params: [{
795
+ type: Input
791
796
  }], readonly: [{
792
797
  type: Input
793
798
  }], boxContainerContent: [{
@@ -848,6 +853,645 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
848
853
  }]
849
854
  }] });
850
855
 
856
+ const translations = {
857
+ 'Activate the hand tool': '激活拖拽工具',
858
+ 'Activate the lasso tool': '激活框选工具',
859
+ 'Activate the create/remove space tool': '激活空间移动工具',
860
+ 'Activate the global connect tool': '激活全局连接工具',
861
+ 'Create StartEvent': '创建开始节点',
862
+ 'Create EndEvent': '创建结束节点',
863
+ 'Create Gateway': '创建网关节点',
864
+ 'Create UserTask': '创建用户任务',
865
+ 'Open minimap': '打开缩略图',
866
+ 'Close minimap': '关闭缩略图',
867
+ /*
868
+ 'Create {type}': '创建{type}',
869
+ 'Create Intermediate/Boundary Event': '创建中间/边界事件',
870
+ 'Append {type}': '追加{type}', //'追加{type}',
871
+ 'Add Lane above': '添加上面泳道',
872
+ 'Divide into two Lanes': '拆分两个泳道',
873
+ 'Divide into three Lanes': '拆分三个泳道',
874
+ 'Add Lane below': '添下面泳道',
875
+ 'Append compensation activity': '追加补偿活动',
876
+ 'Change type': '改变节点类型', // 改变事情类型
877
+ 'Connect using Association': '使用关联连接',
878
+ 'Connect using Sequence/MessageFlow or Association': '使用序列/消息流或关联连接',
879
+ 'Connect using DataInputAssociation': '使用数据输入关联连接',
880
+ 'Remove': '删除',
881
+ 'Create expanded SubProcess': '创建扩展子流程',
882
+ // 'Create Pool/Participant': '创建者或参与者',
883
+ 'Create IntermediateThrowEvent/BoundaryEvent': '创建中间事件或边界事件',
884
+ 'Parallel Multi Instance': '并行多实例',
885
+ 'Sequential Multi Instance': '顺序多重实例',
886
+ 'Loop': '循环',
887
+ 'Ad-hoc': '特别指定',
888
+ 'Task': '任务',
889
+ 'Send Task': '发送任务', // 发送任务
890
+ 'Receive Task': '接收任务',
891
+ 'User Task': '用户任务',
892
+ 'Manual Task': '手工任务',
893
+ 'Business Rule Task': '作业规则任务',
894
+ 'Service Task': '服务任务',
895
+ 'Script Task': '脚本任务',
896
+ 'Call Activity': '调用活动',
897
+ 'Sub Process (collapsed)': '子过程(折叠)',
898
+ 'Sub Process (expanded)': '子过程(展开)',
899
+ 'Start Event': '开始事件',
900
+ 'Intermediate Throw Event': '抛出事件',
901
+ 'End Event': '结束事件',
902
+ 'Message Start Event': '消息开始事件',
903
+ 'Timer Start Event': '时间开始事件',
904
+ 'Conditional Start Event': '条件开始事件',
905
+ 'Signal Start Event': '信号开始事件',
906
+ 'Error Start Event': '错误开始事件',
907
+ 'Escalation Start Event': '升级开始事件',
908
+ 'Compensation Start Event': '补偿开始事件',
909
+ 'Message Start Event (non-interrupting)': '消息开始事件(不中断)',
910
+ 'Timer Start Event (non-interrupting)': '定时开始事件(不中断)',
911
+ 'Conditional Start Event (non-interrupting)': '条件开始事件(不中断)',
912
+ 'Signal Start Event (non-interrupting)': '信号开始事件(不中断)',
913
+ 'Escalation Start Event (non-interrupting)': '升级开始事件(不中断)',
914
+ 'Message Intermediate Catch Event': '信息捕获事件',
915
+ 'Message Intermediate Throw Event': '信息抛出事件',
916
+ 'Timer Intermediate Catch Event': '定时器捕获事件',
917
+ 'Escalation Intermediate Throw Event': '升级抛出事件',
918
+ 'Conditional Intermediate Catch Event': '条件捕获事件',
919
+ 'Link Intermediate Catch Event': '链接捕获事件',
920
+ 'Link Intermediate Throw Event': '链接抛出事件',
921
+ 'Compensation Intermediate Throw Event': '补偿抛出事件',
922
+ 'Signal Intermediate Catch Event': '信号捕获事件',
923
+ 'Signal Intermediate Throw Event': '信号抛出事件',
924
+ 'Message End Event': '消息结束事件',
925
+ 'Escalation End Event': '升级结束事件',
926
+ 'Error End Event': '错误结束事件',
927
+ 'Cancel End Event': '取消结束事件',
928
+ 'Compensation End Event': '补偿结束事件',
929
+ 'Signal End Event': '信号结束事件',
930
+ 'Terminate End Event': '终止结束事件',
931
+ 'Message Boundary Event': '消息边界事件',
932
+ 'Message Boundary Event (non-interrupting)': '消息边界事件(非中断)',
933
+ 'Timer Boundary Event': '定时边界事件',
934
+ 'Timer Boundary Event (non-interrupting)': '定时边界事件(非中断)',
935
+ 'Escalation Boundary Event': '升级边界事件',
936
+ 'Escalation Boundary Event (non-interrupting)': '升级边界事件(非中断)',
937
+ 'Conditional Boundary Event': '有条件的边界事件',
938
+ 'Conditional Boundary Event (non-interrupting)': '条件边界事件(非中断)',
939
+ 'Error Boundary Event': '错误边界事件',
940
+ 'Cancel Boundary Event': '取消边界事件',
941
+ 'Signal Boundary Event': '信号边界事件',
942
+ 'Signal Boundary Event (non-interrupting)': '信号边界事件(非中断)',
943
+ 'Compensation Boundary Event': '补偿边界事件',
944
+ 'Exclusive': '排他',
945
+ 'Exclusive Gateway': '互斥网关',
946
+ 'Parallel Gateway': '并行网关',
947
+ 'Inclusive Gateway': '相容网关',
948
+ 'Complex Gateway': '复杂网关',
949
+ 'Event based Gateway': '事件网关',
950
+ 'Transaction': '交换',
951
+ 'Sub Process': '子流程',
952
+ 'Event Sub Process': '事件子流程',
953
+ 'Empty Pool (removes content)': '清空泳池(删除内容)',
954
+ 'Collapsed Pool': '合并泳池',
955
+ 'Expanded Pool': '扩展泳池',
956
+
957
+ // flow
958
+ 'Default Flow': '默认流向',
959
+ 'Sequence Flow': '顺序流向',
960
+ 'Conditional Flow': '条件流向',
961
+
962
+ // Errors
963
+ 'no parent for {element} in {parent}': '在{parent}中的{element}没有父元素',
964
+ 'no shape type specified': '没有指定的形状类型',
965
+ 'flow elements must be children of pools/participants': '流动元素必须是游泳池/参与者',
966
+ 'out of bounds release': '跨界界释放',
967
+ 'more than {count} child lanes': '超出{count}分支',
968
+ 'element required': '被请求元素',
969
+ 'diagram not part of bpmn': '图在bpmn中',
970
+ 'no diagram to display': '没有图表来显示',
971
+ 'no process or collaboration to display': '没有流程或协作显示',
972
+ 'element {element} referenced by {referenced}#{property} not yet drawn':
973
+ '元素{element}在{referenced}#{property}的引用还没有绘制',
974
+ 'already rendered {element}': '已经提供{element}',
975
+ 'failed to import {element}': '元素导入失败{element}',
976
+ 'ID must not be empty.': 'ID不能为空!',
977
+ 'ID must be a valid QName.': '无效的ID输入!',
978
+
979
+ // message
980
+ 'This maps to the process definition key.': '映射流程定义的Key。',
981
+ 'This maps to the task definition key.': '映射任务定义的Key。',
982
+ 'Specify more than one group as a comma separated list.': '多于一个组时为逗号分隔的列表。',
983
+ 'Specify more than one user as a comma separated list.': '多于一个用户时为逗号分隔的列表。',
984
+ 'Must provide either loop cardinality or collection': '必须提供循环基数或集合',
985
+ 'Available process variables, identified in the diagram.': '可用的过程变量,如图中所示。',
986
+ 'No variables found.': '未找到变量。',
987
+
988
+ 'General': '基本属性',
989
+ 'Documentation': '备注',
990
+ 'Element documentation': '元素备注',
991
+ 'Executable': '可执行',
992
+ 'Process Documentation': '过程说明',
993
+ '': '无',
994
+ 'Listeners': '监听器',
995
+ 'Execution Listener': '扩展监听器',
996
+ 'Extensions': '扩展',
997
+ 'Properties': '属性',
998
+ 'Add Property': '添加属性',
999
+ 'Process Id': '流程标识',
1000
+ 'Process Name': '流程名称',
1001
+ 'Participant Id': '参与者标识',
1002
+ 'Participant Name': '参与者名称',
1003
+ 'Name': '名称',
1004
+ 'Id': '标识',
1005
+ 'ID': '标识',
1006
+ 'Value': '值',
1007
+ 'Version Tag': '版本标记',
1008
+ 'External Task Configuration': '外部任务配置',
1009
+ 'Task Priority': '任务优先级',
1010
+ 'Job Configuration': '作业配置',
1011
+ 'Job Priority': '作业优先级',
1012
+ 'History Configuration': '历史配置',
1013
+ 'History Time To Live': '历史生存时间',
1014
+ 'Details': '详情',
1015
+ 'Initiator': '初始化',
1016
+ 'Asynchronous Continuations': '异步连续',
1017
+ 'Asynchronous Before': '异步之前',
1018
+ 'Asynchronous After': '异步之后',
1019
+ 'Forms': '表单',
1020
+ 'Form Key': '表单名',
1021
+ 'Form Fields': '表单字段',
1022
+ 'Form Buttons': '表单按钮',
1023
+ 'Form Field': '表单字段',
1024
+ 'Form Button': '表单按钮',
1025
+ 'Button Name': '按钮名称',
1026
+ 'Business Key': '业务键',
1027
+ 'Type': '类型',
1028
+ 'Label': '标签',
1029
+ 'Default Value': '默认值',
1030
+ 'Validation': '校验',
1031
+ 'Add Constraint': '添加约束',
1032
+ 'Config': '配置',
1033
+ 'Must provide a value': '必须提供一个值',
1034
+ 'Event Type': '事件类型',
1035
+ 'Listener Type': '监听器类型',
1036
+ 'Java Class': 'Java 类',
1037
+ 'Field Injection': '字段注入',
1038
+ 'Fields': '字段',
1039
+ 'Condition Type': '条件类型',
1040
+ 'Script Format': '脚本格式',
1041
+ 'Script Type': '脚本类型',
1042
+ 'Inline Script': '内联脚本',
1043
+ 'External Resource': '外部资源',
1044
+ 'Expression': '表达式',
1045
+ 'Delegate Expression': '委托表达式',
1046
+ 'Script': '脚本',
1047
+ 'Parameter must have a name': '参数必须有一个名称',
1048
+ 'String': '字符串',
1049
+ 'Implementation': '实现',
1050
+ 'External': '外部',
1051
+ 'Connector': '连接器',
1052
+ 'Must configure Connector': '必须配置连接器',
1053
+ 'Connector Id': '连接器ID',
1054
+ 'Input/Output': '输入/输出',
1055
+ 'Input Parameters': '输入参数',
1056
+ 'Input Parameter': '输入参数',
1057
+ 'Output Parameters': '输出参数',
1058
+ 'Output Parameter': '输出参数',
1059
+ 'Text': '文本',
1060
+ 'List': '列表',
1061
+ 'Add Entry': '增加条目',
1062
+ 'Field Injections': '字段注入',
1063
+ 'TextAnnotation': '文本注释',
1064
+ 'Variables': '变量',
1065
+ 'In Mapping': '输入映射',
1066
+ 'Out Mapping': '输出映射',
1067
+ 'Target': '目标',
1068
+ 'Source': '来源',
1069
+ 'Local': '本地',
1070
+ 'Candidate Starter Configuration': '候选人起动器配置',
1071
+ 'Candidate Starter Groups': '候选人起动器组',
1072
+ 'Candidate Starter Users': '候选人起动器用户',
1073
+ 'Configure Connector': '配置连接器',
1074
+ 'Assignee Type': '受理人类型',
1075
+ 'Assignee': '受理人',
1076
+ 'Dynamic': '动态',
1077
+ 'Static': '静态',
1078
+ 'User': '用户',
1079
+ 'Role': '角色',
1080
+ 'Candidate Users': '候选用户',
1081
+ 'Candidate Groups': '候选组',
1082
+ 'Due Date': '到期',
1083
+ 'Follow Up Date': '跟踪日期',
1084
+ 'Priority': '优先级',
1085
+ 'The due date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':
1086
+ '可以使用EL表达式,(例如:${someDate} 或者ISO日期(例如:2015-06-26T09:54:00))',
1087
+ 'The follow up date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':
1088
+ '可以使用EL表达式,(例如:${someDate} 或者ISO日期(例如:2015-06-26T09:54:00))',
1089
+
1090
+ 'Create Task': '创建任务',
1091
+ 'Create DataObjectReference': '创建数据对象引用',
1092
+ 'Create DataStoreReference': '创建数据存储引用',
1093
+ 'Create Group': '创建分组',
1094
+ 'Category Value': '类别值',
1095
+
1096
+ //custom
1097
+ 'Create CallActivity': '创建调用任务',
1098
+ 'Append Gateway': '追加网关节点',
1099
+ 'Append Intermediate/Boundary Event': '追加中间/边界事件',
1100
+ 'StartEvent': '开始节点',
1101
+ 'EndEvent': '结束节点',
1102
+ 'DataObjectReference': '数据对象引用',
1103
+ 'DataStoreReference': '数据存储引用',
1104
+ 'Element must have an unique id.': '节点元素必须用于唯一编号',
1105
+ 'Create ExclusiveGateway': '创建排他网关',
1106
+ 'Create Pool/Participant': '创建泳道或参与者',
1107
+ 'Append ExclusiveGateway': '追加排他网关',
1108
+ 'Append Task': '追加任务',
1109
+ 'Append UserTask': '追加用户任务',
1110
+ 'Append Sequence': '追加连线',
1111
+ 'Append EndEvent': '追加结束节点',
1112
+ 'UserTask': '用户任务',
1113
+ 'ExclusiveGateway': '条件', //排他网关
1114
+ 'Element is not set findUserType': '员工节点未设置节点人员',
1115
+ 'Token Simulation ': '流程模拟',
1116
+ 'Tasklist Configuration': '任务列表配置',
1117
+ 'Startable': '可启动',
1118
+ 'Element Documentation': '元素描述',
1119
+
1120
+ 'Multi Instance': '多实例',
1121
+ 'Loop Cardinality': '循环基数',
1122
+ 'Collection': '集合',
1123
+ 'Element Variable': '元素变量',
1124
+ 'Completion Condition': '完成条件',
1125
+ 'Multi Instance Asynchronous Before': '多实例异步之前',
1126
+ 'Multi Instance Asynchronous After': '多实例异步之后',
1127
+ 'Multi Instance Exclusive': '多实例排他',
1128
+ 'Multi Instance Retry Time Cycle': '多实例重试时间',
1129
+ */
1130
+ };
1131
+
1132
+ function customTranslate(template, replacements) {
1133
+ replacements = replacements || {};
1134
+ // Translate
1135
+ template = translations[template] || template;
1136
+ // Replace
1137
+ return template.replace(/{([^}]+)}/g, function (_, key) {
1138
+ return replacements[key] || '{' + key + '}';
1139
+ });
1140
+ }
1141
+ var customTranslateModule = {
1142
+ translate: ['value', customTranslate]
1143
+ };
1144
+
1145
+ class UserTaskPaletteProvider {
1146
+ constructor(palette, translate, elementFactory, moddle, modeling, create) {
1147
+ this.translate = translate;
1148
+ this.elementFactory = elementFactory;
1149
+ this.moddle = moddle;
1150
+ this.modeling = modeling;
1151
+ this.create = create;
1152
+ palette.registerProvider(this);
1153
+ this.createUserTask = this.createUserTask.bind(this);
1154
+ }
1155
+ getPaletteEntries() {
1156
+ return {
1157
+ 'create.user-task': {
1158
+ group: 'activity',
1159
+ className: 'bpmn-icon-user-task',
1160
+ title: this.translate('Create UserTask'),
1161
+ action: {
1162
+ dragstart: this.createUserTask,
1163
+ click: this.createUserTask
1164
+ }
1165
+ }
1166
+ };
1167
+ }
1168
+ createUserTask(event) {
1169
+ const shape = this.elementFactory.createShape({ type: 'bpmn:UserTask' });
1170
+ const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');
1171
+ loopCharacteristics.set('isSequential', false);
1172
+ this.modeling.updateProperties(shape, { loopCharacteristics });
1173
+ this.create.start(event, shape);
1174
+ }
1175
+ }
1176
+
1177
+ class UserTaskContextPadProvider {
1178
+ constructor(contextPad, translate, appendPreview, elementFactory, autoPlace, moddle, modeling, create) {
1179
+ this.translate = translate;
1180
+ this.appendPreview = appendPreview;
1181
+ this.elementFactory = elementFactory;
1182
+ this.autoPlace = autoPlace;
1183
+ this.moddle = moddle;
1184
+ this.modeling = modeling;
1185
+ this.create = create;
1186
+ contextPad.registerProvider(this);
1187
+ this.appendUserTaskPreview = this.appendUserTaskPreview.bind(this);
1188
+ this.appendUserTask = this.appendUserTask.bind(this);
1189
+ this.appendUserTaskStart = this.appendUserTaskStart.bind(this);
1190
+ }
1191
+ getContextPadEntries() {
1192
+ return {
1193
+ 'append.user-task': {
1194
+ group: 'model',
1195
+ className: 'bpmn-icon-user-task',
1196
+ title: this.translate('Append UserTask'),
1197
+ action: {
1198
+ hover: this.appendUserTaskPreview,
1199
+ click: this.appendUserTask,
1200
+ dragstart: this.appendUserTaskStart
1201
+ }
1202
+ }
1203
+ };
1204
+ }
1205
+ appendUserTaskPreview(event, source) {
1206
+ this.appendPreview.create(source, 'bpmn:UserTask');
1207
+ return () => {
1208
+ this.appendPreview.cleanUp();
1209
+ };
1210
+ }
1211
+ appendUserTask(event, source) {
1212
+ const shape = this.elementFactory.createShape({ type: 'bpmn:UserTask' });
1213
+ const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');
1214
+ loopCharacteristics.set('isSequential', false);
1215
+ this.modeling.updateProperties(shape, { loopCharacteristics });
1216
+ this.autoPlace.append(source, shape);
1217
+ this.appendPreview.cleanUp();
1218
+ }
1219
+ appendUserTaskStart(event, source) {
1220
+ const shape = this.elementFactory.createShape({ type: 'bpmn:UserTask' });
1221
+ const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');
1222
+ loopCharacteristics.set('isSequential', false);
1223
+ this.modeling.updateProperties(shape, { loopCharacteristics });
1224
+ this.create.start(event, shape, {
1225
+ source: source
1226
+ });
1227
+ this.appendPreview.cleanUp();
1228
+ }
1229
+ }
1230
+
1231
+ var customUserTaskModule = {
1232
+ __init__: ['userTaskPaletteProvider', 'userTaskContextPadProvider'],
1233
+ userTaskPaletteProvider: ['type', UserTaskPaletteProvider],
1234
+ userTaskContextPadProvider: ['type', UserTaskContextPadProvider],
1235
+ };
1236
+
1237
+ class HideOtherPaletteProvider {
1238
+ constructor(palette) {
1239
+ this.visibleEntryKeys = [
1240
+ 'hand-tool',
1241
+ 'lasso-tool',
1242
+ 'space-tool',
1243
+ 'global-connect-tool',
1244
+ 'tool-separator',
1245
+ 'create.start-event',
1246
+ 'create.end-event',
1247
+ 'create.user-task',
1248
+ 'create.exclusive-gateway',
1249
+ 'xml'
1250
+ ];
1251
+ palette.registerProvider(0, this);
1252
+ }
1253
+ getPaletteEntries() {
1254
+ return (entries) => {
1255
+ const visibleEntries = {};
1256
+ for (const visibleEntryKey of this.visibleEntryKeys) {
1257
+ if (entries.hasOwnProperty(visibleEntryKey)) {
1258
+ visibleEntries[visibleEntryKey] = entries[visibleEntryKey];
1259
+ }
1260
+ }
1261
+ return visibleEntries;
1262
+ };
1263
+ }
1264
+ }
1265
+
1266
+ class HideOtherContextPadProvider {
1267
+ constructor(contextPad, translate, popupMenu) {
1268
+ this.contextPad = contextPad;
1269
+ this.translate = translate;
1270
+ this.popupMenu = popupMenu;
1271
+ contextPad.registerProvider(0, this);
1272
+ }
1273
+ getContextPadEntries(element) {
1274
+ return (entries) => {
1275
+ if (is(element, 'bpmn:EndEvent')) {
1276
+ return {
1277
+ 'delete': entries['delete'],
1278
+ 'set-color': entries['set-color']
1279
+ };
1280
+ }
1281
+ else if (is(element, 'bpmn:SequenceFlow')) {
1282
+ if (entries['replace']) {
1283
+ return {
1284
+ 'replace': this.createReplaceAction(element),
1285
+ 'delete': entries['delete'],
1286
+ 'set-color': entries['set-color']
1287
+ };
1288
+ }
1289
+ return {
1290
+ 'delete': entries['delete'],
1291
+ 'set-color': entries['set-color']
1292
+ };
1293
+ }
1294
+ else if (is(element, 'bpmn:Gateway')) {
1295
+ return {
1296
+ 'append.user-task': entries['append.user-task'],
1297
+ 'append.gateway': entries['append.gateway'],
1298
+ 'append.end-event': entries['append.end-event'],
1299
+ 'connect': entries['connect'],
1300
+ 'replace': this.createReplaceAction(element),
1301
+ 'delete': entries['delete'],
1302
+ 'set-color': entries['set-color']
1303
+ };
1304
+ }
1305
+ return {
1306
+ 'append.user-task': entries['append.user-task'],
1307
+ 'append.gateway': entries['append.gateway'],
1308
+ 'append.end-event': entries['append.end-event'],
1309
+ 'connect': entries['connect'],
1310
+ 'delete': entries['delete'],
1311
+ 'set-color': entries['set-color']
1312
+ };
1313
+ };
1314
+ }
1315
+ getReplaceMenuPosition(element) {
1316
+ const pad = this.contextPad.getPad(element).html;
1317
+ const padRect = pad.getBoundingClientRect();
1318
+ return {
1319
+ x: padRect.left,
1320
+ y: padRect.bottom + 5
1321
+ };
1322
+ }
1323
+ createReplaceAction(element) {
1324
+ return {
1325
+ group: 'edit',
1326
+ className: 'bpmn-icon-screw-wrench',
1327
+ title: this.translate('Change type'),
1328
+ action: {
1329
+ click: (event, element) => {
1330
+ const position = Object.assign(this.getReplaceMenuPosition(element), {
1331
+ cursor: {
1332
+ x: event.x,
1333
+ y: event.y
1334
+ }
1335
+ });
1336
+ this.popupMenu.open(element, 'bpmn-replace', position, {
1337
+ width: 300,
1338
+ search: true
1339
+ });
1340
+ }
1341
+ }
1342
+ };
1343
+ }
1344
+ }
1345
+
1346
+ class GatewayReplaceMenuProvider {
1347
+ constructor(popupMenu) {
1348
+ popupMenu.registerProvider('bpmn-replace', 0, this);
1349
+ }
1350
+ getPopupMenuEntries(element) {
1351
+ return (entries) => {
1352
+ if (is(element, 'bpmn:ExclusiveGateway')) {
1353
+ return {
1354
+ 'replace-with-parallel-gateway': entries['replace-with-parallel-gateway']
1355
+ };
1356
+ }
1357
+ else if (is(element, 'bpmn:ParallelGateway')) {
1358
+ return {
1359
+ 'replace-with-exclusive-gateway': entries['replace-with-exclusive-gateway']
1360
+ };
1361
+ }
1362
+ return entries;
1363
+ };
1364
+ }
1365
+ }
1366
+
1367
+ var customHideOtherModule = {
1368
+ __init__: ['hideOtherPaletteProvider', 'hideOtherContextPadProvider', 'gatewayReplaceMenuProvider'],
1369
+ hideOtherPaletteProvider: ['type', HideOtherPaletteProvider],
1370
+ hideOtherContextPadProvider: ['type', HideOtherContextPadProvider],
1371
+ gatewayReplaceMenuProvider: ['type', GatewayReplaceMenuProvider]
1372
+ };
1373
+
1374
+ function addExtensionProperty(element, key, value, bpmnFactory, modeling) {
1375
+ let extensionElements = element.businessObject.get('extensionElements');
1376
+ if (!extensionElements) {
1377
+ extensionElements = bpmnFactory.create('bpmn:ExtensionElements', { values: [] });
1378
+ extensionElements.$parent = element.businessObject;
1379
+ modeling.updateModdleProperties(element, element.businessObject, { extensionElements });
1380
+ }
1381
+ let properties = null;
1382
+ const extensionElementValues = extensionElements.get('values');
1383
+ const existPropertiesElements = extensionElementValues.filter((value) => is(value, 'camunda:Properties'));
1384
+ if (existPropertiesElements.length > 0) {
1385
+ properties = existPropertiesElements[0];
1386
+ }
1387
+ if (!properties) {
1388
+ properties = bpmnFactory.create('camunda:Properties', { values: [] });
1389
+ properties.$parent = extensionElements;
1390
+ modeling.updateModdleProperties(element, extensionElements, { values: [...extensionElements.get('values'), properties] });
1391
+ }
1392
+ const propertyValues = properties.get('values');
1393
+ const existPropertyIndex = propertyValues.findIndex((value) => value.name === key);
1394
+ if (existPropertyIndex > -1) {
1395
+ modeling.updateModdleProperties(element, propertyValues[existPropertyIndex], { name: key, value });
1396
+ }
1397
+ else {
1398
+ const property = bpmnFactory.create('camunda:Property', { name: key, value });
1399
+ property.$parent = properties;
1400
+ modeling.updateModdleProperties(element, properties, { values: [...properties.get('values'), property] });
1401
+ }
1402
+ }
1403
+
1404
+ // @ts-ignore
1405
+ class DescriptionProps {
1406
+ constructor(props) {
1407
+ this.id = 'Coast_taskDescription';
1408
+ const { element, translate, bpmnFactory, modeling, debounce } = props;
1409
+ this.component = () => {
1410
+ return TextFieldEntry({
1411
+ id: this.id,
1412
+ element: element,
1413
+ label: translate('Task Description'),
1414
+ getValue: () => {
1415
+ return element.businessObject.get('taskDescription') || '';
1416
+ },
1417
+ setValue: (value) => {
1418
+ modeling.updateModdleProperties(element, element.businessObject, {
1419
+ 'taskDescription': value
1420
+ });
1421
+ addExtensionProperty(element, 'taskDescription', value, bpmnFactory, modeling);
1422
+ },
1423
+ debounce
1424
+ });
1425
+ };
1426
+ this.isEdited = isTextFieldEntryEdited;
1427
+ }
1428
+ }
1429
+
1430
+ class CustomPropertiesProvider {
1431
+ constructor(propertiesPanel, translate, bpmnFactory, modeling, debounceInput) {
1432
+ this.translate = translate;
1433
+ this.bpmnFactory = bpmnFactory;
1434
+ this.modeling = modeling;
1435
+ this.debounceInput = debounceInput;
1436
+ propertiesPanel.registerProvider(0, this);
1437
+ }
1438
+ getGroups(element) {
1439
+ return ((groups) => {
1440
+ if (is(element, 'bpmn:UserTask')) {
1441
+ console.log(groups);
1442
+ return [groups.find((group) => group.id === 'general'), {
1443
+ id: 'Coast_Implementation',
1444
+ label: this.translate('More config'),
1445
+ entries: [new DescriptionProps({
1446
+ element,
1447
+ translate: this.translate,
1448
+ bpmnFactory: this.bpmnFactory,
1449
+ modeling: this.modeling,
1450
+ debounce: this.debounceInput
1451
+ })]
1452
+ }];
1453
+ }
1454
+ return groups;
1455
+ });
1456
+ }
1457
+ }
1458
+
1459
+ var customPropertiesPanelModule = {
1460
+ __init__: ['customPropertiesProvider'],
1461
+ customPropertiesProvider: ['type', CustomPropertiesProvider]
1462
+ };
1463
+
1464
+ var name = "Coast Custom";
1465
+ var prefix = "coast";
1466
+ var uri = "https://c-standard.cn";
1467
+ var xml = {
1468
+ tagAlias: "lowerCase"
1469
+ };
1470
+ var associations = [];
1471
+ var types = [
1472
+ {
1473
+ name: "CoastUserTask",
1474
+ "extends": [
1475
+ "bpmn:UserTask"
1476
+ ],
1477
+ properties: [
1478
+ {
1479
+ name: "taskDescription",
1480
+ isAttr: true,
1481
+ type: "String"
1482
+ }
1483
+ ]
1484
+ }
1485
+ ];
1486
+ var coastModdleDescriptor = {
1487
+ name: name,
1488
+ prefix: prefix,
1489
+ uri: uri,
1490
+ xml: xml,
1491
+ associations: associations,
1492
+ types: types
1493
+ };
1494
+
851
1495
  class CodeEditorComponent {
852
1496
  set code(code) {
853
1497
  var _a;
@@ -921,6 +1565,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
921
1565
  args: ['editorContainer', { static: true }]
922
1566
  }] } });
923
1567
 
1568
+ class CamundaBpmnEditorComponent {
1569
+ constructor() {
1570
+ this.isShowXml = false;
1571
+ }
1572
+ ngAfterViewInit() {
1573
+ var _a, _b;
1574
+ this.modeler = new BpmnModeler({
1575
+ container: (_a = this.container) === null || _a === void 0 ? void 0 : _a.nativeElement,
1576
+ propertiesPanel: {
1577
+ parent: (_b = this.config) === null || _b === void 0 ? void 0 : _b.nativeElement,
1578
+ },
1579
+ keyboard: {
1580
+ bindTo: document,
1581
+ },
1582
+ additionalModules: [
1583
+ customTranslateModule,
1584
+ customUserTaskModule,
1585
+ customHideOtherModule,
1586
+ customPropertiesPanelModule
1587
+ ],
1588
+ moddleExtensions: {
1589
+ coast: coastModdleDescriptor
1590
+ }
1591
+ });
1592
+ const logo = this.modeler._container.querySelector('.bjs-powered-by');
1593
+ if (logo) {
1594
+ this.modeler._container.removeChild(logo);
1595
+ }
1596
+ this.canvas = this.modeler.get('canvas');
1597
+ this.modeler.createDiagram().then(() => {
1598
+ this.canvas.zoom('fit-viewport');
1599
+ });
1600
+ }
1601
+ showXml() {
1602
+ if (!this.isShowXml) {
1603
+ this.modeler.saveXML({ format: true }).then((response) => {
1604
+ this.xml = response.xml;
1605
+ });
1606
+ }
1607
+ this.isShowXml = !this.isShowXml;
1608
+ }
1609
+ }
1610
+ CamundaBpmnEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1611
+ CamundaBpmnEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CamundaBpmnEditorComponent, selector: "rs-camunda-bpmn-editor", viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }, { propertyName: "config", first: true, predicate: ["config"], descendants: true }], ngImport: i0, template: "<div class=\"main\">\n <div class=\"container\" #container></div>\n <div class=\"config\" #config></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CodeEditorComponent, selector: "rs-code-editor", inputs: ["code", "language", "readonly", "enableMinimap", "consoleMessage"], outputs: ["codeChange", "onContentReady"] }, { kind: "component", type: i4.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }] });
1612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorComponent, decorators: [{
1613
+ type: Component,
1614
+ args: [{ selector: 'rs-camunda-bpmn-editor', template: "<div class=\"main\">\n <div class=\"container\" #container></div>\n <div class=\"config\" #config></div>\n <div class=\"xml-viewer\" [ngStyle]=\"{display: isShowXml ? 'flex' : 'none'}\">\n <rs-code-editor language=\"xml\" [code]=\"xml\" [readonly]=\"true\" [enableMinimap]=\"true\"></rs-code-editor>\n </div>\n</div>\n<div class=\"footer\">\n <dx-button [type]=\"isShowXml ? 'default' : 'normal'\" text=\"XML\" [hoverStateEnabled]=\"false\"\n (onClick)=\"showXml()\"></dx-button>\n</div>\n", styles: [":host{flex:1;display:flex;flex-flow:column nowrap}:host .main{flex:1;display:flex;flex-flow:row nowrap;position:relative}:host .main .container{flex:1}:host .main .config{flex:0 0 360px;border:1px solid var(--coast-border-color, #dddddd)}:host .main .xml-viewer{position:absolute;width:100%;height:100%;display:flex;flex-flow:column nowrap;z-index:var(--coast-z-index-drawer, 1040)}:host .main .xml-viewer rs-code-editor{flex:1}:host .footer{flex:0 0 24px;border:1px solid var(--coast-border-color, #dddddd)}\n"] }]
1615
+ }], propDecorators: { container: [{
1616
+ type: ViewChild,
1617
+ args: ['container']
1618
+ }], config: [{
1619
+ type: ViewChild,
1620
+ args: ['config']
1621
+ }] } });
1622
+
924
1623
  class CodeEditorModule {
925
1624
  }
926
1625
  CodeEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CodeEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -947,6 +1646,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
947
1646
  }]
948
1647
  }] });
949
1648
 
1649
+ class CamundaBpmnEditorModule {
1650
+ }
1651
+ CamundaBpmnEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1652
+ CamundaBpmnEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorModule, declarations: [CamundaBpmnEditorComponent], imports: [CommonModule,
1653
+ CodeEditorModule,
1654
+ DevExtremeModule], exports: [CamundaBpmnEditorComponent] });
1655
+ CamundaBpmnEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorModule, imports: [CommonModule,
1656
+ CodeEditorModule,
1657
+ DevExtremeModule] });
1658
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorModule, decorators: [{
1659
+ type: NgModule,
1660
+ args: [{
1661
+ declarations: [
1662
+ CamundaBpmnEditorComponent
1663
+ ],
1664
+ imports: [
1665
+ CommonModule,
1666
+ CodeEditorModule,
1667
+ DevExtremeModule
1668
+ ],
1669
+ exports: [
1670
+ CamundaBpmnEditorComponent
1671
+ ]
1672
+ }]
1673
+ }] });
1674
+
950
1675
  class DataGridService {
951
1676
  constructor(http) {
952
1677
  this.http = http;
@@ -2122,10 +2847,10 @@ class FormComponent {
2122
2847
  }
2123
2848
  }
2124
2849
  FormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, deps: [{ token: i0.ViewContainerRef }, { token: FormService }], target: i0.ɵɵFactoryTarget.Component });
2125
- FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template", readonly: "readonly" }, outputs: { submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "validator", first: true, predicate: DxValidationGroupComponent, descendants: true }, { propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<dx-validation-group *ngIf=\"!loading\">\n <rs-box-container [config]=\"config\" [model]=\"model\" [readonly]=\"readonly\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\n</dx-validation-group>\n", styles: [":host{padding:12px 24px 20px}:host dx-validation-group{display:flex;flex-flow:row nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BoxContainerComponent, selector: "rs-box-container", inputs: ["config", "model", "readonly"] }, { kind: "component", type: i5.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i4.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6.DxLoadPanelComponent, selector: "dx-load-panel", inputs: ["animation", "closeOnOutsideClick", "container", "copyRootClassesToWrapper", "deferRendering", "delay", "elementAttr", "focusStateEnabled", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "indicatorSrc", "maxHeight", "maxWidth", "message", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showIndicator", "showPane", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "closeOnOutsideClickChange", "containerChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "delayChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "indicatorSrcChange", "maxHeightChange", "maxWidthChange", "messageChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showIndicatorChange", "showPaneChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i7.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }] });
2850
+ FormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: FormComponent, selector: "rs-form", inputs: { tenant: "tenant", className: "className", oid: "oid", copyOid: "copyOid", template: "template", params: "params", readonly: "readonly" }, outputs: { submitCallback: "submitCallback" }, providers: [FormService], viewQueries: [{ propertyName: "validator", first: true, predicate: DxValidationGroupComponent, descendants: true }, { propertyName: "formSubmitter", first: true, predicate: ["formSubmitter"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<dx-validation-group *ngIf=\"!loading\">\n <rs-box-container [config]=\"config\" [model]=\"model\" [params]=\"params\" [readonly]=\"readonly\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\n</dx-validation-group>\n", styles: [":host{padding:12px 24px 20px}:host dx-validation-group{display:flex;flex-flow:row nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BoxContainerComponent, selector: "rs-box-container", inputs: ["config", "model", "params", "readonly"] }, { kind: "component", type: i5.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i4.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i6.DxLoadPanelComponent, selector: "dx-load-panel", inputs: ["animation", "closeOnOutsideClick", "container", "copyRootClassesToWrapper", "deferRendering", "delay", "elementAttr", "focusStateEnabled", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "indicatorSrc", "maxHeight", "maxWidth", "message", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showIndicator", "showPane", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "closeOnOutsideClickChange", "containerChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "delayChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "indicatorSrcChange", "maxHeightChange", "maxWidthChange", "messageChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showIndicatorChange", "showPaneChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: i7.DxValidationGroupComponent, selector: "dx-validation-group", inputs: ["elementAttr", "height", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "elementAttrChange", "heightChange", "widthChange"] }] });
2126
2851
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, decorators: [{
2127
2852
  type: Component,
2128
- args: [{ selector: 'rs-form', providers: [FormService], template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<dx-validation-group *ngIf=\"!loading\">\n <rs-box-container [config]=\"config\" [model]=\"model\" [readonly]=\"readonly\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\n</dx-validation-group>\n", styles: [":host{padding:12px 24px 20px}:host dx-validation-group{display:flex;flex-flow:row nowrap}\n"] }]
2853
+ args: [{ selector: 'rs-form', providers: [FormService], template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<dx-validation-group *ngIf=\"!loading\">\n <rs-box-container [config]=\"config\" [model]=\"model\" [params]=\"params\" [readonly]=\"readonly\"></rs-box-container>\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\n</dx-validation-group>\n", styles: [":host{padding:12px 24px 20px}:host dx-validation-group{display:flex;flex-flow:row nowrap}\n"] }]
2129
2854
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: FormService }]; }, propDecorators: { tenant: [{
2130
2855
  type: Input
2131
2856
  }], className: [{
@@ -2136,6 +2861,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2136
2861
  type: Input
2137
2862
  }], template: [{
2138
2863
  type: Input
2864
+ }], params: [{
2865
+ type: Input
2139
2866
  }], readonly: [{
2140
2867
  type: Input
2141
2868
  }], validator: [{
@@ -2164,7 +2891,7 @@ class DataDetailComponent {
2164
2891
  }
2165
2892
  }
2166
2893
  DataDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataDetailComponent, deps: [{ token: i0.ViewContainerRef }, { token: DataDetailService }], target: i0.ɵɵFactoryTarget.Component });
2167
- DataDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DataDetailComponent, selector: "coast-data-detail", inputs: { tenant: "tenant", className: "className", oid: "oid" }, providers: [DataDetailService], ngImport: i0, template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\n <span>\u60A8\u65E0\u6743\u67E5\u770B\u8BE5\u6570\u636E\u5B9E\u4F8B\u4EFB\u4F55\u4FE1\u606F</span>\n</div>\n<ng-container *ngIf=\"sections.length > 0\">\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\n [selectedItems]=\"sections\">\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\n <div class=\"section-title-name\">{{section.name}}</div>\n </div>\n <div *dxTemplate=\"let section of 'item'\">\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\"\n [readonly]=\"true\"></rs-form>\n </div>\n </dx-accordion>\n</ng-container>\n", styles: [":host{flex:1;padding:24px;display:flex;flex-flow:column nowrap}:host div.empty{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div.empty span{text-align:center;-webkit-user-select:none;user-select:none}:host .section-title{border-bottom:1px solid var(--coast-border-color, #dddddd)}:host .section-title .section-title-name{height:24px;font-size:14px;font-weight:700;padding:4px 8px;display:flex;flex-flow:column nowrap;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.DxAccordionComponent, selector: "dx-accordion", inputs: ["accessKey", "activeStateEnabled", "animationDuration", "collapsible", "dataSource", "deferRendering", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "itemHoldTimeout", "items", "itemTemplate", "itemTitleTemplate", "keyExpr", "multiple", "noDataText", "repaintChangesOnly", "rtlEnabled", "selectedIndex", "selectedItem", "selectedItemKeys", "selectedItems", "tabIndex", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onItemClick", "onItemContextMenu", "onItemHold", "onItemRendered", "onItemTitleClick", "onOptionChanged", "onSelectionChanged", "accessKeyChange", "activeStateEnabledChange", "animationDurationChange", "collapsibleChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemHoldTimeoutChange", "itemsChange", "itemTemplateChange", "itemTitleTemplateChange", "keyExprChange", "multipleChange", "noDataTextChange", "repaintChangesOnlyChange", "rtlEnabledChange", "selectedIndexChange", "selectedItemChange", "selectedItemKeysChange", "selectedItemsChange", "tabIndexChange", "visibleChange", "widthChange"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i5.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i6.DxLoadPanelComponent, selector: "dx-load-panel", inputs: ["animation", "closeOnOutsideClick", "container", "copyRootClassesToWrapper", "deferRendering", "delay", "elementAttr", "focusStateEnabled", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "indicatorSrc", "maxHeight", "maxWidth", "message", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showIndicator", "showPane", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "closeOnOutsideClickChange", "containerChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "delayChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "indicatorSrcChange", "maxHeightChange", "maxWidthChange", "messageChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showIndicatorChange", "showPaneChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: FormComponent, selector: "rs-form", inputs: ["tenant", "className", "oid", "copyOid", "template", "readonly"], outputs: ["submitCallback"] }] });
2894
+ DataDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DataDetailComponent, selector: "coast-data-detail", inputs: { tenant: "tenant", className: "className", oid: "oid", params: "params" }, providers: [DataDetailService], ngImport: i0, template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\n <span>\u60A8\u65E0\u6743\u67E5\u770B\u8BE5\u6570\u636E\u5B9E\u4F8B\u4EFB\u4F55\u4FE1\u606F</span>\n</div>\n<ng-container *ngIf=\"sections.length > 0\">\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\n [selectedItems]=\"sections\">\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\n <div class=\"section-title-name\">{{section.name}}</div>\n </div>\n <div *dxTemplate=\"let section of 'item'\">\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\"\n [readonly]=\"true\"></rs-form>\n </div>\n </dx-accordion>\n</ng-container>\n", styles: [":host{flex:1;padding:24px;display:flex;flex-flow:column nowrap}:host div.empty{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div.empty span{text-align:center;-webkit-user-select:none;user-select:none}:host .section-title{border-bottom:1px solid var(--coast-border-color, #dddddd)}:host .section-title .section-title-name{height:24px;font-size:14px;font-weight:700;padding:4px 8px;display:flex;flex-flow:column nowrap;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.DxAccordionComponent, selector: "dx-accordion", inputs: ["accessKey", "activeStateEnabled", "animationDuration", "collapsible", "dataSource", "deferRendering", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "itemHoldTimeout", "items", "itemTemplate", "itemTitleTemplate", "keyExpr", "multiple", "noDataText", "repaintChangesOnly", "rtlEnabled", "selectedIndex", "selectedItem", "selectedItemKeys", "selectedItems", "tabIndex", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onItemClick", "onItemContextMenu", "onItemHold", "onItemRendered", "onItemTitleClick", "onOptionChanged", "onSelectionChanged", "accessKeyChange", "activeStateEnabledChange", "animationDurationChange", "collapsibleChange", "dataSourceChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemHoldTimeoutChange", "itemsChange", "itemTemplateChange", "itemTitleTemplateChange", "keyExprChange", "multipleChange", "noDataTextChange", "repaintChangesOnlyChange", "rtlEnabledChange", "selectedIndexChange", "selectedItemChange", "selectedItemKeysChange", "selectedItemsChange", "tabIndexChange", "visibleChange", "widthChange"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i5.DxoPositionComponent, selector: "dxo-position", inputs: ["at", "boundary", "boundaryOffset", "collision", "my", "of", "offset"] }, { kind: "component", type: i6.DxLoadPanelComponent, selector: "dx-load-panel", inputs: ["animation", "closeOnOutsideClick", "container", "copyRootClassesToWrapper", "deferRendering", "delay", "elementAttr", "focusStateEnabled", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "indicatorSrc", "maxHeight", "maxWidth", "message", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showIndicator", "showPane", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "closeOnOutsideClickChange", "containerChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "delayChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "indicatorSrcChange", "maxHeightChange", "maxWidthChange", "messageChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showIndicatorChange", "showPaneChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { kind: "component", type: FormComponent, selector: "rs-form", inputs: ["tenant", "className", "oid", "copyOid", "template", "params", "readonly"], outputs: ["submitCallback"] }] });
2168
2895
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataDetailComponent, decorators: [{
2169
2896
  type: Component,
2170
2897
  args: [{ selector: 'coast-data-detail', providers: [DataDetailService], template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\n [visible]=\"loading\">\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\n</dx-load-panel>\n<div *ngIf=\"!loading && sections.length === 0\" class=\"empty\">\n <span>\u60A8\u65E0\u6743\u67E5\u770B\u8BE5\u6570\u636E\u5B9E\u4F8B\u4EFB\u4F55\u4FE1\u606F</span>\n</div>\n<ng-container *ngIf=\"sections.length > 0\">\n <dx-accordion [collapsible]=\"true\" [multiple]=\"true\" [deferRendering]=\"false\" [dataSource]=\"sections\"\n [selectedItems]=\"sections\">\n <div *dxTemplate=\"let section of 'title'\" class=\"section-title\">\n <div class=\"section-title-name\">{{section.name}}</div>\n </div>\n <div *dxTemplate=\"let section of 'item'\">\n <rs-form [tenant]=\"tenant\" [className]=\"className\" [oid]=\"oid\" [template]=\"section.formTemplate\"\n [readonly]=\"true\"></rs-form>\n </div>\n </dx-accordion>\n</ng-container>\n", styles: [":host{flex:1;padding:24px;display:flex;flex-flow:column nowrap}:host div.empty{flex:1;padding:16px;display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}:host div.empty span{text-align:center;-webkit-user-select:none;user-select:none}:host .section-title{border-bottom:1px solid var(--coast-border-color, #dddddd)}:host .section-title .section-title-name{height:24px;font-size:14px;font-weight:700;padding:4px 8px;display:flex;flex-flow:column nowrap;justify-content:center}\n"] }]
@@ -2174,6 +2901,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2174
2901
  type: Input
2175
2902
  }], oid: [{
2176
2903
  type: Input
2904
+ }], params: [{
2905
+ type: Input
2177
2906
  }] } });
2178
2907
 
2179
2908
  class FormModule {
@@ -2321,6 +3050,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2321
3050
  }], ctorParameters: function () { return []; } });
2322
3051
 
2323
3052
  class DynamicParamsComponent {
3053
+ constructor() {
3054
+ this.readonly = false;
3055
+ }
2324
3056
  add() {
2325
3057
  this.params.push({ name: '', value: '' });
2326
3058
  }
@@ -2329,14 +3061,16 @@ class DynamicParamsComponent {
2329
3061
  }
2330
3062
  }
2331
3063
  DynamicParamsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2332
- DynamicParamsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DynamicParamsComponent, selector: "rs-dynamic-params", inputs: { label: "label", params: "params" }, ngImport: i0, template: "<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>{{label || '\u52A8\u6001\u53C2\u6570'}}</span>\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"></dx-button>\n </div>\n <div class=\"dx-field-value\">\n <div *ngFor=\"let param of params; let index = index\">\n <dx-text-box placeholder=\"\u53C2\u6570\u540D\" [(value)]=\"param.name\"></dx-text-box>\n <dx-text-box placeholder=\"\u53C2\u6570\u503C\" [(value)]=\"param.value\"></dx-text-box>\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\n (onClick)=\"delete(index)\"></dx-button>\n </div>\n </div>\n</div>\n", styles: [":host .dx-field .dx-field-label{display:flex;align-items:center}:host .dx-field .dx-field-value div{display:flex;flex-flow:row nowrap}:host .dx-field .dx-field-value div dx-text-box{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i3$2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }] });
3064
+ DynamicParamsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DynamicParamsComponent, selector: "rs-dynamic-params", inputs: { label: "label", params: "params", readonly: "readonly" }, ngImport: i0, template: "<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>{{label || '\u52A8\u6001\u53C2\u6570'}}</span>\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"\n [disabled]=\"readonly\"></dx-button>\n </div>\n <div class=\"dx-field-value\">\n <div *ngFor=\"let param of params; let index = index\">\n <dx-text-box placeholder=\"\u53C2\u6570\u540D\" [(value)]=\"param.name\" [disabled]=\"readonly\"></dx-text-box>\n <dx-text-box placeholder=\"\u53C2\u6570\u503C\" [(value)]=\"param.value\" [disabled]=\"readonly\"></dx-text-box>\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\n (onClick)=\"delete(index)\" [disabled]=\"readonly\"></dx-button>\n </div>\n </div>\n</div>\n", styles: [":host .dx-field .dx-field-label{display:flex;align-items:center}:host .dx-field .dx-field-value div{display:flex;flex-flow:row nowrap}:host .dx-field .dx-field-value div dx-text-box{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i3$2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }] });
2333
3065
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, decorators: [{
2334
3066
  type: Component,
2335
- args: [{ selector: 'rs-dynamic-params', template: "<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>{{label || '\u52A8\u6001\u53C2\u6570'}}</span>\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"></dx-button>\n </div>\n <div class=\"dx-field-value\">\n <div *ngFor=\"let param of params; let index = index\">\n <dx-text-box placeholder=\"\u53C2\u6570\u540D\" [(value)]=\"param.name\"></dx-text-box>\n <dx-text-box placeholder=\"\u53C2\u6570\u503C\" [(value)]=\"param.value\"></dx-text-box>\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\n (onClick)=\"delete(index)\"></dx-button>\n </div>\n </div>\n</div>\n", styles: [":host .dx-field .dx-field-label{display:flex;align-items:center}:host .dx-field .dx-field-value div{display:flex;flex-flow:row nowrap}:host .dx-field .dx-field-value div dx-text-box{flex:1}\n"] }]
3067
+ args: [{ selector: 'rs-dynamic-params', template: "<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>{{label || '\u52A8\u6001\u53C2\u6570'}}</span>\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"\n [disabled]=\"readonly\"></dx-button>\n </div>\n <div class=\"dx-field-value\">\n <div *ngFor=\"let param of params; let index = index\">\n <dx-text-box placeholder=\"\u53C2\u6570\u540D\" [(value)]=\"param.name\" [disabled]=\"readonly\"></dx-text-box>\n <dx-text-box placeholder=\"\u53C2\u6570\u503C\" [(value)]=\"param.value\" [disabled]=\"readonly\"></dx-text-box>\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\n (onClick)=\"delete(index)\" [disabled]=\"readonly\"></dx-button>\n </div>\n </div>\n</div>\n", styles: [":host .dx-field .dx-field-label{display:flex;align-items:center}:host .dx-field .dx-field-value div{display:flex;flex-flow:row nowrap}:host .dx-field .dx-field-value div dx-text-box{flex:1}\n"] }]
2336
3068
  }], propDecorators: { label: [{
2337
3069
  type: Input
2338
3070
  }], params: [{
2339
3071
  type: Input
3072
+ }], readonly: [{
3073
+ type: Input
2340
3074
  }] } });
2341
3075
 
2342
3076
  class DynamicParamsModule {
@@ -2781,5 +3515,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2781
3515
  * Generated bundle index. Do not edit.
2782
3516
  */
2783
3517
 
2784
- export { BoxContainerComponent, BoxContainerModule, ChangeFilter, CodeEditorComponent, CodeEditorModule, DataDetailComponent, DataDetailModule, DataGridComponent, DataGridFactory, DataGridModule, DataGridService, DrawerComponent, DrawerModule, DrawerService, DynamicParamsComponent, DynamicParamsModule, FormComponent, FormModule, FormService, IconSelectorComponent, IconSelectorModule, InstanceLinkTemplateDirective, ItemConfigComponent, ItemStyleComponent, MasterDetailTemplateDirective, ModalComponent, ModalModule, ModalService, PluginManager, RowButtonsTemplateDirective, WebsocketModule, WebsocketService, notify_error, notify_success, notify_warning, validate, validate_group };
3518
+ export { BoxContainerComponent, BoxContainerModule, CamundaBpmnEditorComponent, CamundaBpmnEditorModule, ChangeFilter, CodeEditorComponent, CodeEditorModule, DataDetailComponent, DataDetailModule, DataGridComponent, DataGridFactory, DataGridModule, DataGridService, DrawerComponent, DrawerModule, DrawerService, DynamicParamsComponent, DynamicParamsModule, FormComponent, FormModule, FormService, IconSelectorComponent, IconSelectorModule, InstanceLinkTemplateDirective, ItemConfigComponent, ItemStyleComponent, MasterDetailTemplateDirective, ModalComponent, ModalModule, ModalService, PluginManager, RowButtonsTemplateDirective, WebsocketModule, WebsocketService, notify_error, notify_success, notify_warning, validate, validate_group };
2785
3519
  //# sourceMappingURL=ngx-rs-ant.mjs.map