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';
@@ -25,8 +25,8 @@ import * as i3$1 from 'devextreme-angular/ui/accordion';
25
25
  import { __awaiter } from 'tslib';
26
26
  import notify from 'devextreme/ui/notify';
27
27
  import * as i7 from 'devextreme-angular/ui/validation-group';
28
- import * as i3$2 from 'devextreme-angular/ui/text-box';
29
- import * as i4$1 from 'devextreme-angular/ui/popover';
28
+ import * as i4$1 from 'devextreme-angular/ui/text-box';
29
+ import * as i4$2 from 'devextreme-angular/ui/popover';
30
30
 
31
31
  class DividerLineComponent {
32
32
  get _style() {
@@ -596,7 +596,7 @@ class BoxItemComponent {
596
596
  var _a, _b;
597
597
  const width = ((_a = item.style) === null || _a === void 0 ? void 0 : _a.width) ? item.style.width : 'auto';
598
598
  const height = ((_b = item.style) === null || _b === void 0 ? void 0 : _b.height) ? item.style.height : 'auto';
599
- return this._calcStyle(this.config.direction, width, height);
599
+ return Object.assign(Object.assign({}, this._calcStyle(this.config.direction, width, height)), { position: 'relative' });
600
600
  }
601
601
  _calcStyle(direction, width, height) {
602
602
  if (direction === 'row') {
@@ -856,16 +856,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
856
856
  }] });
857
857
 
