@ajf/material 12.1.5 → 12.1.8

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 (191) hide show
  1. package/bundles/material-barcode.umd.js +3 -7
  2. package/bundles/material-barcode.umd.js.map +1 -1
  3. package/bundles/material-calendar.umd.js +5 -17
  4. package/bundles/material-calendar.umd.js.map +1 -1
  5. package/bundles/material-checkbox-group.umd.js +4 -14
  6. package/bundles/material-checkbox-group.umd.js.map +1 -1
  7. package/bundles/material-form-builder.umd.js +523 -484
  8. package/bundles/material-form-builder.umd.js.map +1 -1
  9. package/bundles/material-forms.umd.js +95 -63
  10. package/bundles/material-forms.umd.js.map +1 -1
  11. package/bundles/material-image.umd.js +3 -10
  12. package/bundles/material-image.umd.js.map +1 -1
  13. package/bundles/material-monaco-editor.umd.js +4 -7
  14. package/bundles/material-monaco-editor.umd.js.map +1 -1
  15. package/bundles/material-node-icon.umd.js +3 -10
  16. package/bundles/material-node-icon.umd.js.map +1 -1
  17. package/bundles/material-page-slider.umd.js +2 -7
  18. package/bundles/material-page-slider.umd.js.map +1 -1
  19. package/bundles/material-reports.umd.js +68 -12
  20. package/bundles/material-reports.umd.js.map +1 -1
  21. package/bundles/material-time.umd.js +4 -12
  22. package/bundles/material-time.umd.js.map +1 -1
  23. package/calendar/index.metadata.json +1 -1
  24. package/checkbox-group/index.metadata.json +1 -1
  25. package/esm2015/barcode/barcode-module.js +3 -7
  26. package/esm2015/barcode/barcode.js +3 -3
  27. package/esm2015/calendar/calendar-module.js +4 -14
  28. package/esm2015/calendar/calendar.js +4 -6
  29. package/esm2015/checkbox-group/checkbox-group-item.js +3 -3
  30. package/esm2015/checkbox-group/checkbox-group-module.js +4 -14
  31. package/esm2015/form-builder/branch-line.js +2 -2
  32. package/esm2015/form-builder/choices-origin-data-source.js +1 -1
  33. package/esm2015/form-builder/choices-origin-editor-dialog.js +7 -4
  34. package/esm2015/form-builder/choices-origin-editor.js +1 -1
  35. package/esm2015/form-builder/condition-editor-dialog.js +1 -1
  36. package/esm2015/form-builder/condition-editor.js +9 -8
  37. package/esm2015/form-builder/form-builder-module.js +29 -14
  38. package/esm2015/form-builder/form-builder-service.js +132 -125
  39. package/esm2015/form-builder/form-builder-utils.js +4 -3
  40. package/esm2015/form-builder/form-builder.js +30 -26
  41. package/esm2015/form-builder/node-entry.js +7 -5
  42. package/esm2015/form-builder/node-properties.js +317 -312
  43. package/esm2015/form-builder/node-type-entry.js +2 -2
  44. package/esm2015/form-builder/string-identifier-dialog.js +5 -7
  45. package/esm2015/form-builder/validation-condition-editor-dialog.js +1 -1
  46. package/esm2015/form-builder/warning-condition-editor-dialog.js +1 -1
  47. package/esm2015/forms/barcode-field.js +3 -3
  48. package/esm2015/forms/boolean-field.js +3 -3
  49. package/esm2015/forms/date-field.js +2 -2
  50. package/esm2015/forms/date-input-field.js +3 -3
  51. package/esm2015/forms/empty-field.js +3 -3
  52. package/esm2015/forms/field-service.js +42 -42
  53. package/esm2015/forms/field-warning-dialog.js +1 -1
  54. package/esm2015/forms/field.js +2 -2
  55. package/esm2015/forms/form.js +2 -2
  56. package/esm2015/forms/forms-module.js +55 -23
  57. package/esm2015/forms/input-field.js +2 -2
  58. package/esm2015/forms/multiple-choice-field.js +3 -3
  59. package/esm2015/forms/range-field.js +3 -3
  60. package/esm2015/forms/single-choice-field.js +3 -3
  61. package/esm2015/forms/table-field.js +3 -3
  62. package/esm2015/forms/text-field.js +2 -2
  63. package/esm2015/forms/time-field.js +3 -3
  64. package/esm2015/forms/video-url-field.js +2 -2
  65. package/esm2015/forms/warning-alert-service.js +1 -1
  66. package/esm2015/image/image-module.js +4 -11
  67. package/esm2015/image/image.js +2 -2
  68. package/esm2015/monaco-editor/autocomplete-singleton-model.js +3 -2
  69. package/esm2015/monaco-editor/editor-options-model.js +1 -1
  70. package/esm2015/monaco-editor/monaco-editor-module.js +3 -7
  71. package/esm2015/monaco-editor/monaco-editor.js +3 -3
  72. package/esm2015/node-icon/node-icon-module.js +4 -11
  73. package/esm2015/node-icon/node-icon.js +1 -1
  74. package/esm2015/page-slider/page-slider-module.js +3 -8
  75. package/esm2015/page-slider/page-slider.js +2 -2
  76. package/esm2015/reports/chart-widget.js +2 -2
  77. package/esm2015/reports/filter-widget.js +78 -0
  78. package/esm2015/reports/formula-widget.js +2 -2
  79. package/esm2015/reports/image-container-widget.js +2 -2
  80. package/esm2015/reports/image-widget.js +2 -2
  81. package/esm2015/reports/map-widget.js +2 -2
  82. package/esm2015/reports/page-break-widget.js +2 -2
  83. package/esm2015/reports/public-api.js +2 -1
  84. package/esm2015/reports/report.js +2 -2
  85. package/esm2015/reports/reports-module.js +7 -6
  86. package/esm2015/reports/table-widget.js +3 -3
  87. package/esm2015/reports/text-widget.js +2 -2
  88. package/esm2015/reports/widget.js +7 -4
  89. package/esm2015/time/time-module.js +4 -12
  90. package/esm2015/time/time.js +3 -3
  91. package/fesm2015/barcode.js +3 -7
  92. package/fesm2015/barcode.js.map +1 -1
  93. package/fesm2015/calendar.js +5 -17
  94. package/fesm2015/calendar.js.map +1 -1
  95. package/fesm2015/checkbox-group.js +4 -14
  96. package/fesm2015/checkbox-group.js.map +1 -1
  97. package/fesm2015/form-builder.js +521 -485
  98. package/fesm2015/form-builder.js.map +1 -1
  99. package/fesm2015/forms.js +95 -63
  100. package/fesm2015/forms.js.map +1 -1
  101. package/fesm2015/image.js +3 -10
  102. package/fesm2015/image.js.map +1 -1
  103. package/fesm2015/monaco-editor.js +5 -8
  104. package/fesm2015/monaco-editor.js.map +1 -1
  105. package/fesm2015/node-icon.js +3 -10
  106. package/fesm2015/node-icon.js.map +1 -1
  107. package/fesm2015/page-slider.js +2 -7
  108. package/fesm2015/page-slider.js.map +1 -1
  109. package/fesm2015/reports.js +89 -13
  110. package/fesm2015/reports.js.map +1 -1
  111. package/fesm2015/time.js +4 -12
  112. package/fesm2015/time.js.map +1 -1
  113. package/form-builder/index.metadata.json +1 -1
  114. package/form-builder/node-properties.d.ts +1 -0
  115. package/forms/index.metadata.json +1 -1
  116. package/image/index.metadata.json +1 -1
  117. package/monaco-editor/index.metadata.json +1 -1
  118. package/node-icon/index.metadata.json +1 -1
  119. package/package.json +2 -4
  120. package/page-slider/index.metadata.json +1 -1
  121. package/{report-builder/widget-toolbar-button.d.ts → reports/filter-widget.d.ts} +11 -5
  122. package/reports/index.metadata.json +1 -1
  123. package/reports/public-api.d.ts +1 -0
  124. package/time/index.metadata.json +1 -1
  125. package/bundles/material-report-builder.umd.js +0 -5814
  126. package/bundles/material-report-builder.umd.js.map +0 -1
  127. package/esm2015/report-builder/column.js +0 -97
  128. package/esm2015/report-builder/condition-editor.js +0 -159
  129. package/esm2015/report-builder/content.js +0 -255
  130. package/esm2015/report-builder/custom-widget-dialog.js +0 -51
  131. package/esm2015/report-builder/custom-widget-toolbar-button.js +0 -70
  132. package/esm2015/report-builder/custom-widgets-toolbar.js +0 -124
  133. package/esm2015/report-builder/forms-analyzer-dialog.js +0 -315
  134. package/esm2015/report-builder/forms-analyzer.js +0 -264
  135. package/esm2015/report-builder/image-filter.js +0 -32
  136. package/esm2015/report-builder/image-group.js +0 -106
  137. package/esm2015/report-builder/index.js +0 -25
  138. package/esm2015/report-builder/models.js +0 -23
  139. package/esm2015/report-builder/operations.js +0 -23
  140. package/esm2015/report-builder/properties.js +0 -765
  141. package/esm2015/report-builder/public-api.js +0 -26
  142. package/esm2015/report-builder/quill-editor.js +0 -299
  143. package/esm2015/report-builder/renderer-widget.js +0 -238
  144. package/esm2015/report-builder/report-builder-drag-data.js +0 -23
  145. package/esm2015/report-builder/report-builder-module.js +0 -114
  146. package/esm2015/report-builder/report-builder-service.js +0 -1685
  147. package/esm2015/report-builder/report-builder.externs.js +0 -6
  148. package/esm2015/report-builder/report-builder.js +0 -69
  149. package/esm2015/report-builder/theme-color-dialog.js +0 -90
  150. package/esm2015/report-builder/theme-color.js +0 -215
  151. package/esm2015/report-builder/tokens.js +0 -24
  152. package/esm2015/report-builder/toolbar-dialog.js +0 -56
  153. package/esm2015/report-builder/toolbar.js +0 -90
  154. package/esm2015/report-builder/utils.js +0 -48
  155. package/esm2015/report-builder/widget-toolbar-button.js +0 -47
  156. package/esm2015/report-builder/widgets-row-buttons.js +0 -133
  157. package/esm2015/report-builder/widgets-toolbar.js +0 -79
  158. package/fesm2015/report-builder.js +0 -5332
  159. package/fesm2015/report-builder.js.map +0 -1
  160. package/report-builder/_report-builder.scss +0 -0
  161. package/report-builder/column.d.ts +0 -63
  162. package/report-builder/condition-editor.d.ts +0 -67
  163. package/report-builder/content.d.ts +0 -142
  164. package/report-builder/custom-widget-dialog.d.ts +0 -31
  165. package/report-builder/custom-widget-toolbar-button.d.ts +0 -45
  166. package/report-builder/custom-widgets-toolbar.d.ts +0 -71
  167. package/report-builder/forms-analyzer-dialog.d.ts +0 -91
  168. package/report-builder/forms-analyzer.d.ts +0 -102
  169. package/report-builder/image-filter.d.ts +0 -25
  170. package/report-builder/image-group.d.ts +0 -69
  171. package/report-builder/index.d.ts +0 -24
  172. package/report-builder/index.metadata.json +0 -1
  173. package/report-builder/models.d.ts +0 -43
  174. package/report-builder/operations.d.ts +0 -45
  175. package/report-builder/package.json +0 -9
  176. package/report-builder/properties.d.ts +0 -365
  177. package/report-builder/public-api.d.ts +0 -26
  178. package/report-builder/quill-editor.d.ts +0 -113
  179. package/report-builder/renderer-widget.d.ts +0 -80
  180. package/report-builder/report-builder-drag-data.d.ts +0 -32
  181. package/report-builder/report-builder-module.d.ts +0 -23
  182. package/report-builder/report-builder-service.d.ts +0 -722
  183. package/report-builder/report-builder.d.ts +0 -36
  184. package/report-builder/theme-color-dialog.d.ts +0 -42
  185. package/report-builder/theme-color.d.ts +0 -108
  186. package/report-builder/tokens.d.ts +0 -24
  187. package/report-builder/toolbar-dialog.d.ts +0 -30
  188. package/report-builder/toolbar.d.ts +0 -48
  189. package/report-builder/utils.d.ts +0 -29
  190. package/report-builder/widgets-row-buttons.d.ts +0 -57
  191. package/report-builder/widgets-toolbar.d.ts +0 -44
@@ -533,7 +533,8 @@
533
533
  }
