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 notify from 'devextreme/ui/notify';
23
26
  import * as i7 from 'devextreme-angular/ui/validation-group';
@@ -270,7 +273,7 @@ class PluginManager {
270
273
  if (boxItem.boxContainer.readonly) {
271
274
  instance.readonly = true;
272
275
  }
273
- instance.pageParams = boxItem.boxContainer.params;
276
+ instance.params = boxItem.boxContainer.params;
274
277
  instance.tabViewContainerRef = boxItem.boxContainer.tabViewContainerRef;
275
278
  if (boxItem.boxContainer.editMode) {
276
279
  instance.onRemove = () => {
@@ -770,7 +773,7 @@ class BoxContainerComponent {
770
773
  }
771
774
  }
772
775
  BoxContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
773
- 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"] });
776
+ 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"] });
774
777
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BoxContainerComponent, decorators: [{
775
778
  type: Component,
776
779
  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"] }]
@@ -778,6 +781,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
778
781
  type: Input
779
782
  }], model: [{
780
783
  type: Input
784
+ }], params: [{
785
+ type: Input
781
786
  }], readonly: [{
782
787
  type: Input
783
788
  }], boxContainerContent: [{
@@ -838,6 +843,646 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
838
843
  }]
839
844
  }] });
840
845
 
846
+ const translations = {
847
+ 'Activate the hand tool': '激活拖拽工具',
848
+ 'Activate the lasso tool': '激活框选工具',
849
+ 'Activate the create/remove space tool': '激活空间移动工具',
850
+ 'Activate the global connect tool': '激活全局连接工具',
851
+ 'Create StartEvent': '创建开始节点',
852
+ 'Create EndEvent': '创建结束节点',
853
+ 'Create Gateway': '创建网关节点',
854
+ 'Create UserTask': '创建用户任务',
855
+ 'Open minimap': '打开缩略图',
856
+ 'Close minimap': '关闭缩略图',
857
+ /*
858
+ 'Create {type}': '创建{type}',
859
+ 'Create Intermediate/Boundary Event': '创建中间/边界事件',
860
+ 'Append {type}': '追加{type}', //'追加{type}',
861
+ 'Add Lane above': '添加上面泳道',
862
+ 'Divide into two Lanes': '拆分两个泳道',
863
+ 'Divide into three Lanes': '拆分三个泳道',
864
+ 'Add Lane below': '添下面泳道',
865
+ 'Append compensation activity': '追加补偿活动',
866
+ 'Change type': '改变节点类型', // 改变事情类型
867
+ 'Connect using Association': '使用关联连接',
868
+ 'Connect using Sequence/MessageFlow or Association': '使用序列/消息流或关联连接',
869
+ 'Connect using DataInputAssociation': '使用数据输入关联连接',
870
+ 'Remove': '删除',
871
+ 'Create expanded SubProcess': '创建扩展子流程',
872
+ // 'Create Pool/Participant': '创建者或参与者',
873
+ 'Create IntermediateThrowEvent/BoundaryEvent': '创建中间事件或边界事件',
874
+ 'Parallel Multi Instance': '并行多实例',
875
+ 'Sequential Multi Instance': '顺序多重实例',
876
+ 'Loop': '循环',
877
+ 'Ad-hoc': '特别指定',
878
+ 'Task': '任务',
879
+ 'Send Task': '发送任务', // 发送任务
880
+ 'Receive Task': '接收任务',
881
+ 'User Task': '用户任务',
882
+ 'Manual Task': '手工任务',
883
+ 'Business Rule Task': '作业规则任务',
884
+ 'Service Task': '服务任务',
885
+ 'Script Task': '脚本任务',
886
+ 'Call Activity': '调用活动',
887
+ 'Sub Process (collapsed)': '子过程(折叠)',
888
+ 'Sub Process (expanded)': '子过程(展开)',
889
+ 'Start Event': '开始事件',
890
+ 'Intermediate Throw Event': '抛出事件',
891
+ 'End Event': '结束事件',
892
+ 'Message Start Event': '消息开始事件',
893
+ 'Timer Start Event': '时间开始事件',
894
+ 'Conditional Start Event': '条件开始事件',
895
+ 'Signal Start Event': '信号开始事件',
896
+ 'Error Start Event': '错误开始事件',
897
+ 'Escalation Start Event': '升级开始事件',
898
+ 'Compensation Start Event': '补偿开始事件',
899
+ 'Message Start Event (non-interrupting)': '消息开始事件(不中断)',
900
+ 'Timer Start Event (non-interrupting)': '定时开始事件(不中断)',
901
+ 'Conditional Start Event (non-interrupting)': '条件开始事件(不中断)',
902
+ 'Signal Start Event (non-interrupting)': '信号开始事件(不中断)',
903
+ 'Escalation Start Event (non-interrupting)': '升级开始事件(不中断)',
904
+ 'Message Intermediate Catch Event': '信息捕获事件',
905
+ 'Message Intermediate Throw Event': '信息抛出事件',
906
+ 'Timer Intermediate Catch Event': '定时器捕获事件',
907
+ 'Escalation Intermediate Throw Event': '升级抛出事件',
908
+ 'Conditional Intermediate Catch Event': '条件捕获事件',
909
+ 'Link Intermediate Catch Event': '链接捕获事件',
910
+ 'Link Intermediate Throw Event': '链接抛出事件',
911
+ 'Compensation Intermediate Throw Event': '补偿抛出事件',
912
+ 'Signal Intermediate Catch Event': '信号捕获事件',
913
+ 'Signal Intermediate Throw Event': '信号抛出事件',
914
+ 'Message End Event': '消息结束事件',
915
+ 'Escalation End Event': '升级结束事件',
916
+ 'Error End Event': '错误结束事件',
917
+ 'Cancel End Event': '取消结束事件',
918
+ 'Compensation End Event': '补偿结束事件',
919
+ 'Signal End Event': '信号结束事件',
920
+ 'Terminate End Event': '终止结束事件',
921
+ 'Message Boundary Event': '消息边界事件',
922
+ 'Message Boundary Event (non-interrupting)': '消息边界事件(非中断)',
923
+ 'Timer Boundary Event': '定时边界事件',
924
+ 'Timer Boundary Event (non-interrupting)': '定时边界事件(非中断)',
925
+ 'Escalation Boundary Event': '升级边界事件',
926
+ 'Escalation Boundary Event (non-interrupting)': '升级边界事件(非中断)',
927
+ 'Conditional Boundary Event': '有条件的边界事件',
928
+ 'Conditional Boundary Event (non-interrupting)': '条件边界事件(非中断)',
929
+ 'Error Boundary Event': '错误边界事件',
930
+ 'Cancel Boundary Event': '取消边界事件',
931
+ 'Signal Boundary Event': '信号边界事件',
932
+ 'Signal Boundary Event (non-interrupting)': '信号边界事件(非中断)',
933
+ 'Compensation Boundary Event': '补偿边界事件',
934
+ 'Exclusive': '排他',
935
+ 'Exclusive Gateway': '互斥网关',
936
+ 'Parallel Gateway': '并行网关',
937
+ 'Inclusive Gateway': '相容网关',
938
+ 'Complex Gateway': '复杂网关',
939
+ 'Event based Gateway': '事件网关',
940
+ 'Transaction': '交换',
941
+ 'Sub Process': '子流程',
942
+ 'Event Sub Process': '事件子流程',
943
+ 'Empty Pool (removes content)': '清空泳池(删除内容)',
944
+ 'Collapsed Pool': '合并泳池',
945
+ 'Expanded Pool': '扩展泳池',
946
+
947
+ // flow
948
+ 'Default Flow': '默认流向',
949
+ 'Sequence Flow': '顺序流向',
950
+ 'Conditional Flow': '条件流向',
951
+
952
+ // Errors
953
+ 'no parent for {element} in {parent}': '在{parent}中的{element}没有父元素',
954
+ 'no shape type specified': '没有指定的形状类型',
955
+ 'flow elements must be children of pools/participants': '流动元素必须是游泳池/参与者',
956
+ 'out of bounds release': '跨界界释放',
957
+ 'more than {count} child lanes': '超出{count}分支',
958
+ 'element required': '被请求元素',
959
+ 'diagram not part of bpmn': '图在bpmn中',
960
+ 'no diagram to display': '没有图表来显示',
961
+ 'no process or collaboration to display': '没有流程或协作显示',
962
+ 'element {element} referenced by {referenced}#{property} not yet drawn':
963
+ '元素{element}在{referenced}#{property}的引用还没有绘制',
964
+ 'already rendered {element}': '已经提供{element}',
965
+ 'failed to import {element}': '元素导入失败{element}',
966
+ 'ID must not be empty.': 'ID不能为空!',
967
+ 'ID must be a valid QName.': '无效的ID输入!',
968
+
969
+ // message
970
+ 'This maps to the process definition key.': '映射流程定义的Key。',
971
+ 'This maps to the task definition key.': '映射任务定义的Key。',
972
+ 'Specify more than one group as a comma separated list.': '多于一个组时为逗号分隔的列表。',
973
+ 'Specify more than one user as a comma separated list.': '多于一个用户时为逗号分隔的列表。',
974
+ 'Must provide either loop cardinality or collection': '必须提供循环基数或集合',
975
+ 'Available process variables, identified in the diagram.': '可用的过程变量,如图中所示。',
976
+ 'No variables found.': '未找到变量。',
977
+
978
+ 'General': '基本属性',
979
+ 'Documentation': '备注',
980
+ 'Element documentation': '元素备注',
981
+ 'Executable': '可执行',
982
+ 'Process Documentation': '过程说明',
983
+ '': '无',
984
+ 'Listeners': '监听器',
985
+ 'Execution Listener': '扩展监听器',
986
+ 'Extensions': '扩展',
987
+ 'Properties': '属性',
988
+ 'Add Property': '添加属性',
989
+ 'Process Id': '流程标识',
990
+ 'Process Name': '流程名称',
991
+ 'Participant Id': '参与者标识',
992
+ 'Participant Name': '参与者名称',
993
+ 'Name': '名称',
994
+ 'Id': '标识',
995
+ 'ID': '标识',
996
+ 'Value': '值',
997
+ 'Version Tag': '版本标记',
998
+ 'External Task Configuration': '外部任务配置',
999
+ 'Task Priority': '任务优先级',
1000
+ 'Job Configuration': '作业配置',
1001
+ 'Job Priority': '作业优先级',
1002
+ 'History Configuration': '历史配置',
1003
+ 'History Time To Live': '历史生存时间',
1004
+ 'Details': '详情',
1005
+ 'Initiator': '初始化',
1006
+ 'Asynchronous Continuations': '异步连续',
1007
+ 'Asynchronous Before': '异步之前',
1008
+ 'Asynchronous After': '异步之后',
1009
+ 'Forms': '表单',
1010
+ 'Form Key': '表单名',
1011
+ 'Form Fields': '表单字段',
1012
+ 'Form Buttons': '表单按钮',
1013
+ 'Form Field': '表单字段',
1014
+ 'Form Button': '表单按钮',
1015
+ 'Button Name': '按钮名称',
1016
+ 'Business Key': '业务键',
1017
+ 'Type': '类型',
1018
+ 'Label': '标签',
1019
+ 'Default Value': '默认值',
1020
+ 'Validation': '校验',
1021
+ 'Add Constraint': '添加约束',
1022
+ 'Config': '配置',
1023
+ 'Must provide a value': '必须提供一个值',
1024
+ 'Event Type': '事件类型',
1025
+ 'Listener Type': '监听器类型',
1026
+ 'Java Class': 'Java 类',
1027
+ 'Field Injection': '字段注入',
1028
+ 'Fields': '字段',
1029
+ 'Condition Type': '条件类型',
1030
+ 'Script Format': '脚本格式',
1031
+ 'Script Type': '脚本类型',
1032
+ 'Inline Script': '内联脚本',
1033
+ 'External Resource': '外部资源',
1034
+ 'Expression': '表达式',
1035
+ 'Delegate Expression': '委托表达式',
1036
+ 'Script': '脚本',
1037
+ 'Parameter must have a name': '参数必须有一个名称',
1038
+ 'String': '字符串',
1039
+ 'Implementation': '实现',
1040
+ 'External': '外部',
1041
+ 'Connector': '连接器',
1042
+ 'Must configure Connector': '必须配置连接器',
1043
+ 'Connector Id': '连接器ID',
1044
+ 'Input/Output': '输入/输出',
1045
+ 'Input Parameters': '输入参数',
1046
+ 'Input Parameter': '输入参数',
1047
+ 'Output Parameters': '输出参数',
1048
+ 'Output Parameter': '输出参数',
1049
+ 'Text': '文本',
1050
+ 'List': '列表',
1051
+ 'Add Entry': '增加条目',
1052
+ 'Field Injections': '字段注入',
1053
+ 'TextAnnotation': '文本注释',
1054
+ 'Variables': '变量',
1055
+ 'In Mapping': '输入映射',
1056
+ 'Out Mapping': '输出映射',
1057
+ 'Target': '目标',
1058
+ 'Source': '来源',
1059
+ 'Local': '本地',
1060
+ 'Candidate Starter Configuration': '候选人起动器配置',
1061
+ 'Candidate Starter Groups': '候选人起动器组',
1062
+ 'Candidate Starter Users': '候选人起动器用户',
1063
+ 'Configure Connector': '配置连接器',
1064
+ 'Assignee Type': '受理人类型',
1065
+ 'Assignee': '受理人',
1066
+ 'Dynamic': '动态',
1067
+ 'Static': '静态',
1068
+ 'User': '用户',
1069
+ 'Role': '角色',
1070
+ 'Candidate Users': '候选用户',
1071
+ 'Candidate Groups': '候选组',
1072
+ 'Due Date': '到期',
1073
+ 'Follow Up Date': '跟踪日期',
1074
+ 'Priority': '优先级',
1075
+ 'The due date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':
1076
+ '可以使用EL表达式,(例如:${someDate} 或者ISO日期(例如:2015-06-26T09:54:00))',
1077
+ 'The follow up date as an EL expression (e.g. ${someDate} or an ISO date (e.g. 2015-06-26T09:54:00)':
1078
+ '可以使用EL表达式,(例如:${someDate} 或者ISO日期(例如:2015-06-26T09:54:00))',
1079
+
1080
+ 'Create Task': '创建任务',
1081
+ 'Create DataObjectReference': '创建数据对象引用',
1082
+ 'Create DataStoreReference': '创建数据存储引用',
1083
+ 'Create Group': '创建分组',
1084
+ 'Category Value': '类别值',
1085
+
1086
+ //custom
1087
+ 'Create CallActivity': '创建调用任务',
1088
+ 'Append Gateway': '追加网关节点',
1089
+ 'Append Intermediate/Boundary Event': '追加中间/边界事件',
1090
+ 'StartEvent': '开始节点',
1091
+ 'EndEvent': '结束节点',
1092
+ 'DataObjectReference': '数据对象引用',
1093
+ 'DataStoreReference': '数据存储引用',
1094
+ 'Element must have an unique id.': '节点元素必须用于唯一编号',
1095
+ 'Create ExclusiveGateway': '创建排他网关',
1096
+ 'Create Pool/Participant': '创建泳道或参与者',
1097
+ 'Append ExclusiveGateway': '追加排他网关',
1098
+ 'Append Task': '追加任务',
1099
+ 'Append UserTask': '追加用户任务',
1100
+ 'Append Sequence': '追加连线',
1101
+ 'Append EndEvent': '追加结束节点',
1102
+ 'UserTask': '用户任务',
1103
+ 'ExclusiveGateway': '条件', //排他网关
1104
+ 'Element is not set findUserType': '员工节点未设置节点人员',
1105
+ 'Token Simulation ': '流程模拟',
1106
+ 'Tasklist Configuration': '任务列表配置',
1107
+ 'Startable': '可启动',
1108
+ 'Element Documentation': '元素描述',
1109
+
1110
+ 'Multi Instance': '多实例',
1111
+ 'Loop Cardinality': '循环基数',
1112
+ 'Collection': '集合',
1113
+ 'Element Variable': '元素变量',
1114
+ 'Completion Condition': '完成条件',
1115
+ 'Multi Instance Asynchronous Before': '多实例异步之前',
1116
+ 'Multi Instance Asynchronous After': '多实例异步之后',
1117
+ 'Multi Instance Exclusive': '多实例排他',
1118
+ 'Multi Instance Retry Time Cycle': '多实例重试时间',
1119
+ */
1120
+ };
1121
+
1122
+ function customTranslate(template, replacements) {
1123
+ replacements = replacements || {};
1124
+ // Translate
1125
+ template = translations[template] || template;
1126
+ // Replace
1127
+ return template.replace(/{([^}]+)}/g, function (_, key) {
1128
+ return replacements[key] || '{' + key + '}';
1129
+ });
1130
+ }
1131
+ var customTranslateModule = {
1132
+ translate: ['value', customTranslate]
1133
+ };
1134
+
1135
+ class UserTaskPaletteProvider {
1136
+ constructor(palette, translate, elementFactory, moddle, modeling, create) {
1137
+ this.translate = translate;
1138
+ this.elementFactory = elementFactory;
1139
+ this.moddle = moddle;
1140
+ this.modeling = modeling;
1141
+ this.create = create;
1142
+ palette.registerProvider(this);
1143
+ this.createUserTask = this.createUserTask.bind(this);
1144
+ }
1145
+ getPaletteEntries() {
1146
+ return {
1147
+ 'create.user-task': {
1148
+ group: 'activity',
1149
+ className: 'bpmn-icon-user-task',
1150
+ title: this.translate('Create UserTask'),
1151
+ action: {
1152
+ dragstart: this.createUserTask,
1153
+ click: this.createUserTask
1154
+ }
1155
+ }
1156
+ };
1157
+ }
1158
+ createUserTask(event) {
1159
+ const shape = this.elementFactory.createShape({ type: 'bpmn:UserTask' });
1160
+ const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');
1161
+ loopCharacteristics.set('isSequential', false);
1162
+ this.modeling.updateProperties(shape, { loopCharacteristics });
1163
+ this.create.start(event, shape);
1164
+ }
1165
+ }
1166
+
1167
+ class UserTaskContextPadProvider {
1168
+ constructor(contextPad, translate, appendPreview, elementFactory, autoPlace, moddle, modeling, create) {
1169
+ this.translate = translate;
1170
+ this.appendPreview = appendPreview;
1171
+ this.elementFactory = elementFactory;
1172
+ this.autoPlace = autoPlace;
1173
+ this.moddle = moddle;
1174
+ this.modeling = modeling;
1175
+ this.create = create;
1176
+ contextPad.registerProvider(this);
1177
+ this.appendUserTaskPreview = this.appendUserTaskPreview.bind(this);
1178
+ this.appendUserTask = this.appendUserTask.bind(this);
1179
+ this.appendUserTaskStart = this.appendUserTaskStart.bind(this);
1180
+ }
1181
+ getContextPadEntries() {
1182
+ return {
1183
+ 'append.user-task': {
1184
+ group: 'model',
1185
+ className: 'bpmn-icon-user-task',
1186
+ title: this.translate('Append UserTask'),
1187
+ action: {
1188
+ hover: this.appendUserTaskPreview,
1189
+ click: this.appendUserTask,
1190
+ dragstart: this.appendUserTaskStart
1191
+ }
1192
+ }
1193
+ };
1194
+ }
1195
+ appendUserTaskPreview(event, source) {
1196
+ this.appendPreview.create(source, 'bpmn:UserTask');
1197
+ return () => {
1198
+ this.appendPreview.cleanUp();
1199
+ };
1200
+ }
1201
+ appendUserTask(event, source) {
1202
+ const shape = this.elementFactory.createShape({ type: 'bpmn:UserTask' });
1203
+ const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');
1204
+ loopCharacteristics.set('isSequential', false);
1205
+ this.modeling.updateProperties(shape, { loopCharacteristics });
1206
+ this.autoPlace.append(source, shape);
1207
+ this.appendPreview.cleanUp();
1208
+ }
1209
+ appendUserTaskStart(event, source) {
1210
+ const shape = this.elementFactory.createShape({ type: 'bpmn:UserTask' });
1211
+ const loopCharacteristics = this.moddle.create('bpmn:MultiInstanceLoopCharacteristics');
1212
+ loopCharacteristics.set('isSequential', false);
1213
+ this.modeling.updateProperties(shape, { loopCharacteristics });
1214
+ this.create.start(event, shape, {
1215
+ source: source
1216
+ });
1217
+ this.appendPreview.cleanUp();
1218
+ }
1219
+ }
1220
+
1221
+ var customUserTaskModule = {
1222
+ __init__: ['userTaskPaletteProvider', 'userTaskContextPadProvider'],
1223
+ userTaskPaletteProvider: ['type', UserTaskPaletteProvider],
1224
+ userTaskContextPadProvider: ['type', UserTaskContextPadProvider],
1225
+ };
1226
+
1227
+ class HideOtherPaletteProvider {
1228
+ constructor(palette) {
1229
+ this.visibleEntryKeys = [
1230
+ 'hand-tool',
1231
+ 'lasso-tool',
1232
+ 'space-tool',
1233
+ 'global-connect-tool',
1234
+ 'tool-separator',
1235
+ 'create.start-event',
1236
+ 'create.end-event',
1237
+ 'create.user-task',
1238
+ 'create.exclusive-gateway',
1239
+ 'xml'
1240
+ ];
1241
+ palette.registerProvider(0, this);
1242
+ }
1243
+ getPaletteEntries() {
1244
+ return (entries) => {
1245
+ const visibleEntries = {};
1246
+ for (const visibleEntryKey of this.visibleEntryKeys) {
1247
+ if (entries.hasOwnProperty(visibleEntryKey)) {
1248
+ visibleEntries[visibleEntryKey] = entries[visibleEntryKey];
1249
+ }
1250
+ }
1251
+ return visibleEntries;
1252
+ };
1253
+ }
1254
+ }
1255
+
1256
+ class HideOtherContextPadProvider {
1257
+ constructor(contextPad, translate, popupMenu) {
1258
+ this.contextPad = contextPad;
1259
+ this.translate = translate;
1260
+ this.popupMenu = popupMenu;
1261
+ contextPad.registerProvider(0, this);
1262
+ }
1263
+ getContextPadEntries(element) {
1264
+ return (entries) => {
1265
+ if (is(element, 'bpmn:EndEvent')) {
1266
+ return {
1267
+ 'delete': entries['delete'],
1268
+ 'set-color': entries['set-color']
1269
+ };
1270
+ }
1271
+ else if (is(element, 'bpmn:SequenceFlow')) {
1272
+ if (entries['replace']) {
1273
+ return {
1274
+ 'replace': this.createReplaceAction(element),
1275
+ 'delete': entries['delete'],
1276
+ 'set-color': entries['set-color']
1277
+ };
1278
+ }
1279
+ return {
1280
+ 'delete': entries['delete'],
1281
+ 'set-color': entries['set-color']
1282
+ };
1283
+ }
1284
+ else if (is(element, 'bpmn:Gateway')) {
1285
+ return {
1286
+ 'append.user-task': entries['append.user-task'],
1287
+ 'append.gateway': entries['append.gateway'],
1288
+ 'append.end-event': entries['append.end-event'],
1289
+ 'connect': entries['connect'],
1290
+ 'replace': this.createReplaceAction(element),
1291
+ 'delete': entries['delete'],
1292
+ 'set-color': entries['set-color']
1293
+ };
1294
+ }
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
+ 'delete': entries['delete'],
1301
+ 'set-color': entries['set-color']
1302
+ };
1303
+ };
1304
+ }
1305
+ getReplaceMenuPosition(element) {
1306
+ const pad = this.contextPad.getPad(element).html;
1307
+ const padRect = pad.getBoundingClientRect();
1308
+ return {
1309
+ x: padRect.left,
1310
+ y: padRect.bottom + 5
1311
+ };
1312
+ }
1313
+ createReplaceAction(element) {
1314
+ return {
1315
+ group: 'edit',
1316
+ className: 'bpmn-icon-screw-wrench',
1317
+ title: this.translate('Change type'),
1318
+ action: {
1319
+ click: (event, element) => {
1320
+ const position = Object.assign(this.getReplaceMenuPosition(element), {
1321
+ cursor: {
1322
+ x: event.x,
1323
+ y: event.y
1324
+ }
1325
+ });
1326
+ this.popupMenu.open(element, 'bpmn-replace', position, {
1327
+ width: 300,
1328
+ search: true
1329
+ });
1330
+ }
1331
+ }
1332
+ };
1333
+ }
1334
+ }
1335
+
1336
+ class GatewayReplaceMenuProvider {
1337
+ constructor(popupMenu) {
1338
+ popupMenu.registerProvider('bpmn-replace', 0, this);
1339
+ }
1340
+ getPopupMenuEntries(element) {
1341
+ return (entries) => {
1342
+ if (is(element, 'bpmn:ExclusiveGateway')) {
1343
+ return {
1344
+ 'replace-with-parallel-gateway': entries['replace-with-parallel-gateway']
1345
+ };
1346
+ }
1347
+ else if (is(element, 'bpmn:ParallelGateway')) {
1348
+ return {
1349
+ 'replace-with-exclusive-gateway': entries['replace-with-exclusive-gateway']
1350
+ };
1351
+ }
1352
+ return entries;
1353
+ };
1354
+ }
1355
+ }
1356
+
1357
+ var customHideOtherModule = {
1358
+ __init__: ['hideOtherPaletteProvider', 'hideOtherContextPadProvider', 'gatewayReplaceMenuProvider'],
1359
+ hideOtherPaletteProvider: ['type', HideOtherPaletteProvider],
1360
+ hideOtherContextPadProvider: ['type', HideOtherContextPadProvider],
1361
+ gatewayReplaceMenuProvider: ['type', GatewayReplaceMenuProvider]
1362
+ };
1363
+
1364
+ function addExtensionProperty(element, key, value, bpmnFactory, modeling) {
1365
+ let extensionElements = element.businessObject.get('extensionElements');
1366
+ if (!extensionElements) {
1367
+ extensionElements = bpmnFactory.create('bpmn:ExtensionElements', { values: [] });
1368
+ extensionElements.$parent = element.businessObject;
1369
+ modeling.updateModdleProperties(element, element.businessObject, { extensionElements });
1370
+ }
1371
+ let properties = null;
1372
+ const extensionElementValues = extensionElements.get('values');
1373
+ const existPropertiesElements = extensionElementValues.filter((value) => is(value, 'camunda:Properties'));
1374
+ if (existPropertiesElements.length > 0) {
1375
+ properties = existPropertiesElements[0];
1376
+ }
1377
+ if (!properties) {
1378
+ properties = bpmnFactory.create('camunda:Properties', { values: [] });
1379
+ properties.$parent = extensionElements;
1380
+ modeling.updateModdleProperties(element, extensionElements, { values: [...extensionElements.get('values'), properties] });
1381
+ }
1382
+ const propertyValues = properties.get('values');
1383
+ const existPropertyIndex = propertyValues.findIndex((value) => value.name === key);
1384
+ if (existPropertyIndex > -1) {
1385
+ modeling.updateModdleProperties(element, propertyValues[existPropertyIndex], { name: key, value });
1386
+ }
1387
+ else {
1388
+ const property = bpmnFactory.create('camunda:Property', { name: key, value });
1389
+ property.$parent = properties;
1390
+ modeling.updateModdleProperties(element, properties, { values: [...properties.get('values'), property] });
1391
+ }
1392
+ }
1393
+
1394
+ // @ts-ignore
1395
+ class DescriptionProps {
1396
+ constructor(props) {
1397
+ this.id = 'Coast_taskDescription';
1398
+ const { element, translate, bpmnFactory, modeling, debounce } = props;
1399
+ this.component = () => {
1400
+ return TextFieldEntry({
1401
+ id: this.id,
1402
+ element: element,
1403
+ label: translate('Task Description'),
1404
+ getValue: () => {
1405
+ return element.businessObject.get('taskDescription') || '';
1406
+ },
1407
+ setValue: (value) => {
1408
+ modeling.updateModdleProperties(element, element.businessObject, {
1409
+ 'taskDescription': value
1410
+ });
1411
+ addExtensionProperty(element, 'taskDescription', value, bpmnFactory, modeling);
1412
+ },
1413
+ debounce
1414
+ });
1415
+ };
1416
+ this.isEdited = isTextFieldEntryEdited;
1417
+ }
1418
+ }
1419
+
1420
+ class CustomPropertiesProvider {
1421
+ constructor(propertiesPanel, translate, bpmnFactory, modeling, debounceInput) {
1422
+ this.translate = translate;
1423
+ this.bpmnFactory = bpmnFactory;
1424
+ this.modeling = modeling;
1425
+ this.debounceInput = debounceInput;
1426
+ propertiesPanel.registerProvider(0, this);
1427
+ }
1428
+ getGroups(element) {
1429
+ return ((groups) => {
1430
+ if (is(element, 'bpmn:UserTask')) {
1431
+ console.log(groups);
1432
+ return [groups.find((group) => group.id === 'general'), {
1433
+ id: 'Coast_Implementation',
1434
+ label: this.translate('More config'),
1435
+ entries: [new DescriptionProps({
1436
+ element,
1437
+ translate: this.translate,
1438
+ bpmnFactory: this.bpmnFactory,
1439
+ modeling: this.modeling,
1440
+ debounce: this.debounceInput
1441
+ })]
1442
+ }];
1443
+ }
1444
+ return groups;
1445
+ });
1446
+ }
1447
+ }
1448
+
1449
+ var customPropertiesPanelModule = {
1450
+ __init__: ['customPropertiesProvider'],
1451
+ customPropertiesProvider: ['type', CustomPropertiesProvider]
1452
+ };
1453
+
1454
+ var name = "Coast Custom";
1455
+ var prefix = "coast";
1456
+ var uri = "https://c-standard.cn";
1457
+ var xml = {
1458
+ tagAlias: "lowerCase"
1459
+ };
1460
+ var associations = [
1461
+ ];
1462
+ var types = [
1463
+ {
1464
+ name: "CoastUserTask",
1465
+ "extends": [
1466
+ "bpmn:UserTask"
1467
+ ],
1468
+ properties: [
1469
+ {
1470
+ name: "taskDescription",
1471
+ isAttr: true,
1472
+ type: "String"
1473
+ }
1474
+ ]
1475
+ }
1476
+ ];
1477
+ var coastModdleDescriptor = {
1478
+ name: name,
1479
+ prefix: prefix,
1480
+ uri: uri,
1481
+ xml: xml,
1482
+ associations: associations,
1483
+ types: types
1484
+ };
1485
+
841
1486
  class CodeEditorComponent {
842
1487
  set code(code) {
843
1488
  this._code = code || '';
@@ -910,6 +1555,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
910
1555
  args: ['editorContainer', { static: true }]
911
1556
  }] } });