858
858
  const translations = {
859
+ // 调色板
859
860
  'Activate the hand tool': '激活拖拽工具',
860
861
  'Activate the lasso tool': '激活框选工具',
861
862
  'Activate the create/remove space tool': '激活空间移动工具',
862
863
  'Activate the global connect tool': '激活全局连接工具',
863
864
  'Create StartEvent': '创建开始节点',
864
865
  'Create EndEvent': '创建结束节点',
865
- 'Create Gateway': '创建网关节点',
866
866
  'Create UserTask': '创建用户任务',
867
+ 'Create ServiceTask': '创建服务任务',
868
+ 'Create Gateway': '创建网关节点',
869
+ // 面板
870
+ 'Append EndEvent': '追加结束节点',
871
+ 'Append UserTask': '追加用户任务',
872
+ 'Append ServiceTask': '追加服务任务',
873
+ 'Append Gateway': '追加网关节点',
874
+ 'Connect using Sequence/MessageFlow or Association': '使用序列/消息流或关联连接',
875
+ 'Remove': '删除',
876
+ 'Set Color': '设置颜色',
877
+ 'Change type': '改变节点类型',
878
+ 'Exclusive Gateway': '互斥网关',
879
+ 'Parallel Gateway': '并行网关',
880
+ 'Default Flow': '默认流向',
881
+ 'Sequence Flow': '顺序流向',
867
882
  'Open minimap': '打开缩略图',
868
883
  'Close minimap': '关闭缩略图',
884
+ // 配置
885
+ 'General': '参数配置',
886
+ 'Name': '名称',
887
+ 'Task description': '任务描述',
888
+ 'Set assignment rule': '设置用户规则',
889
+ 'dynamic user': '动态用户',
890
+ 'static user': '静态用户',
891
+ 'dynamic role': '动态角色',
892
+ 'static role': '静态角色',
869
893
  /*
870
894
  'Create {type}': '创建{type}',
871
895
  'Create Intermediate/Boundary Event': '创建中间/边界事件',
@@ -1236,6 +1260,85 @@ var customUserTaskModule = {
1236
1260
  userTaskContextPadProvider: ['type', UserTaskContextPadProvider],
1237
1261
  };
1238
1262
 
1263
+ class ServiceTaskPaletteProvider {
1264
+ constructor(palette, translate, elementFactory, create) {
1265
+ this.translate = translate;
1266
+ this.elementFactory = elementFactory;
1267
+ this.create = create;
1268
+ palette.registerProvider(this);
1269
+ this.createServiceTask = this.createServiceTask.bind(this);
1270
+ }
1271
+ getPaletteEntries() {
1272
+ return {
1273
+ 'create.service-task': {
1274
+ group: 'activity',
1275
+ className: 'bpmn-icon-service-task',
1276
+ title: this.translate('Create ServiceTask'),
1277
+ action: {
1278
+ dragstart: this.createServiceTask,
1279
+ click: this.createServiceTask
1280
+ }
1281
+ }
1282
+ };
1283
+ }
1284
+ createServiceTask(event) {
1285
+ const shape = this.elementFactory.createShape({ type: 'bpmn:ServiceTask' });
1286
+ this.create.start(event, shape);
1287
+ }
1288
+ }
1289
+
1290
+ class ServiceTaskContextPadProvider {
1291
+ constructor(contextPad, translate, appendPreview, elementFactory, autoPlace, create) {
1292
+ this.translate = translate;
1293
+ this.appendPreview = appendPreview;
1294
+ this.elementFactory = elementFactory;
1295
+ this.autoPlace = autoPlace;
1296
+ this.create = create;
1297
+ contextPad.registerProvider(this);
1298
+ this.appendServiceTaskPreview = this.appendServiceTaskPreview.bind(this);
1299
+ this.appendServiceTask = this.appendServiceTask.bind(this);
1300
+ this.appendServiceTaskStart = this.appendServiceTaskStart.bind(this);
1301
+ }
1302
+ getContextPadEntries() {
1303
+ return {
1304
+ 'append.service-task': {
1305
+ group: 'model',
1306
+ className: 'bpmn-icon-service-task',
1307
+ title: this.translate('Append ServiceTask'),
1308
+ action: {
1309
+ hover: this.appendServiceTaskPreview,
1310
+ click: this.appendServiceTask,
1311
+ dragstart: this.appendServiceTaskStart
1312
+ }
1313
+ }
1314
+ };
1315
+ }
1316
+ appendServiceTaskPreview(event, source) {
1317
+ this.appendPreview.create(source, 'bpmn:ServiceTask');
1318
+ return () => {
1319
+ this.appendPreview.cleanUp();
1320
+ };
1321
+ }
1322
+ appendServiceTask(event, source) {
1323
+ const shape = this.elementFactory.createShape({ type: 'bpmn:ServiceTask' });
1324
+ this.autoPlace.append(source, shape);
1325
+ this.appendPreview.cleanUp();
1326
+ }
1327
+ appendServiceTaskStart(event, source) {
1328
+ const shape = this.elementFactory.createShape({ type: 'bpmn:ServiceTask' });
1329
+ this.create.start(event, shape, {
1330
+ source: source
1331
+ });
1332
+ this.appendPreview.cleanUp();
1333
+ }
1334
+ }
1335
+
1336
+ var customServiceTaskModule = {
1337
+ __init__: ['serviceTaskPaletteProvider', 'serviceTaskContextPadProvider'],
1338
+ serviceTaskPaletteProvider: ['type', ServiceTaskPaletteProvider],
1339
+ serviceTaskContextPadProvider: ['type', ServiceTaskContextPadProvider],
1340
+ };
1341
+
1239
1342
  class HideOtherPaletteProvider {
1240
1343
  constructor(palette) {
1241
1344
  this.visibleEntryKeys = [
@@ -1247,6 +1350,7 @@ class HideOtherPaletteProvider {
1247
1350
  'create.start-event',
1248
1351
  'create.end-event',
1249
1352
  'create.user-task',
1353
+ 'create.service-task',
1250
1354
  'create.exclusive-gateway',
1251
1355
  'xml'
1252
1356
  ];
@@ -1296,6 +1400,7 @@ class HideOtherContextPadProvider {
1296
1400
  else if (is(element, 'bpmn:Gateway')) {
1297
1401
  return {
1298
1402
  'append.user-task': entries['append.user-task'],
1403
+ 'append.service-task': entries['append.service-task'],
1299
1404
  'append.gateway': entries['append.gateway'],
1300
1405
  'append.end-event': entries['append.end-event'],
1301
1406
  'connect': entries['connect'],
@@ -1306,6 +1411,7 @@ class HideOtherContextPadProvider {
1306
1411
  }
1307
1412
  return {
1308
1413
  'append.user-task': entries['append.user-task'],
1414
+ 'append.service-task': entries['append.service-task'],
1309
1415
  'append.gateway': entries['append.gateway'],
1310
1416
  'append.end-event': entries['append.end-event'],
1311
1417
  'connect': entries['connect'],
@@ -1373,12 +1479,13 @@ var customHideOtherModule = {
1373
1479
  gatewayReplaceMenuProvider: ['type', GatewayReplaceMenuProvider]
1374
1480
  };
1375
1481
 
1376
- function addExtensionProperty(element, key, value, bpmnFactory, modeling) {
1482
+ const util = {};
1483
+ function addExtensionProperty(element, key, value) {
1377
1484
  let extensionElements = element.businessObject.get('extensionElements');
1378
1485
  if (!extensionElements) {
1379
- extensionElements = bpmnFactory.create('bpmn:ExtensionElements', { values: [] });
1486
+ extensionElements = util.bpmnFactory.create('bpmn:ExtensionElements', { values: [] });
1380
1487
  extensionElements.$parent = element.businessObject;
1381
- modeling.updateModdleProperties(element, element.businessObject, { extensionElements });
1488
+ util.modeling.updateModdleProperties(element, element.businessObject, { extensionElements });
1382
1489
  }
1383
1490
  let properties = null;
1384
1491
  const extensionElementValues = extensionElements.get('values');
@@ -1387,73 +1494,125 @@ function addExtensionProperty(element, key, value, bpmnFactory, modeling) {
1387
1494
  properties = existPropertiesElements[0];
1388
1495
  }
1389
1496
  if (!properties) {
1390
- properties = bpmnFactory.create('camunda:Properties', { values: [] });
1497
+ properties = util.bpmnFactory.create('camunda:Properties', { values: [] });
1391
1498
  properties.$parent = extensionElements;
1392
- modeling.updateModdleProperties(element, extensionElements, { values: [...extensionElements.get('values'), properties] });
1499
+ util.modeling.updateModdleProperties(element, extensionElements, { values: [...extensionElements.get('values'), properties] });
1393
1500
  }
1394
1501
  const propertyValues = properties.get('values');
1395
1502
  const existPropertyIndex = propertyValues.findIndex((value) => value.name === key);
1396
1503
  if (existPropertyIndex > -1) {
1397
- modeling.updateModdleProperties(element, propertyValues[existPropertyIndex], { name: key, value });
1504
+ util.modeling.updateModdleProperties(element, propertyValues[existPropertyIndex], { name: key, value });
1398
1505
  }
1399
1506
  else {
1400
- const property = bpmnFactory.create('camunda:Property', { name: key, value });
1507
+ const property = util.bpmnFactory.create('camunda:Property', { name: key, value });
1401
1508
  property.$parent = properties;
1402
- modeling.updateModdleProperties(element, properties, { values: [...properties.get('values'), property] });
1509
+ util.modeling.updateModdleProperties(element, properties, { values: [...properties.get('values'), property] });
1510
+ }
1511
+ }
1512
+ function getExtensionPropertyValue(element, key) {
1513
+ let extensionElements = element.businessObject.get('extensionElements');
1514
+ if (!extensionElements) {
1515
+ return '';
1516
+ }
1517
+ let properties = null;
1518
+ const extensionElementValues = extensionElements.get('values');
1519
+ const existPropertiesElements = extensionElementValues.filter((value) => is(value, 'camunda:Properties'));
1520
+ if (existPropertiesElements.length > 0) {
1521
+ properties = existPropertiesElements[0];
1522
+ }
1523
+ if (!properties) {
1524
+ return '';
1525
+ }
1526
+ const propertyValues = properties.get('values');
1527
+ const existPropertyIndex = propertyValues.findIndex((value) => value.name === key);
1528
+ if (existPropertyIndex > -1) {
1529
+ return propertyValues[existPropertyIndex].value;
1403
1530
  }
1404
1531
  }
1405
1532
 
1406
1533
  // @ts-ignore
1407
- class DescriptionProps {
1534
+ class TaskDescriptionProps {
1408
1535
  constructor(props) {
1409
1536
  this.id = 'Coast_taskDescription';
1410
- const { element, translate, bpmnFactory, modeling, debounce } = props;
1537
+ const { element } = props;
1411
1538
  this.component = () => {
1412
- return TextFieldEntry({
1539
+ return TextAreaEntry({
1540
+ element: element,
1413
1541
  id: this.id,
1542
+ label: util.translate('Task description'),
1543
+ getValue: () => {
1544
+ return getExtensionPropertyValue(element, this.id);
1545
+ },
1546
+ setValue: (value) => {
1547
+ addExtensionProperty(element, this.id, value);
1548
+ },
1549
+ debounce: util.debounce,
1550
+ autoResize: true
1551
+ });
1552
+ };
1553
+ this.isEdited = isTextAreaEntryEdited;
1554
+ }
1555
+ }
1556
+
1557
+ // @ts-ignore
1558
+ class UserAssignmentStaticOrDynamicProps {
1559
+ constructor(props) {
1560
+ this.id = 'Coast_userAssignment_staticOrDynamic';
1561
+ const { element } = props;
1562
+ this.component = () => {
1563
+ return SelectEntry({
1414
1564
  element: element,
1415
- label: translate('Task Description'),
1565
+ id: this.id,
1566
+ label: util.translate('Set assignment rule'),
1416
1567
  getValue: () => {
1417
- return element.businessObject.get('taskDescription') || '';
1568
+ return getExtensionPropertyValue(element, this.id);
1418
1569
  },
1419
1570
  setValue: (value) => {
1420
- modeling.updateModdleProperties(element, element.businessObject, {
1421
- 'taskDescription': value
1422
- });
1423
- addExtensionProperty(element, 'taskDescription', value, bpmnFactory, modeling);
1571
+ addExtensionProperty(element, this.id, value);
1424
1572
  },
1425
- debounce
1573
+ getOptions: () => {
1574
+ return [
1575
+ { value: '', label: util.translate('dynamic user') },
1576
+ { value: 'static_user', label: util.translate('static user') },
1577
+ { value: 'dynamic_role', label: util.translate('dynamic role') },
1578
+ { value: 'static_role', label: util.translate('static role') }
1579
+ ];
1580
+ }
1426
1581
  });
1427
1582
  };
1428
- this.isEdited = isTextFieldEntryEdited;
1583
+ this.isEdited = isSelectEntryEdited;
1429
1584
  }
1430
1585
  }
1431
1586
 
1587
+ function getUserAssignmentProps(element) {
1588
+ return [new UserAssignmentStaticOrDynamicProps(element)];
1589
+ }
1590
+
1432
1591
  class CustomPropertiesProvider {
1433
1592
  constructor(propertiesPanel, translate, bpmnFactory, modeling, debounceInput) {
1434
1593
  this.translate = translate;
1435
- this.bpmnFactory = bpmnFactory;
1436
- this.modeling = modeling;
1437
- this.debounceInput = debounceInput;
1594
+ util.translate = translate;
1595
+ util.bpmnFactory = bpmnFactory;
1596
+ util.modeling = modeling;
1597
+ util.debounce = debounceInput;
1438
1598
  propertiesPanel.registerProvider(0, this);
1439
1599
  }
1440
1600
  getGroups(element) {
1441
1601
  return ((groups) => {
1442
- if (is(element, 'bpmn:UserTask')) {
1443
- console.log(groups);
1444
- return [groups.find((group) => group.id === 'general'), {
1445
- id: 'Coast_Implementation',
1446
- label: this.translate('More config'),
1447
- entries: [new DescriptionProps({
1448
- element,
1449
- translate: this.translate,
1450
- bpmnFactory: this.bpmnFactory,
1451
- modeling: this.modeling,
1452
- debounce: this.debounceInput
1453
- })]
1454
- }];
1455
- }
1456
- return groups;
1602
+ const generalGroup = groups.find((group) => group.id === 'general');
1603
+ generalGroup.shouldOpen = true;
1604
+ console.log(generalGroup);
1605
+ if (is(element, 'bpmn:Process')) {
1606
+ generalGroup.entries.splice(1, 3);
1607
+ }
1608
+ else if (is(element, 'bpmn:UserTask')) {
1609
+ generalGroup.entries.splice(1, 1);
1610
+ generalGroup.entries.push(...[
1611
+ new TaskDescriptionProps({ element }),
1612
+ ...getUserAssignmentProps({ element })
1613
+ ]);
1614
+ }
1615
+ return [generalGroup];
1457
1616
  });
1458
1617
  }
1459
1618
  }
@@ -1463,37 +1622,6 @@ var customPropertiesPanelModule = {
1463
1622
  customPropertiesProvider: ['type', CustomPropertiesProvider]
1464
1623
  };
1465
1624
 
1466
- var name = "Coast Custom";
1467
- var prefix = "coast";
1468
- var uri = "https://c-standard.cn";
1469
- var xml = {
1470
- tagAlias: "lowerCase"
1471
- };
1472
- var associations = [];
1473
- var types = [
1474
- {
1475
- name: "CoastUserTask",
1476
- "extends": [
1477
- "bpmn:UserTask"
1478
- ],
1479
- properties: [
1480
- {
1481
- name: "taskDescription",
1482
- isAttr: true,
1483
- type: "String"
1484
- }
1485
- ]
1486
- }
1487
- ];
1488
- var coastModdleDescriptor = {
1489
- name: name,
1490
- prefix: prefix,
1491
- uri: uri,
1492
- xml: xml,
1493
- associations: associations,
1494
- types: types
1495
- };
1496
-
1497
1625
  class CodeEditorComponent {
1498
1626
  set code(code) {
1499
1627
  var _a;
@@ -1570,6 +1698,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
1570
1698
  class CamundaBpmnEditorComponent {
1571
1699
  constructor() {
1572
1700
  this.isShowXml = false;
1701
+ this.initialDiagram = '<?xml version="1.0" encoding="UTF-8"?>' +
1702
+ '<bpmn:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
1703
+ 'xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" ' +
1704
+ 'xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" ' +
1705
+ 'xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" ' +
1706
+ 'targetNamespace="http://bpmn.io/schema/bpmn" ' +
1707
+ 'id="Definitions_1">' +
1708
+ '<bpmn:process id="Process_1" isExecutable="true">' +
1709
+ '<bpmn:startEvent id="StartEvent_1"/>' +
1710
+ '</bpmn:process>' +
1711
+ '<bpmndi:BPMNDiagram id="BPMNDiagram_1">' +
1712
+ '<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">' +
1713
+ '<bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">' +
1714
+ '<dc:Bounds height="36.0" width="36.0" x="173.0" y="102.0"/>' +
1715
+ '</bpmndi:BPMNShape>' +
1716
+ '</bpmndi:BPMNPlane>' +
1717
+ '</bpmndi:BPMNDiagram>' +
1718
+ '</bpmn:definitions>';
1573
1719
  }
1574
1720
  ngAfterViewInit() {
1575
1721
  var _a, _b;
@@ -1584,19 +1730,17 @@ class CamundaBpmnEditorComponent {
1584
1730
  additionalModules: [
1585
1731
  customTranslateModule,
1586
1732
  customUserTaskModule,
1733
+ customServiceTaskModule,
1587
1734
  customHideOtherModule,
1588
1735
  customPropertiesPanelModule
1589
- ],
1590
- moddleExtensions: {
1591
- coast: coastModdleDescriptor
1592
- }
1736
+ ]
1593
1737
  });
1594
1738
  const logo = this.modeler._container.querySelector('.bjs-powered-by');
1595
1739
  if (logo) {
1596
1740
  this.modeler._container.removeChild(logo);
1597
1741
  }
1598
1742
  this.canvas = this.modeler.get('canvas');
1599
- this.modeler.createDiagram().then(() => {
1743
+ this.modeler.importXML(this.initialDiagram).then(() => {
1600
1744
  this.canvas.zoom('fit-viewport');
1601
1745
  });
1602
1746
  }
@@ -2459,6 +2603,7 @@ class DataGridComponent {
2459
2603
  constructor(factory, service) {
2460
2604
  this.factory = factory;
2461
2605
  this.service = service;
2606
+ this.tenant = 'T';
2462
2607
  this.enableMasterDetail = false;
2463
2608
  this.selectionMode = 'none';
2464
2609
  this.onDxDataGridCellPrepared = new EventEmitter();
@@ -2799,6 +2944,7 @@ class FormComponent {
2799
2944
  constructor(viewContainerRef, service) {
2800
2945
  this.viewContainerRef = viewContainerRef;
2801
2946
  this.service = service;
2947
+ this.tenant = 'T';
2802
2948
  this.onlyFrontEnd = false; // 仅前端,不通过oid获取实例model
2803
2949
  this.readonly = false;
2804
2950
  this.submitCallback = new EventEmitter();
@@ -2851,6 +2997,11 @@ class FormComponent {
2851
2997
  submitForm() {
2852
2998
  this.validate().then(isValid => {
2853
2999
  if (isValid) {
3000
+ if (this.extraAttrMap) {
3001
+ for (const entry of this.extraAttrMap) {
3002
+ this.model[entry.name] = entry.value;
3003
+ }
3004
+ }
2854
3005
  this.service.createOrUpdate(this.tenant, this.className, Object.assign({ oid: this.oid }, this.model)).subscribe(response => {
2855
3006
  this.submitCallback.emit(response);
2856
3007
  });
@@ -2868,7 +3019,7 @@ class FormComponent {
2868
3019
  }
2869
3020
  }
2870
3021
  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 });
2871
- 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"] }] });
3022
+ 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"] }] });
2872
3023
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: FormComponent, decorators: [{
2873
3024
  type: Component,
2874
3025
  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"] }]
@@ -2882,6 +3033,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
2882
3033
  type: Input
2883
3034
  }], template: [{
2884
3035
  type: Input
3036
+ }], extraAttrMap: [{
3037
+ type: Input
2885
3038
  }], params: [{
2886
3039
  type: Input
2887
3040
  }], tabViewContainerRef: [{
@@ -2918,19 +3071,11 @@ class DataDetailComponent {
2918
3071
  }
2919
3072
  }
2920
3073
  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 });
2921
- 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"] }] });
3074
+ 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"] }] });
2922
3075
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DataDetailComponent, decorators: [{
2923
3076
  type: Component,
2924
- 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"] }]
2925
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: DataDetailService }]; }, propDecorators: { tenant: [{
2926
- type: Input
2927
- }], className: [{
2928
- type: Input
2929
- }], oid: [{
2930
- type: Input
2931
- }], params: [{
2932
- type: Input
2933
- }] } });
3077
+ 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"] }]
3078
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: DataDetailService }]; } });
2934
3079
 
2935
3080
  class FormModule {
2936
3081
  }
@@ -3076,8 +3221,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
3076
3221
  }]
3077
3222
  }], ctorParameters: function () { return []; } });
3078
3223
 
3224
+ class TooltipContentTemplateDirective {
3225
+ constructor(templateRef) {
3226
+ this.templateRef = templateRef;
3227
+ }
3228
+ }
3229
+ TooltipContentTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipContentTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
3230
+ TooltipContentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TooltipContentTemplateDirective, selector: "[rsTooltipContentTemplate]", ngImport: i0 });
3231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipContentTemplateDirective, decorators: [{
3232
+ type: Directive,
3233
+ args: [{
3234
+ selector: '[rsTooltipContentTemplate]'
3235
+ }]
3236
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
3237
+
3079
3238
  class DynamicParamsComponent {
3080
3239
  constructor() {
3240
+ this.label = '动态参数';
3241
+ this.showHelp = false;
3242
+ this.keyPlaceholder = '参数名';
3243
+ this.valuePlaceholder = '参数值';
3244
+ this.required = false;
3081
3245
  this.readonly = false;
3082
3246
  }
3083
3247
  add() {
@@ -3088,37 +3252,52 @@ class DynamicParamsComponent {
3088
3252
  }
3089
3253
  }
3090
3254
  DynamicParamsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3091
- 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"] }] });
3255
+ 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"] }] });
3092
3256
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsComponent, decorators: [{
3093
3257
  type: Component,
3094
- 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"] }]
3258
+ 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"] }]
3095
3259
  }], propDecorators: { label: [{
3096
3260
  type: Input
3261
+ }], showHelp: [{
3262
+ type: Input
3263
+ }], keyPlaceholder: [{
3264
+ type: Input
3265
+ }], valuePlaceholder: [{
3266
+ type: Input
3097
3267
  }], params: [{
3098
3268
  type: Input
3269
+ }], required: [{
3270
+ type: Input
3099
3271
  }], readonly: [{
3100
3272
  type: Input
3273
+ }], tooltipContentTemplate: [{
3274
+ type: ContentChild,
3275
+ args: [TooltipContentTemplateDirective]
3101
3276
  }] } });
3102
3277
 
3103
3278
  class DynamicParamsModule {
3104
3279
  }
3105
3280
  DynamicParamsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3106
- DynamicParamsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, declarations: [DynamicParamsComponent], imports: [CommonModule,
3107
- DevExtremeModule], exports: [DynamicParamsComponent] });
3281
+ DynamicParamsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, declarations: [DynamicParamsComponent,
3282
+ TooltipContentTemplateDirective], imports: [CommonModule,
3283
+ DevExtremeModule], exports: [DynamicParamsComponent,
3284
+ TooltipContentTemplateDirective] });
3108
3285
  DynamicParamsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, imports: [CommonModule,
3109
3286
  DevExtremeModule] });
3110
3287
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DynamicParamsModule, decorators: [{
3111
3288
  type: NgModule,
3112
3289
  args: [{
3113
3290
  declarations: [
3114
- DynamicParamsComponent
3291
+ DynamicParamsComponent,
3292
+ TooltipContentTemplateDirective
3115
3293
  ],
3116
3294
  imports: [
3117
3295
  CommonModule,
3118
3296
  DevExtremeModule
3119
3297
  ],
3120
3298
  exports: [
3121
- DynamicParamsComponent
3299
+ DynamicParamsComponent,
3300
+ TooltipContentTemplateDirective
3122
3301
  ]
3123
3302
  }]
3124
3303
  }] });
@@ -3148,7 +3327,7 @@ class IconSelectorComponent {
3148
3327
  }
3149
3328
  }
3150
3329
  IconSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: IconSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3151
- 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"] }] });
3330
+ 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"] }] });
3152
3331
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: IconSelectorComponent, decorators: [{
3153
3332
  type: Component,
3154
3333
  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" }]
@@ -3537,5 +3716,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
3537
3716
  * Generated bundle index. Do not edit.
3538
3717
  */
3539
3718
 
3540
- 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 };
3719
+ 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 };
3541
3720
  //# sourceMappingURL=ngx-rs-ant.mjs.map