534
534
  function buildFormBuilderNodesSubtree(nodes, parent, ignoreConditionalBranches) {
535
535
  if (ignoreConditionalBranches === void 0) { ignoreConditionalBranches = false; }
536
- var entries = nodes.filter(function (n) { return n.parent === parent.id; })
536
+ var entries = nodes
537
+ .filter(function (n) { return n.parent === parent.id; })
537
538
  .sort(function (n1, n2) { return n1.parentNode - n2.parentNode; })
538
539
  .map(function (n) {
539
540
  var children = buildFormBuilderNodesSubtree(nodes, n);
@@ -543,7 +544,7 @@
543
544
  return {
544
545
  node: n,
545
546
  children: children,
546
- content: buildFormBuilderNodesContent(nodes, n)
547
+ content: buildFormBuilderNodesContent(nodes, n),
547
548
  };
548
549
  });
549
550
  if (!ignoreConditionalBranches) {
@@ -573,9 +574,9 @@
573
574
  }
574
575
  function getDescendants(flatNodes, parentNode, branch) {
575
576
  if (branch === void 0) { branch = null; }
576
- return branch != null ?
577
- flatNodes.filter(function (n) { return n.parent === parentNode.id && n.parentNode === branch; }) :
578
- flatNodes.filter(function (n) { return n.parent === parentNode.id; });
577
+ return branch != null
578
+ ? flatNodes.filter(function (n) { return n.parent === parentNode.id && n.parentNode === branch; })
579
+ : flatNodes.filter(function (n) { return n.parent === parentNode.id; });
579
580
  }
580
581
  function removeNodes(nodes, ids) {
581
582
  var len = nodes.length;
@@ -608,74 +609,74 @@
608
609
  label: 'Slide',
609
610
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-slide' },
610
611
  nodeType: { node: forms.AjfNodeType.AjfSlide },
611
- isSlide: true
612
+ isSlide: true,
612
613
  },
613
614
  {
614
615
  label: 'Repeating slide',
615
616
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-repeatingslide' },
616
617
  nodeType: { node: forms.AjfNodeType.AjfRepeatingSlide },
617
- isSlide: true
618
+ isSlide: true,
618
619
  },
619
620
  {
620
621
  label: 'String',
621
622
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-string' },
622
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.String }
623
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.String },
623
624
  },
624
625
  {
625
626
  label: 'Text',
626
627
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-text' },
627
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Text }
628
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Text },
628
629
  },
629
630
  {
630
631
  label: 'Number',
631
632
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-number' },
632
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Number }
633
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Number },
633
634
  },
634
635
  {
635
636
  label: 'Boolean',
636
637
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-boolean' },
637
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Boolean }
638
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Boolean },
638
639
  },
639
640
  {
640
641
  label: 'Single choice',
641
642
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-singlechoice' },
642
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.SingleChoice }
643
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.SingleChoice },
643
644
  },
644
645
  {
645
646
  label: 'Multiple choice',
646
647
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-multiplechoice' },
647
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.MultipleChoice }
648
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.MultipleChoice },
648
649
  },
649
650
  {
650
651
  label: 'Formula',
651
652
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-formula' },
652
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Formula }
653
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Formula },
653
654
  },
654
655
  {
655
656
  label: 'Date',
656
657
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-date' },
657
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Date }
658
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Date },
658
659
  },
659
660
  {
660
661
  label: 'Date input',
661
662
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-dateinput' },
662
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.DateInput }
663
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.DateInput },
663
664
  },
664
665
  {
665
666
  label: 'Time',
666
667
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-time' },
667
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Time }
668
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Time },
668
669
  },
669
670
  {
670
671
  label: 'Table',
671
672
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-table' },
672
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Table }
673
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Table },
673
674
  },
674
675
  {
675
676
  label: 'Range',
676
677
  icon: { fontSet: 'ajf-icon', fontIcon: 'field-range' },
677
- nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Range }
678
- }
678
+ nodeType: { node: forms.AjfNodeType.AjfField, field: forms.AjfFieldType.Range },
679
+ },
679
680
  ];
680
681
  this._form = new rxjs.BehaviorSubject(null);
681
682
  this._formObs = this._form;
@@ -684,11 +685,14 @@
684
685
  */
685
686
  this._connectedDropLists = new rxjs.BehaviorSubject([]);
686
687
  this._editedNodeEntry = new rxjs.BehaviorSubject(null);
687
- this._editedNodeEntryObs = this._editedNodeEntry;
688
+ this._editedNodeEntryObs = this
689
+ ._editedNodeEntry;
688
690
  this._editedCondition = new rxjs.BehaviorSubject(null);
689
- this._editedConditionObs = this._editedCondition;
691
+ this._editedConditionObs = this
692
+ ._editedCondition;
690
693
  this._editedChoicesOrigin = new rxjs.BehaviorSubject(null);
691
- this._editedChoicesOriginObs = this._editedChoicesOrigin;
694
+ this._editedChoicesOriginObs = this
695
+ ._editedChoicesOrigin;
692
696
  this._beforeNodesUpdate = new core.EventEmitter();
693
697
  this._beforeNodesUpdateObs = this._beforeNodesUpdate;
694
698
  this._afterNodeUpdate = new core.EventEmitter();
@@ -903,9 +907,9 @@
903
907
  }
904
908
  this._beforeNodesUpdate.emit();
905
909
  this._nodesUpdates.next(function (nodes) {
906
- var cn = forms.isContainerNode(parent) && inContent ?
907
- parent :
908
- getNodeContainer({ nodes: nodes }, parent);
910
+ var cn = forms.isContainerNode(parent) && inContent
911
+ ? parent
912
+ : getNodeContainer({ nodes: nodes }, parent);
909
913
  if (!isFieldNode) {
910
914
  var newNodes = nodes.slice(0);
911
915
  newNodes.splice(insertInIndex, 0, node);
@@ -940,10 +944,12 @@
940
944
  };
941
945
  AjfFormBuilderService.prototype.getCurrentForm = function () {
942
946
  return rxjs.combineLatest([
943
- this.form, this._nodesWithoutChoiceOrigins, this.attachmentsOrigins,
944
- this.choicesOrigins, this.stringIdentifier
945
- ])
946
- .pipe(operators.filter(function (_b) {
947
+ this.form,
948
+ this._nodesWithoutChoiceOrigins,
949
+ this.attachmentsOrigins,
950
+ this.choicesOrigins,
951
+ this.stringIdentifier,
952
+ ]).pipe(operators.filter(function (_b) {
947
953
  var _c = __read(_b, 1), form = _c[0];
948
954
  return form != null;
949
955
  }), operators.map(function (_b) {
@@ -1005,7 +1011,7 @@
1005
1011
  node: rootNode,
1006
1012
  container: null,
1007
1013
  children: buildFormBuilderNodesSubtree(nodes, rootNode),
1008
- content: buildFormBuilderNodesContent(nodes, rootNode)
1014
+ content: buildFormBuilderNodesContent(nodes, rootNode),
1009
1015
  });
1010
1016
  return tree;
1011
1017
  }
@@ -1042,25 +1048,24 @@
1042
1048
  return form != null && form.nodes != null ? form.nodes.slice(0) : [];
1043
1049
  });
1044
1050
  _this._attachmentsOriginsUpdates.next(function (_attachmentsOrigins) {
1045
- return form != null && form.attachmentsOrigins != null ?
1046
- form.attachmentsOrigins.slice(0) :
1047
- [];
1051
+ return form != null && form.attachmentsOrigins != null
1052
+ ? form.attachmentsOrigins.slice(0)
1053
+ : [];
1048
1054
  });
1049
1055
  _this._choicesOriginsUpdates.next(function (_choicesOrigins) {
1050
1056
  return form != null && form.choicesOrigins != null ? form.choicesOrigins.slice(0) : [];
1051
1057
  });
1052
1058
  _this._stringIdentifierUpdates.next(function (_) {
1053
- return form != null && form.stringIdentifier != null ? form.stringIdentifier.slice(0) :
1054
- [];
1059
+ return form != null && form.stringIdentifier != null
1060
+ ? form.stringIdentifier.slice(0)
1061
+ : [];
1055
1062
  });
1056
1063
  });
1057
1064
  };
1058
1065
  AjfFormBuilderService.prototype._initChoicesOriginsStreams = function () {
1059
- this._choicesOrigins =
1060
- this._choicesOriginsUpdates
1061
- .pipe(operators.scan(function (choicesOrigins, op) {
1062
- return op(choicesOrigins);
1063
- }, []), operators.publishReplay(1), operators.refCount());
1066
+ this._choicesOrigins = (this._choicesOriginsUpdates).pipe(operators.scan(function (choicesOrigins, op) {
1067
+ return op(choicesOrigins);
1068
+ }, []), operators.publishReplay(1), operators.refCount());
1064
1069
  };