912
1557
 
1558
+ class CamundaBpmnEditorComponent {
1559
+ constructor() {
1560
+ this.isShowXml = false;
1561
+ }
1562
+ ngAfterViewInit() {
1563
+ this.modeler = new BpmnModeler({
1564
+ container: this.container?.nativeElement,
1565
+ propertiesPanel: {
1566
+ parent: this.config?.nativeElement,
1567
+ },
1568
+ keyboard: {
1569
+ bindTo: document,
1570
+ },
1571
+ additionalModules: [
1572
+ customTranslateModule,
1573
+ customUserTaskModule,
1574
+ customHideOtherModule,
1575
+ customPropertiesPanelModule
1576
+ ],
1577
+ moddleExtensions: {
1578
+ coast: coastModdleDescriptor
1579
+ }
1580
+ });
1581
+ const logo = this.modeler._container.querySelector('.bjs-powered-by');
1582
+ if (logo) {
1583
+ this.modeler._container.removeChild(logo);
1584
+ }
1585
+ this.canvas = this.modeler.get('canvas');
1586
+ this.modeler.createDiagram().then(() => {
1587
+ this.canvas.zoom('fit-viewport');
1588
+ });
1589
+ }
1590
+ showXml() {
1591
+ if (!this.isShowXml) {
1592
+ this.modeler.saveXML({ format: true }).then((response) => {
1593
+ this.xml = response.xml;
1594
+ });
1595
+ }
1596
+ this.isShowXml = !this.isShowXml;
1597
+ }
1598
+ }
1599
+ CamundaBpmnEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1600
+ 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"] }] });
1601
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorComponent, decorators: [{
1602
+ type: Component,
1603
+ 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"] }]
1604
+ }], propDecorators: { container: [{
1605
+ type: ViewChild,
1606
+ args: ['container']
1607
+ }], config: [{
1608
+ type: ViewChild,
1609
+ args: ['config']
1610
+ }] } });
1611
+
913
1612
  class CodeEditorModule {
914
1613
  }
