@gravitee/ui-particles-angular 15.13.0 → 16.0.0

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 (375) hide show
  1. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs +11 -11
  2. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs.map +1 -1
  3. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs +74 -80
  4. package/fesm2022/gravitee-ui-particles-angular-gio-el.mjs.map +1 -1
  5. package/fesm2022/gravitee-ui-particles-angular-testing.mjs.map +1 -1
  6. package/fesm2022/gravitee-ui-particles-angular.mjs +636 -536
  7. package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
  8. package/gio-asciidoctor/index.d.ts +49 -5
  9. package/gio-el/index.d.ts +146 -5
  10. package/index.d.ts +1822 -3
  11. package/package.json +7 -15
  12. package/src/scss/gio-mat-theme.scss +2 -1
  13. package/testing/index.d.ts +47 -5
  14. package/esm2022/gio-asciidoctor/gio-asciidoctor.component.mjs +0 -104
  15. package/esm2022/gio-asciidoctor/gio-asciidoctor.module.mjs +0 -33
  16. package/esm2022/gio-asciidoctor/gio-asciidoctor.service.mjs +0 -48
  17. package/esm2022/gio-asciidoctor/gravitee-ui-particles-angular-gio-asciidoctor.mjs +0 -5
  18. package/esm2022/gio-asciidoctor/public-api.mjs +0 -19
  19. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.mjs +0 -127
  20. package/esm2022/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.mjs +0 -158
  21. package/esm2022/gio-el/gio-el-editor/gio-el-editor.component.mjs +0 -131
  22. package/esm2022/gio-el/gio-el-editor/gio-el-editor.harness.mjs +0 -28
  23. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.mjs +0 -271
  24. package/esm2022/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.mjs +0 -53
  25. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.mjs +0 -57
  26. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.mjs +0 -31
  27. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.mjs +0 -74
  28. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.mjs +0 -29
  29. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.mjs +0 -70
  30. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.mjs +0 -29
  31. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.mjs +0 -73
  32. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.mjs +0 -29
  33. package/esm2022/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.mjs +0 -38
  34. package/esm2022/gio-el/gravitee-ui-particles-angular-gio-el.mjs +0 -5
  35. package/esm2022/gio-el/models/Condition.mjs +0 -9
  36. package/esm2022/gio-el/models/ConditionGroup.mjs +0 -7
  37. package/esm2022/gio-el/models/ConditionModel.mjs +0 -17
  38. package/esm2022/gio-el/models/ConditionsModel.mjs +0 -4
  39. package/esm2022/gio-el/models/ExpressionLanguageBuilder.mjs +0 -97
  40. package/esm2022/gio-el/models/Operator.mjs +0 -2
  41. package/esm2022/gio-el/models/public-api.mjs +0 -21
  42. package/esm2022/gio-el/public-api.mjs +0 -19
  43. package/esm2022/gravitee-ui-particles-angular.mjs +0 -5
  44. package/esm2022/lib/gio-avatar/gio-avatar.component.mjs +0 -74
  45. package/esm2022/lib/gio-avatar/gio-avatar.module.mjs +0 -33
  46. package/esm2022/lib/gio-avatar/index.mjs +0 -18
  47. package/esm2022/lib/gio-banner/gio-banner.component.mjs +0 -120
  48. package/esm2022/lib/gio-banner/gio-banner.module.mjs +0 -64
  49. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb-item.directive.mjs +0 -32
  50. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.component.mjs +0 -32
  51. package/esm2022/lib/gio-breadcrumb/gio-breadcrumb.module.mjs +0 -35
  52. package/esm2022/lib/gio-breadcrumb/index.mjs +0 -19
  53. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.component.mjs +0 -35
  54. package/esm2022/lib/gio-card-empty-state/gio-card-empty-state.module.mjs +0 -36
  55. package/esm2022/lib/gio-card-empty-state/index.mjs +0 -18
  56. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-icon.component.mjs +0 -67
  57. package/esm2022/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.mjs +0 -71
  58. package/esm2022/lib/gio-clipboard/gio-clipboard.base.component.mjs +0 -64
  59. package/esm2022/lib/gio-clipboard/gio-clipboard.module.mjs +0 -39
  60. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.mjs +0 -61
  61. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.mjs +0 -40
  62. package/esm2022/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.mjs +0 -40
  63. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.component.mjs +0 -54
  64. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.harness.mjs +0 -34
  65. package/esm2022/lib/gio-confirm-dialog/gio-confirm-dialog.module.mjs +0 -36
  66. package/esm2022/lib/gio-dialog/gio-dialog.constant.mjs +0 -21
  67. package/esm2022/lib/gio-el/gio-el-assistant/gio-el-assistant.component.mjs +0 -62
  68. package/esm2022/lib/gio-el/gio-el-prompt/gio-el-prompt.component.mjs +0 -112
  69. package/esm2022/lib/gio-el/gio-el.service.mjs +0 -60
  70. package/esm2022/lib/gio-el/index.mjs +0 -20
  71. package/esm2022/lib/gio-el/models/ElAiPromptState.mjs +0 -23
  72. package/esm2022/lib/gio-el/public-api.mjs +0 -20
  73. package/esm2022/lib/gio-form-cron/gio-form-cron-hint.component.mjs +0 -30
  74. package/esm2022/lib/gio-form-cron/gio-form-cron-label.component.mjs +0 -30
  75. package/esm2022/lib/gio-form-cron/gio-form-cron.adapter.mjs +0 -218
  76. package/esm2022/lib/gio-form-cron/gio-form-cron.component.mjs +0 -211
  77. package/esm2022/lib/gio-form-cron/gio-form-cron.harness.mjs +0 -77
  78. package/esm2022/lib/gio-form-cron/gio-form-cron.module.mjs +0 -69
  79. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +0 -29
  80. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.mjs +0 -27
  81. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.mjs +0 -26
  82. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.harness.mjs +0 -95
  83. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +0 -167
  84. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.model.mjs +0 -23
  85. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.module.mjs +0 -57
  86. package/esm2022/lib/gio-form-file-picker/index.mjs +0 -23
  87. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.mjs +0 -31
  88. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.mjs +0 -96
  89. package/esm2022/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.mjs +0 -32
  90. package/esm2022/lib/gio-form-headers/gio-form-headers-label.component.mjs +0 -30
  91. package/esm2022/lib/gio-form-headers/gio-form-headers.component.mjs +0 -284
  92. package/esm2022/lib/gio-form-headers/gio-form-headers.harness.mjs +0 -73
  93. package/esm2022/lib/gio-form-headers/gio-form-headers.module.mjs +0 -77
  94. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.component.mjs +0 -209
  95. package/esm2022/lib/gio-form-json-schema/gio-form-json-schema.module.mjs +0 -244
  96. package/esm2022/lib/gio-form-json-schema/gio-formly-json-schema.service.mjs +0 -261
  97. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchema.mjs +0 -17
  98. package/esm2022/lib/gio-form-json-schema/model/GioJsonSchemaContext.mjs +0 -2
  99. package/esm2022/lib/gio-form-json-schema/type-component/array-type.component.mjs +0 -109
  100. package/esm2022/lib/gio-form-json-schema/type-component/code-editor-type.component.mjs +0 -47
  101. package/esm2022/lib/gio-form-json-schema/type-component/cron-type.component.mjs +0 -42
  102. package/esm2022/lib/gio-form-json-schema/type-component/headers-type.component.mjs +0 -108
  103. package/esm2022/lib/gio-form-json-schema/type-component/multischema-type.component.mjs +0 -66
  104. package/esm2022/lib/gio-form-json-schema/type-component/null-type.component.mjs +0 -31
  105. package/esm2022/lib/gio-form-json-schema/type-component/object-type.component.mjs +0 -62
  106. package/esm2022/lib/gio-form-json-schema/type-component/toggle-type.component.mjs +0 -60
  107. package/esm2022/lib/gio-form-json-schema/util/validation-message.util.mjs +0 -38
  108. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-extension.mjs +0 -10
  109. package/esm2022/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.mjs +0 -28
  110. package/esm2022/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.mjs +0 -61
  111. package/esm2022/lib/gio-form-json-schema/wrappers/gio-password-eye.component.mjs +0 -74
  112. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.mjs +0 -79
  113. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.mjs +0 -86
  114. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.mjs +0 -44
  115. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.component.mjs +0 -103
  116. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.harness.mjs +0 -65
  117. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.module.mjs +0 -59
  118. package/esm2022/lib/gio-form-selection-inline/public-api.mjs +0 -22
  119. package/esm2022/lib/gio-form-slide-toggle/gio-form-label.directive.mjs +0 -52
  120. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.mjs +0 -69
  121. package/esm2022/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.mjs +0 -34
  122. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.component.mjs +0 -316
  123. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.harness.mjs +0 -82
  124. package/esm2022/lib/gio-form-tags-input/gio-form-tags-input.module.mjs +0 -67
  125. package/esm2022/lib/gio-icons/gio-icons.module.mjs +0 -37
  126. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.component.mjs +0 -43
  127. package/esm2022/lib/gio-license/gio-license-dialog/gio-license-dialog.module.mjs +0 -37
  128. package/esm2022/lib/gio-license/gio-license.directive.mjs +0 -92
  129. package/esm2022/lib/gio-license/gio-license.module.mjs +0 -35
  130. package/esm2022/lib/gio-license/gio-license.service.mjs +0 -101
  131. package/esm2022/lib/gio-license/gio-license.testing.module.mjs +0 -107
  132. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.mjs +0 -77
  133. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.mjs +0 -44
  134. package/esm2022/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.mjs +0 -36
  135. package/esm2022/lib/gio-loader/gio-loader.component.mjs +0 -27
  136. package/esm2022/lib/gio-loader/gio-loader.module.mjs +0 -34
  137. package/esm2022/lib/gio-mat-config/gio-mat-config.module.mjs +0 -30
  138. package/esm2022/lib/gio-mat-config/index.mjs +0 -17
  139. package/esm2022/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.mjs +0 -44
  140. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.mjs +0 -150
  141. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +0 -314
  142. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.harness.mjs +0 -70
  143. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.module.mjs +0 -60
  144. package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.testing.component.mjs +0 -42
  145. package/esm2022/lib/gio-monaco-editor/models/GioMonacoEditorConfig.mjs +0 -18
  146. package/esm2022/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.mjs +0 -115
  147. package/esm2022/lib/gio-monaco-editor/models/MonacoEditorTheme.mjs +0 -2
  148. package/esm2022/lib/gio-monaco-editor/services/gio-language-el.service.mjs +0 -226
  149. package/esm2022/lib/gio-monaco-editor/services/gio-language-json.service.mjs +0 -72
  150. package/esm2022/lib/gio-monaco-editor/services/gio-monaco-editor.service.mjs +0 -72
  151. package/esm2022/lib/gio-pipe/gio.pipe.module.mjs +0 -32
  152. package/esm2022/lib/gio-pipe/safe.pipe.mjs +0 -53
  153. package/esm2022/lib/gio-popover/gio-popover-trigger.directive.mjs +0 -46
  154. package/esm2022/lib/gio-popover/gio-popover.component.mjs +0 -83
  155. package/esm2022/lib/gio-popover/index.mjs +0 -18
  156. package/esm2022/lib/gio-popover/public-api.mjs +0 -18
  157. package/esm2022/lib/gio-prismjs/gio-prismjs.service.mjs +0 -80
  158. package/esm2022/lib/gio-save-bar/gio-save-bar.component.mjs +0 -142
  159. package/esm2022/lib/gio-save-bar/gio-save-bar.harness.mjs +0 -54
  160. package/esm2022/lib/gio-save-bar/gio-save-bar.module.mjs +0 -35
  161. package/esm2022/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.mjs +0 -26
  162. package/esm2022/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.mjs +0 -26
  163. package/esm2022/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.mjs +0 -85
  164. package/esm2022/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.mjs +0 -26
  165. package/esm2022/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.mjs +0 -26
  166. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.mjs +0 -62
  167. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.mjs +0 -41
  168. package/esm2022/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.mjs +0 -41
  169. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.mjs +0 -49
  170. package/esm2022/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.mjs +0 -41
  171. package/esm2022/lib/oem-theme/gio-menu/gio-menu.component.mjs +0 -50
  172. package/esm2022/lib/oem-theme/gio-menu/gio-menu.module.mjs +0 -78
  173. package/esm2022/lib/oem-theme/gio-menu/gio-menu.service.mjs +0 -45
  174. package/esm2022/lib/oem-theme/gio-menu/index.mjs +0 -29
  175. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.mjs +0 -34
  176. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.mjs +0 -46
  177. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.component.mjs +0 -112
  178. package/esm2022/lib/oem-theme/gio-submenu/gio-submenu.module.mjs +0 -37
  179. package/esm2022/lib/oem-theme/gio-submenu/index.mjs +0 -20
  180. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.mjs +0 -35
  181. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.mjs +0 -35
  182. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.mjs +0 -35
  183. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.mjs +0 -26
  184. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.mjs +0 -33
  185. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.component.mjs +0 -34
  186. package/esm2022/lib/oem-theme/gio-top-bar/gio-top-bar.module.mjs +0 -36
  187. package/esm2022/lib/oem-theme/gio-top-bar/index.mjs +0 -23
  188. package/esm2022/lib/oem-theme/oem-theme.service.mjs +0 -83
  189. package/esm2022/lib/oem-theme/public-api.mjs +0 -20
  190. package/esm2022/lib/public-api.mjs +0 -85
  191. package/esm2022/public-api.mjs +0 -20
  192. package/esm2022/testing/gravitee-ui-particles-angular-testing.mjs +0 -5
  193. package/esm2022/testing/harnesses/div.harness.mjs +0 -42
  194. package/esm2022/testing/harnesses/index.mjs +0 -18
  195. package/esm2022/testing/harnesses/span.harness.mjs +0 -42
  196. package/esm2022/testing/public-api.mjs +0 -17
  197. package/gio-asciidoctor/gio-asciidoctor.component.d.ts +0 -26
  198. package/gio-asciidoctor/gio-asciidoctor.module.d.ts +0 -8
  199. package/gio-asciidoctor/gio-asciidoctor.service.d.ts +0 -14
  200. package/gio-asciidoctor/public-api.d.ts +0 -3
  201. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.component.d.ts +0 -25
  202. package/gio-el/gio-el-editor/gio-el-editor-condition-group/gio-el-editor-condition-group.harness.d.ts +0 -36
  203. package/gio-el/gio-el-editor/gio-el-editor.component.d.ts +0 -25
  204. package/gio-el/gio-el-editor/gio-el-editor.harness.d.ts +0 -7
  205. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.component.d.ts +0 -70
  206. package/gio-el/gio-el-editor/gio-el-field/gio-el-field.harness.d.ts +0 -14
  207. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component.d.ts +0 -15
  208. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness.d.ts +0 -6
  209. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component.d.ts +0 -17
  210. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness.d.ts +0 -6
  211. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component.d.ts +0 -17
  212. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness.d.ts +0 -6
  213. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component.d.ts +0 -23
  214. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness.d.ts +0 -6
  215. package/gio-el/gio-el-editor/gio-el-type/gio-el-editor-type.harness.d.ts +0 -10
  216. package/gio-el/models/Condition.d.ts +0 -19
  217. package/gio-el/models/ConditionGroup.d.ts +0 -7
  218. package/gio-el/models/ConditionModel.d.ts +0 -32
  219. package/gio-el/models/ConditionsModel.d.ts +0 -8
  220. package/gio-el/models/ExpressionLanguageBuilder.d.ts +0 -12
  221. package/gio-el/models/Operator.d.ts +0 -1
  222. package/gio-el/models/public-api.d.ts +0 -5
  223. package/gio-el/public-api.d.ts +0 -3
  224. package/lib/gio-avatar/gio-avatar.component.d.ts +0 -21
  225. package/lib/gio-avatar/gio-avatar.module.d.ts +0 -8
  226. package/lib/gio-avatar/index.d.ts +0 -2
  227. package/lib/gio-banner/gio-banner.component.d.ts +0 -43
  228. package/lib/gio-banner/gio-banner.module.d.ts +0 -11
  229. package/lib/gio-breadcrumb/gio-breadcrumb-item.directive.d.ts +0 -8
  230. package/lib/gio-breadcrumb/gio-breadcrumb.component.d.ts +0 -8
  231. package/lib/gio-breadcrumb/gio-breadcrumb.module.d.ts +0 -10
  232. package/lib/gio-breadcrumb/index.d.ts +0 -3
  233. package/lib/gio-card-empty-state/gio-card-empty-state.component.d.ts +0 -8
  234. package/lib/gio-card-empty-state/gio-card-empty-state.module.d.ts +0 -11
  235. package/lib/gio-card-empty-state/index.d.ts +0 -2
  236. package/lib/gio-clipboard/gio-clipboard-copy-icon.component.d.ts +0 -6
  237. package/lib/gio-clipboard/gio-clipboard-copy-wrapper.component.d.ts +0 -6
  238. package/lib/gio-clipboard/gio-clipboard.base.component.d.ts +0 -18
  239. package/lib/gio-clipboard/gio-clipboard.module.d.ts +0 -14
  240. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.d.ts +0 -33
  241. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.d.ts +0 -9
  242. package/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.d.ts +0 -15
  243. package/lib/gio-confirm-dialog/gio-confirm-dialog.component.d.ts +0 -29
  244. package/lib/gio-confirm-dialog/gio-confirm-dialog.harness.d.ts +0 -8
  245. package/lib/gio-confirm-dialog/gio-confirm-dialog.module.d.ts +0 -11
  246. package/lib/gio-dialog/gio-dialog.constant.d.ts +0 -5
  247. package/lib/gio-el/gio-el-assistant/gio-el-assistant.component.d.ts +0 -7
  248. package/lib/gio-el/gio-el-prompt/gio-el-prompt.component.d.ts +0 -28
  249. package/lib/gio-el/gio-el.service.d.ts +0 -19
  250. package/lib/gio-el/index.d.ts +0 -4
  251. package/lib/gio-el/models/ElAiPromptState.d.ts +0 -15
  252. package/lib/gio-el/public-api.d.ts +0 -4
  253. package/lib/gio-form-cron/gio-form-cron-hint.component.d.ts +0 -5
  254. package/lib/gio-form-cron/gio-form-cron-label.component.d.ts +0 -5
  255. package/lib/gio-form-cron/gio-form-cron.adapter.d.ts +0 -18
  256. package/lib/gio-form-cron/gio-form-cron.component.d.ts +0 -42
  257. package/lib/gio-form-cron/gio-form-cron.harness.d.ts +0 -23
  258. package/lib/gio-form-cron/gio-form-cron.module.d.ts +0 -18
  259. package/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.d.ts +0 -5
  260. package/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.d.ts +0 -5
  261. package/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.d.ts +0 -5
  262. package/lib/gio-form-file-picker/gio-form-file-picker.component.d.ts +0 -43
  263. package/lib/gio-form-file-picker/gio-form-file-picker.component.harness.d.ts +0 -30
  264. package/lib/gio-form-file-picker/gio-form-file-picker.model.d.ts +0 -6
  265. package/lib/gio-form-file-picker/gio-form-file-picker.module.d.ts +0 -16
  266. package/lib/gio-form-file-picker/index.d.ts +0 -7
  267. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid-ignore.directive.d.ts +0 -6
  268. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.directive.d.ts +0 -22
  269. package/lib/gio-form-focus-first-invalid/gio-form-focus-first-invalid.module.d.ts +0 -8
  270. package/lib/gio-form-headers/gio-form-headers-label.component.d.ts +0 -5
  271. package/lib/gio-form-headers/gio-form-headers.component.d.ts +0 -46
  272. package/lib/gio-form-headers/gio-form-headers.harness.d.ts +0 -39
  273. package/lib/gio-form-headers/gio-form-headers.module.d.ts +0 -20
  274. package/lib/gio-form-json-schema/gio-form-json-schema.component.d.ts +0 -43
  275. package/lib/gio-form-json-schema/gio-form-json-schema.module.d.ts +0 -35
  276. package/lib/gio-form-json-schema/gio-formly-json-schema.service.d.ts +0 -26
  277. package/lib/gio-form-json-schema/model/GioJsonSchema.d.ts +0 -47
  278. package/lib/gio-form-json-schema/model/GioJsonSchemaContext.d.ts +0 -1
  279. package/lib/gio-form-json-schema/type-component/array-type.component.d.ts +0 -10
  280. package/lib/gio-form-json-schema/type-component/code-editor-type.component.d.ts +0 -16
  281. package/lib/gio-form-json-schema/type-component/cron-type.component.d.ts +0 -9
  282. package/lib/gio-form-json-schema/type-component/headers-type.component.d.ts +0 -18
  283. package/lib/gio-form-json-schema/type-component/multischema-type.component.d.ts +0 -13
  284. package/lib/gio-form-json-schema/type-component/null-type.component.d.ts +0 -6
  285. package/lib/gio-form-json-schema/type-component/object-type.component.d.ts +0 -9
  286. package/lib/gio-form-json-schema/type-component/toggle-type.component.d.ts +0 -8
  287. package/lib/gio-form-json-schema/util/validation-message.util.d.ts +0 -15
  288. package/lib/gio-form-json-schema/wrappers/gio-banner-extension.d.ts +0 -2
  289. package/lib/gio-form-json-schema/wrappers/gio-banner-wrapper.component.d.ts +0 -6
  290. package/lib/gio-form-json-schema/wrappers/gio-el-helper-wrapper.component.d.ts +0 -11
  291. package/lib/gio-form-json-schema/wrappers/gio-password-eye.component.d.ts +0 -12
  292. package/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.d.ts +0 -15
  293. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.d.ts +0 -17
  294. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.d.ts +0 -19
  295. package/lib/gio-form-selection-inline/gio-form-selection-inline.component.d.ts +0 -20
  296. package/lib/gio-form-selection-inline/gio-form-selection-inline.harness.d.ts +0 -26
  297. package/lib/gio-form-selection-inline/gio-form-selection-inline.module.d.ts +0 -14
  298. package/lib/gio-form-selection-inline/public-api.d.ts +0 -6
  299. package/lib/gio-form-slide-toggle/gio-form-label.directive.d.ts +0 -13
  300. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.component.d.ts +0 -15
  301. package/lib/gio-form-slide-toggle/gio-form-slide-toggle.module.d.ts +0 -9
  302. package/lib/gio-form-tags-input/gio-form-tags-input.component.d.ts +0 -95
  303. package/lib/gio-form-tags-input/gio-form-tags-input.harness.d.ts +0 -23
  304. package/lib/gio-form-tags-input/gio-form-tags-input.module.d.ts +0 -16
  305. package/lib/gio-icons/gio-icons.module.d.ts +0 -11
  306. package/lib/gio-license/gio-license-dialog/gio-license-dialog.component.d.ts +0 -16
  307. package/lib/gio-license/gio-license-dialog/gio-license-dialog.module.d.ts +0 -12
  308. package/lib/gio-license/gio-license.directive.d.ts +0 -24
  309. package/lib/gio-license/gio-license.module.d.ts +0 -10
  310. package/lib/gio-license/gio-license.service.d.ts +0 -58
  311. package/lib/gio-license/gio-license.testing.module.d.ts +0 -24
  312. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.component.d.ts +0 -17
  313. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.harness.d.ts +0 -13
  314. package/lib/gio-license-expiration-notification/gio-license-expiration-notification.module.d.ts +0 -11
  315. package/lib/gio-loader/gio-loader.component.d.ts +0 -5
  316. package/lib/gio-loader/gio-loader.module.d.ts +0 -9
  317. package/lib/gio-mat-config/gio-mat-config.module.d.ts +0 -6
  318. package/lib/gio-mat-config/index.d.ts +0 -1
  319. package/lib/gio-monaco-editor/gio-monaco-clipboard-copy.component.d.ts +0 -7
  320. package/lib/gio-monaco-editor/gio-monaco-editor-form-field.directive.d.ts +0 -45
  321. package/lib/gio-monaco-editor/gio-monaco-editor.component.d.ts +0 -67
  322. package/lib/gio-monaco-editor/gio-monaco-editor.harness.d.ts +0 -19
  323. package/lib/gio-monaco-editor/gio-monaco-editor.module.d.ts +0 -20
  324. package/lib/gio-monaco-editor/gio-monaco-editor.testing.component.d.ts +0 -12
  325. package/lib/gio-monaco-editor/models/GioMonacoEditorConfig.d.ts +0 -7
  326. package/lib/gio-monaco-editor/models/JSONSchemaAutoComplete.d.ts +0 -39
  327. package/lib/gio-monaco-editor/models/MonacoEditorTheme.d.ts +0 -1
  328. package/lib/gio-monaco-editor/services/gio-language-el.service.d.ts +0 -18
  329. package/lib/gio-monaco-editor/services/gio-language-json.service.d.ts +0 -18
  330. package/lib/gio-monaco-editor/services/gio-monaco-editor.service.d.ts +0 -19
  331. package/lib/gio-pipe/gio.pipe.module.d.ts +0 -7
  332. package/lib/gio-pipe/safe.pipe.d.ts +0 -10
  333. package/lib/gio-popover/gio-popover-trigger.directive.d.ts +0 -12
  334. package/lib/gio-popover/gio-popover.component.d.ts +0 -15
  335. package/lib/gio-popover/index.d.ts +0 -2
  336. package/lib/gio-popover/public-api.d.ts +0 -2
  337. package/lib/gio-prismjs/gio-prismjs.service.d.ts +0 -14
  338. package/lib/gio-save-bar/gio-save-bar.component.d.ts +0 -30
  339. package/lib/gio-save-bar/gio-save-bar.harness.d.ts +0 -15
  340. package/lib/gio-save-bar/gio-save-bar.module.d.ts +0 -10
  341. package/lib/oem-theme/gio-menu/gio-menu-footer/gio-menu-footer.component.d.ts +0 -5
  342. package/lib/oem-theme/gio-menu/gio-menu-header/gio-menu-header.component.d.ts +0 -5
  343. package/lib/oem-theme/gio-menu/gio-menu-item/gio-menu-item.component.d.ts +0 -19
  344. package/lib/oem-theme/gio-menu/gio-menu-license-expiration-notification/gio-menu-license-expiration-notification.component.d.ts +0 -5
  345. package/lib/oem-theme/gio-menu/gio-menu-list/gio-menu-list.component.d.ts +0 -5
  346. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.component.d.ts +0 -25
  347. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.harness.d.ts +0 -10
  348. package/lib/oem-theme/gio-menu/gio-menu-search/gio-menu-search.service.d.ts +0 -9
  349. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.component.d.ts +0 -17
  350. package/lib/oem-theme/gio-menu/gio-menu-selector/gio-menu-selector.harness.d.ts +0 -8
  351. package/lib/oem-theme/gio-menu/gio-menu.component.d.ts +0 -14
  352. package/lib/oem-theme/gio-menu/gio-menu.module.d.ts +0 -21
  353. package/lib/oem-theme/gio-menu/gio-menu.service.d.ts +0 -18
  354. package/lib/oem-theme/gio-menu/index.d.ts +0 -13
  355. package/lib/oem-theme/gio-submenu/gio-submenu-group/gio-submenu-group.component.d.ts +0 -8
  356. package/lib/oem-theme/gio-submenu/gio-submenu-item/gio-submenu-item.component.d.ts +0 -9
  357. package/lib/oem-theme/gio-submenu/gio-submenu.component.d.ts +0 -28
  358. package/lib/oem-theme/gio-submenu/gio-submenu.module.d.ts +0 -12
  359. package/lib/oem-theme/gio-submenu/index.d.ts +0 -4
  360. package/lib/oem-theme/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.d.ts +0 -8
  361. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.d.ts +0 -7
  362. package/lib/oem-theme/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.d.ts +0 -10
  363. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.d.ts +0 -5
  364. package/lib/oem-theme/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.d.ts +0 -8
  365. package/lib/oem-theme/gio-top-bar/gio-top-bar.component.d.ts +0 -8
  366. package/lib/oem-theme/gio-top-bar/gio-top-bar.module.d.ts +0 -11
  367. package/lib/oem-theme/gio-top-bar/index.d.ts +0 -7
  368. package/lib/oem-theme/oem-theme.service.d.ts +0 -22
  369. package/lib/oem-theme/public-api.d.ts +0 -4
  370. package/lib/public-api.d.ts +0 -66
  371. package/public-api.d.ts +0 -1
  372. package/testing/harnesses/div.harness.d.ts +0 -21
  373. package/testing/harnesses/index.d.ts +0 -2
  374. package/testing/harnesses/span.harness.d.ts +0 -21
  375. package/testing/public-api.d.ts +0 -1