1065
1070
  AjfFormBuilderService.prototype._initAttachmentsOriginsStreams = function () {
1066
1071
  this._attachmentsOrigins = this._attachmentsOriginsUpdates.pipe(operators.scan(function (attachmentsOrigins, op) {
@@ -1074,27 +1079,25 @@
1074
1079
  };
1075
1080
  AjfFormBuilderService.prototype._initNodesStreams = function () {
1076
1081
  var _this = this;
1077
- this._nodes = this._nodesUpdates
1078
- .pipe(operators.scan(function (nodes, op) {
1082
+ this._nodes = this._nodesUpdates.pipe(operators.scan(function (nodes, op) {
1079
1083
  return op(nodes);
1080
1084
  }, []), operators.publishReplay(1), operators.refCount());
1081
- this._nodesWithoutChoiceOrigins =
1082
- this._nodes.pipe(operators.map(function (slides) { return slides.map(function (slide) {
1083
- slide.nodes = slide.nodes.map(function (node) {
1084
- if (forms.isFieldWithChoices(node)) {
1085
- var fwc = utils.deepCopy(node);
1086
- if (fwc && fwc.choices) {
1087
- delete fwc.choices;
1088
- }
1089
- if (fwc && fwc.choicesOrigin) {
1090
- delete fwc.choicesOrigin;
1091
- }
1092
- return fwc;
1085
+ this._nodesWithoutChoiceOrigins = this._nodes.pipe(operators.map(function (slides) { return slides.map(function (slide) {
1086
+ slide.nodes = slide.nodes.map(function (node) {
1087
+ if (forms.isFieldWithChoices(node)) {
1088
+ var fwc = utils.deepCopy(node);
1089
+ if (fwc && fwc.choices) {
1090
+ delete fwc.choices;
1093
1091
  }
1094
- return node;
1095
- });
1096
- return slide;
1097
- }); }));
1092
+ if (fwc && fwc.choicesOrigin) {
1093
+ delete fwc.choicesOrigin;
1094
+ }
1095
+ return fwc;
1096
+ }
1097
+ return node;
1098
+ });
1099
+ return slide;
1100
+ }); }));
1098
1101
  this._flatNodes = this._nodes.pipe(operators.map(function (nodes) { return flattenNodes(nodes); }), operators.publishReplay(1), operators.refCount());
1099
1102
  this._flatFields = this._flatNodes.pipe(operators.map(function (nodes) { return nodes.filter(function (n) { return !forms.isContainerNode(n); }); }), operators.publishReplay(1), operators.refCount());
1100
1103
  this._nodeEntriesTree = this._nodes.pipe(operators.map(function (nodes) { return _this._buildFormBuilderNodesTree(nodes); }), operators.publishReplay(1), operators.refCount());
@@ -1114,19 +1117,22 @@
1114
1117
  node.id = nodeEntry.node.id;
1115
1118
  node.name = properties.name;
1116
1119
  node.label = properties.label;
1117
- node.visibility = properties.visibility != null ?
1118
- models.createCondition({ condition: properties.visibility }) :
1119
- null;
1120
+ node.visibility =
1121
+ properties.visibility != null
1122
+ ? models.createCondition({ condition: properties.visibility })
1123
+ : null;
1120
1124
  var oldConditionalBranches = node.conditionalBranches.length;
1121
- node.conditionalBranches = properties.conditionalBranches != null ?
1122
- properties.conditionalBranches.map(function (condition) { return models.createCondition({ condition: condition }); }) :
1123
- [models.alwaysCondition()];
1125
+ node.conditionalBranches =
1126
+ properties.conditionalBranches != null
1127
+ ? properties.conditionalBranches.map(function (condition) { return models.createCondition({ condition: condition }); })
1128
+ : [models.alwaysCondition()];
1124
1129
  var newConditionalBranches = node.conditionalBranches.length;
1125
1130
  if (forms.isRepeatingContainerNode(node)) {
1126
1131
  var repNode = node;
1127
- repNode.formulaReps = properties.formulaReps != null ?
1128
- models.createFormula({ formula: properties.formulaReps }) :
1129
- undefined;
1132
+ repNode.formulaReps =
1133
+ properties.formulaReps != null
1134
+ ? models.createFormula({ formula: properties.formulaReps })
1135
+ : undefined;
1130
1136
  repNode.minReps = properties.minReps;
1131
1137
  repNode.maxReps = properties.maxReps;
1132
1138
  }
@@ -1134,9 +1140,8 @@
1134
1140
  var field = node;
1135
1141
  field.description = properties.description;
1136
1142
  field.defaultValue = properties.defaultValue;
1137
- field.formula = properties.formula != null ?
1138
- models.createFormula({ formula: properties.formula }) :
1139
- undefined;
1143
+ field.formula =
1144
+ properties.formula != null ? models.createFormula({ formula: properties.formula }) : undefined;
1140
1145
  var forceValue = properties.value;
1141
1146
  var notEmpty = properties.notEmpty;
1142
1147
  var validationConditions = properties.validationConditions;
@@ -1156,25 +1161,24 @@
1156
1161
  if (isNaN(maxDigits)) {
1157
1162
  maxDigits = null;
1158
1163
  }
1159
- if (forceValue != null || notEmpty != null ||
1164
+ if (forceValue != null ||
1165
+ notEmpty != null ||
1160
1166
  (validationConditions != null && validationConditions.length > 0) ||
1161
- minValue != null || maxValue != null || minDigits != null ||
1167
+ minValue != null ||
1168
+ maxValue != null ||
1169
+ minDigits != null ||
1162
1170
  maxDigits != null) {
1163
1171
  var validation = field.validation || forms.createValidationGroup({});
1164
1172
  validation.forceValue = forceValue;
1165
1173
  validation.notEmpty = notEmpty ? forms.notEmptyValidation() : undefined;
1166
1174
  validation.minValue = minValue != null ? forms.minValidation(minValue) : undefined;
1167
1175
  validation.maxValue = maxValue != null ? forms.maxValidation(maxValue) : undefined;
1168
- validation.minDigits =
1169
- minDigits != null ? forms.minDigitsValidation(minDigits) : undefined;
1170
- validation.maxDigits =
1171
- maxDigits != null ? forms.maxDigitsValidation(maxDigits) : undefined;
1172
- validation.conditions =
1173
- (validationConditions ||
1174
- []).map(function (c) { return forms.createValidation({
1175
- condition: c.condition,
1176
- errorMessage: c.errorMessage
1177
- }); });
1176
+ validation.minDigits = minDigits != null ? forms.minDigitsValidation(minDigits) : undefined;
1177
+ validation.maxDigits = maxDigits != null ? forms.maxDigitsValidation(maxDigits) : undefined;
1178
+ validation.conditions = (validationConditions || []).map(function (c) { return forms.createValidation({
1179
+ condition: c.condition,
1180
+ errorMessage: c.errorMessage,
1181
+ }); });
1178
1182
  field.validation = validation;
1179
1183
  }
1180
1184
  else {
@@ -1186,20 +1190,19 @@
1186
1190
  (warningConditions != null && warningConditions.length > 0)) {
1187
1191
  var warning = field.warning || forms.createWarningGroup({});
1188
1192
  warning.notEmpty = notEmptyWarn ? forms.notEmptyWarning() : undefined;
1189
- warning.conditions =
1190
- (warningConditions ||
1191
- []).map(function (w) { return forms.createWarning({
1192
- condition: w.condition,
1193
- warningMessage: w.warningMessage
1194
- }); });
1193
+ warning.conditions = (warningConditions || []).map(function (w) { return forms.createWarning({
1194
+ condition: w.condition,
1195
+ warningMessage: w.warningMessage,
1196
+ }); });
1195
1197
  field.warning = warning;
1196
1198
  }
1197
1199
  else {
1198
1200
  field.warning = undefined;
1199
1201
  }
1200
- field.nextSlideCondition = properties.nextSlideCondition != null ?
1201
- models.createCondition({ condition: properties.nextSlideCondition }) :
1202
- undefined;
1202
+ field.nextSlideCondition =
1203
+ properties.nextSlideCondition != null
1204
+ ? models.createCondition({ condition: properties.nextSlideCondition })
1205
+ : undefined;
1203
1206
  field.size = properties.size;
1204
1207
  field.defaultValue = properties.defaultValue;
1205
1208
  if (forms.isFieldWithChoices(field)) {
@@ -1207,8 +1210,13 @@
1207
1210
  fwc.choicesOriginRef = properties.choicesOriginRef;
1208
1211
  fwc.forceExpanded = properties.forceExpanded;
1209
1212
  fwc.forceNarrow = properties.forceNarrow;
1210
- fwc.triggerConditions = (properties.triggerConditions ||
1211
- []).map(function (t) { return models.createCondition({ condition: t }); });
1213
+ fwc.triggerConditions = (properties.triggerConditions || []).map(function (t) { return models.createCondition({ condition: t }); });
1214
+ }
1215
+ if (forms.isRangeField(field)) {
1216
+ var rf = field;
1217
+ rf.start = properties.start;
1218
+ rf.end = properties.end;
1219
+ rf.step = properties.step;
1212
1220
  }
1213
1221
  }
1214
1222
  _this._editedNodeEntry.next(null);
@@ -1276,32 +1284,31 @@
1276
1284
  AjfFormBuilderService.prototype._initMoveNode = function () {
1277
1285
  var _this = this;
1278
1286
  this._moveNodeSub.unsubscribe();
1279
- this._moveNodeSub =
1280
- this._moveNodeEntryEvent
1281
- .pipe(operators.map(function (moveEvent) {
1282
- _this._beforeNodesUpdate.emit();
1283
- return function (nodes) {
1284
- var nodeEntry = moveEvent.nodeEntry;
1285
- var node = nodeEntry.node;
1286
- var cn = getNodeContainer({ nodes: nodes }, node);
1287
- var newNodes = nodes;
1288
- if (cn != null) {
1289
- var replaceNodes = cn.nodes === nodes;
1290
- newNodes = cn.nodes;
1291
- dragDrop.moveItemInArray(newNodes, moveEvent.fromIndex, moveEvent.toIndex);
1292
- newNodes = _this._updateNodesList(cn.id, newNodes);
1293
- cn.nodes = newNodes;
1294
- if (replaceNodes) {
1295
- nodes = newNodes;
1296
- }
1297
- else {
1298
- nodes = nodes.slice(0);
1299
- }
1287
+ this._moveNodeSub = this._moveNodeEntryEvent
1288
+ .pipe(operators.map(function (moveEvent) {
1289
+ _this._beforeNodesUpdate.emit();
1290
+ return function (nodes) {
1291
+ var nodeEntry = moveEvent.nodeEntry;
1292
+ var node = nodeEntry.node;
1293
+ var cn = getNodeContainer({ nodes: nodes }, node);
1294
+ var newNodes = nodes;
1295
+ if (cn != null) {
1296
+ var replaceNodes = cn.nodes === nodes;
1297
+ newNodes = cn.nodes;
1298
+ dragDrop.moveItemInArray(newNodes, moveEvent.fromIndex, moveEvent.toIndex);
1299
+ newNodes = _this._updateNodesList(cn.id, newNodes);
1300
+ cn.nodes = newNodes;
1301
+ if (replaceNodes) {
1302
+ nodes = newNodes;
1300
1303
  }
1301
- return nodes;
1302
- };
1303
- }))
1304
- .subscribe(this._nodesUpdates);
1304
+ else {
1305
+ nodes = nodes.slice(0);
1306
+ }
1307
+ }
1308
+ return nodes;
1309
+ };
1310
+ }))
1311
+ .subscribe(this._nodesUpdates);
1305
1312
  };
1306
1313
  /**
1307
1314
  * Updates the "id" and "parent" fields of a modified or rearranged list of nodes.
@@ -1315,8 +1322,8 @@
1315
1322
  var contId = containerId != undefined ? containerId : 0;
1316
1323
  for (var idx = 0; idx < nodesList.length; idx++) {
1317
1324
  var currentNode = nodesList[idx];
1318
- currentNode.id = (contId * 1000) + idx + 1;
1319
- currentNode.parent = idx == 0 ? contId : (contId * 1000) + idx;
1325
+ currentNode.id = contId * 1000 + idx + 1;
1326
+ currentNode.parent = idx == 0 ? contId : contId * 1000 + idx;
1320
1327
  if (currentNode.nodeType == forms.AjfNodeType.AjfSlide ||
1321
1328
  currentNode.nodeType == forms.AjfNodeType.AjfRepeatingSlide) {
1322
1329
  var currentSlide = currentNode;
@@ -1358,8 +1365,7 @@
1358
1365
  var AjfFbChoicesOriginEditorDialog = /** @class */ (function () {
1359
1366
  function AjfFbChoicesOriginEditorDialog(_service) {
1360
1367
  this._service = _service;
1361
- this._choicesOrigin =
1362
- this._service.editedChoicesOrigin.pipe(operators.filter(function (c) { return c != null; }), operators.map(function (c) { return c; }));
1368
+ this._choicesOrigin = this._service.editedChoicesOrigin.pipe(operators.filter(function (c) { return c != null; }), operators.map(function (c) { return c; }));
1363
1369
  }
1364
1370
  Object.defineProperty(AjfFbChoicesOriginEditorDialog.prototype, "choicesOrigin", {
1365
1371
  get: function () {
@@ -1369,7 +1375,11 @@
1369
1375
  configurable: true
1370
1376
  });
1371
1377
  AjfFbChoicesOriginEditorDialog.prototype.saveChoicesOrigin = function () {
1372
- this._service.saveChoicesOrigin({ label: this.editor.label, name: this.editor.name, choices: this.editor.choicesArr });
1378
+ this._service.saveChoicesOrigin({
1379
+ label: this.editor.label,
1380
+ name: this.editor.name,
1381
+ choices: this.editor.choicesArr,
1382
+ });
1373
1383
  };
1374
1384
  AjfFbChoicesOriginEditorDialog.prototype.cancelChoicesOriginEdit = function () {
1375
1385
  this._service.cancelChoicesOriginEdit();
@@ -1445,12 +1455,15 @@
1445
1455
  }
1446
1456
  };
1447
1457
  AjfFbConditionEditor.prototype.onEditorInit = function () {
1448
- monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({ noSemanticValidation: false, noSyntaxValidation: false });
1458
+ monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
1459
+ noSemanticValidation: false,
1460
+ noSyntaxValidation: false,
1461
+ });
1449
1462
  monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
1450
1463
  target: monaco.languages.typescript.ScriptTarget.ES2015,
1451
1464
  allowNonTsExtensions: true,
1452
1465
  allowJs: true,
1453
- module: monaco.languages.typescript.ModuleKind.None
1466
+ module: monaco.languages.typescript.ModuleKind.None,
1454
1467
  });
1455
1468
  try {
1456
1469
  monaco.languages.typescript.javascriptDefaults.addExtraLib('', 'condition-editor-variables.d.ts');
@@ -1482,16 +1495,14 @@
1482
1495
  })
1483
1496
  .join('\n');
1484
1497
  }
1485
- catch (e) {
1486
- }
1498
+ catch (e) { }
1487
1499
  };
1488
1500
  AjfFbConditionEditor.prototype._updateFunctions = function () {
1489
1501
  try {
1490
1502
  monaco.languages.typescript.javascriptDefaults._extraLibs['condition-editor-functions.d.ts'] =
1491
1503
  models.AjfExpressionUtils.UTIL_FUNCTIONS;
1492
1504
  }
1493
- catch (e) {
1494
- }
1505
+ catch (e) { }
1495
1506
  };
1496
1507
  AjfFbConditionEditor.prototype._fieldVarType = function (fieldType) {
1497
1508
  switch (fieldType) {
@@ -1634,8 +1645,9 @@
1634
1645
  fbService.insertNode(itemData, null, 0, content, event.currentIndex);
1635
1646
  return;
1636
1647
  }
1637
- var emptySlot = content ? { parent: nodeEntry.node, parentNode: 0 } :
1638
- nodeEntry;
1648
+ var emptySlot = content
1649
+ ? { parent: nodeEntry.node, parentNode: 0 }
1650
+ : nodeEntry;
1639
1651
  fbService.insertNode(itemData, emptySlot.parent, emptySlot.parentNode, content, event.currentIndex);
1640
1652
  return;
1641
1653
  }
@@ -1673,7 +1685,8 @@
1673
1685
  this._stringIdentifierSub = _service.stringIdentifier.subscribe(function (identifier) {
1674
1686
  _this.dataSource.data = __spreadArray([], __read(identifier));
1675
1687
  });
1676
- this.fields$ = _service.flatFields.pipe(operators.map(function (fields) { return fields.sort(function (f1, f2) { return f1.name.localeCompare(f2.name); })
1688
+ this.fields$ = _service.flatFields.pipe(operators.map(function (fields) { return fields
1689
+ .sort(function (f1, f2) { return f1.name.localeCompare(f2.name); })
1677
1690
  .map(function (f) { return f.name; })
1678
1691
  .filter(function (f) { return f.length > 0; }); }), operators.shareReplay(1));
1679
1692
  }
@@ -1764,28 +1777,28 @@
1764
1777
  this._nodeTypes = _service.availableNodeTypes;
1765
1778
  this._nodeEntriesTree = _service.nodeEntriesTree;
1766
1779
  this._choicesOrigins = _service.choicesOrigins;
1767
- this._editConditionSub =
1768
- this._service.editedCondition.subscribe(function (condition) {
1769
- if (_this._editConditionDialog != null) {
1770
- _this._editConditionDialog.close();
1771
- _this._editConditionDialog = null;
1772
- }
1773
- if (condition != null) {
1774
- _this._editConditionDialog =
1775
- _this._dialog.open(AjfFbConditionEditorDialog, { disableClose: true });
1776
- }
1777
- });
1778
- this._editChoicesOriginSub =
1779
- this._service.editedChoicesOrigin.subscribe(function (choicesOrigin) {
1780
- if (_this._editChoicesOriginDialog != null) {
1781
- _this._editChoicesOriginDialog.close();
1782
- _this._editChoicesOriginDialog = null;
1783
- }
1784
- if (choicesOrigin != null) {
1785
- _this._editChoicesOriginDialog =
1786
- _this._dialog.open(AjfFbChoicesOriginEditorDialog, { disableClose: true });
1787
- }
1788
- });
1780
+ this._editConditionSub = this._service.editedCondition.subscribe(function (condition) {
1781
+ if (_this._editConditionDialog != null) {
1782
+ _this._editConditionDialog.close();
1783
+ _this._editConditionDialog = null;
1784
+ }
1785
+ if (condition != null) {
1786
+ _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog, {
1787
+ disableClose: true,
1788
+ });
1789
+ }
1790
+ });
1791
+ this._editChoicesOriginSub = this._service.editedChoicesOrigin.subscribe(function (choicesOrigin) {
1792
+ if (_this._editChoicesOriginDialog != null) {
1793
+ _this._editChoicesOriginDialog.close();
1794
+ _this._editChoicesOriginDialog = null;
1795
+ }
1796
+ if (choicesOrigin != null) {
1797
+ _this._editChoicesOriginDialog = _this._dialog.open(AjfFbChoicesOriginEditorDialog, {
1798
+ disableClose: true,
1799
+ });
1800
+ }
1801
+ });
1789
1802
  this._beforeNodesUpdateSub = this._service.beforeNodesUpdate.subscribe(function () {
1790
1803
  if (_this.designerCont == null) {
1791
1804
  return;
@@ -1890,7 +1903,11 @@
1890
1903
  this._stringIdentifierDialog.close();
1891
1904
  this._stringIdentifierDialog = null;
1892
1905
  }
1893
- this._stringIdentifierDialog = this._dialog.open(AjfFbStringIdentifierDialogComponent, { disableClose: true, width: '60%', height: '60%' });
1906
+ this._stringIdentifierDialog = this._dialog.open(AjfFbStringIdentifierDialogComponent, {
1907
+ disableClose: true,
1908
+ width: '60%',
1909
+ height: '60%',
1910
+ });
1894
1911
  };
1895
1912
  AjfFormBuilder.prototype.expandAll = function () {
1896
1913
  this._globalExpanded = true;
@@ -2191,7 +2208,9 @@
2191
2208
  };
2192
2209
  };
2193
2210
  AjfFbNodeEntry.prototype._updateBranchHeights = function () {
2194
- if (this.nodeEntry == null || !this.isNodeEntry || this.branchLines == null ||
2211
+ if (this.nodeEntry == null ||
2212
+ !this.isNodeEntry ||
2213
+ this.branchLines == null ||
2195
2214
  this.childEntries == null) {
2196
2215
  return;
2197
2216
  }
@@ -2376,6 +2395,13 @@
2376
2395
  }
2377
2396
  return null;
2378
2397
  }
2398
+ function checkRangeValidity(c) {
2399
+ var _a = c.value, start = _a.start, end = _a.end;
2400
+ if (start != null && end != null && start > end) {
2401
+ return { range: 'End must be greater than start' };
2402
+ }
2403
+ return null;
2404
+ }
2379
2405
  var AjfFbNodeProperties = /** @class */ (function () {
2380
2406
  function AjfFbNodeProperties(_cdr, _service, _dialog, _fb) {
2381
2407
  var _this = this;
@@ -2384,9 +2410,11 @@
2384
2410
  this._dialog = _dialog;
2385
2411
  this._fb = _fb;
2386
2412
  this._fieldSizes = [
2387
- { label: 'Normal', value: 'normal' }, { label: 'Small', value: 'small' },
2388
- { label: 'Smaller', value: 'smaller' }, { label: 'Tiny', value: 'tiny' },
2389
- { label: 'Mini', value: 'mini' }
2413
+ { label: 'Normal', value: 'normal' },
2414
+ { label: 'Small', value: 'small' },
2415
+ { label: 'Smaller', value: 'smaller' },
2416
+ { label: 'Tiny', value: 'tiny' },
2417
+ { label: 'Mini', value: 'mini' },
2390
2418
  ];
2391
2419
  this._choicesOrigins = [];
2392
2420
  this._conditionalBranches = [];
@@ -2445,8 +2473,7 @@
2445
2473
  this._saveEvt = new core.EventEmitter();
2446
2474
  this._saveSub = rxjs.Subscription.EMPTY;
2447
2475
  this._nodeEntry = _service.editedNodeEntry;
2448
- this._choicesOriginsSub =
2449
- _service.choicesOrigins.subscribe(function (c) { return _this._choicesOrigins = c || []; });
2476
+ this._choicesOriginsSub = _service.choicesOrigins.subscribe(function (c) { return (_this._choicesOrigins = c || []); });
2450
2477
  this._enabled = this._nodeEntry.pipe(operators.map(function (n) { return n != null; }));
2451
2478
  this._initForm();
2452
2479
  this._initVisibilityEdit();
@@ -2657,6 +2684,9 @@
2657
2684
  AjfFbNodeProperties.prototype.isFieldWithChoices = function (node) {
2658
2685
  return forms.isField(node) && forms.isFieldWithChoices(node);
2659
2686
  };
2687
+ AjfFbNodeProperties.prototype.isRangeField = function (node) {
2688
+ return forms.isField(node) && forms.isRangeField(node);
2689
+ };
2660
2690
  AjfFbNodeProperties.prototype.save = function () {
2661
2691
  this._saveEvt.emit();
2662
2692
  };
@@ -2704,6 +2734,7 @@
2704
2734
  var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
2705
2735
  var fg = formGroup;
2706
2736
  var val = Object.assign(Object.assign({}, fg.value), { conditionalBranches: _this._conditionalBranches });
2737
+ console.log(val);
2707
2738
  _this._service.saveNodeEntry(val);
2708
2739
  });
2709
2740
  };
@@ -2727,7 +2758,7 @@
2727
2758
  label: n.node.label,
2728
2759
  visibilityOpt: [visibilityOpt, forms$1.Validators.required],
2729
2760
  visibility: [visibility, forms$1.Validators.required],
2730
- conditionalBranchesNum: n.node.conditionalBranches.length
2761
+ conditionalBranchesNum: n.node.conditionalBranches.length,
2731
2762
  };
2732
2763
  var validators = [];
2733
2764
  if (forms.isRepeatingContainerNode(n.node)) {
@@ -2792,12 +2823,10 @@
2792
2823
  maxValue = (numField.validation.maxValue.condition || '').replace('$value <= ', '');
2793
2824
  }
2794
2825
  if (numField.validation.minDigits != null) {
2795
- minDigits = (numField.validation.minDigits.condition ||
2796
- '').replace('$value.toString().length >= ', '');
2826
+ minDigits = (numField.validation.minDigits.condition || '').replace('$value.toString().length >= ', '');
2797
2827
  }
2798
2828
  if (numField.validation.maxDigits != null) {
2799
- maxDigits = (numField.validation.maxDigits.condition ||
2800
- '').replace('$value.toString().length <= ', '');
2829
+ maxDigits = (numField.validation.maxDigits.condition || '').replace('$value.toString().length <= ', '');
2801
2830
  }
2802
2831
  }
2803
2832
  controls.minValue = minValue;
@@ -2807,13 +2836,20 @@
2807
2836
  validators.push(checkValueLimitsValidity);
2808
2837
  validators.push(checkDigitsValidity);
2809
2838
  }
2839
+ if (_this.isRangeField(n.node)) {
2840
+ var rangeField = n.node;
2841
+ var start = rangeField.start, end = rangeField.end, step = rangeField.step;
2842
+ controls.start = start;
2843
+ controls.end = end;
2844
+ controls.step = step;
2845
+ validators.push(checkRangeValidity);
2846
+ }
2810
2847
  if (_this.isFieldWithChoices(n.node)) {
2811
2848
  var fieldWithChoices = n.node;
2812
2849
  var triggerConditions = (fieldWithChoices.triggerConditions || []).map(function (c) { return c.condition; });
2813
2850
  controls.choicesOriginRef = fieldWithChoices.choicesOriginRef;
2814
- controls.choicesFilter = fieldWithChoices.choicesFilter != null ?
2815
- fieldWithChoices.choicesFilter.formula :
2816
- null;
2851
+ controls.choicesFilter =
2852
+ fieldWithChoices.choicesFilter != null ? fieldWithChoices.choicesFilter.formula : null;
2817
2853
  controls.forceExpanded = fieldWithChoices.forceExpanded;
2818
2854
  controls.forceNarrow = fieldWithChoices.forceNarrow;
2819
2855
  controls.triggerConditions = triggerConditions;
@@ -2903,28 +2939,28 @@
2903
2939
  var _this = this;
2904
2940
  this._editConditionDialogSub = rxjs.Subscription.EMPTY;
2905
2941
  this._cdr.markForCheck();
2906
- this._editTriggerConditionSub =
2907
- this._editTriggerConditionEvt
2908
- .pipe(operators.withLatestFrom(this._propertiesForm))
2909
- .subscribe(function (_a) {
2910
- var _b = __read(_a, 2), vcIdx = _b[0], fg = _b[1];
2911
- _this._destroyConditionDialog();
2912
- if (vcIdx < 0 || vcIdx >= _this._triggerConditions.length || fg == null) {
2913
- return;
2942
+ this._editTriggerConditionSub = this._editTriggerConditionEvt
2943
+ .pipe(operators.withLatestFrom(this._propertiesForm))
2944
+ .subscribe(function (_a) {
2945
+ var _b = __read(_a, 2), vcIdx = _b[0], fg = _b[1];
2946
+ _this._destroyConditionDialog();
2947
+ if (vcIdx < 0 || vcIdx >= _this._triggerConditions.length || fg == null) {
2948
+ return;
2949
+ }
2950
+ _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
2951
+ var cmp = _this._editConditionDialog.componentInstance;
2952
+ cmp.condition = _this._triggerConditions[vcIdx];
2953
+ _this._editConditionDialogSub = _this._editConditionDialog
2954
+ .afterClosed()
2955
+ .subscribe(function (cond) {
2956
+ if (cond !== void 0) {
2957
+ _this._triggerConditions[vcIdx] = cond;
2914
2958
  }
2915
- _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
2916
- var cmp = _this._editConditionDialog.componentInstance;
2917
- cmp.condition = _this._triggerConditions[vcIdx];
2918
- _this._editConditionDialogSub =
2919
- _this._editConditionDialog.afterClosed().subscribe(function (cond) {
2920
- if (cond !== void 0) {
2921
- _this._triggerConditions[vcIdx] = cond;
2922
- }
2923
- _this._editConditionDialogSub.unsubscribe();
2924
- _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
2925
- _this._cdr.markForCheck();
2926
- });
2959
+ _this._editConditionDialogSub.unsubscribe();
2960
+ _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
2961
+ _this._cdr.markForCheck();
2927
2962
  });
2963
+ });
2928
2964
  };
2929
2965
  AjfFbNodeProperties.prototype._initRemoveWarningCondition = function () {
2930
2966
  this._removeWarningConditionSub = this._removeWarningConditionEvt
@@ -2961,31 +2997,30 @@
2961
2997
  };
2962
2998
  AjfFbNodeProperties.prototype._initWarningConditionEdit = function () {
2963
2999
  var _this = this;
2964
- this._editWarningConditionSub =
2965
- this._editWarningConditionEvt
2966
- .pipe(operators.withLatestFrom(this._propertiesForm))
2967
- .subscribe(function (_a) {
2968
- var _b = __read(_a, 2), vcIdx = _b[0], fg = _b[1];
2969
- _this._destroyWarningConditionDialog();
2970
- if (vcIdx < 0 || vcIdx >= _this._warningConditions.length || fg == null) {
2971
- return;
3000
+ this._editWarningConditionSub = this._editWarningConditionEvt
3001
+ .pipe(operators.withLatestFrom(this._propertiesForm))
3002
+ .subscribe(function (_a) {
3003
+ var _b = __read(_a, 2), vcIdx = _b[0], fg = _b[1];
3004
+ _this._destroyWarningConditionDialog();
3005
+ if (vcIdx < 0 || vcIdx >= _this._warningConditions.length || fg == null) {
3006
+ return;
3007
+ }
3008
+ _this._editWarningConditionDialog = _this._dialog.open(AjfFbWarningConditionEditorDialog);
3009
+ var cmp = _this._editWarningConditionDialog.componentInstance;
3010
+ var w = _this._warningConditions[vcIdx];
3011
+ cmp.condition = w.condition;
3012
+ cmp.warningMessage = w.warningMessage;
3013
+ _this._editWarningConditionDialogSub = _this._editWarningConditionDialog
3014
+ .afterClosed()
3015
+ .subscribe(function (cond) {
3016
+ if (cond !== void 0) {
3017
+ _this._warningConditions[vcIdx] = cond;
2972
3018
  }
2973
- _this._editWarningConditionDialog =
2974
- _this._dialog.open(AjfFbWarningConditionEditorDialog);
2975
- var cmp = _this._editWarningConditionDialog.componentInstance;
2976
- var w = _this._warningConditions[vcIdx];
2977
- cmp.condition = w.condition;
2978
- cmp.warningMessage = w.warningMessage;
2979
- _this._editWarningConditionDialogSub =
2980
- _this._editWarningConditionDialog.afterClosed().subscribe(function (cond) {
2981
- if (cond !== void 0) {
2982
- _this._warningConditions[vcIdx] = cond;
2983
- }
2984
- _this._editWarningConditionDialogSub.unsubscribe();
2985
- _this._editWarningConditionDialogSub = rxjs.Subscription.EMPTY;
2986
- _this._cdr.markForCheck();
2987
- });
3019
+ _this._editWarningConditionDialogSub.unsubscribe();
3020
+ _this._editWarningConditionDialogSub = rxjs.Subscription.EMPTY;
3021
+ _this._cdr.markForCheck();
2988
3022
  });
3023
+ });
2989
3024
  };
2990
3025
  AjfFbNodeProperties.prototype._initRemoveValidationCondition = function () {
2991
3026
  this._removeValidationConditionSub = this._removeValidationConditionEvt
@@ -3022,221 +3057,218 @@
3022
3057
  };
3023
3058
  AjfFbNodeProperties.prototype._initValidationConditionEdit = function () {
3024
3059
  var _this = this;
3025
- this._editValidationConditionSub =
3026
- this._editValidationConditionEvt
3027
- .pipe(operators.withLatestFrom(this._propertiesForm))
3028
- .subscribe(function (_a) {
3029
- var _b = __read(_a, 2), vcIdx = _b[0], fg = _b[1];
3030
- _this._destroyValidationConditionDialog();
3031
- if (vcIdx < 0 || vcIdx >= _this._validationConditions.length || fg == null) {
3032
- return;
3060
+ this._editValidationConditionSub = this._editValidationConditionEvt
3061
+ .pipe(operators.withLatestFrom(this._propertiesForm))
3062
+ .subscribe(function (_a) {
3063
+ var _b = __read(_a, 2), vcIdx = _b[0], fg = _b[1];
3064
+ _this._destroyValidationConditionDialog();
3065
+ if (vcIdx < 0 || vcIdx >= _this._validationConditions.length || fg == null) {
3066
+ return;
3067
+ }
3068
+ _this._editValidationConditionDialog = _this._dialog.open(AjfFbValidationConditionEditorDialog);
3069
+ var cmp = _this._editValidationConditionDialog.componentInstance;
3070
+ var v = _this._validationConditions[vcIdx];
3071
+ cmp.condition = v.condition;
3072
+ cmp.errorMessage = v.errorMessage;
3073
+ _this._editValidationConditionDialogSub = _this._editValidationConditionDialog
3074
+ .afterClosed()
3075
+ .subscribe(function (cond) {
3076
+ if (cond !== void 0) {
3077
+ _this._validationConditions[vcIdx] = cond;
3033
3078
  }
3034
- _this._editValidationConditionDialog =
3035
- _this._dialog.open(AjfFbValidationConditionEditorDialog);
3036
- var cmp = _this._editValidationConditionDialog.componentInstance;
3037
- var v = _this._validationConditions[vcIdx];
3038
- cmp.condition = v.condition;
3039
- cmp.errorMessage = v.errorMessage;
3040
- _this._editValidationConditionDialogSub =
3041
- _this._editValidationConditionDialog.afterClosed().subscribe(function (cond) {
3042
- if (cond !== void 0) {
3043
- _this._validationConditions[vcIdx] = cond;
3044
- }
3045
- _this._editValidationConditionDialogSub.unsubscribe();
3046
- _this._editValidationConditionDialogSub = rxjs.Subscription.EMPTY;
3047
- _this._cdr.markForCheck();
3048
- });
3079
+ _this._editValidationConditionDialogSub.unsubscribe();
3080
+ _this._editValidationConditionDialogSub = rxjs.Subscription.EMPTY;
3081
+ _this._cdr.markForCheck();
3049
3082
  });
3083
+ });
3050
3084
  };
3051
3085
  AjfFbNodeProperties.prototype._initForceValueEdit = function () {
3052
3086
  var _this = this;
3053
- this._editForceValueSub =
3054
- this._editForceValueEvt
3055
- .pipe(operators.withLatestFrom(this._propertiesForm))
3056
- .subscribe(function (_a) {
3057
- var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3058
- _this._destroyConditionDialog();
3059
- if (formGroup == null) {
3060
- return;
3087
+ this._editForceValueSub = this._editForceValueEvt
3088
+ .pipe(operators.withLatestFrom(this._propertiesForm))
3089
+ .subscribe(function (_a) {
3090
+ var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3091
+ _this._destroyConditionDialog();
3092
+ if (formGroup == null) {
3093
+ return;
3094
+ }
3095
+ var fg = formGroup;
3096
+ var ctrl = fg.controls['forceValue'];
3097
+ _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3098
+ _this._editConditionDialog.componentInstance.condition = ctrl.value;
3099
+ _this._editConditionDialogSub = _this._editConditionDialog
3100
+ .afterClosed()
3101
+ .subscribe(function (cond) {
3102
+ if (cond !== void 0) {
3103
+ ctrl.setValue(cond);
3061
3104
  }
3062
- var fg = formGroup;
3063
- var ctrl = fg.controls['forceValue'];
3064
- _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3065
- _this._editConditionDialog.componentInstance.condition = ctrl.value;
3066
- _this._editConditionDialogSub =
3067
- _this._editConditionDialog.afterClosed().subscribe(function (cond) {
3068
- if (cond !== void 0) {
3069
- ctrl.setValue(cond);
3070
- }
3071
- _this._editConditionDialogSub.unsubscribe();
3072
- _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3073
- _this._cdr.markForCheck();
3074
- });
3105
+ _this._editConditionDialogSub.unsubscribe();
3106
+ _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3107
+ _this._cdr.markForCheck();
3075
3108
  });
3109
+ });
3076
3110
  };
3077
3111
  AjfFbNodeProperties.prototype._initNextSlideConditionEdit = function () {
3078
3112
  var _this = this;
3079
- this._editNextSlideConditionSub =
3080
- this._editNextSlideConditionEvt
3081
- .pipe(operators.withLatestFrom(this._propertiesForm))
3082
- .subscribe(function (_a) {
3083
- var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3084
- _this._destroyConditionDialog();
3085
- if (formGroup == null) {
3086
- return;
3113
+ this._editNextSlideConditionSub = this._editNextSlideConditionEvt
3114
+ .pipe(operators.withLatestFrom(this._propertiesForm))
3115
+ .subscribe(function (_a) {
3116
+ var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3117
+ _this._destroyConditionDialog();
3118
+ if (formGroup == null) {
3119
+ return;
3120
+ }
3121
+ var fg = formGroup;
3122
+ var ctrl = fg.controls['nextSlideCondition'];
3123
+ _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3124
+ _this._editConditionDialog.componentInstance.condition = ctrl.value;
3125
+ _this._editConditionDialogSub = _this._editConditionDialog
3126
+ .afterClosed()
3127
+ .subscribe(function (cond) {
3128
+ if (cond !== void 0) {
3129
+ ctrl.setValue(cond);
3087
3130
  }
3088
- var fg = formGroup;
3089
- var ctrl = fg.controls['nextSlideCondition'];
3090
- _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3091
- _this._editConditionDialog.componentInstance.condition = ctrl.value;
3092
- _this._editConditionDialogSub =
3093
- _this._editConditionDialog.afterClosed().subscribe(function (cond) {
3094
- if (cond !== void 0) {
3095
- ctrl.setValue(cond);
3096
- }
3097
- _this._editConditionDialogSub.unsubscribe();
3098
- _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3099
- _this._cdr.markForCheck();
3100
- });
3131
+ _this._editConditionDialogSub.unsubscribe();
3132
+ _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3133
+ _this._cdr.markForCheck();
3101
3134
  });
3135
+ });
3102
3136
  };
3103
3137
  AjfFbNodeProperties.prototype._initFormulaEdit = function () {
3104
3138
  var _this = this;
3105
3139
  this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3106
3140
  this._cdr.markForCheck();
3107
- this._editFormulaSub =
3108
- this._editFormulaEvt
3109
- .pipe(operators.withLatestFrom(this._propertiesForm))
3110
- .subscribe(function (_a) {
3111
- var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3112
- _this._destroyConditionDialog();
3113
- if (formGroup == null) {
3114
- return;
3141
+ this._editFormulaSub = this._editFormulaEvt
3142
+ .pipe(operators.withLatestFrom(this._propertiesForm))
3143
+ .subscribe(function (_a) {
3144
+ var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3145
+ _this._destroyConditionDialog();
3146
+ if (formGroup == null) {
3147
+ return;
3148
+ }
3149
+ var fg = formGroup;
3150
+ var ctrl = fg.controls['formula'];
3151
+ _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3152
+ _this._editConditionDialog.componentInstance.condition = ctrl.value;
3153
+ _this._editConditionDialogSub = _this._editConditionDialog
3154
+ .afterClosed()
3155
+ .subscribe(function (cond) {
3156
+ if (cond !== void 0) {
3157
+ ctrl.setValue(cond);
3115
3158
  }
3116
- var fg = formGroup;
3117
- var ctrl = fg.controls['formula'];
3118
- _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3119
- _this._editConditionDialog.componentInstance.condition = ctrl.value;
3120
- _this._editConditionDialogSub =
3121
- _this._editConditionDialog.afterClosed().subscribe(function (cond) {
3122
- if (cond !== void 0) {
3123
- ctrl.setValue(cond);
3124
- }
3125
- _this._editConditionDialogSub.unsubscribe();
3126
- _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3127
- _this._cdr.markForCheck();
3128
- });
3159
+ _this._editConditionDialogSub.unsubscribe();
3160
+ _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3161
+ _this._cdr.markForCheck();
3129
3162
  });
3163
+ });
3130
3164
  };
3131
3165
  AjfFbNodeProperties.prototype._initFormulaRepsEdit = function () {
3132
3166
  var _this = this;
3133
- this._editFormulaRepsSub =
3134
- this._editFormulaRepsEvt
3135
- .pipe(operators.withLatestFrom(this._propertiesForm))
3136
- .subscribe(function (_a) {
3137
- var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3138
- _this._destroyConditionDialog();
3139
- if (formGroup == null) {
3140
- return;
3167
+ this._editFormulaRepsSub = this._editFormulaRepsEvt
3168
+ .pipe(operators.withLatestFrom(this._propertiesForm))
3169
+ .subscribe(function (_a) {
3170
+ var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3171
+ _this._destroyConditionDialog();
3172
+ if (formGroup == null) {
3173
+ return;
3174
+ }
3175
+ var fg = formGroup;
3176
+ var ctrl = fg.controls['formulaReps'];
3177
+ _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3178
+ _this._editConditionDialog.componentInstance.condition = ctrl.value;
3179
+ _this._editConditionDialogSub = _this._editConditionDialog
3180
+ .afterClosed()
3181
+ .subscribe(function (cond) {
3182
+ if (cond !== void 0) {
3183
+ ctrl.setValue(cond);
3141
3184
  }
3142
- var fg = formGroup;
3143
- var ctrl = fg.controls['formulaReps'];
3144
- _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3145
- _this._editConditionDialog.componentInstance.condition = ctrl.value;
3146
- _this._editConditionDialogSub =
3147
- _this._editConditionDialog.afterClosed().subscribe(function (cond) {
3148
- if (cond !== void 0) {
3149
- ctrl.setValue(cond);
3150
- }
3151
- _this._editConditionDialogSub.unsubscribe();
3152
- _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3153
- _this._cdr.markForCheck();
3154
- });
3185
+ _this._editConditionDialogSub.unsubscribe();
3186
+ _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3187
+ _this._cdr.markForCheck();
3155
3188
  });
3189
+ });
3156
3190
  };
3157
3191
  AjfFbNodeProperties.prototype._initChoicesFilterEdit = function () {
3158
3192
  var _this = this;
3159
- this._editChoicesFilterSub =
3160
- this._editChoicesFilterEvt
3161
- .pipe(operators.withLatestFrom(this._propertiesForm))
3162
- .subscribe(function (_a) {
3163
- var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3164
- _this._destroyConditionDialog();
3165
- if (formGroup == null) {
3166
- return;
3193
+ this._editChoicesFilterSub = this._editChoicesFilterEvt
3194
+ .pipe(operators.withLatestFrom(this._propertiesForm))
3195
+ .subscribe(function (_a) {
3196
+ var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3197
+ _this._destroyConditionDialog();
3198
+ if (formGroup == null) {
3199
+ return;
3200
+ }
3201
+ var fg = formGroup;
3202
+ var ctrl = fg.controls['choicesFilter'];
3203
+ _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3204
+ _this._editConditionDialog.componentInstance.condition = ctrl.value;
3205
+ _this._editConditionDialogSub = _this._editConditionDialog
3206
+ .afterClosed()
3207
+ .subscribe(function (cond) {
3208
+ if (cond !== void 0) {
3209
+ ctrl.setValue(cond);
3167
3210
  }
3168
- var fg = formGroup;
3169
- var ctrl = fg.controls['choicesFilter'];
3170
- _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3171
- _this._editConditionDialog.componentInstance.condition = ctrl.value;
3172
- _this._editConditionDialogSub =
3173
- _this._editConditionDialog.afterClosed().subscribe(function (cond) {
3174
- if (cond !== void 0) {
3175
- ctrl.setValue(cond);
3176
- }
3177
- _this._editConditionDialogSub.unsubscribe();
3178
- _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3179
- _this._cdr.markForCheck();
3180
- });
3211
+ _this._editConditionDialogSub.unsubscribe();
3212
+ _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3213
+ _this._cdr.markForCheck();
3181
3214
  });
3215
+ });
3182
3216
  };
3183
3217
  AjfFbNodeProperties.prototype._initConditionalBranchEdit = function () {
3184
3218
  var _this = this;
3185
- this._editConditionalBranchSub =
3186
- this._editConditionalBranchEvt
3187
- .pipe(operators.withLatestFrom(this._propertiesForm))
3188
- .subscribe(function (_a) {
3189
- var _b = __read(_a, 2), cbIdx = _b[0], fg = _b[1];
3190
- _this._destroyConditionDialog();
3191
- if (cbIdx < 0 || cbIdx >= _this._conditionalBranches.length || fg == null) {
3192
- return;
3219
+ this._editConditionalBranchSub = this._editConditionalBranchEvt
3220
+ .pipe(operators.withLatestFrom(this._propertiesForm))
3221
+ .subscribe(function (_a) {
3222
+ var _b = __read(_a, 2), cbIdx = _b[0], fg = _b[1];
3223
+ _this._destroyConditionDialog();
3224
+ if (cbIdx < 0 || cbIdx >= _this._conditionalBranches.length || fg == null) {
3225
+ return;
3226
+ }
3227
+ _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3228
+ _this._editConditionDialog.componentInstance.condition = _this._conditionalBranches[cbIdx];
3229
+ _this._editConditionDialogSub = _this._editConditionDialog
3230
+ .afterClosed()
3231
+ .subscribe(function (cond) {
3232
+ if (cond !== void 0) {
3233
+ _this._conditionalBranches[cbIdx] = cond;
3193
3234
  }
3194
- _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3195
- _this._editConditionDialog.componentInstance.condition =
3196
- _this._conditionalBranches[cbIdx];
3197
- _this._editConditionDialogSub =
3198
- _this._editConditionDialog.afterClosed().subscribe(function (cond) {
3199
- if (cond !== void 0) {
3200
- _this._conditionalBranches[cbIdx] = cond;
3201
- }
3202
- _this._editConditionDialogSub.unsubscribe();
3203
- _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3204
- _this._cdr.markForCheck();
3205
- });
3235
+ _this._editConditionDialogSub.unsubscribe();
3236
+ _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3237
+ _this._cdr.markForCheck();
3206
3238
  });
3239
+ });
3207
3240
  };
3208
3241
  AjfFbNodeProperties.prototype._initVisibilityEdit = function () {
3209
3242
  var _this = this;
3210
- this._editVisibilitySub =
3211
- this._editVisibilityEvt
3212
- .pipe(operators.withLatestFrom(this._propertiesForm))
3213
- .subscribe(function (_a) {
3214
- var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3215
- _this._destroyConditionDialog();
3216
- if (formGroup == null) {
3217
- return;
3243
+ this._editVisibilitySub = this._editVisibilityEvt
3244
+ .pipe(operators.withLatestFrom(this._propertiesForm))
3245
+ .subscribe(function (_a) {
3246
+ var _b = __read(_a, 2), _ = _b[0], formGroup = _b[1];
3247
+ _this._destroyConditionDialog();
3248
+ if (formGroup == null) {
3249
+ return;
3250
+ }
3251
+ var fg = formGroup;
3252
+ var ctrl = fg.controls['visibility'];
3253
+ var condition = ctrl.value;
3254
+ _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3255
+ _this._editConditionDialog.componentInstance.condition = condition;
3256
+ _this._editConditionDialogSub = _this._editConditionDialog
3257
+ .afterClosed()
3258
+ .subscribe(function (cond) {
3259
+ if (cond !== void 0) {
3260
+ ctrl.setValue(cond);
3218
3261
  }
3219
- var fg = formGroup;
3220
- var ctrl = fg.controls['visibility'];
3221
- var condition = ctrl.value;
3222
- _this._editConditionDialog = _this._dialog.open(AjfFbConditionEditorDialog);
3223
- _this._editConditionDialog.componentInstance.condition = condition;
3224
- _this._editConditionDialogSub =
3225
- _this._editConditionDialog.afterClosed().subscribe(function (cond) {
3226
- if (cond !== void 0) {
3227
- ctrl.setValue(cond);
3228
- }
3229
- _this._editConditionDialogSub.unsubscribe();
3230
- _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3231
- _this._cdr.markForCheck();
3232
- });
3262
+ _this._editConditionDialogSub.unsubscribe();
3263
+ _this._editConditionDialogSub = rxjs.Subscription.EMPTY;
3264
+ _this._cdr.markForCheck();
3233
3265
  });
3266
+ });
3234
3267
  };
3235
3268
  AjfFbNodeProperties.prototype._handleTriggerCondtionsChange = function (fg) {
3236
3269
  var _this = this;
3237
3270
  this._triggerConditionsSub = fg.valueChanges
3238
- .pipe(operators.distinctUntilChanged(function (v1, v2) { return JSON.stringify(v1.triggerConditions) ===
3239
- JSON.stringify(v2.triggerConditions); }))
3271
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return JSON.stringify(v1.triggerConditions) === JSON.stringify(v2.triggerConditions); }))
3240
3272
  .subscribe(function (v) {
3241
3273
  _this._triggerConditions = v.triggerConditions;
3242
3274
  _this._cdr.markForCheck();
@@ -3245,8 +3277,7 @@
3245
3277
  AjfFbNodeProperties.prototype._handleWarningCondtionsChange = function (fg) {
3246
3278
  var _this = this;
3247
3279
  this._warningConditionsSub = fg.valueChanges
3248
- .pipe(operators.distinctUntilChanged(function (v1, v2) { return JSON.stringify(v1.warningConditions) ===
3249
- JSON.stringify(v2.warningConditions); }))
3280
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return JSON.stringify(v1.warningConditions) === JSON.stringify(v2.warningConditions); }))
3250
3281
  .subscribe(function (v) {
3251
3282
  _this._warningConditions = v.warningConditions;
3252
3283
  _this._cdr.markForCheck();
@@ -3254,111 +3285,104 @@
3254
3285
  };
3255
3286
  AjfFbNodeProperties.prototype._handleValidationCondtionsChange = function (fg) {
3256
3287
  var _this = this;
3257
- this._validationConditionsSub =
3258
- fg.valueChanges
3259
- .pipe(operators.distinctUntilChanged(function (v1, v2) { return JSON.stringify(v1.validationConditions) ===
3260
- JSON.stringify(v2.validationConditions); }))
3261
- .subscribe(function (v) {
3262
- _this._validationConditions = v.validationConditions;
3263
- _this._cdr.markForCheck();
3264
- });
3288
+ this._validationConditionsSub = fg.valueChanges
3289
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return JSON.stringify(v1.validationConditions) === JSON.stringify(v2.validationConditions); }))
3290
+ .subscribe(function (v) {
3291
+ _this._validationConditions = v.validationConditions;
3292
+ _this._cdr.markForCheck();
3293
+ });
3265
3294
  };
3266
3295
  AjfFbNodeProperties.prototype._handleForceValueChange = function (fg) {
3267
3296
  var _this = this;
3268
- this._forceValueSub =
3269
- fg.valueChanges.pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.forceValue === v2.forceValue; }))
3270
- .subscribe(function (v) {
3271
- _this._curForceValue = v.forceValue;
3272
- _this._cdr.markForCheck();
3273
- });
3297
+ this._forceValueSub = fg.valueChanges
3298
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.forceValue === v2.forceValue; }))
3299
+ .subscribe(function (v) {
3300
+ _this._curForceValue = v.forceValue;
3301
+ _this._cdr.markForCheck();
3302
+ });
3274
3303
  };
3275
3304
  AjfFbNodeProperties.prototype._handleNextSlideConditionChange = function (fg) {
3276
3305
  var _this = this;
3277
- this._formulaSub =
3278
- fg.valueChanges
3279
- .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.nextSlideCondition === v2.nextSlideCondition; }))
3280
- .subscribe(function (v) {
3281
- _this._nextSlideCondition = v.nextSlideCondition;
3282
- _this._cdr.markForCheck();
3283
- });
3284
- this._formulaSub =
3285
- fg.valueChanges
3286
- .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.nextSlideCondition === v2.nextSlideCondition; }))
3287
- .subscribe(function (v) {
3288
- _this._nextSlideCondition = v.nextSlideCondition;
3289
- _this._cdr.markForCheck();
3290
- });
3306
+ this._formulaSub = fg.valueChanges
3307
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.nextSlideCondition === v2.nextSlideCondition; }))
3308
+ .subscribe(function (v) {
3309
+ _this._nextSlideCondition = v.nextSlideCondition;
3310
+ _this._cdr.markForCheck();
3311
+ });
3312
+ this._formulaSub = fg.valueChanges
3313
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.nextSlideCondition === v2.nextSlideCondition; }))
3314
+ .subscribe(function (v) {
3315
+ _this._nextSlideCondition = v.nextSlideCondition;
3316
+ _this._cdr.markForCheck();
3317
+ });
3291
3318
  };
3292
3319
  AjfFbNodeProperties.prototype._handleFormulaChange = function (fg) {
3293
3320
  var _this = this;
3294
- this._formulaSub =
3295
- fg.valueChanges.pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.formula === v2.formula; }))
3296
- .subscribe(function (v) {
3297
- _this._curFormula = v.formula;
3298
- _this._cdr.markForCheck();
3299
- });
3321
+ this._formulaSub = fg.valueChanges
3322
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.formula === v2.formula; }))
3323
+ .subscribe(function (v) {
3324
+ _this._curFormula = v.formula;
3325
+ _this._cdr.markForCheck();
3326
+ });
3300
3327
  };
3301
3328
  AjfFbNodeProperties.prototype._handleFormulaRepsChange = function (fg) {
3302
3329
  var _this = this;
3303
- this._formulaRepsSub =
3304
- fg.valueChanges.pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.formulaReps === v2.formulaReps; }))
3305
- .subscribe(function (v) {
3306
- _this._curFormulaReps = v.formulaReps;
3307
- _this._cdr.markForCheck();
3308
- });
3330
+ this._formulaRepsSub = fg.valueChanges
3331
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.formulaReps === v2.formulaReps; }))
3332
+ .subscribe(function (v) {
3333
+ _this._curFormulaReps = v.formulaReps;
3334
+ _this._cdr.markForCheck();
3335
+ });
3309
3336
  };