915
1614
  CodeEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CodeEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -936,6 +1635,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
936
1635
  }]
937
1636
  }] });
938
1637
 
1638
+ class CamundaBpmnEditorModule {
1639
+ }
1640
+ CamundaBpmnEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1641
+ CamundaBpmnEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorModule, declarations: [CamundaBpmnEditorComponent], imports: [CommonModule,
1642
+ CodeEditorModule,
1643
+ DevExtremeModule], exports: [CamundaBpmnEditorComponent] });
1644
+ CamundaBpmnEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorModule, imports: [CommonModule,
1645
+ CodeEditorModule,
1646
+ DevExtremeModule] });
1647
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CamundaBpmnEditorModule, decorators: [{
1648
+ type: NgModule,
1649
+ args: [{
1650
+ declarations: [
1651
+ CamundaBpmnEditorComponent
1652
+ ],
1653
+ imports: [
1654
+ CommonModule,
1655
+ CodeEditorModule,
1656
+ DevExtremeModule
1657
+ ],
1658
+ exports: [
1659
+ CamundaBpmnEditorComponent
1660
+ ]
1661
+ }]
1662
+ }] });
1663
+
939
1664
  class DataGridService {
940
1665
  constructor(http) {
941
1666
  this.http = http;
@@ -2107,10 +2832,10 @@ class FormComponent {
2107
2832
  }
2108
2833
  }
2109
2834
  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 });