@@ -1,127 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
17
- import { FormArray, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
18
- import { MatFormFieldModule } from '@angular/material/form-field';
19
- import { MatSelectModule } from '@angular/material/select';
20
- import { CommonModule } from '@angular/common';
21
- import { MatButtonModule } from '@angular/material/button';
22
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
23
- import { MatMenuModule } from '@angular/material/menu';
24
- import { GioIconsModule } from '@gravitee/ui-particles-angular';
25
- import { GioElEditorTypeBooleanComponent } from '../gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component';
26
- import { GioElEditorTypeDateComponent } from '../gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component';
27
- import { GioElEditorTypeNumberComponent } from '../gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component';
28
- import { GioElEditorTypeStringComponent } from '../gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component';
29
- import { GioElFieldComponent } from '../gio-el-field/gio-el-field.component';
30
- import * as i0 from "@angular/core";
31
- import * as i1 from "@angular/forms";
32
- import * as i2 from "@angular/material/form-field";
33
- import * as i3 from "@angular/material/button";
34
- import * as i4 from "@angular/material/button-toggle";
35
- import * as i5 from "@angular/material/menu";
36
- import * as i6 from "@angular/material/icon";
37
- export class GioElEditorConditionGroupComponent {
38
- constructor() {
39
- /**
40
- * Conditions model to generate the fields for the conditions.
41
- */
42
- this.conditionsModel = [];
43
- /**
44
- * Level of the node in the tree. Useful for testing with Harness to limit the scope of the query.
45
- */
46
- this.nodeLvl = 0;
47
- this.remove = new EventEmitter();
48
- }
49
- addConditionGroup() {
50
- this.conditionGroupFormGroup.controls.conditions.push(newConditionGroupFormGroup(), { emitEvent: true });
51
- this.checkMultipleCondition();
52
- }
53
- addCondition() {
54
- this.conditionGroupFormGroup.controls.conditions.push(newConditionFormGroup());
55
- this.checkMultipleCondition();
56
- }
57
- removeCondition(conditionIndex) {
58
- this.conditionGroupFormGroup.controls.conditions.removeAt(conditionIndex);
59
- this.checkMultipleCondition();
60
- }
61
- removeConditionGroup() {
62
- this.remove.emit();
63
- this.checkMultipleCondition();
64
- }
65
- isConditionGroupForm(formGroup) {
66
- return 'condition' in formGroup.controls && 'conditions' in formGroup.controls;
67
- }
68
- checkMultipleCondition() {
69
- if (this.conditionGroupFormGroup.controls.conditions.length > 1) {
70
- this.conditionGroupFormGroup.controls.condition.enable();
71
- }
72
- else {
73
- this.conditionGroupFormGroup.controls.condition.disable();
74
- }
75
- }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElEditorConditionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: GioElEditorConditionGroupComponent, isStandalone: true, selector: "gio-el-editor-condition-group", inputs: { conditionGroupFormGroup: "conditionGroupFormGroup", conditionsModel: "conditionsModel", nodeLvl: "nodeLvl" }, outputs: { remove: "remove" }, host: { properties: { "attr.node-lvl": "this.nodeLvl" } }, ngImport: i0, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"conditionGroup\" [formGroup]=\"conditionGroupFormGroup\">\n <div class=\"conditionGroup__header\">\n <mat-button-toggle-group\n class=\"gio-button-toggle-group\"\n name=\"condition\"\n aria-label=\"Condition\"\n formControlName=\"condition\"\n [hideSingleSelectionIndicator]=\"true\"\n >\n <mat-button-toggle class=\"mat-button-toggle-group\" value=\"AND\">AND</mat-button-toggle>\n <mat-button-toggle class=\"mat-button-toggle-group\" value=\"OR\">OR</mat-button-toggle>\n </mat-button-toggle-group>\n\n <div class=\"conditionGroup__header__addBtn\">\n <button mat-button [matMenuTriggerFor]=\"addBtn\">\n <mat-icon svgIcon=\"gio:plus\">Add</mat-icon>\n </button>\n <mat-menu #addBtn=\"matMenu\">\n <button mat-menu-item (click)=\"addConditionGroup()\">Add Group</button>\n <button mat-menu-item (click)=\"addCondition()\">Add Condition</button>\n </mat-menu>\n </div>\n\n @if (nodeLvl > 0) {\n <button class=\"conditionGroup__header__removeBtn\" mat-button aria-label=\"Remove Group\" (click)=\"removeConditionGroup()\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n }\n </div>\n\n <div class=\"conditionGroup__conditions\">\n @for (condition of conditionGroupFormGroup.controls.conditions.controls; track conditionIndex; let conditionIndex = $index) {\n @if (isConditionGroupForm(condition)) {\n <gio-el-editor-condition-group\n class=\"conditionGroup__conditions__conditionGroup\"\n [conditionGroupFormGroup]=\"condition\"\n [conditionsModel]=\"conditionsModel\"\n [nodeLvl]=\"nodeLvl + 1\"\n (remove)=\"removeCondition(conditionIndex)\"\n ></gio-el-editor-condition-group>\n } @else {\n <div\n class=\"conditionGroup__conditions__condition\"\n [formGroup]=\"conditionGroupFormGroup.controls.conditions.at(conditionIndex)\"\n [attr.node-lvl]=\"nodeLvl\"\n >\n <mat-form-field class=\"conditionGroup__conditions__condition__field\">\n <mat-label>Field</mat-label>\n <gio-el-field formControlName=\"field\" [conditionsModel]=\"conditionsModel\"></gio-el-field>\n </mat-form-field>\n\n @switch (condition.controls.field.value?.type) {\n @case ('string') {\n <gio-el-editor-type-string [conditionFormGroup]=\"condition\"></gio-el-editor-type-string>\n }\n @case ('boolean') {\n <gio-el-editor-type-boolean [conditionFormGroup]=\"condition\"></gio-el-editor-type-boolean>\n }\n @case ('number') {\n <gio-el-editor-type-number [conditionFormGroup]=\"condition\"></gio-el-editor-type-number>\n }\n @case ('date') {\n <gio-el-editor-type-date [conditionFormGroup]=\"condition\"></gio-el-editor-type-date>\n }\n }\n\n <button\n class=\"conditionGroup__conditions__condition__removeBtn\"\n mat-button\n aria-label=\"Remove Condition\"\n (click)=\"removeCondition(conditionIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n </div>\n }\n }\n </div>\n</div>\n", styles: [".conditionGroup{display:flex;flex-direction:column;gap:8px}.conditionGroup__header{display:flex;flex-direction:row;align-items:center;gap:8px}.conditionGroup__header .gio-button-toggle-group{margin-bottom:0}.conditionGroup__conditions{display:flex;flex-direction:column;justify-content:center;gap:2px}.conditionGroup__conditions__condition{position:relative;display:flex;align-items:flex-start;padding:0 0 0 28px;gap:8px}.conditionGroup__conditions__condition__field{min-width:220px;max-width:440px;flex:auto}.conditionGroup__conditions__condition__removeBtn{align-self:center}.conditionGroup__conditions__condition:before{position:absolute;top:-8px;left:8px;width:1px;height:100%;border-left:2px dashed #a2a5b5;content:\"\"}.conditionGroup__conditions__condition:after{position:absolute;top:32px;left:8px;width:20px;border-top:2px dashed #a2a5b5;content:\"\"}.conditionGroup__conditions__condition:last-child:before{top:-8px;height:40px}.conditionGroup__conditions__conditionGroup{position:relative;display:block;padding:0 0 0 28px}.conditionGroup__conditions__conditionGroup:before{position:absolute;top:-8px;left:8px;width:1px;height:100%;border-left:2px dashed #a2a5b5;content:\"\"}.conditionGroup__conditions__conditionGroup:after{position:absolute;top:20px;left:8px;width:20px;border-top:2px dashed #a2a5b5;content:\"\"}.conditionGroup__conditions__conditionGroup:last-child:before{top:-8px;height:28px}\n"], dependencies: [{ kind: "component", type: GioElEditorConditionGroupComponent, selector: "gio-el-editor-condition-group", inputs: ["conditionGroupFormGroup", "conditionsModel", "nodeLvl"], outputs: ["remove"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i4.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i4.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: GioIconsModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: GioElEditorTypeBooleanComponent, selector: "gio-el-editor-type-boolean", inputs: ["conditionFormGroup"] }, { kind: "component", type: GioElEditorTypeDateComponent, selector: "gio-el-editor-type-date", inputs: ["conditionFormGroup"] }, { kind: "component", type: GioElEditorTypeStringComponent, selector: "gio-el-editor-type-string", inputs: ["conditionFormGroup"] }, { kind: "component", type: GioElEditorTypeNumberComponent, selector: "gio-el-editor-type-number", inputs: ["conditionFormGroup"] }, { kind: "component", type: GioElFieldComponent, selector: "gio-el-field", inputs: ["conditionsModel", "placeholder", "required"] }] }); }
78
- }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElEditorConditionGroupComponent, decorators: [{
80
- type: Component,
81
- args: [{ selector: 'gio-el-editor-condition-group', imports: [
82
- CommonModule,
83
- ReactiveFormsModule,
84
- MatFormFieldModule,
85
- MatSelectModule,
86
- MatButtonModule,
87
- MatButtonToggleModule,
88
- MatMenuModule,
89
- GioIconsModule,
90
- GioElEditorTypeBooleanComponent,
91
- GioElEditorTypeDateComponent,
92
- GioElEditorTypeStringComponent,
93
- GioElEditorTypeNumberComponent,
94
- GioElFieldComponent,
95
- ], template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"conditionGroup\" [formGroup]=\"conditionGroupFormGroup\">\n <div class=\"conditionGroup__header\">\n <mat-button-toggle-group\n class=\"gio-button-toggle-group\"\n name=\"condition\"\n aria-label=\"Condition\"\n formControlName=\"condition\"\n [hideSingleSelectionIndicator]=\"true\"\n >\n <mat-button-toggle class=\"mat-button-toggle-group\" value=\"AND\">AND</mat-button-toggle>\n <mat-button-toggle class=\"mat-button-toggle-group\" value=\"OR\">OR</mat-button-toggle>\n </mat-button-toggle-group>\n\n <div class=\"conditionGroup__header__addBtn\">\n <button mat-button [matMenuTriggerFor]=\"addBtn\">\n <mat-icon svgIcon=\"gio:plus\">Add</mat-icon>\n </button>\n <mat-menu #addBtn=\"matMenu\">\n <button mat-menu-item (click)=\"addConditionGroup()\">Add Group</button>\n <button mat-menu-item (click)=\"addCondition()\">Add Condition</button>\n </mat-menu>\n </div>\n\n @if (nodeLvl > 0) {\n <button class=\"conditionGroup__header__removeBtn\" mat-button aria-label=\"Remove Group\" (click)=\"removeConditionGroup()\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n }\n </div>\n\n <div class=\"conditionGroup__conditions\">\n @for (condition of conditionGroupFormGroup.controls.conditions.controls; track conditionIndex; let conditionIndex = $index) {\n @if (isConditionGroupForm(condition)) {\n <gio-el-editor-condition-group\n class=\"conditionGroup__conditions__conditionGroup\"\n [conditionGroupFormGroup]=\"condition\"\n [conditionsModel]=\"conditionsModel\"\n [nodeLvl]=\"nodeLvl + 1\"\n (remove)=\"removeCondition(conditionIndex)\"\n ></gio-el-editor-condition-group>\n } @else {\n <div\n class=\"conditionGroup__conditions__condition\"\n [formGroup]=\"conditionGroupFormGroup.controls.conditions.at(conditionIndex)\"\n [attr.node-lvl]=\"nodeLvl\"\n >\n <mat-form-field class=\"conditionGroup__conditions__condition__field\">\n <mat-label>Field</mat-label>\n <gio-el-field formControlName=\"field\" [conditionsModel]=\"conditionsModel\"></gio-el-field>\n </mat-form-field>\n\n @switch (condition.controls.field.value?.type) {\n @case ('string') {\n <gio-el-editor-type-string [conditionFormGroup]=\"condition\"></gio-el-editor-type-string>\n }\n @case ('boolean') {\n <gio-el-editor-type-boolean [conditionFormGroup]=\"condition\"></gio-el-editor-type-boolean>\n }\n @case ('number') {\n <gio-el-editor-type-number [conditionFormGroup]=\"condition\"></gio-el-editor-type-number>\n }\n @case ('date') {\n <gio-el-editor-type-date [conditionFormGroup]=\"condition\"></gio-el-editor-type-date>\n }\n }\n\n <button\n class=\"conditionGroup__conditions__condition__removeBtn\"\n mat-button\n aria-label=\"Remove Condition\"\n (click)=\"removeCondition(conditionIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n </div>\n }\n }\n </div>\n</div>\n", styles: [".conditionGroup{display:flex;flex-direction:column;gap:8px}.conditionGroup__header{display:flex;flex-direction:row;align-items:center;gap:8px}.conditionGroup__header .gio-button-toggle-group{margin-bottom:0}.conditionGroup__conditions{display:flex;flex-direction:column;justify-content:center;gap:2px}.conditionGroup__conditions__condition{position:relative;display:flex;align-items:flex-start;padding:0 0 0 28px;gap:8px}.conditionGroup__conditions__condition__field{min-width:220px;max-width:440px;flex:auto}.conditionGroup__conditions__condition__removeBtn{align-self:center}.conditionGroup__conditions__condition:before{position:absolute;top:-8px;left:8px;width:1px;height:100%;border-left:2px dashed #a2a5b5;content:\"\"}.conditionGroup__conditions__condition:after{position:absolute;top:32px;left:8px;width:20px;border-top:2px dashed #a2a5b5;content:\"\"}.conditionGroup__conditions__condition:last-child:before{top:-8px;height:40px}.conditionGroup__conditions__conditionGroup{position:relative;display:block;padding:0 0 0 28px}.conditionGroup__conditions__conditionGroup:before{position:absolute;top:-8px;left:8px;width:1px;height:100%;border-left:2px dashed #a2a5b5;content:\"\"}.conditionGroup__conditions__conditionGroup:after{position:absolute;top:20px;left:8px;width:20px;border-top:2px dashed #a2a5b5;content:\"\"}.conditionGroup__conditions__conditionGroup:last-child:before{top:-8px;height:28px}\n"] }]
96
- }], propDecorators: { conditionGroupFormGroup: [{
97
- type: Input,
98
- args: [{
99
- required: true,
100
- }]
101
- }], conditionsModel: [{
102
- type: Input,
103
- args: [{
104
- required: true,
105
- }]
106
- }], nodeLvl: [{
107
- type: Input
108
- }, {
109
- type: HostBinding,
110
- args: ['attr.node-lvl']
111
- }], remove: [{
112
- type: Output
113
- }] } });
114
- const newConditionGroupFormGroup = () => {
115
- return new FormGroup({
116
- condition: new FormControl({ value: 'AND', disabled: true }, { nonNullable: true, validators: Validators.required }),
117
- conditions: new FormArray([]),
118
- });
119
- };
120
- const newConditionFormGroup = () => {
121
- return new FormGroup({
122
- field: new FormControl(null),
123
- operator: new FormControl(null),
124
- value: new FormControl(null),
125
- });
126
- };
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWVsLWVkaXRvci1jb25kaXRpb24tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvZ2lvLWVsL2dpby1lbC1lZGl0b3IvZ2lvLWVsLWVkaXRvci1jb25kaXRpb24tZ3JvdXAvZ2lvLWVsLWVkaXRvci1jb25kaXRpb24tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvZ2lvLWVsL2dpby1lbC1lZGl0b3IvZ2lvLWVsLWVkaXRvci1jb25kaXRpb24tZ3JvdXAvZ2lvLWVsLWVkaXRvci1jb25kaXRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztB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SHJCLEtBQUs7dUJBQUM7d0JBQ0wsUUFBUSxFQUFFLElBQUk7cUJBQ2Y7Z0JBUU0sT0FBTztzQkFGYixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGVBQWU7Z0JBSXJCLE1BQU07c0JBRFosTUFBTTs7QUFzQ1QsTUFBTSwwQkFBMEIsR0FBRyxHQUFrQyxFQUFFO0lBQ3JFLE9BQU8sSUFBSSxTQUFTLENBQXFCO1FBQ3ZDLFNBQVMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3BILFVBQVUsRUFBRSxJQUFJLFNBQVMsQ0FBMkQsRUFBRSxDQUFDO0tBQ3hGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQUcsR0FBNkIsRUFBRTtJQUMzRCxPQUFPLElBQUksU0FBUyxDQUFnQjtRQUNsQyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzVCLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDL0IsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQztLQUM3QixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDI0IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgR2lvSWNvbnNNb2R1bGUgfSBmcm9tICdAZ3Jhdml0ZWUvdWktcGFydGljbGVzLWFuZ3VsYXInO1xuXG5pbXBvcnQgeyBHaW9FbEVkaXRvclR5cGVCb29sZWFuQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2lvLWVsLXR5cGUvZ2lvLWVsLWVkaXRvci10eXBlLWJvb2xlYW4vZ2lvLWVsLWVkaXRvci10eXBlLWJvb2xlYW4uY29tcG9uZW50JztcbmltcG9ydCB7IEdpb0VsRWRpdG9yVHlwZURhdGVDb21wb25lbnQgfSBmcm9tICcuLi9naW8tZWwtdHlwZS9naW8tZWwtZWRpdG9yLXR5cGUtZGF0ZS9naW8tZWwtZWRpdG9yLXR5cGUtZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvRWxFZGl0b3JUeXBlTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2lvLWVsLXR5cGUvZ2lvLWVsLWVkaXRvci10eXBlLW51bWJlci9naW8tZWwtZWRpdG9yLXR5cGUtbnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9FbEVkaXRvclR5cGVTdHJpbmdDb21wb25lbnQgfSBmcm9tICcuLi9naW8tZWwtdHlwZS9naW8tZWwtZWRpdG9yLXR5cGUtc3RyaW5nL2dpby1lbC1lZGl0b3ItdHlwZS1zdHJpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmRpdGlvbkZvcm0sIENvbmRpdGlvbkdyb3VwRm9ybSB9IGZyb20gJy4uL2dpby1lbC1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IENvbmRpdGlvbnNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Db25kaXRpb25zTW9kZWwnO1xuaW1wb3J0IHsgR2lvRWxGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2dpby1lbC1maWVsZC9naW8tZWwtZmllbGQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLWVsLWVkaXRvci1jb25kaXRpb24tZ3JvdXAnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgR2lvSWNvbnNNb2R1bGUsXG4gICAgR2lvRWxFZGl0b3JUeXBlQm9vbGVhbkNvbXBvbmVudCxcbiAgICBHaW9FbEVkaXRvclR5cGVEYXRlQ29tcG9uZW50LFxuICAgIEdpb0VsRWRpdG9yVHlwZVN0cmluZ0NvbXBvbmVudCxcbiAgICBHaW9FbEVkaXRvclR5cGVOdW1iZXJDb21wb25lbnQsXG4gICAgR2lvRWxGaWVsZENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgR2lvRWxFZGl0b3JDb25kaXRpb25Hcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCh7XG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBjb25kaXRpb25Hcm91cEZvcm1Hcm91cCE6IEZvcm1Hcm91cDxDb25kaXRpb25Hcm91cEZvcm0+O1xuXG4gIC8qKlxuICAgKiBDb25kaXRpb25zIG1vZGVsIHRvIGdlbmVyYXRlIHRoZSBmaWVsZHMgZm9yIHRoZSBjb25kaXRpb25zLlxuICAgKi9cbiAgQElucHV0KHtcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGNvbmRpdGlvbnNNb2RlbDogQ29uZGl0aW9uc01vZGVsID0gW107XG5cbiAgLyoqXG4gICAqIExldmVsIG9mIHRoZSBub2RlIGluIHRoZSB0cmVlLiBVc2VmdWwgZm9yIHRlc3Rpbmcgd2l0aCBIYXJuZXNzIHRvIGxpbWl0IHRoZSBzY29wZSBvZiB0aGUgcXVlcnkuXG4gICAqL1xuICBASW5wdXQoKVxuICBASG9zdEJpbmRpbmcoJ2F0dHIubm9kZS1sdmwnKVxuICBwdWJsaWMgbm9kZUx2bCA9IDA7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJvdGVjdGVkIGFkZENvbmRpdGlvbkdyb3VwKCkge1xuICAgIHRoaXMuY29uZGl0aW9uR3JvdXBGb3JtR3JvdXAuY29udHJvbHMuY29uZGl0aW9ucy5wdXNoKG5ld0NvbmRpdGlvbkdyb3VwRm9ybUdyb3VwKCksIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgIHRoaXMuY2hlY2tNdWx0aXBsZUNvbmRpdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZENvbmRpdGlvbigpIHtcbiAgICB0aGlzLmNvbmRpdGlvbkdyb3VwRm9ybUdyb3VwLmNvbnRyb2xzLmNvbmRpdGlvbnMucHVzaChuZXdDb25kaXRpb25Gb3JtR3JvdXAoKSk7XG4gICAgdGhpcy5jaGVja011bHRpcGxlQ29uZGl0aW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVtb3ZlQ29uZGl0aW9uKGNvbmRpdGlvbkluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmNvbmRpdGlvbkdyb3VwRm9ybUdyb3VwLmNvbnRyb2xzLmNvbmRpdGlvbnMucmVtb3ZlQXQoY29uZGl0aW9uSW5kZXgpO1xuICAgIHRoaXMuY2hlY2tNdWx0aXBsZUNvbmRpdGlvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbW92ZUNvbmRpdGlvbkdyb3VwKCkge1xuICAgIHRoaXMucmVtb3ZlLmVtaXQoKTtcbiAgICB0aGlzLmNoZWNrTXVsdGlwbGVDb25kaXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0NvbmRpdGlvbkdyb3VwRm9ybShcbiAgICBmb3JtR3JvdXA6IEZvcm1Hcm91cDxDb25kaXRpb25Gb3JtPiB8IEZvcm1Hcm91cDxDb25kaXRpb25Hcm91cEZvcm0+LFxuICApOiBmb3JtR3JvdXAgaXMgRm9ybUdyb3VwPENvbmRpdGlvbkdyb3VwRm9ybT4ge1xuICAgIHJldHVybiAnY29uZGl0aW9uJyBpbiBmb3JtR3JvdXAuY29udHJvbHMgJiYgJ2NvbmRpdGlvbnMnIGluIGZvcm1Hcm91cC5jb250cm9scztcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tNdWx0aXBsZUNvbmRpdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb25kaXRpb25Hcm91cEZvcm1Hcm91cC5jb250cm9scy5jb25kaXRpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRoaXMuY29uZGl0aW9uR3JvdXBGb3JtR3JvdXAuY29udHJvbHMuY29uZGl0aW9uLmVuYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbmRpdGlvbkdyb3VwRm9ybUdyb3VwLmNvbnRyb2xzLmNvbmRpdGlvbi5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IG5ld0NvbmRpdGlvbkdyb3VwRm9ybUdyb3VwID0gKCk6IEZvcm1Hcm91cDxDb25kaXRpb25Hcm91cEZvcm0+ID0+IHtcbiAgcmV0dXJuIG5ldyBGb3JtR3JvdXA8Q29uZGl0aW9uR3JvdXBGb3JtPih7XG4gICAgY29uZGl0aW9uOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogJ0FORCcsIGRpc2FibGVkOiB0cnVlIH0sIHsgbm9uTnVsbGFibGU6IHRydWUsIHZhbGlkYXRvcnM6IFZhbGlkYXRvcnMucmVxdWlyZWQgfSksXG4gICAgY29uZGl0aW9uczogbmV3IEZvcm1BcnJheTxGb3JtR3JvdXA8Q29uZGl0aW9uRm9ybT4gfCBGb3JtR3JvdXA8Q29uZGl0aW9uR3JvdXBGb3JtPj4oW10pLFxuICB9KTtcbn07XG5cbmNvbnN0IG5ld0NvbmRpdGlvbkZvcm1Hcm91cCA9ICgpOiBGb3JtR3JvdXA8Q29uZGl0aW9uRm9ybT4gPT4ge1xuICByZXR1cm4gbmV3IEZvcm1Hcm91cDxDb25kaXRpb25Gb3JtPih7XG4gICAgZmllbGQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICBvcGVyYXRvcjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxuICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gIH0pO1xufTtcbiIsIjwhLS1cblxuICAgIENvcHlyaWdodCAoQykgMjAyNCBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICAgIFxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICAgIFxuICAgICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gICAgXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cbi0tPlxuPGRpdiBjbGFzcz1cImNvbmRpdGlvbkdyb3VwXCIgW2Zvcm1Hcm91cF09XCJjb25kaXRpb25Hcm91cEZvcm1Hcm91cFwiPlxuICA8ZGl2IGNsYXNzPVwiY29uZGl0aW9uR3JvdXBfX2hlYWRlclwiPlxuICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cFxuICAgICAgY2xhc3M9XCJnaW8tYnV0dG9uLXRvZ2dsZS1ncm91cFwiXG4gICAgICBuYW1lPVwiY29uZGl0aW9uXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJDb25kaXRpb25cIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29uZGl0aW9uXCJcbiAgICAgIFtoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yXT1cInRydWVcIlxuICAgID5cbiAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBjbGFzcz1cIm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwXCIgdmFsdWU9XCJBTkRcIj5BTkQ8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIGNsYXNzPVwibWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXBcIiB2YWx1ZT1cIk9SXCI+T1I8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY29uZGl0aW9uR3JvdXBfX2hlYWRlcl9fYWRkQnRuXCI+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImFkZEJ0blwiPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzpwbHVzXCI+QWRkPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPG1hdC1tZW51ICNhZGRCdG49XCJtYXRNZW51XCI+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiYWRkQ29uZGl0aW9uR3JvdXAoKVwiPkFkZCBHcm91cDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImFkZENvbmRpdGlvbigpXCI+QWRkIENvbmRpdGlvbjwvYnV0dG9uPlxuICAgICAgPC9tYXQtbWVudT5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAobm9kZUx2bCA+IDApIHtcbiAgICAgIDxidXR0b24gY2xhc3M9XCJjb25kaXRpb25Hcm91cF9faGVhZGVyX19yZW1vdmVCdG5cIiBtYXQtYnV0dG9uIGFyaWEtbGFiZWw9XCJSZW1vdmUgR3JvdXBcIiAoY2xpY2spPVwicmVtb3ZlQ29uZGl0aW9uR3JvdXAoKVwiPlxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cImdpbzpjYW5jZWxcIj48L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29uZGl0aW9uR3JvdXBfX2NvbmRpdGlvbnNcIj5cbiAgICBAZm9yIChjb25kaXRpb24gb2YgY29uZGl0aW9uR3JvdXBGb3JtR3JvdXAuY29udHJvbHMuY29uZGl0aW9ucy5jb250cm9sczsgdHJhY2sgY29uZGl0aW9uSW5kZXg7IGxldCBjb25kaXRpb25JbmRleCA9ICRpbmRleCkge1xuICAgICAgQGlmIChpc0NvbmRpdGlvbkdyb3VwRm9ybShjb25kaXRpb24pKSB7XG4gICAgICAgIDxnaW8tZWwtZWRpdG9yLWNvbmRpdGlvbi1ncm91cFxuICAgICAgICAgIGNsYXNzPVwiY29uZGl0aW9uR3JvdXBfX2NvbmRpdGlvbnNfX2NvbmRpdGlvbkdyb3VwXCJcbiAgICAgICAgICBbY29uZGl0aW9uR3JvdXBGb3JtR3JvdXBdPVwiY29uZGl0aW9uXCJcbiAgICAgICAgICBbY29uZGl0aW9uc01vZGVsXT1cImNvbmRpdGlvbnNNb2RlbFwiXG4gICAgICAgICAgW25vZGVMdmxdPVwibm9kZUx2bCArIDFcIlxuICAgICAgICAgIChyZW1vdmUpPVwicmVtb3ZlQ29uZGl0aW9uKGNvbmRpdGlvbkluZGV4KVwiXG4gICAgICAgID48L2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImNvbmRpdGlvbkdyb3VwX19jb25kaXRpb25zX19jb25kaXRpb25cIlxuICAgICAgICAgIFtmb3JtR3JvdXBdPVwiY29uZGl0aW9uR3JvdXBGb3JtR3JvdXAuY29udHJvbHMuY29uZGl0aW9ucy5hdChjb25kaXRpb25JbmRleClcIlxuICAgICAgICAgIFthdHRyLm5vZGUtbHZsXT1cIm5vZGVMdmxcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiY29uZGl0aW9uR3JvdXBfX2NvbmRpdGlvbnNfX2NvbmRpdGlvbl9fZmllbGRcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+RmllbGQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxnaW8tZWwtZmllbGQgZm9ybUNvbnRyb2xOYW1lPVwiZmllbGRcIiBbY29uZGl0aW9uc01vZGVsXT1cImNvbmRpdGlvbnNNb2RlbFwiPjwvZ2lvLWVsLWZpZWxkPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICBAc3dpdGNoIChjb25kaXRpb24uY29udHJvbHMuZmllbGQudmFsdWU/LnR5cGUpIHtcbiAgICAgICAgICAgIEBjYXNlICgnc3RyaW5nJykge1xuICAgICAgICAgICAgICA8Z2lvLWVsLWVkaXRvci10eXBlLXN0cmluZyBbY29uZGl0aW9uRm9ybUdyb3VwXT1cImNvbmRpdGlvblwiPjwvZ2lvLWVsLWVkaXRvci10eXBlLXN0cmluZz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnYm9vbGVhbicpIHtcbiAgICAgICAgICAgICAgPGdpby1lbC1lZGl0b3ItdHlwZS1ib29sZWFuIFtjb25kaXRpb25Gb3JtR3JvdXBdPVwiY29uZGl0aW9uXCI+PC9naW8tZWwtZWRpdG9yLXR5cGUtYm9vbGVhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnbnVtYmVyJykge1xuICAgICAgICAgICAgICA8Z2lvLWVsLWVkaXRvci10eXBlLW51bWJlciBbY29uZGl0aW9uRm9ybUdyb3VwXT1cImNvbmRpdGlvblwiPjwvZ2lvLWVsLWVkaXRvci10eXBlLW51bWJlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnZGF0ZScpIHtcbiAgICAgICAgICAgICAgPGdpby1lbC1lZGl0b3ItdHlwZS1kYXRlIFtjb25kaXRpb25Gb3JtR3JvdXBdPVwiY29uZGl0aW9uXCI+PC9naW8tZWwtZWRpdG9yLXR5cGUtZGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImNvbmRpdGlvbkdyb3VwX19jb25kaXRpb25zX19jb25kaXRpb25fX3JlbW92ZUJ0blwiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiUmVtb3ZlIENvbmRpdGlvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlQ29uZGl0aW9uKGNvbmRpdGlvbkluZGV4KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJnaW86Y2FuY2VsXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,158 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { ComponentHarness, HarnessPredicate, parallel } from '@angular/cdk/testing';
17
- import { MatMenuHarness } from '@angular/material/menu/testing';
18
- import { MatButtonToggleGroupHarness } from '@angular/material/button-toggle/testing';
19
- import { DivHarness } from '@gravitee/ui-particles-angular/testing';
20
- import { GioElEditorTypeBooleanHarness } from '../gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.harness';
21
- import { GioElEditorTypeStringHarness } from '../gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.harness';
22
- import { GioElEditorTypeNumberHarness } from '../gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.harness';
23
- import { GioElEditorTypeDateHarness } from '../gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.harness';
24
- import { GioElFieldHarness } from '../gio-el-field/gio-el-field.harness';
25
- export class GioElEditorConditionGroupHarness extends ComponentHarness {
26
- constructor() {
27
- super(...arguments);
28
- this.getNodeLvl = () => this.host().then(host => host.getAttribute('node-lvl'));
29
- this.getAddMenuButton = this.locatorFor(MatMenuHarness.with({ triggerText: /Add/ }));
30
- this.getConditionButtonToggleGroup = this.locatorFor(MatButtonToggleGroupHarness.with({ selector: '[formControlName="condition"]' }));
31
- this.getConditionsHarness = async () => {
32
- const nodeLvl = await this.getNodeLvl();
33
- if (!nodeLvl) {
34
- throw new Error('Node level not found');
35
- }
36
- return this.locatorForAll(DivHarness.with({
37
- selector: `.conditionGroup__conditions__condition[node-lvl="${nodeLvl}"]`,
38
- }), GioElEditorConditionGroupHarness.with({
39
- selector: `.conditionGroup__conditions__conditionGroup[node-lvl="${Number(nodeLvl) + 1}"]`,
40
- }))();
41
- };
42
- this.getConditionHarness = async (index) => (await this.getConditionsHarness()).at(index);
43
- this.getConditionTypeHarness = (divHarness) => divHarness.childLocatorForOptional(GioElEditorTypeStringHarness, GioElEditorTypeBooleanHarness, GioElEditorTypeNumberHarness, GioElEditorTypeDateHarness)();
44
- this.getConditionField = (divHarness) => divHarness.childLocatorFor(GioElFieldHarness.with({ selector: '[formControlName="field"]' }))();
45
- }
46
- static { this.hostSelector = 'gio-el-editor-condition-group'; }
47
- static with(options = {}) {
48
- return new HarnessPredicate(GioElEditorConditionGroupHarness, options);
49
- }
50
- async clickAddNewConditionButton() {
51
- await (await this.getAddMenuButton()).clickItem({ text: /Add Condition/ });
52
- }
53
- async clickAddNewGroupButton() {
54
- await (await this.getAddMenuButton()).clickItem({ text: /Add Group/ });
55
- }
56
- async getConditionValue() {
57
- const conditionButtonToggleGroup = await this.getConditionButtonToggleGroup();
58
- const selectedToggles = await conditionButtonToggleGroup.getToggles({ checked: true });
59
- if (selectedToggles.length !== 1) {
60
- throw new Error('No operator selected');
61
- }
62
- const andOrMap = {
63
- AND: 'AND',
64
- OR: 'OR',
65
- };
66
- return andOrMap[await selectedToggles[0].getText()];
67
- }
68
- async selectConditionValue(operator) {
69
- const conditionButtonToggleGroup = await this.getConditionButtonToggleGroup();
70
- const toggles = await conditionButtonToggleGroup.getToggles({ text: operator });
71
- if (toggles.length !== 1) {
72
- throw new Error('No operator selected');
73
- }
74
- return toggles[0].check();
75
- }
76
- async selectConditionField(index, field, key1, key2) {
77
- const conditionDiv = await this.getConditionHarness(index);
78
- if (!conditionDiv || !(conditionDiv instanceof DivHarness)) {
79
- throw new Error(`Condition with index ${index} not found`);
80
- }
81
- const conditionField = await this.getConditionField(conditionDiv);
82
- await conditionField.setValue(field, key1, key2);
83
- }
84
- async selectConditionOperator(index, operator) {
85
- const conditionDiv = await this.getConditionHarness(index);
86
- if (!conditionDiv || !(conditionDiv instanceof DivHarness)) {
87
- throw new Error(`Condition with index ${index} not found`);
88
- }
89
- const conditionType = await this.getConditionTypeHarness(conditionDiv);
90
- if (!conditionType) {
91
- throw new Error(`Condition type not found. Select field first`);
92
- }
93
- await conditionType.selectOperator(operator);
94
- }
95
- async getConditionAvailableOperators(index) {
96
- const conditionDiv = await this.getConditionHarness(index);
97
- if (!conditionDiv || !(conditionDiv instanceof DivHarness)) {
98
- throw new Error(`Condition with index ${index} not found`);
99
- }
100
- const conditionType = await this.getConditionTypeHarness(conditionDiv);
101
- if (!conditionType) {
102
- throw new Error(`Condition type not found. Select field first`);
103
- }
104
- return conditionType.getAvailableOperators();
105
- }
106
- async setConditionValue(index, value) {
107
- const conditionDiv = await this.getConditionHarness(index);
108
- if (!conditionDiv || !(conditionDiv instanceof DivHarness)) {
109
- throw new Error(`Condition with index ${index} not found`);
110
- }
111
- const conditionType = await this.getConditionTypeHarness(conditionDiv);
112
- if (!conditionType) {
113
- throw new Error(`Condition type not found. Select field first`);
114
- }
115
- if (conditionType instanceof GioElEditorTypeStringHarness && typeof value === 'string') {
116
- await conditionType.setValue(value);
117
- }
118
- else if (conditionType instanceof GioElEditorTypeBooleanHarness && typeof value === 'boolean') {
119
- await conditionType.setValue(value);
120
- }
121
- else if (conditionType instanceof GioElEditorTypeNumberHarness && typeof value === 'number') {
122
- await conditionType.setValue(value);
123
- }
124
- else if (conditionType instanceof GioElEditorTypeDateHarness && value instanceof Date) {
125
- await conditionType.setValue(value);
126
- }
127
- else {
128
- throw new Error(`Invalid value for condition type`);
129
- }
130
- }
131
- async getConditionGroup(index) {
132
- const conditionGroup = await this.getConditionHarness(index);
133
- if (!conditionGroup || !(conditionGroup instanceof GioElEditorConditionGroupHarness)) {
134
- throw new Error(`Condition group with index ${index} not found`);
135
- }
136
- return conditionGroup;
137
- }
138
- async getConditions() {
139
- const getConditionsDiv = await this.getConditionsHarness();
140
- const conditions = await parallel(() => getConditionsDiv.map(async (condition) => {
141
- if (condition instanceof GioElEditorConditionGroupHarness) {
142
- return await condition.getConditions();
143
- }
144
- const conditionField = await this.getConditionField(condition);
145
- const conditionType = await this.getConditionTypeHarness(condition);
146
- return {
147
- field: await conditionField.getValue(),
148
- operator: await conditionType?.getOperatorValue(),
149
- value: await conditionType?.getValue(),
150
- };
151
- }));
152
- return {
153
- condition: await this.getConditionValue(),
154
- conditions,
155
- };
156
- }
157
- }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWVsLWVkaXRvci1jb25kaXRpb24tZ3JvdXAuaGFybmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL2dpby1lbC9naW8tZWwtZWRpdG9yL2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwL2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwLmhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQXNCLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFcEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDN0gsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDMUgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDMUgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFZekUsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLGdCQUFnQjtJQUF0RTs7UUFPUyxlQUFVLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUUxRSxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFB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QUM7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRU0sS0FBSyxDQUFDLGFBQWE7UUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBRTNELE1BQU0sVUFBVSxHQUFHLE1BQU0sUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNyQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLFNBQVMsRUFBQyxFQUFFO1lBQ3JDLElBQUksU0FBUyxZQUFZLGdDQUFnQyxFQUFFLENBQUM7Z0JBQzFELE9BQU8sTUFBTSxTQUFTLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekMsQ0FBQztZQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRS9ELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BFLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDLFFBQVEsRUFBRTtnQkFDdEMsUUFBUSxFQUFFLE1BQU0sYUFBYSxFQUFFLGdCQUFnQixFQUFFO2dCQUNqRCxLQUFLLEVBQUUsTUFBTSxhQUFhLEVBQUUsUUFBUSxFQUFFO2FBQ3ZDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsT0FBTztZQUNMLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN6QyxVQUFVO1NBQ1gsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDI0IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQmFzZUhhcm5lc3NGaWx0ZXJzLCBDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlLCBwYXJhbGxlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcbmltcG9ydCB7IE1hdE1lbnVIYXJuZXNzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudS90ZXN0aW5nJztcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZUdyb3VwSGFybmVzcyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUvdGVzdGluZyc7XG5pbXBvcnQgeyBEaXZIYXJuZXNzIH0gZnJvbSAnQGdyYXZpdGVlL3VpLXBhcnRpY2xlcy1hbmd1bGFyL3Rlc3RpbmcnO1xuXG5pbXBvcnQgeyBHaW9FbEVkaXRvclR5cGVCb29sZWFuSGFybmVzcyB9IGZyb20gJy4uL2dpby1lbC10eXBlL2dpby1lbC1lZGl0b3ItdHlwZS1ib29sZWFuL2dpby1lbC1lZGl0b3ItdHlwZS1ib29sZWFuLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvRWxFZGl0b3JUeXBlU3RyaW5nSGFybmVzcyB9IGZyb20gJy4uL2dpby1lbC10eXBlL2dpby1lbC1lZGl0b3ItdHlwZS1zdHJpbmcvZ2lvLWVsLWVkaXRvci10eXBlLXN0cmluZy5oYXJuZXNzJztcbmltcG9ydCB7IEdpb0VsRWRpdG9yVHlwZU51bWJlckhhcm5lc3MgfSBmcm9tICcuLi9naW8tZWwtdHlwZS9naW8tZWwtZWRpdG9yLXR5cGUtbnVtYmVyL2dpby1lbC1lZGl0b3ItdHlwZS1udW1iZXIuaGFybmVzcyc7XG5pbXBvcnQgeyBHaW9FbEVkaXRvclR5cGVEYXRlSGFybmVzcyB9IGZyb20gJy4uL2dpby1lbC10eXBlL2dpby1lbC1lZGl0b3ItdHlwZS1kYXRlL2dpby1lbC1lZGl0b3ItdHlwZS1kYXRlLmhhcm5lc3MnO1xuaW1wb3J0IHsgR2lvRWxGaWVsZEhhcm5lc3MgfSBmcm9tICcuLi9naW8tZWwtZmllbGQvZ2lvLWVsLWZpZWxkLmhhcm5lc3MnO1xuXG50eXBlIENvbmRpdGlvbkdyb3VwSGFybmVzc1ZhbHVlcyA9IHtcbiAgY29uZGl0aW9uOiAnQU5EJyB8ICdPUic7XG4gIGNvbmRpdGlvbnM6IChDb25kaXRpb25Hcm91cEhhcm5lc3NWYWx1ZXMgfCBDb25kaXRpb25IYXJuZXNzVmFsdWVzKVtdO1xufTtcbnR5cGUgQ29uZGl0aW9uSGFybmVzc1ZhbHVlcyA9IHtcbiAgZmllbGQ6IHsgZmllbGQ6IHN0cmluZzsga2V5MT86IHN0cmluZzsga2V5Mj86IHN0cmluZyB9O1xuICBvcGVyYXRvcj86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyO1xufTtcblxuZXhwb3J0IGNsYXNzIEdpb0VsRWRpdG9yQ29uZGl0aW9uR3JvdXBIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwJztcblxuICBwdWJsaWMgc3RhdGljIHdpdGgob3B0aW9uczogQmFzZUhhcm5lc3NGaWx0ZXJzID0ge30pOiBIYXJuZXNzUHJlZGljYXRlPEdpb0VsRWRpdG9yQ29uZGl0aW9uR3JvdXBIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKEdpb0VsRWRpdG9yQ29uZGl0aW9uR3JvdXBIYXJuZXNzLCBvcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb2RlTHZsID0gKCkgPT4gdGhpcy5ob3N0KCkudGhlbihob3N0ID0+IGhvc3QuZ2V0QXR0cmlidXRlKCdub2RlLWx2bCcpKTtcblxuICBwcml2YXRlIGdldEFkZE1lbnVCdXR0b24gPSB0aGlzLmxvY2F0b3JGb3IoTWF0TWVudUhhcm5lc3Mud2l0aCh7IHRyaWdnZXJUZXh0OiAvQWRkLyB9KSk7XG4gIHByaXZhdGUgZ2V0Q29uZGl0aW9uQnV0dG9uVG9nZ2xlR3JvdXAgPSB0aGlzLmxvY2F0b3JGb3IoTWF0QnV0dG9uVG9nZ2xlR3JvdXBIYXJuZXNzLndpdGgoeyBzZWxlY3RvcjogJ1tmb3JtQ29udHJvbE5hbWU9XCJjb25kaXRpb25cIl0nIH0pKTtcbiAgcHJpdmF0ZSBnZXRDb25kaXRpb25zSGFybmVzcyA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBub2RlTHZsID0gYXdhaXQgdGhpcy5nZXROb2RlTHZsKCk7XG4gICAgaWYgKCFub2RlTHZsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vZGUgbGV2ZWwgbm90IGZvdW5kJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmxvY2F0b3JGb3JBbGwoXG4gICAgICBEaXZIYXJuZXNzLndpdGgoe1xuICAgICAgICBzZWxlY3RvcjogYC5jb25kaXRpb25Hcm91cF9fY29uZGl0aW9uc19fY29uZGl0aW9uW25vZGUtbHZsPVwiJHtub2RlTHZsfVwiXWAsXG4gICAgICB9KSxcbiAgICAgIEdpb0VsRWRpdG9yQ29uZGl0aW9uR3JvdXBIYXJuZXNzLndpdGgoe1xuICAgICAgICBzZWxlY3RvcjogYC5jb25kaXRpb25Hcm91cF9fY29uZGl0aW9uc19fY29uZGl0aW9uR3JvdXBbbm9kZS1sdmw9XCIke051bWJlcihub2RlTHZsKSArIDF9XCJdYCxcbiAgICAgIH0pLFxuICAgICkoKTtcbiAgfTtcblxuICBwcml2YXRlIGdldENvbmRpdGlvbkhhcm5lc3MgPSBhc3luYyAoaW5kZXg6IG51bWJlcikgPT4gKGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uc0hhcm5lc3MoKSkuYXQoaW5kZXgpO1xuICBwcml2YXRlIGdldENvbmRpdGlvblR5cGVIYXJuZXNzID0gKGRpdkhhcm5lc3M6IERpdkhhcm5lc3MpID0+XG4gICAgZGl2SGFybmVzcy5jaGlsZExvY2F0b3JGb3JPcHRpb25hbChcbiAgICAgIEdpb0VsRWRpdG9yVHlwZVN0cmluZ0hhcm5lc3MsXG4gICAgICBHaW9FbEVkaXRvclR5cGVCb29sZWFuSGFybmVzcyxcbiAgICAgIEdpb0VsRWRpdG9yVHlwZU51bWJlckhhcm5lc3MsXG4gICAgICBHaW9FbEVkaXRvclR5cGVEYXRlSGFybmVzcyxcbiAgICApKCk7XG4gIHByaXZhdGUgZ2V0Q29uZGl0aW9uRmllbGQgPSAoZGl2SGFybmVzczogRGl2SGFybmVzcykgPT5cbiAgICBkaXZIYXJuZXNzLmNoaWxkTG9jYXRvckZvcihHaW9FbEZpZWxkSGFybmVzcy53aXRoKHsgc2VsZWN0b3I6ICdbZm9ybUNvbnRyb2xOYW1lPVwiZmllbGRcIl0nIH0pKSgpO1xuXG4gIHB1YmxpYyBhc3luYyBjbGlja0FkZE5ld0NvbmRpdGlvbkJ1dHRvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCAoYXdhaXQgdGhpcy5nZXRBZGRNZW51QnV0dG9uKCkpLmNsaWNrSXRlbSh7IHRleHQ6IC9BZGQgQ29uZGl0aW9uLyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjbGlja0FkZE5ld0dyb3VwQnV0dG9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChhd2FpdCB0aGlzLmdldEFkZE1lbnVCdXR0b24oKSkuY2xpY2tJdGVtKHsgdGV4dDogL0FkZCBHcm91cC8gfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Q29uZGl0aW9uVmFsdWUoKTogUHJvbWlzZTwnQU5EJyB8ICdPUic+IHtcbiAgICBjb25zdCBjb25kaXRpb25CdXR0b25Ub2dnbGVHcm91cCA9IGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uQnV0dG9uVG9nZ2xlR3JvdXAoKTtcbiAgICBjb25zdCBzZWxlY3RlZFRvZ2dsZXMgPSBhd2FpdCBjb25kaXRpb25CdXR0b25Ub2dnbGVHcm91cC5nZXRUb2dnbGVzKHsgY2hlY2tlZDogdHJ1ZSB9KTtcbiAgICBpZiAoc2VsZWN0ZWRUb2dnbGVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBvcGVyYXRvciBzZWxlY3RlZCcpO1xuICAgIH1cbiAgICBjb25zdCBhbmRPck1hcDogUmVjb3JkPHN0cmluZywgJ0FORCcgfCAnT1InPiA9IHtcbiAgICAgIEFORDogJ0FORCcsXG4gICAgICBPUjogJ09SJyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGFuZE9yTWFwW2F3YWl0IHNlbGVjdGVkVG9nZ2xlc1swXS5nZXRUZXh0KCldO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbGVjdENvbmRpdGlvblZhbHVlKG9wZXJhdG9yOiAnQU5EJyB8ICdPUicpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb25kaXRpb25CdXR0b25Ub2dnbGVHcm91cCA9IGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uQnV0dG9uVG9nZ2xlR3JvdXAoKTtcbiAgICBjb25zdCB0b2dnbGVzID0gYXdhaXQgY29uZGl0aW9uQnV0dG9uVG9nZ2xlR3JvdXAuZ2V0VG9nZ2xlcyh7IHRleHQ6IG9wZXJhdG9yIH0pO1xuICAgIGlmICh0b2dnbGVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBvcGVyYXRvciBzZWxlY3RlZCcpO1xuICAgIH1cbiAgICByZXR1cm4gdG9nZ2xlc1swXS5jaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbGVjdENvbmRpdGlvbkZpZWxkKGluZGV4OiBudW1iZXIsIGZpZWxkOiBzdHJpbmcsIGtleTE/OiBzdHJpbmcsIGtleTI/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb25kaXRpb25EaXYgPSBhd2FpdCB0aGlzLmdldENvbmRpdGlvbkhhcm5lc3MoaW5kZXgpO1xuICAgIGlmICghY29uZGl0aW9uRGl2IHx8ICEoY29uZGl0aW9uRGl2IGluc3RhbmNlb2YgRGl2SGFybmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29uZGl0aW9uIHdpdGggaW5kZXggJHtpbmRleH0gbm90IGZvdW5kYCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29uZGl0aW9uRmllbGQgPSBhd2FpdCB0aGlzLmdldENvbmRpdGlvbkZpZWxkKGNvbmRpdGlvbkRpdik7XG4gICAgYXdhaXQgY29uZGl0aW9uRmllbGQuc2V0VmFsdWUoZmllbGQsIGtleTEsIGtleTIpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbGVjdENvbmRpdGlvbk9wZXJhdG9yKGluZGV4OiBudW1iZXIsIG9wZXJhdG9yOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb25kaXRpb25EaXYgPSBhd2FpdCB0aGlzLmdldENvbmRpdGlvbkhhcm5lc3MoaW5kZXgpO1xuICAgIGlmICghY29uZGl0aW9uRGl2IHx8ICEoY29uZGl0aW9uRGl2IGluc3RhbmNlb2YgRGl2SGFybmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29uZGl0aW9uIHdpdGggaW5kZXggJHtpbmRleH0gbm90IGZvdW5kYCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29uZGl0aW9uVHlwZSA9IGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uVHlwZUhhcm5lc3MoY29uZGl0aW9uRGl2KTtcbiAgICBpZiAoIWNvbmRpdGlvblR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29uZGl0aW9uIHR5cGUgbm90IGZvdW5kLiBTZWxlY3QgZmllbGQgZmlyc3RgKTtcbiAgICB9XG5cbiAgICBhd2FpdCBjb25kaXRpb25UeXBlLnNlbGVjdE9wZXJhdG9yKG9wZXJhdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRDb25kaXRpb25BdmFpbGFibGVPcGVyYXRvcnMoaW5kZXg6IG51bWJlcik6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBjb25kaXRpb25EaXYgPSBhd2FpdCB0aGlzLmdldENvbmRpdGlvbkhhcm5lc3MoaW5kZXgpO1xuICAgIGlmICghY29uZGl0aW9uRGl2IHx8ICEoY29uZGl0aW9uRGl2IGluc3RhbmNlb2YgRGl2SGFybmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29uZGl0aW9uIHdpdGggaW5kZXggJHtpbmRleH0gbm90IGZvdW5kYCk7XG4gICAgfVxuXG4gICAgY29uc3QgY29uZGl0aW9uVHlwZSA9IGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uVHlwZUhhcm5lc3MoY29uZGl0aW9uRGl2KTtcbiAgICBpZiAoIWNvbmRpdGlvblR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29uZGl0aW9uIHR5cGUgbm90IGZvdW5kLiBTZWxlY3QgZmllbGQgZmlyc3RgKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbmRpdGlvblR5cGUuZ2V0QXZhaWxhYmxlT3BlcmF0b3JzKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2V0Q29uZGl0aW9uVmFsdWUoaW5kZXg6IG51bWJlciwgdmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBEYXRlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29uZGl0aW9uRGl2ID0gYXdhaXQgdGhpcy5nZXRDb25kaXRpb25IYXJuZXNzKGluZGV4KTtcbiAgICBpZiAoIWNvbmRpdGlvbkRpdiB8fCAhKGNvbmRpdGlvbkRpdiBpbnN0YW5jZW9mIERpdkhhcm5lc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbmRpdGlvbiB3aXRoIGluZGV4ICR7aW5kZXh9IG5vdCBmb3VuZGApO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmRpdGlvblR5cGUgPSBhd2FpdCB0aGlzLmdldENvbmRpdGlvblR5cGVIYXJuZXNzKGNvbmRpdGlvbkRpdik7XG4gICAgaWYgKCFjb25kaXRpb25UeXBlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvbmRpdGlvbiB0eXBlIG5vdCBmb3VuZC4gU2VsZWN0IGZpZWxkIGZpcnN0YCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbmRpdGlvblR5cGUgaW5zdGFuY2VvZiBHaW9FbEVkaXRvclR5cGVTdHJpbmdIYXJuZXNzICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGF3YWl0IGNvbmRpdGlvblR5cGUuc2V0VmFsdWUodmFsdWUpO1xuICAgIH0gZWxzZSBpZiAoY29uZGl0aW9uVHlwZSBpbnN0YW5jZW9mIEdpb0VsRWRpdG9yVHlwZUJvb2xlYW5IYXJuZXNzICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICBhd2FpdCBjb25kaXRpb25UeXBlLnNldFZhbHVlKHZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKGNvbmRpdGlvblR5cGUgaW5zdGFuY2VvZiBHaW9FbEVkaXRvclR5cGVOdW1iZXJIYXJuZXNzICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGF3YWl0IGNvbmRpdGlvblR5cGUuc2V0VmFsdWUodmFsdWUpO1xuICAgIH0gZWxzZSBpZiAoY29uZGl0aW9uVHlwZSBpbnN0YW5jZW9mIEdpb0VsRWRpdG9yVHlwZURhdGVIYXJuZXNzICYmIHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgYXdhaXQgY29uZGl0aW9uVHlwZS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3IgY29uZGl0aW9uIHR5cGVgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0Q29uZGl0aW9uR3JvdXAoaW5kZXg6IG51bWJlcik6IFByb21pc2U8R2lvRWxFZGl0b3JDb25kaXRpb25Hcm91cEhhcm5lc3M+IHtcbiAgICBjb25zdCBjb25kaXRpb25Hcm91cCA9IGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uSGFybmVzcyhpbmRleCk7XG5cbiAgICBpZiAoIWNvbmRpdGlvbkdyb3VwIHx8ICEoY29uZGl0aW9uR3JvdXAgaW5zdGFuY2VvZiBHaW9FbEVkaXRvckNvbmRpdGlvbkdyb3VwSGFybmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ29uZGl0aW9uIGdyb3VwIHdpdGggaW5kZXggJHtpbmRleH0gbm90IGZvdW5kYCk7XG4gICAgfVxuICAgIHJldHVybiBjb25kaXRpb25Hcm91cDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRDb25kaXRpb25zKCk6IFByb21pc2U8Q29uZGl0aW9uR3JvdXBIYXJuZXNzVmFsdWVzPiB7XG4gICAgY29uc3QgZ2V0Q29uZGl0aW9uc0RpdiA9IGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uc0hhcm5lc3MoKTtcblxuICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBhd2FpdCBwYXJhbGxlbCgoKSA9PlxuICAgICAgZ2V0Q29uZGl0aW9uc0Rpdi5tYXAoYXN5bmMgY29uZGl0aW9uID0+IHtcbiAgICAgICAgaWYgKGNvbmRpdGlvbiBpbnN0YW5jZW9mIEdpb0VsRWRpdG9yQ29uZGl0aW9uR3JvdXBIYXJuZXNzKSB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IGNvbmRpdGlvbi5nZXRDb25kaXRpb25zKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29uZGl0aW9uRmllbGQgPSBhd2FpdCB0aGlzLmdldENvbmRpdGlvbkZpZWxkKGNvbmRpdGlvbik7XG5cbiAgICAgICAgY29uc3QgY29uZGl0aW9uVHlwZSA9IGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uVHlwZUhhcm5lc3MoY29uZGl0aW9uKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBmaWVsZDogYXdhaXQgY29uZGl0aW9uRmllbGQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICBvcGVyYXRvcjogYXdhaXQgY29uZGl0aW9uVHlwZT8uZ2V0T3BlcmF0b3JWYWx1ZSgpLFxuICAgICAgICAgIHZhbHVlOiBhd2FpdCBjb25kaXRpb25UeXBlPy5nZXRWYWx1ZSgpLFxuICAgICAgICB9O1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb25kaXRpb246IGF3YWl0IHRoaXMuZ2V0Q29uZGl0aW9uVmFsdWUoKSxcbiAgICAgIGNvbmRpdGlvbnMsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,131 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { ChangeDetectionStrategy, Component, DestroyRef, EventEmitter, inject, Input, Output } from '@angular/core';
17
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
18
- import { FormArray, FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
19
- import { MatButtonModule } from '@angular/material/button';
20
- import { MatMenuModule } from '@angular/material/menu';
21
- import { MatFormFieldModule } from '@angular/material/form-field';
22
- import { MatInputModule } from '@angular/material/input';
23
- import { CommonModule } from '@angular/common';
24
- import { MatSelectModule } from '@angular/material/select';
25
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
26
- import { map } from 'rxjs/operators';
27
- import { get, has, isEmpty, isNil } from 'lodash';
28
- import { GioIconsModule } from '@gravitee/ui-particles-angular';
29
- import { ExpressionLanguageBuilder } from '../models/ExpressionLanguageBuilder';
30
- import { ConditionGroup } from '../models/ConditionGroup';
31
- import { Condition } from '../models/Condition';
32
- import { GioElEditorTypeStringComponent } from './gio-el-type/gio-el-editor-type-string/gio-el-editor-type-string.component';
33
- import { GioElEditorTypeBooleanComponent } from './gio-el-type/gio-el-editor-type-boolean/gio-el-editor-type-boolean.component';
34
- import { GioElEditorTypeNumberComponent } from './gio-el-type/gio-el-editor-type-number/gio-el-editor-type-number.component';
35
- import { GioElEditorTypeDateComponent } from './gio-el-type/gio-el-editor-type-date/gio-el-editor-type-date.component';
36
- import { GioElEditorConditionGroupComponent } from './gio-el-editor-condition-group/gio-el-editor-condition-group.component';
37
- import * as i0 from "@angular/core";
38
- export class GioElEditorComponent {
39
- constructor() {
40
- this.destroyRef = inject(DestroyRef);
41
- this.conditionsModel = [];
42
- this.elChange = new EventEmitter();
43
- this.conditionGroupFormGroup = newConditionGroupFormGroup();
44
- }
45
- ngOnInit() {
46
- this.conditionGroupFormGroup.valueChanges
47
- .pipe(takeUntilDestroyed(this.destroyRef), map(() => this.conditionGroupFormGroup.getRawValue()), map(value => {
48
- const toCondition = (conditionValue) => {
49
- if (isConditionGroupValue(conditionValue)) {
50
- return toConditionGroup(conditionValue);
51
- }
52
- if (!isConditionValue(conditionValue) ||
53
- isNil(conditionValue.field) ||
54
- isNil(conditionValue.operator) ||
55
- isNil(conditionValue.value)) {
56
- return null;
57
- }
58
- let field = conditionValue.field.field;
59
- if (conditionValue.field.map) {
60
- field = {
61
- field: conditionValue.field.field,
62
- key1Value: get(conditionValue.field.map, 'key1Value') ?? undefined,
63
- key2Value: get(conditionValue.field.map, 'key2Value') ?? undefined,
64
- };
65
- }
66
- return new Condition(field, conditionValue.field.type, conditionValue.operator, conditionValue.value);
67
- };
68
- const toConditionGroup = (conditionGroupValue) => {
69
- const conditions = [];
70
- if (!conditionGroupValue.condition || !conditionGroupValue.conditions || isEmpty(conditionGroupValue.conditions)) {
71
- return null;
72
- }
73
- for (const conditionValue of conditionGroupValue.conditions) {
74
- const condition = toCondition(conditionValue);
75
- if (condition) {
76
- conditions.push(condition);
77
- }
78
- }
79
- if (isEmpty(conditions)) {
80
- return null;
81
- }
82
- return new ConditionGroup(conditionGroupValue.condition, conditions);
83
- };
84
- const conditionGroupValue = toConditionGroup(value);
85
- if (conditionGroupValue) {
86
- this.elOutput = new ExpressionLanguageBuilder(conditionGroupValue).build();
87
- this.elChange.emit(this.elOutput);
88
- }
89
- }))
90
- .subscribe();
91
- }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.4", type: GioElEditorComponent, isStandalone: true, selector: "gio-el-editor", inputs: { conditionsModel: "conditionsModel" }, outputs: { elChange: "elChange" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<gio-el-editor-condition-group\n [conditionGroupFormGroup]=\"conditionGroupFormGroup\"\n [conditionsModel]=\"conditionsModel\"\n></gio-el-editor-condition-group>\n\n@if (elOutput) {\n <div class=\"preview\">\n {{ elOutput }}\n </div>\n}\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.conditionGroup{display:flex;flex-direction:column;gap:8px}.conditionGroup__header{display:flex;flex-direction:row;align-items:center;gap:8px}.conditionGroup__conditions{display:flex;flex-direction:column;gap:8px}.condition{display:flex;align-items:flex-start;gap:8px}.condition__removeBtn{align-self:center}.preview{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:4px;background-color:#f7f7f8;color:#000}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonToggleModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: GioIconsModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: GioElEditorConditionGroupComponent, selector: "gio-el-editor-condition-group", inputs: ["conditionGroupFormGroup", "conditionsModel", "nodeLvl"], outputs: ["remove"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
- }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElEditorComponent, decorators: [{
96
- type: Component,
97
- args: [{ selector: 'gio-el-editor', imports: [
98
- CommonModule,
99
- MatButtonToggleModule,
100
- ReactiveFormsModule,
101
- MatButtonModule,
102
- GioIconsModule,
103
- MatMenuModule,
104
- MatFormFieldModule,
105
- MatInputModule,
106
- MatSelectModule,
107
- GioElEditorTypeStringComponent,
108
- GioElEditorTypeBooleanComponent,
109
- GioElEditorTypeNumberComponent,
110
- GioElEditorTypeDateComponent,
111
- GioElEditorConditionGroupComponent,
112
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2024 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<gio-el-editor-condition-group\n [conditionGroupFormGroup]=\"conditionGroupFormGroup\"\n [conditionsModel]=\"conditionsModel\"\n></gio-el-editor-condition-group>\n\n@if (elOutput) {\n <div class=\"preview\">\n {{ elOutput }}\n </div>\n}\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.conditionGroup{display:flex;flex-direction:column;gap:8px}.conditionGroup__header{display:flex;flex-direction:row;align-items:center;gap:8px}.conditionGroup__conditions{display:flex;flex-direction:column;gap:8px}.condition{display:flex;align-items:flex-start;gap:8px}.condition__removeBtn{align-self:center}.preview{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:4px;background-color:#f7f7f8;color:#000}\n"] }]
113
- }], propDecorators: { conditionsModel: [{
114
- type: Input,
115
- args: [{ required: true }]
116
- }], elChange: [{
117
- type: Output
118
- }] } });
119
- const newConditionGroupFormGroup = () => {
120
- return new FormGroup({
121
- condition: new FormControl({ value: 'AND', disabled: true }, { nonNullable: true, validators: Validators.required }),
122
- conditions: new FormArray([]),
123
- });
124
- };
125
- const isConditionGroupValue = (value) => {
126
- return !!value && has(value, 'condition') && has(value, 'conditions');
127
- };
128
- const isConditionValue = (value) => {
129
- return !!value && has(value, 'field') && has(value, 'operator') && has(value, 'value');
130
- };
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWVsLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9naW8tZWwvZ2lvLWVsLWVkaXRvci9naW8tZWwtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBhcnRpY2xlcy1hbmd1bGFyL2dpby1lbC9naW8tZWwtZWRpdG9yL2dpby1lbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JD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ZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjQgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBnZXQsIGhhcywgaXNFbXB0eSwgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgR2lvSWNvbnNNb2R1bGUgfSBmcm9tICdAZ3Jhdml0ZWUvdWktcGFydGljbGVzLWFuZ3VsYXInO1xuXG5pbXBvcnQgeyBDb25kaXRpb25Nb2RlbCwgQ29uZGl0aW9uVHlwZSB9IGZyb20gJy4uL21vZGVscy9Db25kaXRpb25Nb2RlbCc7XG5pbXBvcnQgeyBDb25kaXRpb25zTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvQ29uZGl0aW9uc01vZGVsJztcbmltcG9ydCB7IEV4cHJlc3Npb25MYW5ndWFnZUJ1aWxkZXIgfSBmcm9tICcuLi9tb2RlbHMvRXhwcmVzc2lvbkxhbmd1YWdlQnVpbGRlcic7XG5pbXBvcnQgeyBDb25kaXRpb25Hcm91cCB9IGZyb20gJy4uL21vZGVscy9Db25kaXRpb25Hcm91cCc7XG5pbXBvcnQgeyBDb25kaXRpb24gfSBmcm9tICcuLi9tb2RlbHMvQ29uZGl0aW9uJztcbmltcG9ydCB7IE9wZXJhdG9yIH0gZnJvbSAnLi4vbW9kZWxzL09wZXJhdG9yJztcblxuaW1wb3J0IHsgR2lvRWxFZGl0b3JUeXBlU3RyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9naW8tZWwtdHlwZS9naW8tZWwtZWRpdG9yLXR5cGUtc3RyaW5nL2dpby1lbC1lZGl0b3ItdHlwZS1zdHJpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEdpb0VsRWRpdG9yVHlwZUJvb2xlYW5Db21wb25lbnQgfSBmcm9tICcuL2dpby1lbC10eXBlL2dpby1lbC1lZGl0b3ItdHlwZS1ib29sZWFuL2dpby1lbC1lZGl0b3ItdHlwZS1ib29sZWFuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHaW9FbEVkaXRvclR5cGVOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL2dpby1lbC10eXBlL2dpby1lbC1lZGl0b3ItdHlwZS1udW1iZXIvZ2lvLWVsLWVkaXRvci10eXBlLW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2lvRWxFZGl0b3JUeXBlRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZ2lvLWVsLXR5cGUvZ2lvLWVsLWVkaXRvci10eXBlLWRhdGUvZ2lvLWVsLWVkaXRvci10eXBlLWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEdpb0VsRWRpdG9yQ29uZGl0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwL2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwLmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIENvbmRpdGlvbkZvcm0gPSB7XG4gIGZpZWxkOiBGb3JtQ29udHJvbDxDb25kaXRpb25Nb2RlbCB8IG51bGw+O1xuICBvcGVyYXRvcjogRm9ybUNvbnRyb2w8T3BlcmF0b3IgfCBudWxsPjtcbiAgdmFsdWU6IEZvcm1Db250cm9sPHN0cmluZyB8IGJvb2xlYW4gfCBEYXRlIHwgbnVtYmVyIHwgbnVsbD47XG59O1xuXG5leHBvcnQgdHlwZSBDb25kaXRpb25Hcm91cEZvcm0gPSB7XG4gIGNvbmRpdGlvbjogRm9ybUNvbnRyb2w8J0FORCcgfCAnT1InPjtcbiAgY29uZGl0aW9uczogRm9ybUFycmF5PEZvcm1Hcm91cDxDb25kaXRpb25Gb3JtPiB8IEZvcm1Hcm91cDxDb25kaXRpb25Hcm91cEZvcm0+Pjtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1lbC1lZGl0b3InLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBHaW9JY29uc01vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgR2lvRWxFZGl0b3JUeXBlU3RyaW5nQ29tcG9uZW50LFxuICAgIEdpb0VsRWRpdG9yVHlwZUJvb2xlYW5Db21wb25lbnQsXG4gICAgR2lvRWxFZGl0b3JUeXBlTnVtYmVyQ29tcG9uZW50LFxuICAgIEdpb0VsRWRpdG9yVHlwZURhdGVDb21wb25lbnQsXG4gICAgR2lvRWxFZGl0b3JDb25kaXRpb25Hcm91cENvbXBvbmVudCxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1lbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ2lvLWVsLWVkaXRvci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9FbEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgY29uZGl0aW9uc01vZGVsOiBDb25kaXRpb25zTW9kZWwgPSBbXTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgcHJvdGVjdGVkIGNvbmRpdGlvbkdyb3VwRm9ybUdyb3VwID0gbmV3Q29uZGl0aW9uR3JvdXBGb3JtR3JvdXAoKTtcblxuICBwcm90ZWN0ZWQgZWxPdXRwdXQ/OiBzdHJpbmc7XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29uZGl0aW9uR3JvdXBGb3JtR3JvdXAudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmNvbmRpdGlvbkdyb3VwRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCkpLFxuICAgICAgICBtYXAodmFsdWUgPT4ge1xuICAgICAgICAgIHR5cGUgQ29uZGl0aW9uR3JvdXBWYWx1ZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICAgICAgICB0eXBlIENvbmRpdGlvblZhbHVlID0gRXhjbHVkZTxDb25kaXRpb25Hcm91cFZhbHVlWydjb25kaXRpb25zJ10sIHVuZGVmaW5lZD5bbnVtYmVyXTtcblxuICAgICAgICAgIGNvbnN0IHRvQ29uZGl0aW9uID0gKGNvbmRpdGlvblZhbHVlOiBDb25kaXRpb25WYWx1ZSk6IENvbmRpdGlvbjxDb25kaXRpb25UeXBlPiB8IENvbmRpdGlvbkdyb3VwIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBpZiAoaXNDb25kaXRpb25Hcm91cFZhbHVlKGNvbmRpdGlvblZhbHVlKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdG9Db25kaXRpb25Hcm91cChjb25kaXRpb25WYWx1ZSBhcyBDb25kaXRpb25Hcm91cFZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgIWlzQ29uZGl0aW9uVmFsdWUoY29uZGl0aW9uVmFsdWUpIHx8XG4gICAgICAgICAgICAgIGlzTmlsKGNvbmRpdGlvblZhbHVlLmZpZWxkKSB8fFxuICAgICAgICAgICAgICBpc05pbChjb25kaXRpb25WYWx1ZS5vcGVyYXRvcikgfHxcbiAgICAgICAgICAgICAgaXNOaWwoY29uZGl0aW9uVmFsdWUudmFsdWUpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgZmllbGQ6IENvbmRpdGlvbjxDb25kaXRpb25UeXBlPlsnZmllbGQnXSA9IGNvbmRpdGlvblZhbHVlLmZpZWxkLmZpZWxkO1xuICAgICAgICAgICAgaWYgKGNvbmRpdGlvblZhbHVlLmZpZWxkLm1hcCkge1xuICAgICAgICAgICAgICBmaWVsZCA9IHtcbiAgICAgICAgICAgICAgICBmaWVsZDogY29uZGl0aW9uVmFsdWUuZmllbGQuZmllbGQsXG4gICAgICAgICAgICAgICAga2V5MVZhbHVlOiBnZXQoY29uZGl0aW9uVmFsdWUuZmllbGQubWFwLCAna2V5MVZhbHVlJykgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGtleTJWYWx1ZTogZ2V0KGNvbmRpdGlvblZhbHVlLmZpZWxkLm1hcCwgJ2tleTJWYWx1ZScpID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG5ldyBDb25kaXRpb24oZmllbGQsIGNvbmRpdGlvblZhbHVlLmZpZWxkLnR5cGUsIGNvbmRpdGlvblZhbHVlLm9wZXJhdG9yLCBjb25kaXRpb25WYWx1ZS52YWx1ZSk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGNvbnN0IHRvQ29uZGl0aW9uR3JvdXAgPSAoY29uZGl0aW9uR3JvdXBWYWx1ZTogQ29uZGl0aW9uR3JvdXBWYWx1ZSk6IENvbmRpdGlvbkdyb3VwIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25kaXRpb25zOiBDb25kaXRpb25Hcm91cFsnY29uZGl0aW9ucyddID0gW107XG4gICAgICAgICAgICBpZiAoIWNvbmRpdGlvbkdyb3VwVmFsdWUuY29uZGl0aW9uIHx8ICFjb25kaXRpb25Hcm91cFZhbHVlLmNvbmRpdGlvbnMgfHwgaXNFbXB0eShjb25kaXRpb25Hcm91cFZhbHVlLmNvbmRpdGlvbnMpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yIChjb25zdCBjb25kaXRpb25WYWx1ZSBvZiBjb25kaXRpb25Hcm91cFZhbHVlLmNvbmRpdGlvbnMpIHtcbiAgICAgICAgICAgICAgY29uc3QgY29uZGl0aW9uID0gdG9Db25kaXRpb24oY29uZGl0aW9uVmFsdWUpO1xuICAgICAgICAgICAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICAgICAgICAgICAgY29uZGl0aW9ucy5wdXNoKGNvbmRpdGlvbik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0VtcHR5KGNvbmRpdGlvbnMpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbmRpdGlvbkdyb3VwKGNvbmRpdGlvbkdyb3VwVmFsdWUuY29uZGl0aW9uLCBjb25kaXRpb25zKTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY29uc3QgY29uZGl0aW9uR3JvdXBWYWx1ZSA9IHRvQ29uZGl0aW9uR3JvdXAodmFsdWUpO1xuICAgICAgICAgIGlmIChjb25kaXRpb25Hcm91cFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmVsT3V0cHV0ID0gbmV3IEV4cHJlc3Npb25MYW5ndWFnZUJ1aWxkZXIoY29uZGl0aW9uR3JvdXBWYWx1ZSkuYnVpbGQoKTtcbiAgICAgICAgICAgIHRoaXMuZWxDaGFuZ2UuZW1pdCh0aGlzLmVsT3V0cHV0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG5cbmNvbnN0IG5ld0NvbmRpdGlvbkdyb3VwRm9ybUdyb3VwID0gKCk6IEZvcm1Hcm91cDxDb25kaXRpb25Hcm91cEZvcm0+ID0+IHtcbiAgcmV0dXJuIG5ldyBGb3JtR3JvdXA8Q29uZGl0aW9uR3JvdXBGb3JtPih7XG4gICAgY29uZGl0aW9uOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogJ0FORCcsIGRpc2FibGVkOiB0cnVlIH0sIHsgbm9uTnVsbGFibGU6IHRydWUsIHZhbGlkYXRvcnM6IFZhbGlkYXRvcnMucmVxdWlyZWQgfSksXG4gICAgY29uZGl0aW9uczogbmV3IEZvcm1BcnJheTxGb3JtR3JvdXA8Q29uZGl0aW9uRm9ybT4gfCBGb3JtR3JvdXA8Q29uZGl0aW9uR3JvdXBGb3JtPj4oW10pLFxuICB9KTtcbn07XG5cbmNvbnN0IGlzQ29uZGl0aW9uR3JvdXBWYWx1ZSA9IChcbiAgdmFsdWU6IHVua25vd24sXG4pOiB2YWx1ZSBpcyB7XG4gIGNvbmRpdGlvbjogJ0FORCcgfCAnT1InO1xuICBjb25kaXRpb25zOiB1bmtub3duW107XG59ID0+IHtcbiAgcmV0dXJuICEhdmFsdWUgJiYgaGFzKHZhbHVlLCAnY29uZGl0aW9uJykgJiYgaGFzKHZhbHVlLCAnY29uZGl0aW9ucycpO1xufTtcblxuY29uc3QgaXNDb25kaXRpb25WYWx1ZSA9IChcbiAgdmFsdWU6IHVua25vd24sXG4pOiB2YWx1ZSBpcyB7XG4gIGZpZWxkOiBDb25kaXRpb25Nb2RlbDtcbiAgb3BlcmF0b3I6IE9wZXJhdG9yO1xuICB2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IERhdGUgfCBudW1iZXI7XG59ID0+IHtcbiAgcmV0dXJuICEhdmFsdWUgJiYgaGFzKHZhbHVlLCAnZmllbGQnKSAmJiBoYXModmFsdWUsICdvcGVyYXRvcicpICYmIGhhcyh2YWx1ZSwgJ3ZhbHVlJyk7XG59O1xuIiwiPCEtLVxuXG4gICAgQ29weXJpZ2h0IChDKSAyMDI0IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gICAgXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gICAgXG4gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAgICBcbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cblxuLS0+XG5cbjxnaW8tZWwtZWRpdG9yLWNvbmRpdGlvbi1ncm91cFxuICBbY29uZGl0aW9uR3JvdXBGb3JtR3JvdXBdPVwiY29uZGl0aW9uR3JvdXBGb3JtR3JvdXBcIlxuICBbY29uZGl0aW9uc01vZGVsXT1cImNvbmRpdGlvbnNNb2RlbFwiXG4+PC9naW8tZWwtZWRpdG9yLWNvbmRpdGlvbi1ncm91cD5cblxuQGlmIChlbE91dHB1dCkge1xuICA8ZGl2IGNsYXNzPVwicHJldmlld1wiPlxuICAgIHt7IGVsT3V0cHV0IH19XG4gIDwvZGl2PlxufVxuIl19
@@ -1,28 +0,0 @@
1
- /*
2
- * Copyright (C) 2024 The Gravitee team (http://gravitee.io)
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
17
- import { GioElEditorConditionGroupHarness } from './gio-el-editor-condition-group/gio-el-editor-condition-group.harness';
18
- export class GioElEditorHarness extends ComponentHarness {
19
- constructor() {
20
- super(...arguments);
21
- this.getMainConditionGroup = this.locatorFor(GioElEditorConditionGroupHarness);
22
- }
23
- static { this.hostSelector = 'gio-el-editor'; }
24
- static with(options = {}) {
25
- return new HarnessPredicate(GioElEditorHarness, options);
26
- }
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWVsLWVkaXRvci5oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvZ2lvLWVsL2dpby1lbC1lZGl0b3IvZ2lvLWVsLWVkaXRvci5oYXJuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBRXpILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxnQkFBZ0I7SUFBeEQ7O1FBR1MsMEJBQXFCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBS25GLENBQUM7YUFQZSxpQkFBWSxHQUFHLGVBQWUsQUFBbEIsQ0FBbUI7SUFJdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUE4QixFQUFFO1FBQ2pELE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyNCBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IEJhc2VIYXJuZXNzRmlsdGVycywgQ29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXN0aW5nJztcblxuaW1wb3J0IHsgR2lvRWxFZGl0b3JDb25kaXRpb25Hcm91cEhhcm5lc3MgfSBmcm9tICcuL2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwL2dpby1lbC1lZGl0b3ItY29uZGl0aW9uLWdyb3VwLmhhcm5lc3MnO1xuXG5leHBvcnQgY2xhc3MgR2lvRWxFZGl0b3JIYXJuZXNzIGV4dGVuZHMgQ29tcG9uZW50SGFybmVzcyB7XG4gIHB1YmxpYyBzdGF0aWMgaG9zdFNlbGVjdG9yID0gJ2dpby1lbC1lZGl0b3InO1xuXG4gIHB1YmxpYyBnZXRNYWluQ29uZGl0aW9uR3JvdXAgPSB0aGlzLmxvY2F0b3JGb3IoR2lvRWxFZGl0b3JDb25kaXRpb25Hcm91cEhhcm5lc3MpO1xuXG4gIHB1YmxpYyBzdGF0aWMgd2l0aChvcHRpb25zOiBCYXNlSGFybmVzc0ZpbHRlcnMgPSB7fSk6IEhhcm5lc3NQcmVkaWNhdGU8R2lvRWxFZGl0b3JIYXJuZXNzPiB7XG4gICAgcmV0dXJuIG5ldyBIYXJuZXNzUHJlZGljYXRlKEdpb0VsRWRpdG9ySGFybmVzcywgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==