3310
3337
  AjfFbNodeProperties.prototype._handleChoicesFilterChange = function (fg) {
3311
3338
  var _this = this;
3312
- this._choicesFilterSub =
3313
- fg.valueChanges
3314
- .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.choicesFilter === v2.choicesFilter; }))
3315
- .subscribe(function (v) {
3316
- _this._curChoicesFilter = v.choicesFilter;
3317
- _this._cdr.markForCheck();
3318
- });
3339
+ this._choicesFilterSub = fg.valueChanges
3340
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.choicesFilter === v2.choicesFilter; }))
3341
+ .subscribe(function (v) {
3342
+ _this._curChoicesFilter = v.choicesFilter;
3343
+ _this._cdr.markForCheck();
3344
+ });
3319
3345
  };
3320
3346
  AjfFbNodeProperties.prototype._handleConditionalBranchesChange = function (fg) {
3321
3347
  var _this = this;
3322
- this._conditionalBranchesSub =
3323
- fg.valueChanges
3324
- .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.conditionalBranchesNum === v2.conditionalBranchesNum; }))
3325
- .subscribe(function (v) {
3326
- var cbNum = v.conditionalBranchesNum;
3327
- var curCbNum = _this._conditionalBranches.length;
3328
- if (curCbNum < cbNum) {
3329
- var newCbs = [];
3330
- for (var i = curCbNum; i < cbNum; i++) {
3331
- newCbs.push(models.alwaysCondition().condition);
3332
- }
3333
- _this._conditionalBranches = _this._conditionalBranches.concat(newCbs);
3334
- }
3335
- else if (curCbNum > cbNum) {
3336
- _this._conditionalBranches.splice(0, curCbNum - cbNum);
3348
+ this._conditionalBranchesSub = fg.valueChanges
3349
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.conditionalBranchesNum === v2.conditionalBranchesNum; }))
3350
+ .subscribe(function (v) {
3351
+ var cbNum = v.conditionalBranchesNum;
3352
+ var curCbNum = _this._conditionalBranches.length;
3353
+ if (curCbNum < cbNum) {
3354
+ var newCbs = [];
3355
+ for (var i = curCbNum; i < cbNum; i++) {
3356
+ newCbs.push(models.alwaysCondition().condition);
3337
3357
  }
3338
- _this._cdr.markForCheck();
3339
- });
3358
+ _this._conditionalBranches = _this._conditionalBranches.concat(newCbs);
3359
+ }
3360
+ else if (curCbNum > cbNum) {
3361
+ _this._conditionalBranches.splice(0, curCbNum - cbNum);
3362
+ }
3363
+ _this._cdr.markForCheck();
3364
+ });
3340
3365
  };