2110
- 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"] }] });
2835
+ 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"] }] });
2111
2836
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, decorators: [{
2112
2837
  type: Component,
2113
- 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"] }]
2838
+ 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"] }]
2114
2839
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: FormService }]; }, propDecorators: { tenant: [{
2115
2840
  type: Input
2116
2841
  }], className: [{
@@ -2121,6 +2846,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2121
2846
  type: Input
2122
2847
  }], template: [{
2123
2848
  type: Input
2849
+ }], params: [{
2850
+ type: Input
2124
2851
  }], readonly: [{
2125
2852
  type: Input
2126
2853
  }], validator: [{
@@ -2149,7 +2876,7 @@ class DataDetailComponent {
2149
2876
  }
2150
2877
  }
2151
2878
  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 });
2152
- 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"] }] });
2879
+ 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"] }] });
2153
2880
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataDetailComponent, decorators: [{
2154
2881
  type: Component,
2155
2882
  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"] }]
@@ -2159,6 +2886,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2159
2886
  type: Input
2160
2887
  }], oid: [{
2161
2888
  type: Input
2889
+ }], params: [{
2890
+ type: Input
2162
2891
  }] } });
2163
2892
 
2164
2893
  class FormModule {
@@ -2306,6 +3035,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2306
3035
  }], ctorParameters: function () { return []; } });
2307
3036
 
2308
3037
  class DynamicParamsComponent {
3038
+ constructor() {
3039
+ this.readonly = false;
3040
+ }
2309
3041
  add() {
2310
3042
  this.params.push({ name: '', value: '' });
2311
3043
  }
@@ -2314,14 +3046,16 @@ class DynamicParamsComponent {
2314
3046
  }
2315
3047
  }
2316
3048
  DynamicParamsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2317
- 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"] }] });
3049
+ 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"] }] });
2318
3050
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, decorators: [{
2319
3051
  type: Component,
2320
- 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"] }]
3052
+ 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"] }]
2321
3053
  }], propDecorators: { label: [{
2322
3054
  type: Input
2323
3055
  }], params: [{
2324
3056
  type: Input
3057
+ }], readonly: [{
3058
+ type: Input
2325
3059
  }] } });
2326
3060
 
2327
3061
  class DynamicParamsModule {
@@ -2766,5 +3500,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2766
3500
  * Generated bundle index. Do not edit.
2767
3501
  */
2768
3502
 
2769
- 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 };
3503
+ 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 };
2770
3504
  //# sourceMappingURL=ngx-rs-ant.mjs.map