ngx-rs-ant 1.3.3 → 1.3.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 (45) hide show
  1. package/box-container/box-item/box-item.component.d.ts +3 -0
  2. package/camunda-bpmn-editor/camunda-bpmn-editor.component.d.ts +1 -1
  3. package/camunda-bpmn-editor/custom/config/CustomPropertiesProvider.d.ts +1 -4
  4. package/camunda-bpmn-editor/custom/config/properties/{DescriptionProps.d.ts → user-task/TaskDescriptionProps.d.ts} +1 -1
  5. package/camunda-bpmn-editor/custom/config/properties/user-task/user-assignment/UserAssignmentProps.d.ts +2 -0
  6. package/camunda-bpmn-editor/custom/config/properties/user-task/user-assignment/UserAssignmentStaticOrDynamicProps.d.ts +6 -0
  7. package/camunda-bpmn-editor/custom/config/util/ElementUtils.d.ts +3 -1
  8. package/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.d.ts +4 -0
  9. package/camunda-bpmn-editor/custom/service-task/ServiceTaskContextPadProvider.d.ts +23 -0
  10. package/camunda-bpmn-editor/custom/service-task/ServiceTaskPaletteProvider.d.ts +18 -0
  11. package/camunda-bpmn-editor/custom/service-task/index.d.ts +8 -0
  12. package/data-detail/data-detail.component.d.ts +2 -1
  13. package/data-grid/data-grid.component.d.ts +1 -1
  14. package/dynamic-params/dynamic-params.component.d.ts +7 -1
  15. package/dynamic-params/dynamic-params.module.d.ts +4 -3
  16. package/dynamic-params/tooltip-content-template.directive.d.ts +8 -0
  17. package/esm2020/box-container/box-item/box-item.component.mjs +5 -2
  18. package/esm2020/camunda-bpmn-editor/camunda-bpmn-editor.component.mjs +23 -7
  19. package/esm2020/camunda-bpmn-editor/custom/config/CustomPropertiesProvider.mjs +21 -19
  20. package/esm2020/camunda-bpmn-editor/custom/config/properties/user-task/TaskDescriptionProps.mjs +26 -0
  21. package/esm2020/camunda-bpmn-editor/custom/config/properties/user-task/user-assignment/UserAssignmentProps.mjs +5 -0
  22. package/esm2020/camunda-bpmn-editor/custom/config/properties/user-task/user-assignment/UserAssignmentStaticOrDynamicProps.mjs +32 -0
  23. package/esm2020/camunda-bpmn-editor/custom/config/util/ElementUtils.mjs +30 -9
  24. package/esm2020/camunda-bpmn-editor/custom/hide-other/HideOtherContextPadProvider.mjs +3 -1
  25. package/esm2020/camunda-bpmn-editor/custom/hide-other/HideOtherPaletteProvider.mjs +2 -1
  26. package/esm2020/camunda-bpmn-editor/custom/service-task/ServiceTaskContextPadProvider.mjs +46 -0
  27. package/esm2020/camunda-bpmn-editor/custom/service-task/ServiceTaskPaletteProvider.mjs +27 -0
  28. package/esm2020/camunda-bpmn-editor/custom/service-task/index.mjs +8 -0
  29. package/esm2020/camunda-bpmn-editor/custom/translate/translations.mjs +26 -2
  30. package/esm2020/data-detail/data-detail.component.mjs +5 -13
  31. package/esm2020/data-grid/data-grid.component.mjs +2 -1
  32. package/esm2020/dynamic-params/dynamic-params.component.mjs +25 -6
  33. package/esm2020/dynamic-params/dynamic-params.module.mjs +10 -5
  34. package/esm2020/dynamic-params/tooltip-content-template.directive.mjs +16 -0
  35. package/esm2020/form/form.component.mjs +10 -2
  36. package/esm2020/public-api.mjs +2 -1
  37. package/fesm2015/ngx-rs-ant.mjs +277 -98
  38. package/fesm2015/ngx-rs-ant.mjs.map +1 -1
  39. package/fesm2020/ngx-rs-ant.mjs +280 -99
  40. package/fesm2020/ngx-rs-ant.mjs.map +1 -1
  41. package/form/form.component.d.ts +3 -2
  42. package/package.json +1 -1
  43. package/public-api.d.ts +1 -0
  44. package/esm2020/camunda-bpmn-editor/custom/config/descriptors/coast.json +0 -24
  45. package/esm2020/camunda-bpmn-editor/custom/config/properties/DescriptionProps.mjs +0 -28
@@ -9,7 +9,7 @@ import * as i2$1 from 'devextreme-angular/ui/draggable';
9
9
  import { DevExtremeModule, DxLoadPanelModule, DxDataGridComponent, DxValidationGroupComponent } from 'devextreme-angular';
10
10
  import BpmnModeler from 'camunda-bpmn-js/lib/camunda-platform/Modeler';
11
11
  import { is } from 'bpmn-js/lib/util/ModelUtil';