3341
3366
  AjfFbNodeProperties.prototype._handleVisibilityChange = function (fg) {
3342
3367
  var _this = this;
3343
- this._visibilitySub =
3344
- fg.valueChanges
3345
- .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.visibilityOpt === v2.visibilityOpt; }))
3346
- .subscribe(function (v) {
3347
- var visibilityOpt = v.visibilityOpt;
3348
- var newCondition;
3349
- switch (visibilityOpt) {
3350
- case 'always':
3351
- newCondition = models.alwaysCondition().condition;
3352
- break;
3353
- case 'never':
3354
- newCondition = models.neverCondition().condition;
3355
- break;
3356
- default:
3357
- newCondition = null;
3358
- }
3359
- _this._curVisibility = newCondition;
3360
- fg.controls['visibility'].setValue(newCondition);
3361
- });
3368
+ this._visibilitySub = fg.valueChanges
3369
+ .pipe(operators.distinctUntilChanged(function (v1, v2) { return v1.visibilityOpt === v2.visibilityOpt; }))
3370
+ .subscribe(function (v) {
3371
+ var visibilityOpt = v.visibilityOpt;
3372
+ var newCondition;
3373
+ switch (visibilityOpt) {
3374
+ case 'always':
3375
+ newCondition = models.alwaysCondition().condition;
3376
+ break;
3377
+ case 'never':
3378
+ newCondition = models.neverCondition().condition;
3379
+ break;
3380
+ default:
3381
+ newCondition = null;
3382
+ }
3383
+ _this._curVisibility = newCondition;
3384
+ fg.controls['visibility'].setValue(newCondition);
3385
+ });
3362
3386
  this._visibilitySub = fg.valueChanges
3363
3387
  .pipe(operators.filter(function (v) { return v.visibilityOpt === 'condition'; }), operators.distinctUntilChanged(function (v1, v2) { return v1.visibility === v2.visibility; }))
3364
3388
  .subscribe(function (v) {
@@ -3380,7 +3404,7 @@
3380
3404
  AjfFbNodeProperties.decorators = [
3381
3405
  { type: core.Component, args: [{
3382
3406
  selector: 'ajf-fb-node-properties',
3383
- template: "<div\n [style.display]=\"(enabled|async) ? 'none' : 'block'\"\n class=\"ajf-disabled-overlay\"\n></div>\n<div class=\"ajf-header\">\n <h3>{{'Properties'|transloco}}</h3>\n <mat-icon (click)=\"save()\">save</mat-icon>\n <mat-icon (click)=\"cancel()\">cancel</mat-icon>\n</div>\n<ng-container *ngIf=\"nodeEntry|async as ne\">\n <ng-container *ngIf=\"propertiesForm|async as pf\">\n <form [formGroup]=\"pf!\" novalidate>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"name\"\n [placeholder]=\"'Name' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"label\"\n [placeholder]=\"'Label' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <mat-label>{{'Visibility'|transloco}}</mat-label>\n <mat-select\n formControlName=\"visibilityOpt\"\n [placeholder]=\"'Visible' | transloco\"\n >\n <mat-option value=\"always\">{{'Always'|transloco}}</mat-option>\n <mat-option value=\"never\">{{'Never'|transloco}}</mat-option>\n <mat-option value=\"condition\"\n >{{'Condition...'|transloco}}</mat-option\n >\n </mat-select>\n </mat-form-field>\n <button\n (click)=\"editVisibility()\"\n [disabled]=\"pf!.value.visibilityOpt != 'condition'\"\n mat-raised-button\n [matTooltip]=\"curVisibility || ''\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curVisibility }}</span>\n </div>\n </button>\n </div>\n <div class=\"ajf-prop\">\n <div><label>{{'Branches'|transloco}}</label></div>\n <div>\n <mat-slider\n formControlName=\"conditionalBranchesNum\"\n thumbLabel\n tickInterval=\"auto\"\n min=\"1\"\n max=\"5\"\n step=\"1\"\n ></mat-slider>\n </div>\n <div *ngFor=\"let branch of conditionalBranches; let idx = index\">\n <button\n (click)=\"editConditionalBranch(idx)\"\n mat-raised-button\n [matTooltip]=\"branch\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ branch }}</span>\n </div>\n </button>\n </div>\n </div>\n <ng-template [ngIf]=\"isRepeatingContainerNode(ne)\">\n <div class=\"ajf-prop\">\n <div><label>{{'Repetitions'|transloco}}</label></div>\n <div>\n <button\n (click)=\"editFormulaReps()\"\n mat-raised-button\n [matTooltip]=\"curFormulaReps || ''\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curFormulaReps }}</span>\n </div>\n </button>\n </div>\n <div><label>{{'Min repetitions'|transloco}}</label></div>\n <div>\n <mat-slider\n formControlName=\"minReps\"\n thumbLabel\n tickInterval=\"auto\"\n min=\"1\"\n max=\"5\"\n step=\"1\"\n ></mat-slider>\n </div>\n <div><label>{{'Max repetitions'|transloco}}</label></div>\n <div>\n <mat-slider\n formControlName=\"maxReps\"\n thumbLabel\n tickInterval=\"auto\"\n min=\"1\"\n max=\"5\"\n step=\"1\"\n ></mat-slider>\n </div>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"isField(ne)\">\n <div class=\"ajf-prop\">\n <mat-form-field>\n <mat-label>{{'Field size'|transloco}}</mat-label>\n <mat-select\n formControlName=\"size\"\n [placeholder]=\"'Size' | transloco\"\n >\n <mat-option\n *ngFor=\"let fieldSize of fieldSizes\"\n [value]=\"fieldSize.value\"\n >\n {{ fieldSize.label|transloco }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"hint\"\n [placeholder]=\"'Hint' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <textarea\n matInput\n formControlName=\"description\"\n [placeholder]=\"'Description' | transloco\"\n ></textarea>\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"defaultValue\"\n [placeholder]=\"'Default value' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <div><label>{{'Formula'|transloco}}</label></div>\n <div>\n <button\n (click)=\"editFormula()\"\n mat-raised-button\n [matTooltip]=\"curFormula || ''\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curFormula }}</span>\n </div>\n </button>\n </div>\n </div>\n <!-- <div class=\"ajf-prop\">\n <div><label>{{'Force value'|translco}}</label></div>\n <div>\n <button (click)=\"editForceValue()\" mat-raised-button [matTooltip]=\"curForceValue\">\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curForceValue }}</span>\n </div>\n </button>\n </div>\n </div> -->\n <div class=\"ajf-prop\">\n <mat-checkbox formControlName=\"notEmpty\"\n >{{'Not empty'|transloco}}</mat-checkbox\n >\n </div>\n <ng-template [ngIf]=\"isNumericField(ne!.node)\">\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"minValue\"\n [placeholder]=\"'Min value' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"maxValue\"\n [placeholder]=\"'Max value' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"minDigits\"\n [placeholder]=\"'Min digits' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"maxDigits\"\n [placeholder]=\"'Max digits' | transloco\"\n />\n </mat-form-field>\n </div>\n </ng-template>\n <div class=\"ajf-prop\">\n <div class=\"ajf-header\">\n <label>{{ 'Validation' | transloco }}</label>\n <mat-icon class=\"ajf-pointer\" (click)=\"addValidationCondition()\"\n >add_circle_outline</mat-icon\n >\n </div>\n <div\n *ngIf=\"validationConditions == null || validationConditions.length == 0\"\n class=\"ajf-validation-row ajf-emph\"\n >\n {{'No conditions'|transloco}}\n </div>\n <div\n class=\"ajf-validation-row\"\n *ngFor=\"let validationCondition of validationConditions; let idx = index\"\n >\n <button\n (click)=\"editValidationCondition(idx)\"\n mat-raised-button\n [matTooltip]=\"validationCondition.condition\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ validationCondition.condition }}</span>\n </div>\n </button>\n <mat-icon\n class=\"ajf-pointer\"\n (click)=\"removeValidationCondition(idx)\"\n >remove_circle_outline</mat-icon\n >\n </div>\n </div>\n <div class=\"ajf-prop\">\n <mat-checkbox formControlName=\"notEmptyWarning\"\n >{{'Not empty warning'|transloco}}</mat-checkbox\n >\n </div>\n <div class=\"ajf-prop\">\n <div class=\"ajf-header\">\n <label>{{'Warnings'|transloco}}</label>\n <mat-icon class=\"ajf-pointer\" (click)=\"addWarningCondition()\"\n >add_circle_outline</mat-icon\n >\n </div>\n <div\n *ngIf=\"warningConditions == null || warningConditions.length == 0\"\n class=\"ajf-validation-row ajf-emph\"\n >\n {{'No warnings'|transloco}}\n </div>\n <div\n class=\"ajf-validation-row\"\n *ngFor=\"let warningCondition of warningConditions; let idx = index\"\n >\n <button\n (click)=\"editWarningCondition(idx)\"\n mat-raised-button\n [matTooltip]=\"warningCondition.condition\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ warningCondition.condition }}</span>\n </div>\n </button>\n <mat-icon class=\"ajf-pointer\" (click)=\"removeWarningCondition(idx)\"\n >remove_circle_outline</mat-icon\n >\n </div>\n </div>\n <div class=\"ajf-prop\">\n <div><label>{{'Go to next slide condition'|transloco}}</label></div>\n <div>\n <button\n (click)=\"editNextSlideCondition()\"\n mat-raised-button\n [matTooltip]=\"nextSlideCondition\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ nextSlideCondition }}</span>\n </div>\n </button>\n </div>\n </div>\n <ng-template [ngIf]=\"isFieldWithChoices(ne!.node)\">\n <div class=\"ajf-prop\">\n <mat-form-field>\n <mat-label>{{'Choices origins'|transloco}}</mat-label>\n <mat-select\n formControlName=\"choicesOriginRef\"\n [placeholder]=\"'Choices' | transloco\"\n >\n <mat-option\n *ngFor=\"let choicesOrigin of choicesOrigins\"\n [value]=\"choicesOrigin.name\"\n >\n {{ (choicesOrigin.label || choicesOrigin.name)|transloco }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <div><label>{{'Choices filter'|transloco}}</label></div>\n <div>\n <button\n (click)=\"editChoicesFilter()\"\n mat-raised-button\n [matTooltip]=\"curChoicesFilter\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curChoicesFilter }}</span>\n </div>\n </button>\n </div>\n </div>\n <div class=\"ajf-prop\">\n <mat-checkbox formControlName=\"forceExpanded\"\n >{{'Force expanded selection'|transloco}}</mat-checkbox\n >\n </div>\n <div class=\"ajf-prop\">\n <mat-checkbox formControlName=\"forceNarrow\"\n >{{'Force narrow selection'|transloco}}</mat-checkbox\n >\n </div>\n <div class=\"ajf-prop\">\n <div class=\"ajf-header\">\n <label>{{'Trigger selection'|transloco}}</label>\n <mat-icon class=\"ajf-pointer\" (click)=\"addTriggerCondition()\"\n >add_circle_outline</mat-icon\n >\n </div>\n <div\n *ngIf=\"triggerConditions == null || triggerConditions.length == 0\"\n class=\"ajf-validation-row ajf-emph\"\n >\n {{'No trigger condition'|transloco}}\n </div>\n <div\n class=\"ajf-validation-row\"\n *ngFor=\"let triggerCondition of triggerConditions; let idx = index\"\n >\n <button\n (click)=\"editTriggerCondition(idx)\"\n mat-raised-button\n [matTooltip]=\"triggerCondition\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ triggerCondition }}</span>\n </div>\n </button>\n <mat-icon class=\"pointer\" (click)=\"removeTriggerCondition(idx)\"\n >remove_circle_outline</mat-icon\n >\n </div>\n </div>\n </ng-template>\n </ng-template>\n </form>\n </ng-container>\n</ng-container>\n",
3407
+ template: "<div\n [style.display]=\"(enabled|async) ? 'none' : 'block'\"\n class=\"ajf-disabled-overlay\"\n></div>\n<div class=\"ajf-header\">\n <h3>{{'Properties'|transloco}}</h3>\n <mat-icon (click)=\"save()\">save</mat-icon>\n <mat-icon (click)=\"cancel()\">cancel</mat-icon>\n</div>\n<ng-container *ngIf=\"nodeEntry|async as ne\">\n <ng-container *ngIf=\"propertiesForm|async as pf\">\n <form [formGroup]=\"pf!\" novalidate>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"name\"\n [placeholder]=\"'Name' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"label\"\n [placeholder]=\"'Label' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <mat-label>{{'Visibility'|transloco}}</mat-label>\n <mat-select\n formControlName=\"visibilityOpt\"\n [placeholder]=\"'Visible' | transloco\"\n >\n <mat-option value=\"always\">{{'Always'|transloco}}</mat-option>\n <mat-option value=\"never\">{{'Never'|transloco}}</mat-option>\n <mat-option value=\"condition\"\n >{{'Condition...'|transloco}}</mat-option\n >\n </mat-select>\n </mat-form-field>\n <button\n (click)=\"editVisibility()\"\n [disabled]=\"pf!.value.visibilityOpt != 'condition'\"\n mat-raised-button\n [matTooltip]=\"curVisibility || ''\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curVisibility }}</span>\n </div>\n </button>\n </div>\n <div class=\"ajf-prop\">\n <div><label>{{'Branches'|transloco}}</label></div>\n <div>\n <mat-slider\n formControlName=\"conditionalBranchesNum\"\n thumbLabel\n tickInterval=\"auto\"\n min=\"1\"\n max=\"5\"\n step=\"1\"\n ></mat-slider>\n </div>\n <div *ngFor=\"let branch of conditionalBranches; let idx = index\">\n <button\n (click)=\"editConditionalBranch(idx)\"\n mat-raised-button\n [matTooltip]=\"branch\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ branch }}</span>\n </div>\n </button>\n </div>\n </div>\n <ng-template [ngIf]=\"isRepeatingContainerNode(ne)\">\n <div class=\"ajf-prop\">\n <div><label>{{'Repetitions'|transloco}}</label></div>\n <div>\n <button\n (click)=\"editFormulaReps()\"\n mat-raised-button\n [matTooltip]=\"curFormulaReps || ''\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curFormulaReps }}</span>\n </div>\n </button>\n </div>\n <div><label>{{'Min repetitions'|transloco}}</label></div>\n <div>\n <mat-slider\n formControlName=\"minReps\"\n thumbLabel\n tickInterval=\"auto\"\n min=\"1\"\n max=\"5\"\n step=\"1\"\n ></mat-slider>\n </div>\n <div><label>{{'Max repetitions'|transloco}}</label></div>\n <div>\n <mat-slider\n formControlName=\"maxReps\"\n thumbLabel\n tickInterval=\"auto\"\n min=\"1\"\n max=\"5\"\n step=\"1\"\n ></mat-slider>\n </div>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"isField(ne)\">\n <div class=\"ajf-prop\">\n <mat-form-field>\n <mat-label>{{'Field size'|transloco}}</mat-label>\n <mat-select\n formControlName=\"size\"\n [placeholder]=\"'Size' | transloco\"\n >\n <mat-option\n *ngFor=\"let fieldSize of fieldSizes\"\n [value]=\"fieldSize.value\"\n >\n {{ fieldSize.label|transloco }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"hint\"\n [placeholder]=\"'Hint' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <textarea\n matInput\n formControlName=\"description\"\n [placeholder]=\"'Description' | transloco\"\n ></textarea>\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"defaultValue\"\n [placeholder]=\"'Default value' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <div><label>{{'Formula'|transloco}}</label></div>\n <div>\n <button\n (click)=\"editFormula()\"\n mat-raised-button\n [matTooltip]=\"curFormula || ''\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curFormula }}</span>\n </div>\n </button>\n </div>\n </div>\n <!-- <div class=\"ajf-prop\">\n <div><label>{{'Force value'|translco}}</label></div>\n <div>\n <button (click)=\"editForceValue()\" mat-raised-button [matTooltip]=\"curForceValue\">\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curForceValue }}</span>\n </div>\n </button>\n </div>\n </div> -->\n <div class=\"ajf-prop\">\n <mat-checkbox formControlName=\"notEmpty\"\n >{{'Not empty'|transloco}}</mat-checkbox\n >\n </div>\n <ng-template [ngIf]=\"isNumericField(ne!.node)\">\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"minValue\"\n [placeholder]=\"'Min value' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"maxValue\"\n [placeholder]=\"'Max value' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"minDigits\"\n [placeholder]=\"'Min digits' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n formControlName=\"maxDigits\"\n [placeholder]=\"'Max digits' | transloco\"\n />\n </mat-form-field>\n </div>\n </ng-template>\n <ng-template [ngIf]=\"isRangeField(ne!.node)\">\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n type=\"number\"\n formControlName=\"start\"\n [placeholder]=\"'Start' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n type=\"number\"\n formControlName=\"end\"\n [placeholder]=\"'End' | transloco\"\n />\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <mat-form-field>\n <input\n matInput\n type=\"number\"\n formControlName=\"step\"\n [placeholder]=\"'Step' | transloco\"\n />\n </mat-form-field>\n </div>\n </ng-template>\n <div class=\"ajf-prop\">\n <div class=\"ajf-header\">\n <label>{{ 'Validation' | transloco }}</label>\n <mat-icon class=\"ajf-pointer\" (click)=\"addValidationCondition()\"\n >add_circle_outline</mat-icon\n >\n </div>\n <div\n *ngIf=\"validationConditions == null || validationConditions.length == 0\"\n class=\"ajf-validation-row ajf-emph\"\n >\n {{'No conditions'|transloco}}\n </div>\n <div\n class=\"ajf-validation-row\"\n *ngFor=\"let validationCondition of validationConditions; let idx = index\"\n >\n <button\n (click)=\"editValidationCondition(idx)\"\n mat-raised-button\n [matTooltip]=\"validationCondition.condition\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ validationCondition.condition }}</span>\n </div>\n </button>\n <mat-icon\n class=\"ajf-pointer\"\n (click)=\"removeValidationCondition(idx)\"\n >remove_circle_outline</mat-icon\n >\n </div>\n </div>\n <div class=\"ajf-prop\">\n <mat-checkbox formControlName=\"notEmptyWarning\"\n >{{'Not empty warning'|transloco}}</mat-checkbox\n >\n </div>\n <div class=\"ajf-prop\">\n <div class=\"ajf-header\">\n <label>{{'Warnings'|transloco}}</label>\n <mat-icon class=\"ajf-pointer\" (click)=\"addWarningCondition()\"\n >add_circle_outline</mat-icon\n >\n </div>\n <div\n *ngIf=\"warningConditions == null || warningConditions.length == 0\"\n class=\"ajf-validation-row ajf-emph\"\n >\n {{'No warnings'|transloco}}\n </div>\n <div\n class=\"ajf-validation-row\"\n *ngFor=\"let warningCondition of warningConditions; let idx = index\"\n >\n <button\n (click)=\"editWarningCondition(idx)\"\n mat-raised-button\n [matTooltip]=\"warningCondition.condition\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ warningCondition.condition }}</span>\n </div>\n </button>\n <mat-icon class=\"ajf-pointer\" (click)=\"removeWarningCondition(idx)\"\n >remove_circle_outline</mat-icon\n >\n </div>\n </div>\n <div class=\"ajf-prop\">\n <div><label>{{'Go to next slide condition'|transloco}}</label></div>\n <div>\n <button\n (click)=\"editNextSlideCondition()\"\n mat-raised-button\n [matTooltip]=\"nextSlideCondition\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ nextSlideCondition }}</span>\n </div>\n </button>\n </div>\n </div>\n <ng-template [ngIf]=\"isFieldWithChoices(ne!.node)\">\n <div class=\"ajf-prop\">\n <mat-form-field>\n <mat-label>{{'Choices origins'|transloco}}</mat-label>\n <mat-select\n formControlName=\"choicesOriginRef\"\n [placeholder]=\"'Choices' | transloco\"\n >\n <mat-option\n *ngFor=\"let choicesOrigin of choicesOrigins\"\n [value]=\"choicesOrigin.name\"\n >\n {{ (choicesOrigin.label || choicesOrigin.name)|transloco }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"ajf-prop\">\n <div><label>{{'Choices filter'|transloco}}</label></div>\n <div>\n <button\n (click)=\"editChoicesFilter()\"\n mat-raised-button\n [matTooltip]=\"curChoicesFilter\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ curChoicesFilter }}</span>\n </div>\n </button>\n </div>\n </div>\n <div class=\"ajf-prop\">\n <mat-checkbox formControlName=\"forceExpanded\"\n >{{'Force expanded selection'|transloco}}</mat-checkbox\n >\n </div>\n <div class=\"ajf-prop\">\n <mat-checkbox formControlName=\"forceNarrow\"\n >{{'Force narrow selection'|transloco}}</mat-checkbox\n >\n </div>\n <div class=\"ajf-prop\">\n <div class=\"ajf-header\">\n <label>{{'Trigger selection'|transloco}}</label>\n <mat-icon class=\"ajf-pointer\" (click)=\"addTriggerCondition()\"\n >add_circle_outline</mat-icon\n >\n </div>\n <div\n *ngIf=\"triggerConditions == null || triggerConditions.length == 0\"\n class=\"ajf-validation-row ajf-emph\"\n >\n {{'No trigger condition'|transloco}}\n </div>\n <div\n class=\"ajf-validation-row\"\n *ngFor=\"let triggerCondition of triggerConditions; let idx = index\"\n >\n <button\n (click)=\"editTriggerCondition(idx)\"\n mat-raised-button\n [matTooltip]=\"triggerCondition\"\n >\n <div class=\"ajf-icon-cont\">\n <mat-icon>edit</mat-icon>\n <span>{{ triggerCondition }}</span>\n </div>\n </button>\n <mat-icon class=\"pointer\" (click)=\"removeTriggerCondition(idx)\"\n >remove_circle_outline</mat-icon\n >\n </div>\n </div>\n </ng-template>\n </ng-template>\n </form>\n </ng-container>\n</ng-container>\n",
3384
3408
  encapsulation: core.ViewEncapsulation.None,
3385
3409
  changeDetection: core.ChangeDetectionStrategy.OnPush,
3386
3410
  styles: ["ajf-fb-node-properties{display:block;padding:1em;position:relative}ajf-fb-node-properties mat-icon{cursor:pointer}ajf-fb-node-properties .ajf-header{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap}ajf-fb-node-properties .ajf-header>h3,ajf-fb-node-properties .ajf-header>label{flex:1 0 auto;margin-right:.5em}ajf-fb-node-properties .ajf-header>mat-icon{flex:0 0 auto;margin-left:.5em}ajf-fb-node-properties .ajf-disabled-overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.4;background-color:#fff}ajf-fb-node-properties .ajf-emph{font-style:italic}ajf-fb-node-properties [mat-raised-button]{margin:.5em 0}ajf-fb-node-properties [mat-raised-button].ajf-pointer{cursor:pointer}ajf-fb-node-properties [mat-raised-button] .ajf-icon-cont{display:flex;flex-direction:row;align-items:center}ajf-fb-node-properties [mat-raised-button] .ajf-icon-cont span{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;display:block;min-height:36px}ajf-fb-node-properties .ajf-validation-row{margin:.5em 0;display:flex;flex-direction:row;align-items:center}ajf-fb-node-properties .ajf-validation-row button{flex:1 1 auto}ajf-fb-node-properties .ajf-validation-row mat-icon{flex:0 0 auto}ajf-fb-node-properties .ajf-prop{margin:.5em 0}ajf-fb-node-properties mat-form-field,ajf-fb-node-properties mat-slider,ajf-fb-node-properties [mat-raised-button]{width:100%}\n"]
@@ -3476,13 +3500,32 @@
3476
3500
  AjfFormBuilderModule.decorators = [
3477
3501
  { type: core.NgModule, args: [{
3478
3502
  imports: [
3479
- monacoEditor.AjfMonacoEditorModule, nodeIcon.AjfNodeIconModule, common.CommonModule, dragDrop.DragDropModule,
3480
- forms$1.FormsModule, autocomplete.MatAutocompleteModule, button.MatButtonModule, card.MatCardModule,
3481
- checkbox.MatCheckboxModule, chips.MatChipsModule, dialog.MatDialogModule, formField.MatFormFieldModule,
3482
- icon.MatIconModule, input.MatInputModule, list.MatListModule, menu.MatMenuModule,
3483
- select.MatSelectModule, sidenav.MatSidenavModule, slider.MatSliderModule, table.MatTableModule,
3484
- toolbar.MatToolbarModule, tooltip.MatTooltipModule, forms$1.ReactiveFormsModule, transloco.AjfTranslocoModule,
3485
- expansion.MatExpansionModule, slideToggle.MatSlideToggleModule,
3503
+ monacoEditor.AjfMonacoEditorModule,
3504
+ nodeIcon.AjfNodeIconModule,
3505
+ common.CommonModule,
3506
+ dragDrop.DragDropModule,
3507
+ forms$1.FormsModule,
3508
+ autocomplete.MatAutocompleteModule,
3509
+ button.MatButtonModule,
3510
+ card.MatCardModule,
3511
+ checkbox.MatCheckboxModule,
3512
+ chips.MatChipsModule,
3513
+ dialog.MatDialogModule,
3514
+ formField.MatFormFieldModule,
3515
+ icon.MatIconModule,
3516
+ input.MatInputModule,
3517
+ list.MatListModule,
3518
+ menu.MatMenuModule,
3519
+ select.MatSelectModule,
3520
+ sidenav.MatSidenavModule,
3521
+ slider.MatSliderModule,
3522
+ table.MatTableModule,
3523
+ toolbar.MatToolbarModule,
3524
+ tooltip.MatTooltipModule,
3525
+ forms$1.ReactiveFormsModule,
3526
+ transloco.AjfTranslocoModule,
3527
+ expansion.MatExpansionModule,
3528
+ slideToggle.MatSlideToggleModule,
3486
3529
  ],
3487
3530
  declarations: [
3488
3531
  AjfFbBranchLine,
@@ -3498,12 +3541,8 @@
3498
3541
  AjfFbWarningConditionEditorDialog,
3499
3542
  AjfFormBuilder,
3500
3543
  ],
3501
- exports: [
3502
- AjfFormBuilder,
3503
- ],
3504
- providers: [
3505
- AjfFormBuilderService,
3506
- ],
3544
+ exports: [AjfFormBuilder],
3545
+ providers: [AjfFormBuilderService],
3507
3546
  },] }
3508
3547
  ];
3509
3548