12
- import { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';
12
+ import { TextAreaEntry, isTextAreaEntryEdited, SelectEntry, isSelectEntryEdited } from '@bpmn-io/properties-panel';
13
13
  import * as i6 from 'devextreme-angular/ui/load-panel';
14
14
  import * as i6$1 from 'devextreme-angular/ui/nested';
15
15
  import { DxoPositionModule } from 'devextreme-angular/ui/nested';
@@ -24,8 +24,8 @@ import * as i2$2 from '@angular/platform-browser';
24
24
  import * as i3$1 from 'devextreme-angular/ui/accordion';
25
25
  import notify from 'devextreme/ui/notify';
26
26
  import * as i7 from 'devextreme-angular/ui/validation-group';
27
- import * as i3$2 from 'devextreme-angular/ui/text-box';
28
- import * as i4$1 from 'devextreme-angular/ui/popover';
27
+ import * as i4$1 from 'devextreme-angular/ui/text-box';
28
+ import * as i4$2 from 'devextreme-angular/ui/popover';
29
29
 
30
30
  class DividerLineComponent {
31
31
  get _style() {
@@ -589,7 +589,10 @@ class BoxItemComponent {
589
589
  calcStyle(item) {
590
590
  const width = item.style?.width ? item.style.width : 'auto';
591
591
  const height = item.style?.height ? item.style.height : 'auto';
592
- return this._calcStyle(this.config.direction, width, height);
592
+ return {
593
+ ...this._calcStyle(this.config.direction, width, height),
594
+ position: 'relative'
595
+ };
593
596
  }
594
597
  _calcStyle(direction, width, height) {
595
598
  if (direction === 'row') {
@@ -846,16 +849,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
846
849
  }] });
847
850
 
848
851
  const translations = {
852
+ // 调色板
849
853
  'Activate the hand tool': '激活拖拽工具',
850
854
  'Activate the lasso tool': '激活框选工具',
851
855
  'Activate the create/remove space tool': '激活空间移动工具',
852
856
  'Activate the global connect tool': '激活全局连接工具',
853
857
  'Create StartEvent': '创建开始节点',
854
858
  'Create EndEvent': '创建结束节点',
855
- 'Create Gateway': '创建网关节点',
856
859
  'Create UserTask': '创建用户任务',
860
+ 'Create ServiceTask': '创建服务任务',
861
+ 'Create Gateway': '创建网关节点',
862
+ // 面板
863
+ 'Append EndEvent': '追加结束节点',
864
+ 'Append UserTask': '追加用户任务',
865
+ 'Append ServiceTask': '追加服务任务',
866
+ 'Append Gateway': '追加网关节点',
867
+ 'Connect using Sequence/MessageFlow or Association': '使用序列/消息流或关联连接',
868
+ 'Remove': '删除',
869
+ 'Set Color': '设置颜色',
870
+ 'Change type': '改变节点类型',
871
+ 'Exclusive Gateway': '互斥网关',
872
+ 'Parallel Gateway': '并行网关',
873
+ 'Default Flow': '默认流向',
874
+ 'Sequence Flow': '顺序流向',
857
875
  'Open minimap': '打开缩略图',
858
876
  'Close minimap': '关闭缩略图',
877
+ // 配置
878
+ 'General': '参数配置',
879
+ 'Name': '名称',
880
+ 'Task description': '任务描述',
881
+ 'Set assignment rule': '设置用户规则',
882
+ 'dynamic user': '动态用户',
883
+ 'static user': '静态用户',
884
+ 'dynamic role': '动态角色',
885
+ 'static role': '静态角色',
859
886
  /*
860
887
  'Create {type}': '创建{type}',
861
888
  'Create Intermediate/Boundary Event': '创建中间/边界事件',
@@ -1226,6 +1253,85 @@ var customUserTaskModule = {
1226
1253
  userTaskContextPadProvider: ['type', UserTaskContextPadProvider],
1227
1254
  };
1228
1255
 
1256
+ class ServiceTaskPaletteProvider {
1257
+ constructor(palette, translate, elementFactory, create) {
1258
+ this.translate = translate;
1259
+ this.elementFactory = elementFactory;
1260
+ this.create = create;
1261
+ palette.registerProvider(this);
1262
+ this.createServiceTask = this.createServiceTask.bind(this);
1263
+ }
1264
+ getPaletteEntries() {
1265
+ return {
1266
+ 'create.service-task': {
1267
+ group: 'activity',
1268
+ className: 'bpmn-icon-service-task',
1269
+ title: this.translate('Create ServiceTask'),
1270
+ action: {
1271
+ dragstart: this.createServiceTask,
1272
+ click: this.createServiceTask
1273
+ }
1274
+ }
1275
+ };
1276
+ }
1277
+ createServiceTask(event) {
1278
+ const shape = this.elementFactory.createShape({ type: 'bpmn:ServiceTask' });
1279
+ this.create.start(event, shape);
1280
+ }
1281
+ }
1282
+
1283
+ class ServiceTaskContextPadProvider {
1284
+ constructor(contextPad, translate, appendPreview, elementFactory, autoPlace, create) {
1285
+ this.translate = translate;
1286
+ this.appendPreview = appendPreview;
1287
+ this.elementFactory = elementFactory;
1288
+ this.autoPlace = autoPlace;
1289
+ this.create = create;
1290
+ contextPad.registerProvider(this);
1291
+ this.appendServiceTaskPreview = this.appendServiceTaskPreview.bind(this);
1292
+ this.appendServiceTask = this.appendServiceTask.bind(this);
1293
+ this.appendServiceTaskStart = this.appendServiceTaskStart.bind(this);
1294
+ }
1295
+ getContextPadEntries() {
1296
+ return {
1297
+ 'append.service-task': {
1298
+ group: 'model',
1299
+ className: 'bpmn-icon-service-task',
1300
+ title: this.translate('Append ServiceTask'),
1301
+ action: {
1302
+ hover: this.appendServiceTaskPreview,
1303
+ click: this.appendServiceTask,
1304
+ dragstart: this.appendServiceTaskStart
1305
+ }
1306
+ }
1307
+ };
1308
+ }
1309
+ appendServiceTaskPreview(event, source) {
1310
+ this.appendPreview.create(source, 'bpmn:ServiceTask');
1311
+ return () => {
1312
+ this.appendPreview.cleanUp();
1313
+ };
1314
+ }
1315
+ appendServiceTask(event, source) {
1316
+ const shape = this.elementFactory.createShape({ type: 'bpmn:ServiceTask' });
1317
+ this.autoPlace.append(source, shape);
1318
+ this.appendPreview.cleanUp();
1319
+ }
1320
+ appendServiceTaskStart(event, source) {
1321
+ const shape = this.elementFactory.createShape({ type: 'bpmn:ServiceTask' });
1322
+ this.create.start(event, shape, {
1323
+ source: source
1324
+ });
1325
+ this.appendPreview.cleanUp();
1326
+ }
1327
+ }
1328
+
1329
+ var customServiceTaskModule = {
1330
+ __init__: ['serviceTaskPaletteProvider', 'serviceTaskContextPadProvider'],
1331
+ serviceTaskPaletteProvider: ['type', ServiceTaskPaletteProvider],
1332
+ serviceTaskContextPadProvider: ['type', ServiceTaskContextPadProvider],
1333
+ };
1334
+
1229
1335
  class HideOtherPaletteProvider {
1230
1336
  constructor(palette) {
1231
1337
  this.visibleEntryKeys = [
@@ -1237,6 +1343,7 @@ class HideOtherPaletteProvider {
1237
1343
  'create.start-event',
1238
1344
  'create.end-event',
1239
1345
  'create.user-task',
1346
+ 'create.service-task',
1240
1347
  'create.exclusive-gateway',
1241
1348
  'xml'
1242
1349
  ];
@@ -1286,6 +1393,7 @@ class HideOtherContextPadProvider {
1286
1393
  else if (is(element, 'bpmn:Gateway')) {
1287
1394
  return {
1288
1395
  'append.user-task': entries['append.user-task'],
1396
+ 'append.service-task': entries['append.service-task'],
1289
1397
  'append.gateway': entries['append.gateway'],
1290
1398
  'append.end-event': entries['append.end-event'],
1291
1399
  'connect': entries['connect'],
@@ -1296,6 +1404,7 @@ class HideOtherContextPadProvider {
1296
1404
  }
1297
1405
  return {
1298
1406
  'append.user-task': entries['append.user-task'],
1407
+ 'append.service-task': entries['append.service-task'],
1299
1408
  'append.gateway': entries['append.gateway'],
1300
1409
  'append.end-event': entries['append.end-event'],
1301
1410
  'connect': entries['connect'],
@@ -1363,12 +1472,13 @@ var customHideOtherModule = {
1363
1472
  gatewayReplaceMenuProvider: ['type', GatewayReplaceMenuProvider]
1364
1473
  };
1365
1474
 
1366
- function addExtensionProperty(element, key, value, bpmnFactory, modeling) {
1475
+ const util = {};
1476
+ function addExtensionProperty(element, key, value) {
1367
1477
  let extensionElements = element.businessObject.get('extensionElements');
1368
1478
  if (!extensionElements) {
1369
- extensionElements = bpmnFactory.create('bpmn:ExtensionElements', { values: [] });
1479
+ extensionElements = util.bpmnFactory.create('bpmn:ExtensionElements', { values: [] });
1370
1480
  extensionElements.$parent = element.businessObject;
1371
- modeling.updateModdleProperties(element, element.businessObject, { extensionElements });
1481
+ util.modeling.updateModdleProperties(element, element.businessObject, { extensionElements });
1372
1482
  }
1373
1483
  let properties = null;
1374
1484
  const extensionElementValues = extensionElements.get('values');
@@ -1377,73 +1487,125 @@ function addExtensionProperty(element, key, value, bpmnFactory, modeling) {
1377
1487
  properties = existPropertiesElements[0];
1378
1488
  }
1379
1489
  if (!properties) {
1380
- properties = bpmnFactory.create('camunda:Properties', { values: [] });
1490
+ properties = util.bpmnFactory.create('camunda:Properties', { values: [] });
1381
1491
  properties.$parent = extensionElements;
1382
- modeling.updateModdleProperties(element, extensionElements, { values: [...extensionElements.get('values'), properties] });
1492
+ util.modeling.updateModdleProperties(element, extensionElements, { values: [...extensionElements.get('values'), properties] });
1383
1493
  }
1384
1494
  const propertyValues = properties.get('values');
1385
1495
  const existPropertyIndex = propertyValues.findIndex((value) => value.name === key);
1386
1496
  if (existPropertyIndex > -1) {
1387
- modeling.updateModdleProperties(element, propertyValues[existPropertyIndex], { name: key, value });
1497
+ util.modeling.updateModdleProperties(element, propertyValues[existPropertyIndex], { name: key, value });
1388
1498
  }
1389
1499
  else {
1390
- const property = bpmnFactory.create('camunda:Property', { name: key, value });
1500
+ const property = util.bpmnFactory.create('camunda:Property', { name: key, value });
1391
1501
  property.$parent = properties;
1392
- modeling.updateModdleProperties(element, properties, { values: [...properties.get('values'), property] });
1502
+ util.modeling.updateModdleProperties(element, properties, { values: [...properties.get('values'), property] });
1503
+ }
1504
+ }
1505
+ function getExtensionPropertyValue(element, key) {
1506
+ let extensionElements = element.businessObject.get('extensionElements');
1507
+ if (!extensionElements) {
1508
+ return '';
1509
+ }
1510
+ let properties = null;
1511
+ const extensionElementValues = extensionElements.get('values');
1512
+ const existPropertiesElements = extensionElementValues.filter((value) => is(value, 'camunda:Properties'));
1513
+ if (existPropertiesElements.length > 0) {
1514
+ properties = existPropertiesElements[0];
1515
+ }
1516
+ if (!properties) {
1517
+ return '';
1518
+ }
1519
+ const propertyValues = properties.get('values');
1520
+ const existPropertyIndex = propertyValues.findIndex((value) => value.name === key);
1521
+ if (existPropertyIndex > -1) {
1522
+ return propertyValues[existPropertyIndex].value;
1393
1523
  }
1394
1524
  }
1395
1525
 
1396
1526
  // @ts-ignore
1397
- class DescriptionProps {
1527
+ class TaskDescriptionProps {
1398
1528
  constructor(props) {
1399
1529
  this.id = 'Coast_taskDescription';
1400
- const { element, translate, bpmnFactory, modeling, debounce } = props;
1530
+ const { element } = props;
1401
1531
  this.component = () => {
1402
- return TextFieldEntry({
1532
+ return TextAreaEntry({
1533
+ element: element,
1403
1534
  id: this.id,
1535
+ label: util.translate('Task description'),
1536
+ getValue: () => {
1537
+ return getExtensionPropertyValue(element, this.id);
1538
+ },
1539
+ setValue: (value) => {
1540
+ addExtensionProperty(element, this.id, value);
1541
+ },
1542
+ debounce: util.debounce,
1543
+ autoResize: true
1544
+ });
1545
+ };
1546
+ this.isEdited = isTextAreaEntryEdited;
1547
+ }
1548
+ }
1549
+
1550
+ // @ts-ignore
1551
+ class UserAssignmentStaticOrDynamicProps {
1552
+ constructor(props) {
1553
+ this.id = 'Coast_userAssignment_staticOrDynamic';
1554
+ const { element } = props;
1555
+ this.component = () => {
1556
+ return SelectEntry({
1404
1557
  element: element,
1405
- label: translate('Task Description'),
1558
+ id: this.id,
1559
+ label: util.translate('Set assignment rule'),
1406
1560
  getValue: () => {
1407
- return element.businessObject.get('taskDescription') || '';
1561
+ return getExtensionPropertyValue(element, this.id);
1408
1562
  },
1409
1563
  setValue: (value) => {
1410
- modeling.updateModdleProperties(element, element.businessObject, {
1411
- 'taskDescription': value
1412
- });
1413
- addExtensionProperty(element, 'taskDescription', value, bpmnFactory, modeling);
1564
+ addExtensionProperty(element, this.id, value);
1414
1565
  },
1415
- debounce
1566
+ getOptions: () => {
1567
+ return [
1568
+ { value: '', label: util.translate('dynamic user') },
1569
+ { value: 'static_user', label: util.translate('static user') },
1570
+ { value: 'dynamic_role', label: util.translate('dynamic role') },
1571
+ { value: 'static_role', label: util.translate('static role') }
1572
+ ];
1573
+ }
1416
1574
  });
1417
1575
  };
1418
- this.isEdited = isTextFieldEntryEdited;
1576
+ this.isEdited = isSelectEntryEdited;
1419
1577
  }
1420
1578
  }
1421
1579
 
1580
+ function getUserAssignmentProps(element) {
1581
+ return [new UserAssignmentStaticOrDynamicProps(element)];
1582
+ }
1583
+
1422
1584
  class CustomPropertiesProvider {
1423
1585
  constructor(propertiesPanel, translate, bpmnFactory, modeling, debounceInput) {
1424
1586
  this.translate = translate;
1425
- this.bpmnFactory = bpmnFactory;
1426
- this.modeling = modeling;
1427
- this.debounceInput = debounceInput;
1587
+ util.translate = translate;
1588
+ util.bpmnFactory = bpmnFactory;
1589
+ util.modeling = modeling;
1590
+ util.debounce = debounceInput;
1428
1591
  propertiesPanel.registerProvider(0, this);
1429
1592
  }
1430
1593
  getGroups(element) {
1431
1594
  return ((groups) => {
1432
- if (is(element, 'bpmn:UserTask')) {
1433
- console.log(groups);
1434
- return [groups.find((group) => group.id === 'general'), {
1435
- id: 'Coast_Implementation',
1436
- label: this.translate('More config'),
1437
- entries: [new DescriptionProps({
1438
- element,
1439
- translate: this.translate,
1440
- bpmnFactory: this.bpmnFactory,
1441
- modeling: this.modeling,
1442
- debounce: this.debounceInput
1443
- })]
1444
- }];
1445
- }
1446
- return groups;
1595
+ const generalGroup = groups.find((group) => group.id === 'general');
1596
+ generalGroup.shouldOpen = true;
1597
+ console.log(generalGroup);
1598
+ if (is(element, 'bpmn:Process')) {
1599
+ generalGroup.entries.splice(1, 3);
1600
+ }
1601
+ else if (is(element, 'bpmn:UserTask')) {
1602
+ generalGroup.entries.splice(1, 1);
1603
+ generalGroup.entries.push(...[
1604
+ new TaskDescriptionProps({ element }),
1605
+ ...getUserAssignmentProps({ element })
1606
+ ]);
1607
+ }
1608
+ return [generalGroup];
1447
1609
  });
1448
1610
  }
1449
1611
  }
@@ -1453,38 +1615,6 @@ var customPropertiesPanelModule = {
1453
1615
  customPropertiesProvider: ['type', CustomPropertiesProvider]
1454
1616
  };
1455
1617
 
1456
- var name = "Coast Custom";
1457
- var prefix = "coast";
1458
- var uri = "https://c-standard.cn";
1459
- var xml = {
1460
- tagAlias: "lowerCase"
1461
- };
1462
- var associations = [
1463
- ];
1464
- var types = [
1465
- {
1466
- name: "CoastUserTask",
1467
- "extends": [
1468
- "bpmn:UserTask"
1469
- ],
1470
- properties: [
1471
- {
1472
- name: "taskDescription",
1473
- isAttr: true,
1474
- type: "String"
1475
- }
1476
- ]
1477
- }
1478
- ];
1479
- var coastModdleDescriptor = {
1480
- name: name,
1481
- prefix: prefix,
1482
- uri: uri,
1483
- xml: xml,
1484
- associations: associations,
1485
- types: types
1486
- };
1487
-
1488
1618
  class CodeEditorComponent {
1489
1619
  set code(code) {
1490
1620
  this._code = code || '';
@@ -1560,6 +1690,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
1560
1690
  class CamundaBpmnEditorComponent {
1561
1691
  constructor() {
1562
1692
  this.isShowXml = false;
1693
+ this.initialDiagram = '<?xml version="1.0" encoding="UTF-8"?>' +
1694
+ '<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
1695
+ 'xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" ' +
1696
+ 'xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" ' +
1697
+ 'xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" ' +
1698
+ 'targetNamespace="http://bpmn.io/schema/bpmn" ' +
1699
+ 'id="Definitions_1">' +
1700
+ '<bpmn:process id="Process_1" isExecutable="true">' +
1701
+ '<bpmn:startEvent id="StartEvent_1"/>' +
1702
+ '</bpmn:process>' +
1703
+ '<bpmndi:BPMNDiagram id="BPMNDiagram_1">' +
1704
+ '<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">' +
1705
+ '<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">' +
1706
+ '<dc:Bounds height="36.0" width="36.0" x="173.0" y="102.0"/>' +
1707
+ '</bpmndi:BPMNShape>' +
1708
+ '</bpmndi:BPMNPlane>' +
1709
+ '</bpmndi:BPMNDiagram>' +
1710
+ '</bpmn:definitions>';
1563
1711
  }
1564
1712
  ngAfterViewInit() {
1565
1713
  this.modeler = new BpmnModeler({
@@ -1573,19 +1721,17 @@ class CamundaBpmnEditorComponent {
1573
1721
  additionalModules: [
1574
1722
  customTranslateModule,
1575
1723
  customUserTaskModule,
1724
+ customServiceTaskModule,
1576
1725
  customHideOtherModule,
1577
1726
  customPropertiesPanelModule
1578
- ],
1579
- moddleExtensions: {
1580
- coast: coastModdleDescriptor
1581
- }
1727
+ ]
1582
1728
  });
1583
1729
  const logo = this.modeler._container.querySelector('.bjs-powered-by');
1584
1730
  if (logo) {
1585
1731
  this.modeler._container.removeChild(logo);
1586
1732
  }
1587
1733
  this.canvas = this.modeler.get('canvas');
1588
- this.modeler.createDiagram().then(() => {
1734
+ this.modeler.importXML(this.initialDiagram).then(() => {
1589
1735
  this.canvas.zoom('fit-viewport');
1590
1736
  });
1591
1737
  }
@@ -2448,6 +2594,7 @@ class DataGridComponent {
2448
2594
  constructor(factory, service) {
2449
2595
  this.factory = factory;
2450
2596
  this.service = service;
2597
+ this.tenant = 'T';
2451
2598
  this.enableMasterDetail = false;
2452
2599
  this.selectionMode = 'none';
2453
2600
  this.onDxDataGridCellPrepared = new EventEmitter();
@@ -2781,6 +2928,7 @@ class FormComponent {
2781
2928
  constructor(viewContainerRef, service) {
2782
2929
  this.viewContainerRef = viewContainerRef;
2783
2930
  this.service = service;
2931
+ this.tenant = 'T';
2784
2932
  this.onlyFrontEnd = false; // 仅前端,不通过oid获取实例model
2785
2933
  this.readonly = false;
2786
2934
  this.submitCallback = new EventEmitter();
@@ -2833,6 +2981,11 @@ class FormComponent {
2833
2981
  submitForm() {
2834
2982
  this.validate().then(isValid => {
2835
2983
  if (isValid) {
2984
+ if (this.extraAttrMap) {
2985
+ for (const entry of this.extraAttrMap) {
2986
+ this.model[entry.name] = entry.value;
2987
+ }
2988
+ }
2836
2989
  this.service.createOrUpdate(this.tenant, this.className, {
2837
2990
  oid: this.oid,
2838
2991
  ...this.model
@@ -2853,7 +3006,7 @@ class FormComponent {
2853
3006
  }
2854
3007
  }
2855
3008
  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 });
2856
- 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", tabViewContainerRef: "tabViewContainerRef", onlyFrontEnd: "onlyFrontEnd", model: "model", 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\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<dx-validation-group *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [model]=\"model\"\r\n [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n", 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", "tabViewContainerRef"] }, { kind: "component", type: i6$1.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"] }] });
3009
+ 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", extraAttrMap: "extraAttrMap", params: "params", tabViewContainerRef: "tabViewContainerRef", onlyFrontEnd: "onlyFrontEnd", model: "model", 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\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<dx-validation-group *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [model]=\"model\"\r\n [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n", 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", "tabViewContainerRef"] }, { kind: "component", type: i6$1.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"] }] });
2857
3010
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, decorators: [{
2858
3011
  type: Component,
2859
3012
  args: [{ selector: 'rs-form', providers: [FormService], template: "<dx-load-panel [container]=\"viewContainerRef.element.nativeElement\" [showPane]=\"false\"\r\n [visible]=\"loading\">\r\n <dxo-position [of]=\"viewContainerRef.element.nativeElement\"></dxo-position>\r\n</dx-load-panel>\r\n<dx-validation-group *ngIf=\"!loading\">\r\n <rs-box-container [config]=\"config\"\r\n [model]=\"model\"\r\n [params]=\"params\"\r\n [tabViewContainerRef]=\"tabViewContainerRef\"\r\n [readonly]=\"readonly\"></rs-box-container>\r\n <dx-button #formSubmitter [visible]=\"false\" (onClick)=\"submitForm()\"></dx-button>\r\n</dx-validation-group>\r\n", styles: [":host{padding:12px 24px 20px}:host dx-validation-group{display:flex;flex-flow:row nowrap}\n"] }]
@@ -2867,6 +3020,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2867
3020
  type: Input
2868
3021
  }], template: [{
2869
3022
  type: Input
3023
+ }], extraAttrMap: [{
3024
+ type: Input
2870
3025
  }], params: [{
2871
3026
  type: Input
2872
3027
  }], tabViewContainerRef: [{
@@ -2903,19 +3058,11 @@ class DataDetailComponent {
2903
3058
  }
2904
3059
  }
2905
3060
  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 });
2906
- 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: i6$1.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", "tabViewContainerRef", "onlyFrontEnd", "model", "readonly"], outputs: ["submitCallback"] }] });
3061
+ DataDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DataDetailComponent, selector: "coast-data-detail", 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\" [params]=\"params\"\n [tabViewContainerRef]=\"tabViewContainerRef\" [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: i6$1.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", "extraAttrMap", "params", "tabViewContainerRef", "onlyFrontEnd", "model", "readonly"], outputs: ["submitCallback"] }] });
2907
3062
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataDetailComponent, decorators: [{
2908
3063
  type: Component,
2909
- 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"] }]
2910
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: DataDetailService }]; }, propDecorators: { tenant: [{
2911
- type: Input
2912
- }], className: [{
2913
- type: Input
2914
- }], oid: [{
2915
- type: Input
2916
- }], params: [{
2917
- type: Input
2918
- }] } });
3064
+ 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\" [params]=\"params\"\n [tabViewContainerRef]=\"tabViewContainerRef\" [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"] }]
3065
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: DataDetailService }]; } });
2919
3066
 
2920
3067
  class FormModule {
2921
3068
  }
@@ -3061,8 +3208,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
3061
3208
  }]
3062
3209
  }], ctorParameters: function () { return []; } });
3063
3210
 
3211
+ class TooltipContentTemplateDirective {
3212
+ constructor(templateRef) {
3213
+ this.templateRef = templateRef;
3214
+ }
3215
+ }
3216
+ TooltipContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipContentTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3217
+ TooltipContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TooltipContentTemplateDirective, selector: "[rsTooltipContentTemplate]", ngImport: i0 });
3218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipContentTemplateDirective, decorators: [{
3219
+ type: Directive,
3220
+ args: [{
3221
+ selector: '[rsTooltipContentTemplate]'
3222
+ }]
3223
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
3224
+
3064
3225
  class DynamicParamsComponent {
3065
3226
  constructor() {
3227
+ this.label = '动态参数';
3228
+ this.showHelp = false;
3229
+ this.keyPlaceholder = '参数名';
3230
+ this.valuePlaceholder = '参数值';
3231
+ this.required = false;
3066
3232
  this.readonly = false;
3067
3233
  }
3068
3234
  add() {
@@ -3073,37 +3239,52 @@ class DynamicParamsComponent {
3073
3239
  }
3074
3240
  }
3075
3241
  DynamicParamsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3076
- 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"] }] });
3242
+ DynamicParamsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DynamicParamsComponent, selector: "rs-dynamic-params", inputs: { label: "label", showHelp: "showHelp", keyPlaceholder: "keyPlaceholder", valuePlaceholder: "valuePlaceholder", params: "params", required: "required", readonly: "readonly" }, queries: [{ propertyName: "tooltipContentTemplate", first: true, predicate: TooltipContentTemplateDirective, descendants: true }], ngImport: i0, template: "<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>{{ label }}</span>\n <span *ngIf=\"required\" class=\"required-mark\">&nbsp;*</span>\n <i *ngIf=\"showHelp\" #dynamicParamsSpan class=\"coast-icon-help cursor-pointer\">\n <dx-tooltip [target]=\"dynamicParamsSpan\"\n [position]=\"'top'\"\n [showEvent]=\"'mouseover'\"\n [hideEvent]=\"'mouseout'\">\n <div *dxTemplate=\"let data of 'content'\"\n style=\"display: flex; flex-flow: column nowrap;align-items: flex-start;\">\n <ng-container [ngTemplateOutlet]=\"tooltipContentTemplate.templateRef\"></ng-container>\n </div>\n </dx-tooltip>\n </i>\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"\n [disabled]=\"readonly\"></dx-button>\n </div>\n <div class=\"dx-field-value\">\n <div *ngFor=\"let param of params; let index = index\">\n <dx-text-box [placeholder]=\"keyPlaceholder\" [(value)]=\"param.name\" [disabled]=\"readonly\"></dx-text-box>\n <dx-text-box [placeholder]=\"valuePlaceholder\" [(value)]=\"param.value\" [disabled]=\"readonly\"></dx-text-box>\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\n (onClick)=\"delete(index)\" [disabled]=\"readonly\"></dx-button>\n </div>\n </div>\n</div>\n", 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: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { 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: i4$1.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"] }, { kind: "component", type: i5.DxTooltipComponent, selector: "dx-tooltip", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showEvent", "target", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showEventChange", "targetChange", "visibleChange", "widthChange", "wrapperAttrChange"] }] });
3077
3243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, decorators: [{
3078
3244
  type: Component,
3079
- 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"] }]
3245
+ args: [{ selector: 'rs-dynamic-params', template: "<div class=\"dx-field\">\n <div class=\"dx-field-label\">\n <span>{{ label }}</span>\n <span *ngIf=\"required\" class=\"required-mark\">&nbsp;*</span>\n <i *ngIf=\"showHelp\" #dynamicParamsSpan class=\"coast-icon-help cursor-pointer\">\n <dx-tooltip [target]=\"dynamicParamsSpan\"\n [position]=\"'top'\"\n [showEvent]=\"'mouseover'\"\n [hideEvent]=\"'mouseout'\">\n <div *dxTemplate=\"let data of 'content'\"\n style=\"display: flex; flex-flow: column nowrap;align-items: flex-start;\">\n <ng-container [ngTemplateOutlet]=\"tooltipContentTemplate.templateRef\"></ng-container>\n </div>\n </dx-tooltip>\n </i>\n <dx-button type=\"default\" stylingMode=\"text\" icon=\"coast-icon coast-icon-add\" (onClick)=\"add()\"\n [disabled]=\"readonly\"></dx-button>\n </div>\n <div class=\"dx-field-value\">\n <div *ngFor=\"let param of params; let index = index\">\n <dx-text-box [placeholder]=\"keyPlaceholder\" [(value)]=\"param.name\" [disabled]=\"readonly\"></dx-text-box>\n <dx-text-box [placeholder]=\"valuePlaceholder\" [(value)]=\"param.value\" [disabled]=\"readonly\"></dx-text-box>\n <dx-button type=\"danger\" stylingMode=\"text\" icon=\"coast-icon coast-icon-close\"\n (onClick)=\"delete(index)\" [disabled]=\"readonly\"></dx-button>\n </div>\n </div>\n</div>\n", 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"] }]
3080
3246
  }], propDecorators: { label: [{
3081
3247
  type: Input
3248
+ }], showHelp: [{
3249
+ type: Input
3250
+ }], keyPlaceholder: [{
3251
+ type: Input
3252
+ }], valuePlaceholder: [{
3253
+ type: Input
3082
3254
  }], params: [{
3083
3255
  type: Input
3256
+ }], required: [{
3257
+ type: Input
3084
3258
  }], readonly: [{
3085
3259
  type: Input
3260
+ }], tooltipContentTemplate: [{
3261
+ type: ContentChild,
3262
+ args: [TooltipContentTemplateDirective]
3086
3263
  }] } });
3087
3264
 
3088
3265
  class DynamicParamsModule {
3089
3266
  }
3090
3267
  DynamicParamsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3091
- DynamicParamsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, declarations: [DynamicParamsComponent], imports: [CommonModule,
3092
- DevExtremeModule], exports: [DynamicParamsComponent] });
3268
+ DynamicParamsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, declarations: [DynamicParamsComponent,
3269
+ TooltipContentTemplateDirective], imports: [CommonModule,
3270
+ DevExtremeModule], exports: [DynamicParamsComponent,
3271
+ TooltipContentTemplateDirective] });
3093
3272
  DynamicParamsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, imports: [CommonModule,
3094
3273
  DevExtremeModule] });
3095
3274
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, decorators: [{
3096
3275
  type: NgModule,
3097
3276
  args: [{
3098
3277
  declarations: [
3099
- DynamicParamsComponent
3278
+ DynamicParamsComponent,
3279
+ TooltipContentTemplateDirective
3100
3280
  ],
3101
3281
  imports: [
3102
3282
  CommonModule,
3103
3283
  DevExtremeModule
3104
3284
  ],
3105
3285
  exports: [
3106
- DynamicParamsComponent
3286
+ DynamicParamsComponent,
3287
+ TooltipContentTemplateDirective
3107
3288
  ]
3108
3289
  }]
3109
3290
  }] });
@@ -3133,7 +3314,7 @@ class IconSelectorComponent {
3133
3314
  }
3134
3315
  }
3135
3316
  IconSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: IconSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3136
- IconSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: IconSelectorComponent, selector: "rs-icon-selector", inputs: { target: "target" }, outputs: { select: "select" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["iconSelector"], descendants: true, static: true }, { propertyName: "iconZoomOut", first: true, predicate: ["iconZoomOut"], descendants: true, static: true }], ngImport: i0, template: "<dx-popover #iconSelector\n maxWidth=\"280\"\n maxHeight=\"280\"\n [target]=\"target\"\n [showEvent]=\"{name: 'click'}\">\n <div *dxTemplate=\"let data of 'content'\">\n <ng-container *ngFor=\"let icon of iconList; let index=index\">\n <dx-button [icon]=\"'coast-icon ' + icon\" (onClick)=\"selectIcon(icon)\"\n (mouseenter)=\"zoomOut($event, icon)\" (mouseleave)=\"iconZoomOut.instance.hide()\"></dx-button>\n </ng-container>\n </div>\n</dx-popover>\n<dx-popover #iconZoomOut height=\"72px\" [enableBodyScroll]=\"false\">\n <div *dxTemplate=\"let data of 'content'\"\n style=\"display: flex; flex-flow: column nowrap; align-items: center; justify-content: center;\">\n <i [class]=\"hoverIcon\" style=\"font-size: 36px;\"></i>\n <span>{{hoverIcon?.substring(11)}}</span>\n </div>\n</dx-popover>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { 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: i4$1.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }] });
3317
+ IconSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: IconSelectorComponent, selector: "rs-icon-selector", inputs: { target: "target" }, outputs: { select: "select" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["iconSelector"], descendants: true, static: true }, { propertyName: "iconZoomOut", first: true, predicate: ["iconZoomOut"], descendants: true, static: true }], ngImport: i0, template: "<dx-popover #iconSelector\n maxWidth=\"280\"\n maxHeight=\"280\"\n [target]=\"target\"\n [showEvent]=\"{name: 'click'}\">\n <div *dxTemplate=\"let data of 'content'\">\n <ng-container *ngFor=\"let icon of iconList; let index=index\">\n <dx-button [icon]=\"'coast-icon ' + icon\" (onClick)=\"selectIcon(icon)\"\n (mouseenter)=\"zoomOut($event, icon)\" (mouseleave)=\"iconZoomOut.instance.hide()\"></dx-button>\n </ng-container>\n </div>\n</dx-popover>\n<dx-popover #iconZoomOut height=\"72px\" [enableBodyScroll]=\"false\">\n <div *dxTemplate=\"let data of 'content'\"\n style=\"display: flex; flex-flow: column nowrap; align-items: center; justify-content: center;\">\n <i [class]=\"hoverIcon\" style=\"font-size: 36px;\"></i>\n <span>{{hoverIcon?.substring(11)}}</span>\n </div>\n</dx-popover>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { 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: i4$2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "enableBodyScroll", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "enableBodyScrollChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }] });
3137
3318
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: IconSelectorComponent, decorators: [{
3138
3319
  type: Component,
3139
3320
  args: [{ selector: 'rs-icon-selector', template: "<dx-popover #iconSelector\n maxWidth=\"280\"\n maxHeight=\"280\"\n [target]=\"target\"\n [showEvent]=\"{name: 'click'}\">\n <div *dxTemplate=\"let data of 'content'\">\n <ng-container *ngFor=\"let icon of iconList; let index=index\">\n <dx-button [icon]=\"'coast-icon ' + icon\" (onClick)=\"selectIcon(icon)\"\n (mouseenter)=\"zoomOut($event, icon)\" (mouseleave)=\"iconZoomOut.instance.hide()\"></dx-button>\n </ng-container>\n </div>\n</dx-popover>\n<dx-popover #iconZoomOut height=\"72px\" [enableBodyScroll]=\"false\">\n <div *dxTemplate=\"let data of 'content'\"\n style=\"display: flex; flex-flow: column nowrap; align-items: center; justify-content: center;\">\n <i [class]=\"hoverIcon\" style=\"font-size: 36px;\"></i>\n <span>{{hoverIcon?.substring(11)}}</span>\n </div>\n</dx-popover>\n" }]
@@ -3522,5 +3703,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
3522
3703
  * Generated bundle index. Do not edit.
3523
3704
  */
3524
3705
 
3525
- 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 };
3706
+ 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, TooltipContentTemplateDirective, WebsocketModule, WebsocketService, notify_error, notify_success, notify_warning, validate, validate_group };
3526
3707
  //# sourceMappingURL=ngx-rs-ant.mjs.map