@jinmutech/ng-zorro-form-design 1.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 (461) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +140 -0
  3. package/esm2022/jinmutech-ng-zorro-form-design.mjs +5 -0
  4. package/esm2022/public_api.mjs +8 -0
  5. package/esm2022/src/app/directive/directive.module.mjs +82 -0
  6. package/esm2022/src/app/directive/drag-drop/drag.directive.mjs +71 -0
  7. package/esm2022/src/app/directive/drag-drop/drop.directive.mjs +118 -0
  8. package/esm2022/src/app/directive/drag-drop.service.mjs +30 -0
  9. package/esm2022/src/app/directive/drag-drop.types.mjs +2 -0
  10. package/esm2022/src/app/directive/table/bgcolor.directive.mjs +30 -0
  11. package/esm2022/src/app/directive/table/borderColor.directive.mjs +28 -0
  12. package/esm2022/src/app/directive/table/borderWidth.directive.mjs +28 -0
  13. package/esm2022/src/app/directive/table/cellpadding.directive.mjs +28 -0
  14. package/esm2022/src/app/directive/table/cellspacing.directive.mjs +28 -0
  15. package/esm2022/src/app/directive/table/td/align.directive.mjs +30 -0
  16. package/esm2022/src/app/directive/table/td/colspan.directive.mjs +28 -0
  17. package/esm2022/src/app/directive/table/td/height.directive.mjs +30 -0
  18. package/esm2022/src/app/directive/table/td/rowspan.directive.mjs +28 -0
  19. package/esm2022/src/app/directive/table/td/valign.directive.mjs +30 -0
  20. package/esm2022/src/app/directive/table/td/width.directive.mjs +30 -0
  21. package/esm2022/src/app/pages/designer/code-viewer/code-viewer.component.mjs +51 -0
  22. package/esm2022/src/app/pages/designer/code-viewer/jm-monaco-editor/jm-monaco-editor.component.mjs +29 -0
  23. package/esm2022/src/app/pages/designer/designer.component.mjs +341 -0
  24. package/esm2022/src/app/pages/designer/designer.module.mjs +115 -0
  25. package/esm2022/src/app/pages/designer/directive/designer-property-change.directive.mjs +37 -0
  26. package/esm2022/src/app/pages/designer/element-properties/card-properties/card-properties.component.mjs +36 -0
  27. package/esm2022/src/app/pages/designer/element-properties/card-properties/card-properties.module.mjs +19 -0
  28. package/esm2022/src/app/pages/designer/element-properties/cascader-properties/cascader-properties.component.mjs +74 -0
  29. package/esm2022/src/app/pages/designer/element-properties/cascader-properties/cascader-properties.module.mjs +19 -0
  30. package/esm2022/src/app/pages/designer/element-properties/checkbox-properties/checkbox-properties.component.mjs +80 -0
  31. package/esm2022/src/app/pages/designer/element-properties/checkbox-properties/checkbox-properties.module.mjs +19 -0
  32. package/esm2022/src/app/pages/designer/element-properties/col-properties/col-properties.component.mjs +66 -0
  33. package/esm2022/src/app/pages/designer/element-properties/col-properties/col-properties.module.mjs +19 -0
  34. package/esm2022/src/app/pages/designer/element-properties/components/basic-properties/basic-properties.component.mjs +78 -0
  35. package/esm2022/src/app/pages/designer/element-properties/components/css-properties/css-properties.component.mjs +113 -0
  36. package/esm2022/src/app/pages/designer/element-properties/components/events-properties/events-properties.component.mjs +41 -0
  37. package/esm2022/src/app/pages/designer/element-properties/components/form-layout-properties/form-layout-properties.component.mjs +57 -0
  38. package/esm2022/src/app/pages/designer/element-properties/components/layout-properties/layout-properties.component.mjs +110 -0
  39. package/esm2022/src/app/pages/designer/element-properties/components/options-properties/options-properties.component.mjs +110 -0
  40. package/esm2022/src/app/pages/designer/element-properties/components/tree-options-properties/tree-options-properties.component.mjs +127 -0
  41. package/esm2022/src/app/pages/designer/element-properties/components/validators-properties/validator-properties/validator-properties.component.mjs +72 -0
  42. package/esm2022/src/app/pages/designer/element-properties/components/validators-properties/validators-properties.component.mjs +33 -0
  43. package/esm2022/src/app/pages/designer/element-properties/date-properties/date-properties.component.mjs +120 -0
  44. package/esm2022/src/app/pages/designer/element-properties/date-properties/date-properties.module.mjs +19 -0
  45. package/esm2022/src/app/pages/designer/element-properties/divider-properties/divider-properties.component.mjs +37 -0
  46. package/esm2022/src/app/pages/designer/element-properties/divider-properties/divider-properties.module.mjs +19 -0
  47. package/esm2022/src/app/pages/designer/element-properties/element-properties.component.mjs +140 -0
  48. package/esm2022/src/app/pages/designer/element-properties/grid-properties/grid-properties.component.mjs +44 -0
  49. package/esm2022/src/app/pages/designer/element-properties/grid-properties/grid-properties.module.mjs +19 -0
  50. package/esm2022/src/app/pages/designer/element-properties/image-properties/image-properties.component.mjs +40 -0
  51. package/esm2022/src/app/pages/designer/element-properties/image-properties/image-properties.module.mjs +19 -0
  52. package/esm2022/src/app/pages/designer/element-properties/image-upload-properties/image-upload-properties.component.mjs +46 -0
  53. package/esm2022/src/app/pages/designer/element-properties/image-upload-properties/image-upload-properties.module.mjs +19 -0
  54. package/esm2022/src/app/pages/designer/element-properties/input-number-properties/input-number-properties.component.mjs +47 -0
  55. package/esm2022/src/app/pages/designer/element-properties/input-number-properties/input-number-properties.module.mjs +19 -0
  56. package/esm2022/src/app/pages/designer/element-properties/input-properties/input-properties.component.mjs +40 -0
  57. package/esm2022/src/app/pages/designer/element-properties/input-properties/input-properties.module.mjs +19 -0
  58. package/esm2022/src/app/pages/designer/element-properties/radio-properties/radio-properties.component.mjs +53 -0
  59. package/esm2022/src/app/pages/designer/element-properties/radio-properties/radio-properties.module.mjs +19 -0
  60. package/esm2022/src/app/pages/designer/element-properties/range-picker-properties/range-picker-properties.component.mjs +133 -0
  61. package/esm2022/src/app/pages/designer/element-properties/range-picker-properties/range-picker-properties.module.mjs +19 -0
  62. package/esm2022/src/app/pages/designer/element-properties/rate-properties/rate-properties.component.mjs +98 -0
  63. package/esm2022/src/app/pages/designer/element-properties/rate-properties/rate-properties.module.mjs +19 -0
  64. package/esm2022/src/app/pages/designer/element-properties/select-properties/select-properties.component.mjs +53 -0
  65. package/esm2022/src/app/pages/designer/element-properties/select-properties/select-properties.module.mjs +19 -0
  66. package/esm2022/src/app/pages/designer/element-properties/shared/property-panel-loader.service.mjs +46 -0
  67. package/esm2022/src/app/pages/designer/element-properties/shared/property-panel-registry.mjs +38 -0
  68. package/esm2022/src/app/pages/designer/element-properties/shared/property-panel-shared.module.mjs +93 -0
  69. package/esm2022/src/app/pages/designer/element-properties/slider-properties/slider-properties.component.mjs +70 -0
  70. package/esm2022/src/app/pages/designer/element-properties/slider-properties/slider-properties.module.mjs +19 -0
  71. package/esm2022/src/app/pages/designer/element-properties/space-properties/space-properties.component.mjs +47 -0
  72. package/esm2022/src/app/pages/designer/element-properties/space-properties/space-properties.module.mjs +19 -0
  73. package/esm2022/src/app/pages/designer/element-properties/switch-properties/switch-properties.component.mjs +41 -0
  74. package/esm2022/src/app/pages/designer/element-properties/switch-properties/switch-properties.module.mjs +19 -0
  75. package/esm2022/src/app/pages/designer/element-properties/table-properties/table-properties.component.mjs +45 -0
  76. package/esm2022/src/app/pages/designer/element-properties/table-properties/table-properties.module.mjs +19 -0
  77. package/esm2022/src/app/pages/designer/element-properties/tabs-properties/tabs-properties.component.mjs +67 -0
  78. package/esm2022/src/app/pages/designer/element-properties/tabs-properties/tabs-properties.module.mjs +19 -0
  79. package/esm2022/src/app/pages/designer/element-properties/td-properties/td-properties.component.mjs +43 -0
  80. package/esm2022/src/app/pages/designer/element-properties/td-properties/td-properties.module.mjs +19 -0
  81. package/esm2022/src/app/pages/designer/element-properties/text-properties/text-properties.component.mjs +38 -0
  82. package/esm2022/src/app/pages/designer/element-properties/text-properties/text-properties.module.mjs +19 -0
  83. package/esm2022/src/app/pages/designer/element-properties/textarea-properties/textarea-properties.component.mjs +39 -0
  84. package/esm2022/src/app/pages/designer/element-properties/textarea-properties/textarea-properties.module.mjs +19 -0
  85. package/esm2022/src/app/pages/designer/element-properties/time-area-properties/time-area-properties.component.mjs +82 -0
  86. package/esm2022/src/app/pages/designer/element-properties/time-area-properties/time-area-properties.module.mjs +19 -0
  87. package/esm2022/src/app/pages/designer/element-properties/time-properties/time-properties.component.mjs +88 -0
  88. package/esm2022/src/app/pages/designer/element-properties/time-properties/time-properties.module.mjs +19 -0
  89. package/esm2022/src/app/pages/designer/element-properties/tree-select-properties/tree-select-properties.component.mjs +80 -0
  90. package/esm2022/src/app/pages/designer/element-properties/tree-select-properties/tree-select-properties.module.mjs +19 -0
  91. package/esm2022/src/app/pages/designer/element-properties/upload-properties/upload-properties.component.mjs +47 -0
  92. package/esm2022/src/app/pages/designer/element-properties/upload-properties/upload-properties.module.mjs +19 -0
  93. package/esm2022/src/app/pages/designer/form-properties/form-css-properties/form-css-properties.component.mjs +84 -0
  94. package/esm2022/src/app/pages/designer/form-properties/form-events-properties/form-events-properties.component.mjs +35 -0
  95. package/esm2022/src/app/pages/designer/form-properties/form-properties.component.mjs +84 -0
  96. package/esm2022/src/app/pages/designer/import-json/import-json.component.mjs +64 -0
  97. package/esm2022/src/app/pages/designer/json-viewer/json-viewer.component.mjs +76 -0
  98. package/esm2022/src/app/pages/designer/left-sider/left-sider.component.mjs +33 -0
  99. package/esm2022/src/app/pages/designer/monaco-features/lazy-monaco-host.component.mjs +53 -0
  100. package/esm2022/src/app/pages/designer/monaco-features/lazy-monaco-loader.service.mjs +38 -0
  101. package/esm2022/src/app/pages/designer/monaco-features/monaco-features-loader.packagr.mjs +6 -0
  102. package/esm2022/src/app/pages/designer/monaco-features/monaco-features.module.mjs +53 -0
  103. package/esm2022/src/app/pages/designer/play/play-zorro/play-zorro.component.mjs +22 -0
  104. package/esm2022/src/app/pages/designer/play/play.component.mjs +67 -0
  105. package/esm2022/src/app/pages/designer/play/play.module.mjs +29 -0
  106. package/esm2022/src/app/pages/designer/services/designer-canvas-interaction.service.mjs +92 -0
  107. package/esm2022/src/app/pages/designer/services/designer-drag-drop.service.mjs +110 -0
  108. package/esm2022/src/app/pages/designer/services/designer-history-coordinator.service.mjs +74 -0
  109. package/esm2022/src/app/pages/designer/services/designer-history.service.mjs +99 -0
  110. package/esm2022/src/app/pages/designer/services/designer-item-tool.service.mjs +57 -0
  111. package/esm2022/src/app/pages/designer/services/designer-item-tree.service.mjs +50 -0
  112. package/esm2022/src/app/pages/designer/services/designer-shell.service.mjs +100 -0
  113. package/esm2022/src/app/pages/designer/services/designer-table-facade.service.mjs +86 -0
  114. package/esm2022/src/app/pages/designer/services/designer-table-toolbar.service.mjs +89 -0
  115. package/esm2022/src/app/pages/designer/services/designer-viewer.service.mjs +86 -0
  116. package/esm2022/src/app/shared/components/components.module.mjs +35 -0
  117. package/esm2022/src/app/shared/components/zorro-item/zorro-form-item/zorro-form-item.component.mjs +232 -0
  118. package/esm2022/src/app/shared/components/zorro-item/zorro-item.component.mjs +249 -0
  119. package/esm2022/src/app/shared/components/zorro-item/zorro-origin-item/zorro-origin-item.component.mjs +393 -0
  120. package/esm2022/src/app/shared/components/zorro-render.module.mjs +100 -0
  121. package/esm2022/src/app/shared/constants/upload.const.mjs +6 -0
  122. package/esm2022/src/app/shared/dictionaries/form-events.const.mjs +8 -0
  123. package/esm2022/src/app/shared/dictionaries/item-events.const.mjs +57 -0
  124. package/esm2022/src/app/shared/dictionaries/item-types-enum.mjs +66 -0
  125. package/esm2022/src/app/shared/dictionaries/items-types.const.mjs +93 -0
  126. package/esm2022/src/app/shared/factories/containers-producer.mjs +251 -0
  127. package/esm2022/src/app/shared/factories/i-items.factory.mjs +2 -0
  128. package/esm2022/src/app/shared/factories/items-factory.mjs +52 -0
  129. package/esm2022/src/app/shared/factories/items-producer.mjs +381 -0
  130. package/esm2022/src/app/shared/gencode/generate-container.mjs +261 -0
  131. package/esm2022/src/app/shared/gencode/generate-form-item.mjs +263 -0
  132. package/esm2022/src/app/shared/gencode/generate-form.mjs +146 -0
  133. package/esm2022/src/app/shared/gencode/html-gen.util.mjs +58 -0
  134. package/esm2022/src/app/shared/global-const.mjs +4 -0
  135. package/esm2022/src/app/shared/models/drag-object.model.mjs +3 -0
  136. package/esm2022/src/app/shared/models/form-field-value.model.mjs +2 -0
  137. package/esm2022/src/app/shared/models/form-item.model.mjs +96 -0
  138. package/esm2022/src/app/shared/models/form.model.mjs +31 -0
  139. package/esm2022/src/app/shared/models/i-items.model.mjs +6 -0
  140. package/esm2022/src/app/shared/models/i-validator.model.mjs +2 -0
  141. package/esm2022/src/app/shared/models/items/i-containers.model.mjs +2 -0
  142. package/esm2022/src/app/shared/models/items/i-form-controls.model.mjs +2 -0
  143. package/esm2022/src/app/shared/models/items/i-item-base.model.mjs +2 -0
  144. package/esm2022/src/app/shared/models/items/i-layout.model.mjs +2 -0
  145. package/esm2022/src/app/shared/models/layout-item.model.mjs +52 -0
  146. package/esm2022/src/app/shared/models/validator.model.mjs +55 -0
  147. package/esm2022/src/app/shared/pipes/pipes.module.mjs +19 -0
  148. package/esm2022/src/app/shared/pipes/substring.pipe.mjs +26 -0
  149. package/esm2022/src/app/shared/services/css.service.mjs +36 -0
  150. package/esm2022/src/app/shared/services/designer-canvas-refresh.service.mjs +22 -0
  151. package/esm2022/src/app/shared/services/i18n-config.service.mjs +76 -0
  152. package/esm2022/src/app/shared/services/stack.service.mjs +56 -0
  153. package/esm2022/src/app/shared/shared-zorro.module.mjs +95 -0
  154. package/esm2022/src/app/shared/shared.module.mjs +75 -0
  155. package/esm2022/src/app/shared/utils/component.operation.mjs +19 -0
  156. package/esm2022/src/app/shared/utils/date-format.util.mjs +59 -0
  157. package/esm2022/src/app/shared/utils/designer-item-move.util.mjs +68 -0
  158. package/esm2022/src/app/shared/utils/designer-item-mutation.util.mjs +60 -0
  159. package/esm2022/src/app/shared/utils/designer-item-selection.util.mjs +46 -0
  160. package/esm2022/src/app/shared/utils/dom-query.util.mjs +21 -0
  161. package/esm2022/src/app/shared/utils/form-events.util.mjs +58 -0
  162. package/esm2022/src/app/shared/utils/form-item-html.util.mjs +133 -0
  163. package/esm2022/src/app/shared/utils/form-values.util.mjs +218 -0
  164. package/esm2022/src/app/shared/utils/id-gen.mjs +13 -0
  165. package/esm2022/src/app/shared/utils/interactive-target.util.mjs +28 -0
  166. package/esm2022/src/app/shared/utils/item-events.util.mjs +77 -0
  167. package/esm2022/src/app/shared/utils/item-tree-query.util.mjs +78 -0
  168. package/esm2022/src/app/shared/utils/layout-responsive.util.mjs +70 -0
  169. package/esm2022/src/app/shared/utils/table-item-query.util.mjs +22 -0
  170. package/esm2022/src/app/shared/utils/table-item.operation.mjs +315 -0
  171. package/esm2022/src/app/shared/utils/time-area-control.util.mjs +5 -0
  172. package/esm2022/src/app/shared/utils/track-by.util.mjs +17 -0
  173. package/esm2022/src/app/shared/utils/tree-option.operation.mjs +118 -0
  174. package/esm2022/src/app/shared/utils/tree-option.util.mjs +11 -0
  175. package/esm2022/src/app/shared/utils/upload-gencode.util.mjs +163 -0
  176. package/esm2022/src/app/shared/utils/upload.util.mjs +83 -0
  177. package/esm2022/src/app/shared/utils/validator.util.mjs +116 -0
  178. package/fesm2022/jinmutech-ng-zorro-form-design-card-properties.module-Bl511UvY.mjs +105 -0
  179. package/fesm2022/jinmutech-ng-zorro-form-design-card-properties.module-Bl511UvY.mjs.map +1 -0
  180. package/fesm2022/jinmutech-ng-zorro-form-design-cascader-properties.module-CHkFR4Rb.mjs +139 -0
  181. package/fesm2022/jinmutech-ng-zorro-form-design-cascader-properties.module-CHkFR4Rb.mjs.map +1 -0
  182. package/fesm2022/jinmutech-ng-zorro-form-design-checkbox-properties.module-ChMVbBT5.mjs +145 -0
  183. package/fesm2022/jinmutech-ng-zorro-form-design-checkbox-properties.module-ChMVbBT5.mjs.map +1 -0
  184. package/fesm2022/jinmutech-ng-zorro-form-design-col-properties.module-Rdd9Q58_.mjs +132 -0
  185. package/fesm2022/jinmutech-ng-zorro-form-design-col-properties.module-Rdd9Q58_.mjs.map +1 -0
  186. package/fesm2022/jinmutech-ng-zorro-form-design-date-properties.module-DGmuzB5y.mjs +181 -0
  187. package/fesm2022/jinmutech-ng-zorro-form-design-date-properties.module-DGmuzB5y.mjs.map +1 -0
  188. package/fesm2022/jinmutech-ng-zorro-form-design-divider-properties.module-ZfqdWRFu.mjs +105 -0
  189. package/fesm2022/jinmutech-ng-zorro-form-design-divider-properties.module-ZfqdWRFu.mjs.map +1 -0
  190. package/fesm2022/jinmutech-ng-zorro-form-design-grid-properties.module-DBnQuSpZ.mjs +112 -0
  191. package/fesm2022/jinmutech-ng-zorro-form-design-grid-properties.module-DBnQuSpZ.mjs.map +1 -0
  192. package/fesm2022/jinmutech-ng-zorro-form-design-image-properties.module-BmSpnc5A.mjs +112 -0
  193. package/fesm2022/jinmutech-ng-zorro-form-design-image-properties.module-BmSpnc5A.mjs.map +1 -0
  194. package/fesm2022/jinmutech-ng-zorro-form-design-image-upload-properties.module-BOQ0_c9H.mjs +111 -0
  195. package/fesm2022/jinmutech-ng-zorro-form-design-image-upload-properties.module-BOQ0_c9H.mjs.map +1 -0
  196. package/fesm2022/jinmutech-ng-zorro-form-design-input-number-properties.module-B7y7qW0Q.mjs +114 -0
  197. package/fesm2022/jinmutech-ng-zorro-form-design-input-number-properties.module-B7y7qW0Q.mjs.map +1 -0
  198. package/fesm2022/jinmutech-ng-zorro-form-design-input-properties.module-DBvTTTVO.mjs +109 -0
  199. package/fesm2022/jinmutech-ng-zorro-form-design-input-properties.module-DBvTTTVO.mjs.map +1 -0
  200. package/fesm2022/jinmutech-ng-zorro-form-design-jinmutech-ng-zorro-form-design-BUQ0OE6J.mjs +5945 -0
  201. package/fesm2022/jinmutech-ng-zorro-form-design-jinmutech-ng-zorro-form-design-BUQ0OE6J.mjs.map +1 -0
  202. package/fesm2022/jinmutech-ng-zorro-form-design-property-panel-shared.module-FJXAae9F.mjs +984 -0
  203. package/fesm2022/jinmutech-ng-zorro-form-design-property-panel-shared.module-FJXAae9F.mjs.map +1 -0
  204. package/fesm2022/jinmutech-ng-zorro-form-design-radio-properties.module-blNZNCdz.mjs +118 -0
  205. package/fesm2022/jinmutech-ng-zorro-form-design-radio-properties.module-blNZNCdz.mjs.map +1 -0
  206. package/fesm2022/jinmutech-ng-zorro-form-design-range-picker-properties.module-DU8W_k3x.mjs +193 -0
  207. package/fesm2022/jinmutech-ng-zorro-form-design-range-picker-properties.module-DU8W_k3x.mjs.map +1 -0
  208. package/fesm2022/jinmutech-ng-zorro-form-design-rate-properties.module-CeVoQSMI.mjs +164 -0
  209. package/fesm2022/jinmutech-ng-zorro-form-design-rate-properties.module-CeVoQSMI.mjs.map +1 -0
  210. package/fesm2022/jinmutech-ng-zorro-form-design-select-properties.module-CMpyQnFs.mjs +118 -0
  211. package/fesm2022/jinmutech-ng-zorro-form-design-select-properties.module-CMpyQnFs.mjs.map +1 -0
  212. package/fesm2022/jinmutech-ng-zorro-form-design-slider-properties.module-C5Pn6hpH.mjs +134 -0
  213. package/fesm2022/jinmutech-ng-zorro-form-design-slider-properties.module-C5Pn6hpH.mjs.map +1 -0
  214. package/fesm2022/jinmutech-ng-zorro-form-design-space-properties.module-CByvN3kh.mjs +116 -0
  215. package/fesm2022/jinmutech-ng-zorro-form-design-space-properties.module-CByvN3kh.mjs.map +1 -0
  216. package/fesm2022/jinmutech-ng-zorro-form-design-switch-properties.module-P7OlmC4y.mjs +110 -0
  217. package/fesm2022/jinmutech-ng-zorro-form-design-switch-properties.module-P7OlmC4y.mjs.map +1 -0
  218. package/fesm2022/jinmutech-ng-zorro-form-design-table-properties.module-B3zco-Ly.mjs +112 -0
  219. package/fesm2022/jinmutech-ng-zorro-form-design-table-properties.module-B3zco-Ly.mjs.map +1 -0
  220. package/fesm2022/jinmutech-ng-zorro-form-design-tabs-properties.module-CPFhV4aJ.mjs +127 -0
  221. package/fesm2022/jinmutech-ng-zorro-form-design-tabs-properties.module-CPFhV4aJ.mjs.map +1 -0
  222. package/fesm2022/jinmutech-ng-zorro-form-design-td-properties.module-CpkeM995.mjs +111 -0
  223. package/fesm2022/jinmutech-ng-zorro-form-design-td-properties.module-CpkeM995.mjs.map +1 -0
  224. package/fesm2022/jinmutech-ng-zorro-form-design-text-properties.module-DyyeDuGq.mjs +109 -0
  225. package/fesm2022/jinmutech-ng-zorro-form-design-text-properties.module-DyyeDuGq.mjs.map +1 -0
  226. package/fesm2022/jinmutech-ng-zorro-form-design-textarea-properties.module-jjsXFSOo.mjs +109 -0
  227. package/fesm2022/jinmutech-ng-zorro-form-design-textarea-properties.module-jjsXFSOo.mjs.map +1 -0
  228. package/fesm2022/jinmutech-ng-zorro-form-design-time-area-properties.module-DEUFXXv2.mjs +145 -0
  229. package/fesm2022/jinmutech-ng-zorro-form-design-time-area-properties.module-DEUFXXv2.mjs.map +1 -0
  230. package/fesm2022/jinmutech-ng-zorro-form-design-time-properties.module-BIVAmIsT.mjs +148 -0
  231. package/fesm2022/jinmutech-ng-zorro-form-design-time-properties.module-BIVAmIsT.mjs.map +1 -0
  232. package/fesm2022/jinmutech-ng-zorro-form-design-tree-select-properties.module-CuUi-Mg1.mjs +145 -0
  233. package/fesm2022/jinmutech-ng-zorro-form-design-tree-select-properties.module-CuUi-Mg1.mjs.map +1 -0
  234. package/fesm2022/jinmutech-ng-zorro-form-design-upload-properties.module-BjpbZWKG.mjs +111 -0
  235. package/fesm2022/jinmutech-ng-zorro-form-design-upload-properties.module-BjpbZWKG.mjs.map +1 -0
  236. package/fesm2022/jinmutech-ng-zorro-form-design.mjs +63 -0
  237. package/fesm2022/jinmutech-ng-zorro-form-design.mjs.map +1 -0
  238. package/index.d.ts +5 -0
  239. package/package.json +64 -0
  240. package/public_api.d.ts +7 -0
  241. package/src/app/directive/directive.module.d.ts +19 -0
  242. package/src/app/directive/drag-drop/drag.directive.d.ts +23 -0
  243. package/src/app/directive/drag-drop/drop.directive.d.ts +25 -0
  244. package/src/app/directive/drag-drop.service.d.ts +14 -0
  245. package/src/app/directive/drag-drop.types.d.ts +3 -0
  246. package/src/app/directive/table/bgcolor.directive.d.ts +12 -0
  247. package/src/app/directive/table/borderColor.directive.d.ts +12 -0
  248. package/src/app/directive/table/borderWidth.directive.d.ts +12 -0
  249. package/src/app/directive/table/cellpadding.directive.d.ts +12 -0
  250. package/src/app/directive/table/cellspacing.directive.d.ts +12 -0
  251. package/src/app/directive/table/td/align.directive.d.ts +12 -0
  252. package/src/app/directive/table/td/colspan.directive.d.ts +12 -0
  253. package/src/app/directive/table/td/height.directive.d.ts +12 -0
  254. package/src/app/directive/table/td/rowspan.directive.d.ts +12 -0
  255. package/src/app/directive/table/td/valign.directive.d.ts +12 -0
  256. package/src/app/directive/table/td/width.directive.d.ts +12 -0
  257. package/src/app/pages/designer/code-viewer/code-viewer.component.d.ts +29 -0
  258. package/src/app/pages/designer/code-viewer/jm-monaco-editor/jm-monaco-editor.component.d.ts +12 -0
  259. package/src/app/pages/designer/designer.component.d.ts +120 -0
  260. package/src/app/pages/designer/designer.module.d.ts +26 -0
  261. package/src/app/pages/designer/directive/designer-property-change.directive.d.ts +15 -0
  262. package/src/app/pages/designer/element-properties/card-properties/card-properties.component.d.ts +14 -0
  263. package/src/app/pages/designer/element-properties/card-properties/card-properties.module.d.ts +10 -0
  264. package/src/app/pages/designer/element-properties/cascader-properties/cascader-properties.component.d.ts +25 -0
  265. package/src/app/pages/designer/element-properties/cascader-properties/cascader-properties.module.d.ts +10 -0
  266. package/src/app/pages/designer/element-properties/checkbox-properties/checkbox-properties.component.d.ts +29 -0
  267. package/src/app/pages/designer/element-properties/checkbox-properties/checkbox-properties.module.d.ts +10 -0
  268. package/src/app/pages/designer/element-properties/col-properties/col-properties.component.d.ts +23 -0
  269. package/src/app/pages/designer/element-properties/col-properties/col-properties.module.d.ts +10 -0
  270. package/src/app/pages/designer/element-properties/components/basic-properties/basic-properties.component.d.ts +29 -0
  271. package/src/app/pages/designer/element-properties/components/css-properties/css-properties.component.d.ts +33 -0
  272. package/src/app/pages/designer/element-properties/components/events-properties/events-properties.component.d.ts +14 -0
  273. package/src/app/pages/designer/element-properties/components/form-layout-properties/form-layout-properties.component.d.ts +22 -0
  274. package/src/app/pages/designer/element-properties/components/layout-properties/layout-properties.component.d.ts +35 -0
  275. package/src/app/pages/designer/element-properties/components/options-properties/options-properties.component.d.ts +32 -0
  276. package/src/app/pages/designer/element-properties/components/tree-options-properties/tree-options-properties.component.d.ts +36 -0
  277. package/src/app/pages/designer/element-properties/components/validators-properties/validator-properties/validator-properties.component.d.ts +83 -0
  278. package/src/app/pages/designer/element-properties/components/validators-properties/validators-properties.component.d.ts +74 -0
  279. package/src/app/pages/designer/element-properties/date-properties/date-properties.component.d.ts +36 -0
  280. package/src/app/pages/designer/element-properties/date-properties/date-properties.module.d.ts +10 -0
  281. package/src/app/pages/designer/element-properties/divider-properties/divider-properties.component.d.ts +14 -0
  282. package/src/app/pages/designer/element-properties/divider-properties/divider-properties.module.d.ts +10 -0
  283. package/src/app/pages/designer/element-properties/element-properties.component.d.ts +35 -0
  284. package/src/app/pages/designer/element-properties/grid-properties/grid-properties.component.d.ts +35 -0
  285. package/src/app/pages/designer/element-properties/grid-properties/grid-properties.module.d.ts +10 -0
  286. package/src/app/pages/designer/element-properties/image-properties/image-properties.component.d.ts +17 -0
  287. package/src/app/pages/designer/element-properties/image-properties/image-properties.module.d.ts +10 -0
  288. package/src/app/pages/designer/element-properties/image-upload-properties/image-upload-properties.component.d.ts +19 -0
  289. package/src/app/pages/designer/element-properties/image-upload-properties/image-upload-properties.module.d.ts +10 -0
  290. package/src/app/pages/designer/element-properties/input-number-properties/input-number-properties.component.d.ts +21 -0
  291. package/src/app/pages/designer/element-properties/input-number-properties/input-number-properties.module.d.ts +10 -0
  292. package/src/app/pages/designer/element-properties/input-properties/input-properties.component.d.ts +17 -0
  293. package/src/app/pages/designer/element-properties/input-properties/input-properties.module.d.ts +10 -0
  294. package/src/app/pages/designer/element-properties/radio-properties/radio-properties.component.d.ts +25 -0
  295. package/src/app/pages/designer/element-properties/radio-properties/radio-properties.module.d.ts +10 -0
  296. package/src/app/pages/designer/element-properties/range-picker-properties/range-picker-properties.component.d.ts +42 -0
  297. package/src/app/pages/designer/element-properties/range-picker-properties/range-picker-properties.module.d.ts +10 -0
  298. package/src/app/pages/designer/element-properties/rate-properties/rate-properties.component.d.ts +28 -0
  299. package/src/app/pages/designer/element-properties/rate-properties/rate-properties.module.d.ts +10 -0
  300. package/src/app/pages/designer/element-properties/select-properties/select-properties.component.d.ts +25 -0
  301. package/src/app/pages/designer/element-properties/select-properties/select-properties.module.d.ts +10 -0
  302. package/src/app/pages/designer/element-properties/shared/property-panel-loader.service.d.ts +18 -0
  303. package/src/app/pages/designer/element-properties/shared/property-panel-registry.d.ts +9 -0
  304. package/src/app/pages/designer/element-properties/shared/property-panel-shared.module.d.ts +21 -0
  305. package/src/app/pages/designer/element-properties/slider-properties/slider-properties.component.d.ts +23 -0
  306. package/src/app/pages/designer/element-properties/slider-properties/slider-properties.module.d.ts +10 -0
  307. package/src/app/pages/designer/element-properties/space-properties/space-properties.component.d.ts +18 -0
  308. package/src/app/pages/designer/element-properties/space-properties/space-properties.module.d.ts +10 -0
  309. package/src/app/pages/designer/element-properties/switch-properties/switch-properties.component.d.ts +19 -0
  310. package/src/app/pages/designer/element-properties/switch-properties/switch-properties.module.d.ts +10 -0
  311. package/src/app/pages/designer/element-properties/table-properties/table-properties.component.d.ts +19 -0
  312. package/src/app/pages/designer/element-properties/table-properties/table-properties.module.d.ts +10 -0
  313. package/src/app/pages/designer/element-properties/tabs-properties/tabs-properties.component.d.ts +23 -0
  314. package/src/app/pages/designer/element-properties/tabs-properties/tabs-properties.module.d.ts +10 -0
  315. package/src/app/pages/designer/element-properties/td-properties/td-properties.component.d.ts +27 -0
  316. package/src/app/pages/designer/element-properties/td-properties/td-properties.module.d.ts +10 -0
  317. package/src/app/pages/designer/element-properties/text-properties/text-properties.component.d.ts +17 -0
  318. package/src/app/pages/designer/element-properties/text-properties/text-properties.module.d.ts +10 -0
  319. package/src/app/pages/designer/element-properties/textarea-properties/textarea-properties.component.d.ts +17 -0
  320. package/src/app/pages/designer/element-properties/textarea-properties/textarea-properties.module.d.ts +10 -0
  321. package/src/app/pages/designer/element-properties/time-area-properties/time-area-properties.component.d.ts +36 -0
  322. package/src/app/pages/designer/element-properties/time-area-properties/time-area-properties.module.d.ts +10 -0
  323. package/src/app/pages/designer/element-properties/time-properties/time-properties.component.d.ts +37 -0
  324. package/src/app/pages/designer/element-properties/time-properties/time-properties.module.d.ts +10 -0
  325. package/src/app/pages/designer/element-properties/tree-select-properties/tree-select-properties.component.d.ts +25 -0
  326. package/src/app/pages/designer/element-properties/tree-select-properties/tree-select-properties.module.d.ts +10 -0
  327. package/src/app/pages/designer/element-properties/upload-properties/upload-properties.component.d.ts +19 -0
  328. package/src/app/pages/designer/element-properties/upload-properties/upload-properties.module.d.ts +10 -0
  329. package/src/app/pages/designer/form-properties/form-css-properties/form-css-properties.component.d.ts +26 -0
  330. package/src/app/pages/designer/form-properties/form-events-properties/form-events-properties.component.d.ts +13 -0
  331. package/src/app/pages/designer/form-properties/form-properties.component.d.ts +27 -0
  332. package/src/app/pages/designer/import-json/import-json.component.d.ts +34 -0
  333. package/src/app/pages/designer/json-viewer/json-viewer.component.d.ts +31 -0
  334. package/src/app/pages/designer/left-sider/left-sider.component.d.ts +14 -0
  335. package/src/app/pages/designer/monaco-features/lazy-monaco-host.component.d.ts +23 -0
  336. package/src/app/pages/designer/monaco-features/lazy-monaco-loader.service.d.ts +16 -0
  337. package/src/app/pages/designer/monaco-features/monaco-features-loader.packagr.d.ts +3 -0
  338. package/src/app/pages/designer/monaco-features/monaco-features.module.d.ts +20 -0
  339. package/src/app/pages/designer/play/play-zorro/play-zorro.component.d.ts +11 -0
  340. package/src/app/pages/designer/play/play.component.d.ts +19 -0
  341. package/src/app/pages/designer/play/play.module.d.ts +17 -0
  342. package/src/app/pages/designer/services/designer-canvas-interaction.service.d.ts +44 -0
  343. package/src/app/pages/designer/services/designer-drag-drop.service.d.ts +19 -0
  344. package/src/app/pages/designer/services/designer-history-coordinator.service.d.ts +27 -0
  345. package/src/app/pages/designer/services/designer-history.service.d.ts +26 -0
  346. package/src/app/pages/designer/services/designer-item-tool.service.d.ts +12 -0
  347. package/src/app/pages/designer/services/designer-item-tree.service.d.ts +19 -0
  348. package/src/app/pages/designer/services/designer-shell.service.d.ts +24 -0
  349. package/src/app/pages/designer/services/designer-table-facade.service.d.ts +21 -0
  350. package/src/app/pages/designer/services/designer-table-toolbar.service.d.ts +27 -0
  351. package/src/app/pages/designer/services/designer-viewer.service.d.ts +21 -0
  352. package/src/app/shared/components/components.module.d.ts +16 -0
  353. package/src/app/shared/components/zorro-item/zorro-form-item/zorro-form-item.component.d.ts +61 -0
  354. package/src/app/shared/components/zorro-item/zorro-item.component.d.ts +64 -0
  355. package/src/app/shared/components/zorro-item/zorro-origin-item/zorro-origin-item.component.d.ts +84 -0
  356. package/src/app/shared/components/zorro-render.module.d.ts +41 -0
  357. package/src/app/shared/constants/upload.const.d.ts +6 -0
  358. package/src/app/shared/dictionaries/form-events.const.d.ts +12 -0
  359. package/src/app/shared/dictionaries/item-events.const.d.ts +20 -0
  360. package/src/app/shared/dictionaries/item-types-enum.d.ts +38 -0
  361. package/src/app/shared/dictionaries/items-types.const.d.ts +115 -0
  362. package/src/app/shared/factories/containers-producer.d.ts +33 -0
  363. package/src/app/shared/factories/i-items.factory.d.ts +5 -0
  364. package/src/app/shared/factories/items-factory.d.ts +9 -0
  365. package/src/app/shared/factories/items-producer.d.ts +65 -0
  366. package/src/app/shared/gencode/generate-container.d.ts +16 -0
  367. package/src/app/shared/gencode/generate-form-item.d.ts +29 -0
  368. package/src/app/shared/gencode/generate-form.d.ts +20 -0
  369. package/src/app/shared/gencode/html-gen.util.d.ts +9 -0
  370. package/src/app/shared/global-const.d.ts +3 -0
  371. package/src/app/shared/models/drag-object.model.d.ts +11 -0
  372. package/src/app/shared/models/form-field-value.model.d.ts +2 -0
  373. package/src/app/shared/models/form-item.model.d.ts +38 -0
  374. package/src/app/shared/models/form.model.d.ts +25 -0
  375. package/src/app/shared/models/i-items.model.d.ts +5 -0
  376. package/src/app/shared/models/i-validator.model.d.ts +7 -0
  377. package/src/app/shared/models/items/i-containers.model.d.ts +90 -0
  378. package/src/app/shared/models/items/i-form-controls.model.d.ts +182 -0
  379. package/src/app/shared/models/items/i-item-base.model.d.ts +39 -0
  380. package/src/app/shared/models/items/i-layout.model.d.ts +40 -0
  381. package/src/app/shared/models/layout-item.model.d.ts +29 -0
  382. package/src/app/shared/models/validator.model.d.ts +13 -0
  383. package/src/app/shared/pipes/pipes.module.d.ts +9 -0
  384. package/src/app/shared/pipes/substring.pipe.d.ts +7 -0
  385. package/src/app/shared/services/css.service.d.ts +16 -0
  386. package/src/app/shared/services/designer-canvas-refresh.service.d.ts +11 -0
  387. package/src/app/shared/services/i18n-config.service.d.ts +27 -0
  388. package/src/app/shared/services/stack.service.d.ts +15 -0
  389. package/src/app/shared/shared-zorro.module.d.ts +7 -0
  390. package/src/app/shared/shared.module.d.ts +27 -0
  391. package/src/app/shared/utils/component.operation.d.ts +6 -0
  392. package/src/app/shared/utils/date-format.util.d.ts +13 -0
  393. package/src/app/shared/utils/designer-item-move.util.d.ts +11 -0
  394. package/src/app/shared/utils/designer-item-mutation.util.d.ts +9 -0
  395. package/src/app/shared/utils/designer-item-selection.util.d.ts +9 -0
  396. package/src/app/shared/utils/dom-query.util.d.ts +2 -0
  397. package/src/app/shared/utils/form-events.util.d.ts +18 -0
  398. package/src/app/shared/utils/form-item-html.util.d.ts +16 -0
  399. package/src/app/shared/utils/form-values.util.d.ts +34 -0
  400. package/src/app/shared/utils/id-gen.d.ts +5 -0
  401. package/src/app/shared/utils/interactive-target.util.d.ts +2 -0
  402. package/src/app/shared/utils/item-events.util.d.ts +21 -0
  403. package/src/app/shared/utils/item-tree-query.util.d.ts +10 -0
  404. package/src/app/shared/utils/layout-responsive.util.d.ts +12 -0
  405. package/src/app/shared/utils/table-item-query.util.d.ts +4 -0
  406. package/src/app/shared/utils/table-item.operation.d.ts +37 -0
  407. package/src/app/shared/utils/time-area-control.util.d.ts +5 -0
  408. package/src/app/shared/utils/track-by.util.d.ts +16 -0
  409. package/src/app/shared/utils/tree-option.operation.d.ts +11 -0
  410. package/src/app/shared/utils/tree-option.util.d.ts +3 -0
  411. package/src/app/shared/utils/upload-gencode.util.d.ts +9 -0
  412. package/src/app/shared/utils/upload.util.d.ts +8 -0
  413. package/src/app/shared/utils/validator.util.d.ts +16 -0
  414. package/src/assets/i18n/en-US.json +443 -0
  415. package/src/assets/i18n/zh-CN.json +444 -0
  416. package/src/assets/icons/attachment.svg +1 -0
  417. package/src/assets/icons/card.svg +1 -0
  418. package/src/assets/icons/checkbox.svg +1 -0
  419. package/src/assets/icons/code.svg +1 -0
  420. package/src/assets/icons/date-area.svg +1 -0
  421. package/src/assets/icons/date.svg +1 -0
  422. package/src/assets/icons/delete.svg +1 -0
  423. package/src/assets/icons/divider.svg +1 -0
  424. package/src/assets/icons/fold.svg +1 -0
  425. package/src/assets/icons/grid.svg +1 -0
  426. package/src/assets/icons/image-upload.svg +1 -0
  427. package/src/assets/icons/image.svg +1 -0
  428. package/src/assets/icons/import.svg +1 -0
  429. package/src/assets/icons/input-number.svg +1 -0
  430. package/src/assets/icons/input.svg +1 -0
  431. package/src/assets/icons/json.svg +1 -0
  432. package/src/assets/icons/layout.svg +1 -0
  433. package/src/assets/icons/level-select.svg +1 -0
  434. package/src/assets/icons/mobile.svg +1 -0
  435. package/src/assets/icons/multi-checkbox.svg +1 -0
  436. package/src/assets/icons/multi-input.svg +1 -0
  437. package/src/assets/icons/number-statistic.svg +1 -0
  438. package/src/assets/icons/pc.svg +1 -0
  439. package/src/assets/icons/play.svg +1 -0
  440. package/src/assets/icons/radio.svg +1 -0
  441. package/src/assets/icons/rate.svg +1 -0
  442. package/src/assets/icons/redo.svg +1 -0
  443. package/src/assets/icons/save.svg +1 -0
  444. package/src/assets/icons/select.svg +1 -0
  445. package/src/assets/icons/slider.svg +1 -0
  446. package/src/assets/icons/space.svg +1 -0
  447. package/src/assets/icons/switch.svg +1 -0
  448. package/src/assets/icons/tab.svg +1 -0
  449. package/src/assets/icons/table-col.svg +1 -0
  450. package/src/assets/icons/table-tr.svg +1 -0
  451. package/src/assets/icons/table.svg +1 -0
  452. package/src/assets/icons/tablet.svg +1 -0
  453. package/src/assets/icons/text.svg +1 -0
  454. package/src/assets/icons/time-area.svg +1 -0
  455. package/src/assets/icons/time.svg +1 -0
  456. package/src/assets/icons/tree-select.svg +1 -0
  457. package/src/assets/icons/undo.svg +1 -0
  458. package/src/assets/icons/upload.svg +1 -0
  459. package/src/assets/jm-logo.svg +1 -0
  460. package/src/assets/jm-logo1.svg +1 -0
  461. package/src/styles.less +135 -0
@@ -0,0 +1,127 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import ItemTypeEnum from '../../../../../shared/dictionaries/item-types-enum';
3
+ import { TreeOptionOperation } from '../../../../../shared/utils/tree-option.operation';
4
+ import { cloneTreeOptions } from '../../../../../shared/utils/tree-option.util';
5
+ import { v4 as uuidv4 } from 'uuid';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "ng-zorro-antd/tree";
10
+ import * as i4 from "ng-zorro-antd/grid";
11
+ import * as i5 from "ng-zorro-antd/input";
12
+ import * as i6 from "ng-zorro-antd/radio";
13
+ import * as i7 from "ng-zorro-antd/space";
14
+ import * as i8 from "ng-zorro-antd/icon";
15
+ import * as i9 from "ng-zorro-antd/tooltip";
16
+ import * as i10 from "ng-zorro-antd/button";
17
+ import * as i11 from "ng-zorro-antd/core/transition-patch";
18
+ import * as i12 from "ng-zorro-antd/core/wave";
19
+ import * as i13 from "../../../directive/designer-property-change.directive";
20
+ import * as i14 from "@ngx-translate/core";
21
+ export class TreeOptionsPropertiesComponent {
22
+ constructor(changeDetectorRef) {
23
+ this.changeDetectorRef = changeDetectorRef;
24
+ this.itemTypeEnum = ItemTypeEnum;
25
+ this.treeOptionOperation = new TreeOptionOperation();
26
+ }
27
+ ngOnInit() {
28
+ this.dataChange();
29
+ }
30
+ ngOnChanges() {
31
+ this.dataChange();
32
+ }
33
+ dataChange() {
34
+ this.formItemData = this.itemData;
35
+ switch (this.itemData.type) {
36
+ case ItemTypeEnum.TreeSelect:
37
+ this.treeOptionMode = 'edit';
38
+ this.treeSelectData = this.itemData;
39
+ this.cascaderOptions = this.treeSelectData.nodes;
40
+ this.treeOptionOperation.checkOptionStatus(this.cascaderOptions);
41
+ break;
42
+ case ItemTypeEnum.Cascader:
43
+ this.treeOptionMode = 'edit';
44
+ this.cascaderData = this.itemData;
45
+ this.cascaderOptions = this.treeOptionOperation.toTreeOption(this.cascaderData.options);
46
+ break;
47
+ }
48
+ this.changeDetectorRef.markForCheck();
49
+ }
50
+ refreshTreeOptions() {
51
+ this.cascaderOptions = cloneTreeOptions(this.cascaderOptions);
52
+ this.changeDetectorRef.markForCheck();
53
+ }
54
+ persistTreeOptions() {
55
+ if (this.formItemData.type == this.itemTypeEnum.Cascader) {
56
+ this.cascaderData.options = this.treeOptionOperation.toLabelValue(this.cascaderOptions);
57
+ }
58
+ else if (this.formItemData.type == this.itemTypeEnum.TreeSelect) {
59
+ this.treeSelectData.nodes = this.cascaderOptions;
60
+ }
61
+ }
62
+ addRootTreeItem() {
63
+ this.cascaderOptions = cloneTreeOptions(this.cascaderOptions);
64
+ this.cascaderOptions.push({ id: uuidv4(), title: '', key: '', status: 1, isLeaf: true });
65
+ this.refreshTreeOptions();
66
+ }
67
+ addSubTreeItem(node, value) {
68
+ if (!value.children) {
69
+ value.children = [];
70
+ }
71
+ node.expanded = true;
72
+ value.isLeaf = false;
73
+ value.children.push({ id: uuidv4(), title: '', key: '', status: 1, isLeaf: true, expanded: true });
74
+ this.refreshTreeOptions();
75
+ }
76
+ editTreeItem(value) {
77
+ value.status = 2;
78
+ this.refreshTreeOptions();
79
+ }
80
+ deleteTreeItem(value) {
81
+ this.treeOptionOperation.deleteOption(this.cascaderOptions, value);
82
+ this.treeOptionOperation.checkOptionLeaf(this.cascaderOptions);
83
+ this.refreshTreeOptions();
84
+ this.persistTreeOptions();
85
+ }
86
+ convertToFolder(value) {
87
+ value.isLeaf = false;
88
+ this.refreshTreeOptions();
89
+ }
90
+ convertToLeaf(value) {
91
+ value.isLeaf = true;
92
+ this.refreshTreeOptions();
93
+ }
94
+ cancelEditTreeItem(value) {
95
+ if (value.status == 1) {
96
+ this.deleteTreeItem(value);
97
+ }
98
+ else {
99
+ value.status = 0;
100
+ this.refreshTreeOptions();
101
+ }
102
+ }
103
+ saveTreeItem(_value) {
104
+ _value.status = 0;
105
+ this.refreshTreeOptions();
106
+ this.persistTreeOptions();
107
+ }
108
+ treeOptionDropEvent(event) {
109
+ this.treeOptionOperation.checkOptionForDrag(event, '', this.cascaderOptions);
110
+ this.treeOptionOperation.checkRootOptionForDrag(event, '', this.cascaderOptions);
111
+ this.refreshTreeOptions();
112
+ this.persistTreeOptions();
113
+ }
114
+ treeOptionDragOverEvent(event) {
115
+ event.node.isSelected = true;
116
+ }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TreeOptionsPropertiesComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TreeOptionsPropertiesComponent, selector: "tree-options-properties", inputs: { itemData: ["data", "itemData"] }, usesOnChanges: true, ngImport: i0, template: "<div class=\"title\" *ngIf=\"formItemData.type == itemTypeEnum.Cascader || formItemData.type == itemTypeEnum.TreeSelect\">{{ 'properties.tree.option.title' | translate }}</div>\n<div class=\"properties\" *ngIf=\"formItemData.type == itemTypeEnum.Cascader || formItemData.type == itemTypeEnum.TreeSelect\">\n <div nz-row nzSpan=\"24\">\n <div nz-col nzSpan=\"12\">\n <span>{{ 'properties.tree.option.content' | translate }}</span>\n </div>\n <div nz-col nzSpan=\"12\" style=\"text-align: right;\">\n <nz-radio-group name=\"treeOptionMode\" [(ngModel)]=\"treeOptionMode\" [nzSize]=\"'small'\">\n <label nz-radio-button nzValue=\"edit\">{{ 'properties.tree.option.content.edit' | translate }}</label>\n <label nz-radio-button nzValue=\"sort\">{{ 'properties.tree.option.content.sort' | translate }}</label>\n </nz-radio-group>\n </div>\n </div>\n <div nz-row nzSpan=\"24\" style=\"margin-top: 16px\">\n <div nz-col nzSpan=\"24\">\n <nz-tree [nzData]=\"cascaderOptions\" \n [nzDraggable]=\"treeOptionMode=='sort'\"\n [nzBlockNode]=\"'true'\"\n [nzTreeTemplate]=\"nzTreeTemplate\" \n [nzExpandAll]=\"'true'\"\n (nzOnDragOver)=\"treeOptionDragOverEvent($event)\"\n (nzOnDrop)=\"treeOptionDropEvent($event)\"></nz-tree>\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <div nz-row nzSpan=\"24\" *ngIf=\"origin.status===0\">\n <div nz-col nzSpan=\"12\">\n <span>{{ origin.title}}</span>\n </div>\n <div nz-col nzSpan=\"12\" style=\"text-align: right;\" *ngIf=\"treeOptionMode=='edit'\">\n <i nz-icon nzType=\"plus\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.add.subOption' | translate\" class=\"icon\" nzTheme=\"outline\" (click)=\"addSubTreeItem(node, origin)\"></i>\n <i nz-icon nzType=\"edit\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.edit.option' | translate\" class=\"icon\" nzTheme=\"outline\" (click)=\"editTreeItem(origin)\"></i>\n <i nz-icon nzType=\"delete\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.delete.option' | translate\" class=\"icon\" nzTheme=\"outline\" (click)=\"deleteTreeItem(origin)\"></i>\n </div>\n <div nz-col nzSpan=\"12\" style=\"text-align: right;\" *ngIf=\"treeOptionMode=='sort'\">\n <i nz-icon nzType=\"folder\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.convert.folder' | translate\" *ngIf=\"origin.isLeaf\" class=\"icon\" nzTheme=\"outline\" (click)=\"convertToFolder(origin)\"></i>\n <i nz-icon nzType=\"file\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.convert.leaf' | translate\" *ngIf=\"!origin.isLeaf && (!origin.children || !!origin.children && origin.children.length==0)\" class=\"icon\" nzTheme=\"outline\" (click)=\"convertToLeaf(origin)\"></i>\n </div>\n </div>\n <nz-space nzSize=\"small\" *ngIf=\"(origin.status===1 || origin.status===2) && treeOptionMode=='edit'\">\n <input *nzSpaceItem nz-input name=\"nodeKey_{{node.key}}\" [placeholder]=\"'common.value' | translate\" [nzSize]=\"'small'\" [(ngModel)]=\"origin.key\" />\n <input *nzSpaceItem nz-input name=\"nodeTitle_{{node.key}}\" [placeholder]=\"'common.label' | translate\" [nzSize]=\"'small'\" [(ngModel)]=\"origin.title\" />\n <button *nzSpaceItem nz-button nz-tooltip [nzTooltipTitle]=\"'common.save' | translate\" nzType=\"default\" nzSize=\"small\" nzShape=\"circle\" (click)=\"saveTreeItem(origin)\">\n <i nz-icon nzType=\"save\" nzTheme=\"outline\" ></i>\n </button>\n <button *nzSpaceItem nz-button nz-tooltip [nzTooltipTitle]=\"'common.cancel' | translate\" nzType=\"default\" nzSize=\"small\" nzShape=\"circle\" (click)=\"cancelEditTreeItem(origin)\">\n <i nz-icon nzType=\"rollback\" nzTheme=\"outline\" ></i>\n </button>\n </nz-space>\n </ng-template>\n </div>\n </div>\n <div nz-row nzSpan=\"24\" style=\"margin-top: 16px\" *ngIf=\"treeOptionMode=='edit'\">\n <div nz-col nzSpan=\"24\">\n <a (click)=\"addRootTreeItem()\">\n <i nz-icon nzType=\"plus-circle\" class=\"option\" nzTheme=\"outline\"></i>\n <span style=\"padding-left: 5px\">{{ 'properties.tree.option.add.parent' | translate }}</span>\n </a>\n </div>\n </div>\n</div>\n", styles: [".properties{padding:16px 16px 8px;border-radius:6px;border-style:none;background:#fff}.title{height:1.5715;color:#00000073;font-size:13px;line-height:1.5715;margin-top:16px;margin-bottom:8px}.icon{display:inline-block;width:16px;height:16px;background-size:cover;color:inherit;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:6px}.icon:hover,.icon:focus{filter:invert(41%) sepia(45%) saturate(2448%) hue-rotate(191deg) brightness(101%) contrast(101%)}.option{font-size:14px}.up{margin-top:5px}.down{margin-top:5px;margin-left:-5px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NzTreeComponent, selector: "nz-tree", inputs: ["nzShowIcon", "nzHideUnMatched", "nzBlockNode", "nzExpandAll", "nzSelectMode", "nzCheckStrictly", "nzShowExpand", "nzShowLine", "nzCheckable", "nzAsyncData", "nzDraggable", "nzMultiple", "nzExpandedIcon", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzTreeTemplate", "nzBeforeDrop", "nzData", "nzExpandedKeys", "nzSelectedKeys", "nzCheckedKeys", "nzSearchValue", "nzSearchFunc"], outputs: ["nzExpandedKeysChange", "nzSelectedKeysChange", "nzCheckedKeysChange", "nzSearchValueChange", "nzClick", "nzDblClick", "nzContextMenu", "nzCheckBoxChange", "nzExpandChange", "nzOnDragStart", "nzOnDragEnter", "nzOnDragOver", "nzOnDragLeave", "nzOnDrop", "nzOnDragEnd"], exportAs: ["nzTree"] }, { kind: "directive", type: i4.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i4.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i5.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i6.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i6.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "component", type: i7.NzSpaceComponent, selector: "nz-space, [nz-space]", inputs: ["nzDirection", "nzAlign", "nzSplit", "nzWrap", "nzSize"], exportAs: ["NzSpace"] }, { kind: "directive", type: i7.NzSpaceItemDirective, selector: "[nzSpaceItem]" }, { kind: "directive", type: i8.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i9.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "component", type: i10.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i11.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i12.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i13.DesignerPropertyChangeDirective, selector: "[name^=\"element\"], [name^=\"optionLabel_\"], [name^=\"optionValue_\"], [name=\"cssSetting\"], [name=\"cssFormLabel\"], [name=\"cssFormControl\"], [name=\"formUI\"], [name^=\"label\"], [name^=\"control\"], [name=\"textContent\"], [name=\"requiredMessage\"], [name=\"minLengthMessage\"], [name=\"maxLengthMessage\"], [name=\"patternTypeMessage\"], [name=\"patternMessage\"], [name=\"minlength\"], [name=\"maxlength\"], [name=\"patternType\"], [name=\"pattern\"], [name=\"requred\"], [name=\"hasPattern\"], [name=\"hasPatternType\"], [name=\"dateMode\"], [designerCanvasSync]" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
+ }
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TreeOptionsPropertiesComponent, decorators: [{
121
+ type: Component,
122
+ args: [{ selector: 'tree-options-properties', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"title\" *ngIf=\"formItemData.type == itemTypeEnum.Cascader || formItemData.type == itemTypeEnum.TreeSelect\">{{ 'properties.tree.option.title' | translate }}</div>\n<div class=\"properties\" *ngIf=\"formItemData.type == itemTypeEnum.Cascader || formItemData.type == itemTypeEnum.TreeSelect\">\n <div nz-row nzSpan=\"24\">\n <div nz-col nzSpan=\"12\">\n <span>{{ 'properties.tree.option.content' | translate }}</span>\n </div>\n <div nz-col nzSpan=\"12\" style=\"text-align: right;\">\n <nz-radio-group name=\"treeOptionMode\" [(ngModel)]=\"treeOptionMode\" [nzSize]=\"'small'\">\n <label nz-radio-button nzValue=\"edit\">{{ 'properties.tree.option.content.edit' | translate }}</label>\n <label nz-radio-button nzValue=\"sort\">{{ 'properties.tree.option.content.sort' | translate }}</label>\n </nz-radio-group>\n </div>\n </div>\n <div nz-row nzSpan=\"24\" style=\"margin-top: 16px\">\n <div nz-col nzSpan=\"24\">\n <nz-tree [nzData]=\"cascaderOptions\" \n [nzDraggable]=\"treeOptionMode=='sort'\"\n [nzBlockNode]=\"'true'\"\n [nzTreeTemplate]=\"nzTreeTemplate\" \n [nzExpandAll]=\"'true'\"\n (nzOnDragOver)=\"treeOptionDragOverEvent($event)\"\n (nzOnDrop)=\"treeOptionDropEvent($event)\"></nz-tree>\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <div nz-row nzSpan=\"24\" *ngIf=\"origin.status===0\">\n <div nz-col nzSpan=\"12\">\n <span>{{ origin.title}}</span>\n </div>\n <div nz-col nzSpan=\"12\" style=\"text-align: right;\" *ngIf=\"treeOptionMode=='edit'\">\n <i nz-icon nzType=\"plus\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.add.subOption' | translate\" class=\"icon\" nzTheme=\"outline\" (click)=\"addSubTreeItem(node, origin)\"></i>\n <i nz-icon nzType=\"edit\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.edit.option' | translate\" class=\"icon\" nzTheme=\"outline\" (click)=\"editTreeItem(origin)\"></i>\n <i nz-icon nzType=\"delete\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.delete.option' | translate\" class=\"icon\" nzTheme=\"outline\" (click)=\"deleteTreeItem(origin)\"></i>\n </div>\n <div nz-col nzSpan=\"12\" style=\"text-align: right;\" *ngIf=\"treeOptionMode=='sort'\">\n <i nz-icon nzType=\"folder\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.convert.folder' | translate\" *ngIf=\"origin.isLeaf\" class=\"icon\" nzTheme=\"outline\" (click)=\"convertToFolder(origin)\"></i>\n <i nz-icon nzType=\"file\" nz-tooltip [nzTooltipTitle]=\"'properties.tree.option.convert.leaf' | translate\" *ngIf=\"!origin.isLeaf && (!origin.children || !!origin.children && origin.children.length==0)\" class=\"icon\" nzTheme=\"outline\" (click)=\"convertToLeaf(origin)\"></i>\n </div>\n </div>\n <nz-space nzSize=\"small\" *ngIf=\"(origin.status===1 || origin.status===2) && treeOptionMode=='edit'\">\n <input *nzSpaceItem nz-input name=\"nodeKey_{{node.key}}\" [placeholder]=\"'common.value' | translate\" [nzSize]=\"'small'\" [(ngModel)]=\"origin.key\" />\n <input *nzSpaceItem nz-input name=\"nodeTitle_{{node.key}}\" [placeholder]=\"'common.label' | translate\" [nzSize]=\"'small'\" [(ngModel)]=\"origin.title\" />\n <button *nzSpaceItem nz-button nz-tooltip [nzTooltipTitle]=\"'common.save' | translate\" nzType=\"default\" nzSize=\"small\" nzShape=\"circle\" (click)=\"saveTreeItem(origin)\">\n <i nz-icon nzType=\"save\" nzTheme=\"outline\" ></i>\n </button>\n <button *nzSpaceItem nz-button nz-tooltip [nzTooltipTitle]=\"'common.cancel' | translate\" nzType=\"default\" nzSize=\"small\" nzShape=\"circle\" (click)=\"cancelEditTreeItem(origin)\">\n <i nz-icon nzType=\"rollback\" nzTheme=\"outline\" ></i>\n </button>\n </nz-space>\n </ng-template>\n </div>\n </div>\n <div nz-row nzSpan=\"24\" style=\"margin-top: 16px\" *ngIf=\"treeOptionMode=='edit'\">\n <div nz-col nzSpan=\"24\">\n <a (click)=\"addRootTreeItem()\">\n <i nz-icon nzType=\"plus-circle\" class=\"option\" nzTheme=\"outline\"></i>\n <span style=\"padding-left: 5px\">{{ 'properties.tree.option.add.parent' | translate }}</span>\n </a>\n </div>\n </div>\n</div>\n", styles: [".properties{padding:16px 16px 8px;border-radius:6px;border-style:none;background:#fff}.title{height:1.5715;color:#00000073;font-size:13px;line-height:1.5715;margin-top:16px;margin-bottom:8px}.icon{display:inline-block;width:16px;height:16px;background-size:cover;color:inherit;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:6px}.icon:hover,.icon:focus{filter:invert(41%) sepia(45%) saturate(2448%) hue-rotate(191deg) brightness(101%) contrast(101%)}.option{font-size:14px}.up{margin-top:5px}.down{margin-top:5px;margin-left:-5px}\n"] }]
123
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { itemData: [{
124
+ type: Input,
125
+ args: ["data"]
126
+ }] } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1vcHRpb25zLXByb3BlcnRpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9wYWdlcy9kZXNpZ25lci9lbGVtZW50LXByb3BlcnRpZXMvY29tcG9uZW50cy90cmVlLW9wdGlvbnMtcHJvcGVydGllcy90cmVlLW9wdGlvbnMtcHJvcGVydGllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3BhZ2VzL2Rlc2lnbmVyL2VsZW1lbnQtcHJvcGVydGllcy9jb21wb25lbnRzL3RyZWUtb3B0aW9ucy1wcm9wZXJ0aWVzL3RyZWUtb3B0aW9ucy1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLEtBQUssRUFBVSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRyxPQUFPLFlBQVksTUFBTSxvREFBb0QsQ0FBQztBQUc5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVFwQyxNQUFNLE9BQU8sOEJBQThCO0lBY3pDLFlBQW1CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBTHZELGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBRTVCLHdCQUFtQixHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztJQUdXLENBQUM7SUFFNUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixD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O1FBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQXdCO1FBQzlDLEtBQUssQ0FBQyxJQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNoQyxDQUFDOytHQXRIVSw4QkFBOEI7bUdBQTlCLDhCQUE4QixnSUNmM0MsNDhJQTJEQTs7NEZENUNhLDhCQUE4QjtrQkFOMUMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07c0ZBSS9DLFFBQVE7c0JBRFAsS0FBSzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnpGb3JtYXRFbWl0RXZlbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL3RyZWUnO1xuaW1wb3J0IEl0ZW1UeXBlRW51bSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvZGljdGlvbmFyaWVzL2l0ZW0tdHlwZXMtZW51bSc7XG5pbXBvcnQgeyBGb3JtSXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkL21vZGVscy9mb3JtLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgSUNhc2NhZGVyTW9kZWwsIElJdGVtTW9kZWwsIElUcmVlU2VsZWN0TW9kZWwsIHRyZWVPcHRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL2ktaXRlbXMubW9kZWwnO1xuaW1wb3J0IHsgVHJlZU9wdGlvbk9wZXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy90cmVlLW9wdGlvbi5vcGVyYXRpb24nO1xuaW1wb3J0IHsgY2xvbmVUcmVlT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy90cmVlLW9wdGlvbi51dGlsJztcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0cmVlLW9wdGlvbnMtcHJvcGVydGllcycsXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLW9wdGlvbnMtcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyZWUtb3B0aW9ucy1wcm9wZXJ0aWVzLmNvbXBvbmVudC5sZXNzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVPcHRpb25zUHJvcGVydGllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dChcImRhdGFcIilcbiAgaXRlbURhdGEhOiBJSXRlbU1vZGVsO1xuXG4gIHRyZWVTZWxlY3REYXRhITogSVRyZWVTZWxlY3RNb2RlbDtcbiAgY2FzY2FkZXJEYXRhITogSUNhc2NhZGVyTW9kZWw7XG5cbiAgZm9ybUl0ZW1EYXRhITogRm9ybUl0ZW1Nb2RlbDtcblxuICBpdGVtVHlwZUVudW0gPSBJdGVtVHlwZUVudW07XG4gIGNhc2NhZGVyT3B0aW9ucyE6IHRyZWVPcHRpb25bXTtcbiAgdHJlZU9wdGlvbk9wZXJhdGlvbiA9IG5ldyBUcmVlT3B0aW9uT3BlcmF0aW9uKCk7XG4gIHRyZWVPcHRpb25Nb2RlITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YUNoYW5nZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhQ2hhbmdlKCk7XG4gIH1cblxuICBkYXRhQ2hhbmdlKCkge1xuICAgIHRoaXMuZm9ybUl0ZW1EYXRhID0gdGhpcy5pdGVtRGF0YSBhcyBGb3JtSXRlbU1vZGVsO1xuICAgIHN3aXRjaCh0aGlzLml0ZW1EYXRhLnR5cGUpe1xuICAgICAgY2FzZSBJdGVtVHlwZUVudW0uVHJlZVNlbGVjdDpcbiAgICAgICAgdGhpcy50cmVlT3B0aW9uTW9kZSA9ICdlZGl0JztcbiAgICAgICAgdGhpcy50cmVlU2VsZWN0RGF0YSA9IHRoaXMuaXRlbURhdGEgYXMgSVRyZWVTZWxlY3RNb2RlbDtcbiAgICAgICAgdGhpcy5jYXNjYWRlck9wdGlvbnMgPSB0aGlzLnRyZWVTZWxlY3REYXRhLm5vZGVzO1xuICAgICAgICB0aGlzLnRyZWVPcHRpb25PcGVyYXRpb24uY2hlY2tPcHRpb25TdGF0dXModGhpcy5jYXNjYWRlck9wdGlvbnMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgSXRlbVR5cGVFbnVtLkNhc2NhZGVyOlxuICAgICAgICB0aGlzLnRyZWVPcHRpb25Nb2RlID0gJ2VkaXQnO1xuICAgICAgICB0aGlzLmNhc2NhZGVyRGF0YSA9IHRoaXMuaXRlbURhdGEgYXMgSUNhc2NhZGVyTW9kZWw7XG4gICAgICAgIHRoaXMuY2FzY2FkZXJPcHRpb25zID0gdGhpcy50cmVlT3B0aW9uT3BlcmF0aW9uLnRvVHJlZU9wdGlvbih0aGlzLmNhc2NhZGVyRGF0YS5vcHRpb25zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHJlZnJlc2hUcmVlT3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2NhZGVyT3B0aW9ucyA9IGNsb25lVHJlZU9wdGlvbnModGhpcy5jYXNjYWRlck9wdGlvbnMpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHBlcnNpc3RUcmVlT3B0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtSXRlbURhdGEudHlwZSA9PSB0aGlzLml0ZW1UeXBlRW51bS5DYXNjYWRlcikge1xuICAgICAgdGhpcy5jYXNjYWRlckRhdGEub3B0aW9ucyA9IHRoaXMudHJlZU9wdGlvbk9wZXJhdGlvbi50b0xhYmVsVmFsdWUodGhpcy5jYXNjYWRlck9wdGlvbnMpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtSXRlbURhdGEudHlwZSA9PSB0aGlzLml0ZW1UeXBlRW51bS5UcmVlU2VsZWN0KSB7XG4gICAgICB0aGlzLnRyZWVTZWxlY3REYXRhLm5vZGVzID0gdGhpcy5jYXNjYWRlck9wdGlvbnM7XG4gICAgfVxuICB9XG5cbiAgYWRkUm9vdFRyZWVJdGVtKCkge1xuICAgIHRoaXMuY2FzY2FkZXJPcHRpb25zID0gY2xvbmVUcmVlT3B0aW9ucyh0aGlzLmNhc2NhZGVyT3B0aW9ucyk7XG4gICAgdGhpcy5jYXNjYWRlck9wdGlvbnMucHVzaCh7aWQ6IHV1aWR2NCgpLCB0aXRsZTogJycsIGtleTogJycsIHN0YXR1czogMSwgaXNMZWFmOiB0cnVlfSk7XG4gICAgdGhpcy5yZWZyZXNoVHJlZU9wdGlvbnMoKTtcbiAgfVxuXG4gIGFkZFN1YlRyZWVJdGVtKG5vZGU6IHRyZWVPcHRpb24sIHZhbHVlOiB0cmVlT3B0aW9uKSB7XG4gICAgaWYgKCF2YWx1ZS5jaGlsZHJlbikge1xuICAgICAgdmFsdWUuY2hpbGRyZW4gPSBbXTtcbiAgICB9XG5cbiAgICBub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICB2YWx1ZS5pc0xlYWYgPSBmYWxzZTtcbiAgICB2YWx1ZS5jaGlsZHJlbi5wdXNoKHtpZDogdXVpZHY0KCksIHRpdGxlOiAnJywga2V5OiAnJywgc3RhdHVzOiAxLCBpc0xlYWY6IHRydWUsIGV4cGFuZGVkOiB0cnVlfSk7XG4gICAgdGhpcy5yZWZyZXNoVHJlZU9wdGlvbnMoKTtcbiAgfVxuXG4gIGVkaXRUcmVlSXRlbSh2YWx1ZTogdHJlZU9wdGlvbikge1xuICAgIHZhbHVlLnN0YXR1cyA9IDI7XG4gICAgdGhpcy5yZWZyZXNoVHJlZU9wdGlvbnMoKTtcbiAgfVxuXG4gIGRlbGV0ZVRyZWVJdGVtKHZhbHVlOiB0cmVlT3B0aW9uKSB7XG4gICAgdGhpcy50cmVlT3B0aW9uT3BlcmF0aW9uLmRlbGV0ZU9wdGlvbih0aGlzLmNhc2NhZGVyT3B0aW9ucywgdmFsdWUpO1xuICAgIHRoaXMudHJlZU9wdGlvbk9wZXJhdGlvbi5jaGVja09wdGlvbkxlYWYodGhpcy5jYXNjYWRlck9wdGlvbnMpO1xuICAgIHRoaXMucmVmcmVzaFRyZWVPcHRpb25zKCk7XG4gICAgdGhpcy5wZXJzaXN0VHJlZU9wdGlvbnMoKTtcbiAgfVxuXG4gIGNvbnZlcnRUb0ZvbGRlcih2YWx1ZTogdHJlZU9wdGlvbik6IHZvaWQge1xuICAgIHZhbHVlLmlzTGVhZiA9IGZhbHNlO1xuICAgIHRoaXMucmVmcmVzaFRyZWVPcHRpb25zKCk7XG4gIH1cblxuICBjb252ZXJ0VG9MZWFmKHZhbHVlOiB0cmVlT3B0aW9uKTogdm9pZCB7XG4gICAgdmFsdWUuaXNMZWFmID0gdHJ1ZTtcbiAgICB0aGlzLnJlZnJlc2hUcmVlT3B0aW9ucygpO1xuICB9XG5cbiAgY2FuY2VsRWRpdFRyZWVJdGVtKHZhbHVlOiB0cmVlT3B0aW9uKSB7XG4gICAgaWYgKHZhbHVlLnN0YXR1cyA9PSAxKXtcbiAgICAgIHRoaXMuZGVsZXRlVHJlZUl0ZW0odmFsdWUpO1xuICAgIH1lbHNlIHtcbiAgICAgIHZhbHVlLnN0YXR1cyA9IDA7XG4gICAgICB0aGlzLnJlZnJlc2hUcmVlT3B0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUcmVlSXRlbShfdmFsdWU6IHRyZWVPcHRpb24pIHtcbiAgICBfdmFsdWUuc3RhdHVzID0gMDtcbiAgICB0aGlzLnJlZnJlc2hUcmVlT3B0aW9ucygpO1xuICAgIHRoaXMucGVyc2lzdFRyZWVPcHRpb25zKCk7XG4gIH1cblxuICB0cmVlT3B0aW9uRHJvcEV2ZW50KGV2ZW50OiBOekZvcm1hdEVtaXRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudHJlZU9wdGlvbk9wZXJhdGlvbi5jaGVja09wdGlvbkZvckRyYWcoZXZlbnQsICcnLCB0aGlzLmNhc2NhZGVyT3B0aW9ucyk7XG4gICAgdGhpcy50cmVlT3B0aW9uT3BlcmF0aW9uLmNoZWNrUm9vdE9wdGlvbkZvckRyYWcoZXZlbnQsICcnLCB0aGlzLmNhc2NhZGVyT3B0aW9ucyk7XG4gICAgdGhpcy5yZWZyZXNoVHJlZU9wdGlvbnMoKTtcbiAgICB0aGlzLnBlcnNpc3RUcmVlT3B0aW9ucygpO1xuICB9XG5cbiAgdHJlZU9wdGlvbkRyYWdPdmVyRXZlbnQoZXZlbnQ6IE56Rm9ybWF0RW1pdEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQubm9kZSEuaXNTZWxlY3RlZCA9IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwiZm9ybUl0ZW1EYXRhLnR5cGUgPT0gaXRlbVR5cGVFbnVtLkNhc2NhZGVyIHx8IGZvcm1JdGVtRGF0YS50eXBlID09IGl0ZW1UeXBlRW51bS5UcmVlU2VsZWN0XCI+e3sgJ3Byb3BlcnRpZXMudHJlZS5vcHRpb24udGl0bGUnIHwgdHJhbnNsYXRlIH19PC9kaXY+XG48ZGl2IGNsYXNzPVwicHJvcGVydGllc1wiICpuZ0lmPVwiZm9ybUl0ZW1EYXRhLnR5cGUgPT0gaXRlbVR5cGVFbnVtLkNhc2NhZGVyIHx8IGZvcm1JdGVtRGF0YS50eXBlID09IGl0ZW1UeXBlRW51bS5UcmVlU2VsZWN0XCI+XG4gICAgPGRpdiBuei1yb3cgbnpTcGFuPVwiMjRcIj5cbiAgICAgICAgPGRpdiBuei1jb2wgbnpTcGFuPVwiMTJcIj5cbiAgICAgICAgPHNwYW4+e3sgJ3Byb3BlcnRpZXMudHJlZS5vcHRpb24uY29udGVudCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IG56LWNvbCBuelNwYW49XCIxMlwiIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7XCI+XG4gICAgICAgIDxuei1yYWRpby1ncm91cCBuYW1lPVwidHJlZU9wdGlvbk1vZGVcIiBbKG5nTW9kZWwpXT1cInRyZWVPcHRpb25Nb2RlXCIgW256U2l6ZV09XCInc21hbGwnXCI+XG4gICAgICAgICAgICA8bGFiZWwgbnotcmFkaW8tYnV0dG9uIG56VmFsdWU9XCJlZGl0XCI+e3sgJ3Byb3BlcnRpZXMudHJlZS5vcHRpb24uY29udGVudC5lZGl0JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8bGFiZWwgbnotcmFkaW8tYnV0dG9uIG56VmFsdWU9XCJzb3J0XCI+e3sgJ3Byb3BlcnRpZXMudHJlZS5vcHRpb24uY29udGVudC5zb3J0JyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgIDwvbnotcmFkaW8tZ3JvdXA+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgbnotcm93IG56U3Bhbj1cIjI0XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxNnB4XCI+XG4gICAgICAgIDxkaXYgbnotY29sIG56U3Bhbj1cIjI0XCI+XG4gICAgICAgIDxuei10cmVlIFtuekRhdGFdPVwiY2FzY2FkZXJPcHRpb25zXCIgXG4gICAgICAgICAgICBbbnpEcmFnZ2FibGVdPVwidHJlZU9wdGlvbk1vZGU9PSdzb3J0J1wiXG4gICAgICAgICAgICBbbnpCbG9ja05vZGVdPVwiJ3RydWUnXCJcbiAgICAgICAgICAgIFtuelRyZWVUZW1wbGF0ZV09XCJuelRyZWVUZW1wbGF0ZVwiIFxuICAgICAgICAgICAgW256RXhwYW5kQWxsXT1cIid0cnVlJ1wiXG4gICAgICAgICAgICAobnpPbkRyYWdPdmVyKT1cInRyZWVPcHRpb25EcmFnT3ZlckV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgKG56T25Ecm9wKT1cInRyZWVPcHRpb25Ecm9wRXZlbnQoJGV2ZW50KVwiPjwvbnotdHJlZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNuelRyZWVUZW1wbGF0ZSBsZXQtbm9kZSBsZXQtb3JpZ2luPVwib3JpZ2luXCI+XG4gICAgICAgICAgICA8ZGl2IG56LXJvdyBuelNwYW49XCIyNFwiICpuZ0lmPVwib3JpZ2luLnN0YXR1cz09PTBcIj5cbiAgICAgICAgICAgIDxkaXYgbnotY29sIG56U3Bhbj1cIjEyXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgb3JpZ2luLnRpdGxlfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgbnotY29sIG56U3Bhbj1cIjEyXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDtcIiAqbmdJZj1cInRyZWVPcHRpb25Nb2RlPT0nZWRpdCdcIj5cbiAgICAgICAgICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cInBsdXNcIiBuei10b29sdGlwIFtuelRvb2x0aXBUaXRsZV09XCIncHJvcGVydGllcy50cmVlLm9wdGlvbi5hZGQuc3ViT3B0aW9uJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwiaWNvblwiIG56VGhlbWU9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImFkZFN1YlRyZWVJdGVtKG5vZGUsIG9yaWdpbilcIj48L2k+XG4gICAgICAgICAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJlZGl0XCIgbnotdG9vbHRpcCBbbnpUb29sdGlwVGl0bGVdPVwiJ3Byb3BlcnRpZXMudHJlZS5vcHRpb24uZWRpdC5vcHRpb24nIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJpY29uXCIgbnpUaGVtZT1cIm91dGxpbmVcIiAoY2xpY2spPVwiZWRpdFRyZWVJdGVtKG9yaWdpbilcIj48L2k+XG4gICAgICAgICAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJkZWxldGVcIiBuei10b29sdGlwIFtuelRvb2x0aXBUaXRsZV09XCIncHJvcGVydGllcy50cmVlLm9wdGlvbi5kZWxldGUub3B0aW9uJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwiaWNvblwiIG56VGhlbWU9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImRlbGV0ZVRyZWVJdGVtKG9yaWdpbilcIj48L2k+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgbnotY29sIG56U3Bhbj1cIjEyXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodDtcIiAqbmdJZj1cInRyZWVPcHRpb25Nb2RlPT0nc29ydCdcIj5cbiAgICAgICAgICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cImZvbGRlclwiIG56LXRvb2x0aXAgW256VG9vbHRpcFRpdGxlXT1cIidwcm9wZXJ0aWVzLnRyZWUub3B0aW9uLmNvbnZlcnQuZm9sZGVyJyB8IHRyYW5zbGF0ZVwiICpuZ0lmPVwib3JpZ2luLmlzTGVhZlwiIGNsYXNzPVwiaWNvblwiIG56VGhlbWU9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNvbnZlcnRUb0ZvbGRlcihvcmlnaW4pXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxpIG56LWljb24gbnpUeXBlPVwiZmlsZVwiIG56LXRvb2x0aXAgW256VG9vbHRpcFRpdGxlXT1cIidwcm9wZXJ0aWVzLnRyZWUub3B0aW9uLmNvbnZlcnQubGVhZicgfCB0cmFuc2xhdGVcIiAqbmdJZj1cIiFvcmlnaW4uaXNMZWFmICYmICghb3JpZ2luLmNoaWxkcmVuIHx8ICEhb3JpZ2luLmNoaWxkcmVuICYmIG9yaWdpbi5jaGlsZHJlbi5sZW5ndGg9PTApXCIgY2xhc3M9XCJpY29uXCIgbnpUaGVtZT1cIm91dGxpbmVcIiAoY2xpY2spPVwiY29udmVydFRvTGVhZihvcmlnaW4pXCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuei1zcGFjZSBuelNpemU9XCJzbWFsbFwiICpuZ0lmPVwiKG9yaWdpbi5zdGF0dXM9PT0xIHx8IG9yaWdpbi5zdGF0dXM9PT0yKSAmJiB0cmVlT3B0aW9uTW9kZT09J2VkaXQnXCI+XG4gICAgICAgICAgICA8aW5wdXQgKm56U3BhY2VJdGVtIG56LWlucHV0IG5hbWU9XCJub2RlS2V5X3t7bm9kZS5rZXl9fVwiIFtwbGFjZWhvbGRlcl09XCInY29tbW9uLnZhbHVlJyB8IHRyYW5zbGF0ZVwiIFtuelNpemVdPVwiJ3NtYWxsJ1wiIFsobmdNb2RlbCldPVwib3JpZ2luLmtleVwiIC8+XG4gICAgICAgICAgICA8aW5wdXQgKm56U3BhY2VJdGVtIG56LWlucHV0IG5hbWU9XCJub2RlVGl0bGVfe3tub2RlLmtleX19XCIgW3BsYWNlaG9sZGVyXT1cIidjb21tb24ubGFiZWwnIHwgdHJhbnNsYXRlXCIgW256U2l6ZV09XCInc21hbGwnXCIgWyhuZ01vZGVsKV09XCJvcmlnaW4udGl0bGVcIiAvPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbnpTcGFjZUl0ZW0gbnotYnV0dG9uIG56LXRvb2x0aXAgW256VG9vbHRpcFRpdGxlXT1cIidjb21tb24uc2F2ZScgfCB0cmFuc2xhdGVcIiBuelR5cGU9XCJkZWZhdWx0XCIgbnpTaXplPVwic21hbGxcIiBuelNoYXBlPVwiY2lyY2xlXCIgKGNsaWNrKT1cInNhdmVUcmVlSXRlbShvcmlnaW4pXCI+XG4gICAgICAgICAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJzYXZlXCIgbnpUaGVtZT1cIm91dGxpbmVcIiA+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uICpuelNwYWNlSXRlbSBuei1idXR0b24gbnotdG9vbHRpcCBbbnpUb29sdGlwVGl0bGVdPVwiJ2NvbW1vbi5jYW5jZWwnIHwgdHJhbnNsYXRlXCIgbnpUeXBlPVwiZGVmYXVsdFwiIG56U2l6ZT1cInNtYWxsXCIgbnpTaGFwZT1cImNpcmNsZVwiIChjbGljayk9XCJjYW5jZWxFZGl0VHJlZUl0ZW0ob3JpZ2luKVwiPlxuICAgICAgICAgICAgICAgIDxpIG56LWljb24gbnpUeXBlPVwicm9sbGJhY2tcIiBuelRoZW1lPVwib3V0bGluZVwiID48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbnotc3BhY2U+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgbnotcm93IG56U3Bhbj1cIjI0XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxNnB4XCIgKm5nSWY9XCJ0cmVlT3B0aW9uTW9kZT09J2VkaXQnXCI+XG4gICAgICAgIDxkaXYgbnotY29sIG56U3Bhbj1cIjI0XCI+XG4gICAgICAgIDxhIChjbGljayk9XCJhZGRSb290VHJlZUl0ZW0oKVwiPlxuICAgICAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJwbHVzLWNpcmNsZVwiIGNsYXNzPVwib3B0aW9uXCIgbnpUaGVtZT1cIm91dGxpbmVcIj48L2k+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT1cInBhZGRpbmctbGVmdDogNXB4XCI+e3sgJ3Byb3BlcnRpZXMudHJlZS5vcHRpb24uYWRkLnBhcmVudCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,72 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import { ValidatorTypes } from '../../../../../../shared/dictionaries/items-types.const';
3
+ import { trackByLabelValue } from '../../../../../../shared/utils/track-by.util';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../../../../shared/services/designer-canvas-refresh.service";
6
+ import * as i2 from "@ngx-translate/core";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "ng-zorro-antd/grid";
10
+ import * as i6 from "ng-zorro-antd/form";
11
+ import * as i7 from "ng-zorro-antd/input";
12
+ import * as i8 from "ng-zorro-antd/input-number";
13
+ import * as i9 from "ng-zorro-antd/checkbox";
14
+ import * as i10 from "ng-zorro-antd/select";
15
+ import * as i11 from "ng-zorro-antd/icon";
16
+ import * as i12 from "ng-zorro-antd/tooltip";
17
+ import * as i13 from "ng-zorro-antd/core/transition-patch";
18
+ import * as i14 from "../../../../directive/designer-property-change.directive";
19
+ export class ValidatorPropertiesComponent {
20
+ /** 属性面板展示:i18n 键翻译为可读文案,自定义文案原样显示 */
21
+ get displayMessage() {
22
+ const msg = this.validator.message?.trim();
23
+ if (!msg) {
24
+ return '';
25
+ }
26
+ const translated = this.translate.instant(msg);
27
+ return translated && translated !== msg ? translated : msg;
28
+ }
29
+ onMessageChange(value) {
30
+ this.validator.message = value;
31
+ this.notifyCanvas();
32
+ }
33
+ constructor(changeDetectorRef, canvasRefresh, translate) {
34
+ this.changeDetectorRef = changeDetectorRef;
35
+ this.canvasRefresh = canvasRefresh;
36
+ this.translate = translate;
37
+ this.validatorTypes = ValidatorTypes;
38
+ this.trackByLabelValue = trackByLabelValue;
39
+ }
40
+ ngOnInit() {
41
+ this.dataChange();
42
+ }
43
+ ngOnChanges() {
44
+ this.dataChange();
45
+ }
46
+ dataChange() {
47
+ }
48
+ patternClick(ev) {
49
+ ev.preventDefault();
50
+ ev.stopPropagation();
51
+ }
52
+ onValidatorToggle() {
53
+ this.notifyCanvas();
54
+ }
55
+ onPatternParamChange() {
56
+ this.notifyCanvas();
57
+ }
58
+ notifyCanvas() {
59
+ this.canvasRefresh.notify();
60
+ this.changeDetectorRef.markForCheck();
61
+ }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValidatorPropertiesComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DesignerCanvasRefreshService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ValidatorPropertiesComponent, selector: "validator-properties", inputs: { validator: "validator" }, usesOnChanges: true, ngImport: i0, template: "<nz-form-item *ngIf=\"validator.type == 'required'\">\n <nz-form-control [nzSpan]=\"24\">\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"requred\">{{ 'properties.validator.required' | translate }}</label>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"requiredMessage\" nz-input [placeholder]=\"'properties.validator.required.message' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"validator.type == 'minLength'\">\n <nz-form-control [nzSpan]=\"24\">\n <div >\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"requred\">{{ 'properties.validator.minLength' | translate }}</label>\n <nz-input-number name=\"minlength\" \n [ngModel]=\"validator.patternParam\" (ngModelChange)=\"validator.patternParam = $event; onPatternParamChange()\"\n [nzMin]=\"1\" [nzMax]=\"9999\" [nzStep]=\"1\"\n [disabled]=\"!validator.hasPattern\"\n ></nz-input-number>\n </div>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"minLengthMessage\" nz-input [placeholder]=\"'properties.validator.minLength.message' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"validator.type == 'maxLength'\">\n <nz-form-control [nzSpan]=\"24\">\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"requred\">{{ 'properties.validator.maxLength' | translate }}</label>\n <nz-input-number name=\"maxlength\" \n [ngModel]=\"validator.patternParam\" (ngModelChange)=\"validator.patternParam = $event; onPatternParamChange()\"\n [nzMin]=\"1\" [nzMax]=\"9999\" [nzStep]=\"1\"\n [disabled]=\"!validator.hasPattern\"\n ></nz-input-number>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"maxLengthMessage\" nz-input [placeholder]=\"'properties.validator.maxLength.message' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"validator.type == 'select'\">\n <nz-form-control [nzSpan]=\"24\">\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"hasPatternType\" >\n <nz-select name=\"patternType\" \n [ngModel]=\"validator.patternParam\" (ngModelChange)=\"validator.patternParam = $event; onPatternParamChange()\"\n [nzPlaceHolder]=\"'properties.validator.partternType.placeholder' | translate\" \n class=\"pattern-type\" \n (click)=\"patternClick($event)\" [disabled]=\"!validator.hasPattern\">\n <ng-container *ngFor=\"let validator of validatorTypes; trackBy: trackByLabelValue\">\n <nz-option [nzValue]=\"validator.value\" [nzLabel]=\"validator.label | translate\"></nz-option>\n </ng-container>\n </nz-select>\n </label>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"patternTypeMessage\" nz-input [placeholder]=\"'properties.validator.partternType.message.placeholder' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"validator.type == 'regx'\">\n <nz-form-control [nzSpan]=\"24\">\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"hasPattern\" >\n <input name=\"pattern\" nz-input class=\"pattern\" [placeholder]=\"'properties.validator.pattern.placeholder' | translate\" [ngModel]=\"validator.patternParam\" (ngModelChange)=\"validator.patternParam = $event; onPatternParamChange()\" [disabled]=\"!validator.hasPattern\" (click)=\"patternClick($event)\"/>\n </label>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"patternMessage\" nz-input [placeholder]=\"'properties.validator.pattern.message.placeholder' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n", styles: [".validator-padding{padding-top:8px;padding-left:24px}.validator-message-row{display:flex;align-items:center;gap:8px}.validator-message-row input{flex:1;min-width:0}.validator-message-help{flex-shrink:0;color:#00000073;cursor:help;font-size:14px}.validator-message-help:hover{color:#1890ff}.pattern-type,.pattern{width:228px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i5.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i6.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i6.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "directive", type: i7.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i8.NzInputNumberComponent, selector: "nz-input-number", inputs: ["nzSize", "nzMin", "nzMax", "nzParser", "nzPrecision", "nzPrecisionMode", "nzPlaceHolder", "nzStatus", "nzStep", "nzInputMode", "nzId", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBorderless", "nzFormatter"], outputs: ["nzBlur", "nzFocus"], exportAs: ["nzInputNumber"] }, { kind: "component", type: i9.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: i10.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i10.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "directive", type: i11.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i12.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: i13.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i14.DesignerPropertyChangeDirective, selector: "[name^=\"element\"], [name^=\"optionLabel_\"], [name^=\"optionValue_\"], [name=\"cssSetting\"], [name=\"cssFormLabel\"], [name=\"cssFormControl\"], [name=\"formUI\"], [name^=\"label\"], [name^=\"control\"], [name=\"textContent\"], [name=\"requiredMessage\"], [name=\"minLengthMessage\"], [name=\"maxLengthMessage\"], [name=\"patternTypeMessage\"], [name=\"patternMessage\"], [name=\"minlength\"], [name=\"maxlength\"], [name=\"patternType\"], [name=\"pattern\"], [name=\"requred\"], [name=\"hasPattern\"], [name=\"hasPatternType\"], [name=\"dateMode\"], [designerCanvasSync]" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValidatorPropertiesComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'validator-properties', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nz-form-item *ngIf=\"validator.type == 'required'\">\n <nz-form-control [nzSpan]=\"24\">\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"requred\">{{ 'properties.validator.required' | translate }}</label>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"requiredMessage\" nz-input [placeholder]=\"'properties.validator.required.message' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"validator.type == 'minLength'\">\n <nz-form-control [nzSpan]=\"24\">\n <div >\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"requred\">{{ 'properties.validator.minLength' | translate }}</label>\n <nz-input-number name=\"minlength\" \n [ngModel]=\"validator.patternParam\" (ngModelChange)=\"validator.patternParam = $event; onPatternParamChange()\"\n [nzMin]=\"1\" [nzMax]=\"9999\" [nzStep]=\"1\"\n [disabled]=\"!validator.hasPattern\"\n ></nz-input-number>\n </div>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"minLengthMessage\" nz-input [placeholder]=\"'properties.validator.minLength.message' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"validator.type == 'maxLength'\">\n <nz-form-control [nzSpan]=\"24\">\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"requred\">{{ 'properties.validator.maxLength' | translate }}</label>\n <nz-input-number name=\"maxlength\" \n [ngModel]=\"validator.patternParam\" (ngModelChange)=\"validator.patternParam = $event; onPatternParamChange()\"\n [nzMin]=\"1\" [nzMax]=\"9999\" [nzStep]=\"1\"\n [disabled]=\"!validator.hasPattern\"\n ></nz-input-number>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"maxLengthMessage\" nz-input [placeholder]=\"'properties.validator.maxLength.message' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"validator.type == 'select'\">\n <nz-form-control [nzSpan]=\"24\">\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"hasPatternType\" >\n <nz-select name=\"patternType\" \n [ngModel]=\"validator.patternParam\" (ngModelChange)=\"validator.patternParam = $event; onPatternParamChange()\"\n [nzPlaceHolder]=\"'properties.validator.partternType.placeholder' | translate\" \n class=\"pattern-type\" \n (click)=\"patternClick($event)\" [disabled]=\"!validator.hasPattern\">\n <ng-container *ngFor=\"let validator of validatorTypes; trackBy: trackByLabelValue\">\n <nz-option [nzValue]=\"validator.value\" [nzLabel]=\"validator.label | translate\"></nz-option>\n </ng-container>\n </nz-select>\n </label>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"patternTypeMessage\" nz-input [placeholder]=\"'properties.validator.partternType.message.placeholder' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"validator.type == 'regx'\">\n <nz-form-control [nzSpan]=\"24\">\n <label nz-checkbox [ngModel]=\"validator.hasPattern\" (ngModelChange)=\"validator.hasPattern = $event; onValidatorToggle()\" name=\"hasPattern\" >\n <input name=\"pattern\" nz-input class=\"pattern\" [placeholder]=\"'properties.validator.pattern.placeholder' | translate\" [ngModel]=\"validator.patternParam\" (ngModelChange)=\"validator.patternParam = $event; onPatternParamChange()\" [disabled]=\"!validator.hasPattern\" (click)=\"patternClick($event)\"/>\n </label>\n <div class=\"validator-padding validator-message-row\" *ngIf=\"!!validator.hasPattern\">\n <input name=\"patternMessage\" nz-input [placeholder]=\"'properties.validator.pattern.message.placeholder' | translate\" [ngModel]=\"displayMessage\" (ngModelChange)=\"onMessageChange($event)\" />\n <i nz-icon nzType=\"question-circle\" nzTheme=\"outline\" class=\"validator-message-help\" nz-tooltip [nzTooltipTitle]=\"'properties.validator.message.tooltip' | translate\"></i>\n </div>\n </nz-form-control>\n </nz-form-item>\n", styles: [".validator-padding{padding-top:8px;padding-left:24px}.validator-message-row{display:flex;align-items:center;gap:8px}.validator-message-row input{flex:1;min-width:0}.validator-message-help{flex-shrink:0;color:#00000073;cursor:help;font-size:14px}.validator-message-help:hover{color:#1890ff}.pattern-type,.pattern{width:228px}\n"] }]
68
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DesignerCanvasRefreshService }, { type: i2.TranslateService }], propDecorators: { validator: [{
69
+ type: Input,
70
+ args: ["validator"]
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLXByb3BlcnRpZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9wYWdlcy9kZXNpZ25lci9lbGVtZW50LXByb3BlcnRpZXMvY29tcG9uZW50cy92YWxpZGF0b3JzLXByb3BlcnRpZXMvdmFsaWRhdG9yLXByb3BlcnRpZXMvdmFsaWRhdG9yLXByb3BlcnRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9wYWdlcy9kZXNpZ25lci9lbGVtZW50LXByb3BlcnRpZXMvY29tcG9uZW50cy92YWxpZGF0b3JzLXByb3BlcnRpZXMvdmFsaWRhdG9yLXByb3BlcnRpZXMvdmFsaWRhdG9yLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsS0FBSyxFQUFVLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUd6RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVFqRixNQUFNLE9BQU8sNEJBQTRCO0lBT3ZDLHFDQUFxQztJQUNyQyxJQUFJLGNBQWM7UUFDaEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0MsT0FBTyxVQUFVLElBQUksVUFBVSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDN0QsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQ1UsaUJBQW9DLEVBQ3BDLGFBQTJDLEVBQzNDLFNBQTJCO1FBRjNCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQThCO1FBQzNDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBckJyQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUN2QixzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQXFCM0MsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFVBQVU7SUFDVixDQUFDO0lBQ0QsWUFBWSxDQUFDLEVBQWM7UUFDekIsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7K0dBdERVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHFIQ2J6QyxxbUxBcUVBOzs0RkR4RGEsNEJBQTRCO2tCQU54QyxTQUFTOytCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNO2dLQUkvQyxTQUFTO3NCQURSLEtBQUs7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvclR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2RpY3Rpb25hcmllcy9pdGVtcy10eXBlcy5jb25zdCc7XG5pbXBvcnQgeyBWYWxpZGF0b3JNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvdmFsaWRhdG9yLm1vZGVsJztcbmltcG9ydCB7IERlc2lnbmVyQ2FudmFzUmVmcmVzaFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9zaGFyZWQvc2VydmljZXMvZGVzaWduZXItY2FudmFzLXJlZnJlc2guc2VydmljZSc7XG5pbXBvcnQgeyB0cmFja0J5TGFiZWxWYWx1ZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy90cmFjay1ieS51dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsaWRhdG9yLXByb3BlcnRpZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmFsaWRhdG9yLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92YWxpZGF0b3ItcHJvcGVydGllcy5jb21wb25lbnQubGVzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBWYWxpZGF0b3JQcm9wZXJ0aWVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KFwidmFsaWRhdG9yXCIpXG4gIHZhbGlkYXRvciE6IFZhbGlkYXRvck1vZGVsO1xuXG4gIHZhbGlkYXRvclR5cGVzID0gVmFsaWRhdG9yVHlwZXM7XG4gIHJlYWRvbmx5IHRyYWNrQnlMYWJlbFZhbHVlID0gdHJhY2tCeUxhYmVsVmFsdWU7XG4gIFxuICAvKiog5bGe5oCn6Z2i5p2/5bGV56S677yaaTE4biDplK7nv7vor5HkuLrlj6/or7vmlofmoYjvvIzoh6rlrprkuYnmlofmoYjljp/moLfmmL7npLogKi9cbiAgZ2V0IGRpc3BsYXlNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbXNnID0gdGhpcy52YWxpZGF0b3IubWVzc2FnZT8udHJpbSgpO1xuICAgIGlmICghbXNnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KG1zZyk7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZWQgJiYgdHJhbnNsYXRlZCAhPT0gbXNnID8gdHJhbnNsYXRlZCA6IG1zZztcbiAgfVxuXG4gIG9uTWVzc2FnZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0b3IubWVzc2FnZSA9IHZhbHVlO1xuICAgIHRoaXMubm90aWZ5Q2FudmFzKCk7XG4gIH1cbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgY2FudmFzUmVmcmVzaDogRGVzaWduZXJDYW52YXNSZWZyZXNoU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YUNoYW5nZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhQ2hhbmdlKCk7XG4gIH1cbiAgXG4gIGRhdGFDaGFuZ2UoKSB7XG4gIH1cbiAgcGF0dGVybkNsaWNrKGV2OiBNb3VzZUV2ZW50KSB7XG4gICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uVmFsaWRhdG9yVG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMubm90aWZ5Q2FudmFzKCk7XG4gIH1cblxuICBvblBhdHRlcm5QYXJhbUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLm5vdGlmeUNhbnZhcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3RpZnlDYW52YXMoKTogdm9pZCB7XG4gICAgdGhpcy5jYW52YXNSZWZyZXNoLm5vdGlmeSgpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxuei1mb3JtLWl0ZW0gKm5nSWY9XCJ2YWxpZGF0b3IudHlwZSA9PSAncmVxdWlyZWQnXCI+XG4gICAgPG56LWZvcm0tY29udHJvbCBbbnpTcGFuXT1cIjI0XCI+XG4gICAgICA8bGFiZWwgbnotY2hlY2tib3ggW25nTW9kZWxdPVwidmFsaWRhdG9yLmhhc1BhdHRlcm5cIiAobmdNb2RlbENoYW5nZSk9XCJ2YWxpZGF0b3IuaGFzUGF0dGVybiA9ICRldmVudDsgb25WYWxpZGF0b3JUb2dnbGUoKVwiIG5hbWU9XCJyZXF1cmVkXCI+e3sgJ3Byb3BlcnRpZXMudmFsaWRhdG9yLnJlcXVpcmVkJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdG9yLXBhZGRpbmcgdmFsaWRhdG9yLW1lc3NhZ2Utcm93XCIgKm5nSWY9XCIhIXZhbGlkYXRvci5oYXNQYXR0ZXJuXCI+XG4gICAgICAgIDxpbnB1dCBuYW1lPVwicmVxdWlyZWRNZXNzYWdlXCIgbnotaW5wdXQgW3BsYWNlaG9sZGVyXT1cIidwcm9wZXJ0aWVzLnZhbGlkYXRvci5yZXF1aXJlZC5tZXNzYWdlJyB8IHRyYW5zbGF0ZVwiIFtuZ01vZGVsXT1cImRpc3BsYXlNZXNzYWdlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25NZXNzYWdlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cInF1ZXN0aW9uLWNpcmNsZVwiIG56VGhlbWU9XCJvdXRsaW5lXCIgY2xhc3M9XCJ2YWxpZGF0b3ItbWVzc2FnZS1oZWxwXCIgbnotdG9vbHRpcCBbbnpUb29sdGlwVGl0bGVdPVwiJ3Byb3BlcnRpZXMudmFsaWRhdG9yLm1lc3NhZ2UudG9vbHRpcCcgfCB0cmFuc2xhdGVcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICA8L256LWZvcm0tY29udHJvbD5cbiAgPC9uei1mb3JtLWl0ZW0+XG4gIDxuei1mb3JtLWl0ZW0gKm5nSWY9XCJ2YWxpZGF0b3IudHlwZSA9PSAnbWluTGVuZ3RoJ1wiPlxuICAgIDxuei1mb3JtLWNvbnRyb2wgW256U3Bhbl09XCIyNFwiPlxuICAgICAgPGRpdiA+XG4gICAgICAgIDxsYWJlbCBuei1jaGVja2JveCBbbmdNb2RlbF09XCJ2YWxpZGF0b3IuaGFzUGF0dGVyblwiIChuZ01vZGVsQ2hhbmdlKT1cInZhbGlkYXRvci5oYXNQYXR0ZXJuID0gJGV2ZW50OyBvblZhbGlkYXRvclRvZ2dsZSgpXCIgbmFtZT1cInJlcXVyZWRcIj57eyAncHJvcGVydGllcy52YWxpZGF0b3IubWluTGVuZ3RoJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICAgIDxuei1pbnB1dC1udW1iZXIgbmFtZT1cIm1pbmxlbmd0aFwiIFxuICAgICAgICAgIFtuZ01vZGVsXT1cInZhbGlkYXRvci5wYXR0ZXJuUGFyYW1cIiAobmdNb2RlbENoYW5nZSk9XCJ2YWxpZGF0b3IucGF0dGVyblBhcmFtID0gJGV2ZW50OyBvblBhdHRlcm5QYXJhbUNoYW5nZSgpXCJcbiAgICAgICAgICBbbnpNaW5dPVwiMVwiIFtuek1heF09XCI5OTk5XCIgW256U3RlcF09XCIxXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXZhbGlkYXRvci5oYXNQYXR0ZXJuXCJcbiAgICAgICAgICA+PC9uei1pbnB1dC1udW1iZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0b3ItcGFkZGluZyB2YWxpZGF0b3ItbWVzc2FnZS1yb3dcIiAqbmdJZj1cIiEhdmFsaWRhdG9yLmhhc1BhdHRlcm5cIj5cbiAgICAgICAgPGlucHV0IG5hbWU9XCJtaW5MZW5ndGhNZXNzYWdlXCIgbnotaW5wdXQgW3BsYWNlaG9sZGVyXT1cIidwcm9wZXJ0aWVzLnZhbGlkYXRvci5taW5MZW5ndGgubWVzc2FnZScgfCB0cmFuc2xhdGVcIiBbbmdNb2RlbF09XCJkaXNwbGF5TWVzc2FnZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uTWVzc2FnZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJxdWVzdGlvbi1jaXJjbGVcIiBuelRoZW1lPVwib3V0bGluZVwiIGNsYXNzPVwidmFsaWRhdG9yLW1lc3NhZ2UtaGVscFwiIG56LXRvb2x0aXAgW256VG9vbHRpcFRpdGxlXT1cIidwcm9wZXJ0aWVzLnZhbGlkYXRvci5tZXNzYWdlLnRvb2x0aXAnIHwgdHJhbnNsYXRlXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgPC9uei1mb3JtLWNvbnRyb2w+XG4gIDwvbnotZm9ybS1pdGVtPlxuICA8bnotZm9ybS1pdGVtICpuZ0lmPVwidmFsaWRhdG9yLnR5cGUgPT0gJ21heExlbmd0aCdcIj5cbiAgICA8bnotZm9ybS1jb250cm9sIFtuelNwYW5dPVwiMjRcIj5cbiAgICAgIDxsYWJlbCBuei1jaGVja2JveCBbbmdNb2RlbF09XCJ2YWxpZGF0b3IuaGFzUGF0dGVyblwiIChuZ01vZGVsQ2hhbmdlKT1cInZhbGlkYXRvci5oYXNQYXR0ZXJuID0gJGV2ZW50OyBvblZhbGlkYXRvclRvZ2dsZSgpXCIgbmFtZT1cInJlcXVyZWRcIj57eyAncHJvcGVydGllcy52YWxpZGF0b3IubWF4TGVuZ3RoJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8bnotaW5wdXQtbnVtYmVyIG5hbWU9XCJtYXhsZW5ndGhcIiBcbiAgICAgICAgW25nTW9kZWxdPVwidmFsaWRhdG9yLnBhdHRlcm5QYXJhbVwiIChuZ01vZGVsQ2hhbmdlKT1cInZhbGlkYXRvci5wYXR0ZXJuUGFyYW0gPSAkZXZlbnQ7IG9uUGF0dGVyblBhcmFtQ2hhbmdlKClcIlxuICAgICAgICBbbnpNaW5dPVwiMVwiIFtuek1heF09XCI5OTk5XCIgW256U3RlcF09XCIxXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiF2YWxpZGF0b3IuaGFzUGF0dGVyblwiXG4gICAgICAgID48L256LWlucHV0LW51bWJlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0b3ItcGFkZGluZyB2YWxpZGF0b3ItbWVzc2FnZS1yb3dcIiAqbmdJZj1cIiEhdmFsaWRhdG9yLmhhc1BhdHRlcm5cIj5cbiAgICAgICAgPGlucHV0IG5hbWU9XCJtYXhMZW5ndGhNZXNzYWdlXCIgbnotaW5wdXQgW3BsYWNlaG9sZGVyXT1cIidwcm9wZXJ0aWVzLnZhbGlkYXRvci5tYXhMZW5ndGgubWVzc2FnZScgfCB0cmFuc2xhdGVcIiBbbmdNb2RlbF09XCJkaXNwbGF5TWVzc2FnZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uTWVzc2FnZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJxdWVzdGlvbi1jaXJjbGVcIiBuelRoZW1lPVwib3V0bGluZVwiIGNsYXNzPVwidmFsaWRhdG9yLW1lc3NhZ2UtaGVscFwiIG56LXRvb2x0aXAgW256VG9vbHRpcFRpdGxlXT1cIidwcm9wZXJ0aWVzLnZhbGlkYXRvci5tZXNzYWdlLnRvb2x0aXAnIHwgdHJhbnNsYXRlXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgPC9uei1mb3JtLWNvbnRyb2w+XG4gIDwvbnotZm9ybS1pdGVtPlxuICA8bnotZm9ybS1pdGVtICpuZ0lmPVwidmFsaWRhdG9yLnR5cGUgPT0gJ3NlbGVjdCdcIj5cbiAgICA8bnotZm9ybS1jb250cm9sIFtuelNwYW5dPVwiMjRcIj5cbiAgICAgIDxsYWJlbCBuei1jaGVja2JveCBbbmdNb2RlbF09XCJ2YWxpZGF0b3IuaGFzUGF0dGVyblwiIChuZ01vZGVsQ2hhbmdlKT1cInZhbGlkYXRvci5oYXNQYXR0ZXJuID0gJGV2ZW50OyBvblZhbGlkYXRvclRvZ2dsZSgpXCIgbmFtZT1cImhhc1BhdHRlcm5UeXBlXCIgPlxuICAgICAgICA8bnotc2VsZWN0IG5hbWU9XCJwYXR0ZXJuVHlwZVwiIFxuICAgICAgICBbbmdNb2RlbF09XCJ2YWxpZGF0b3IucGF0dGVyblBhcmFtXCIgKG5nTW9kZWxDaGFuZ2UpPVwidmFsaWRhdG9yLnBhdHRlcm5QYXJhbSA9ICRldmVudDsgb25QYXR0ZXJuUGFyYW1DaGFuZ2UoKVwiXG4gICAgICAgIFtuelBsYWNlSG9sZGVyXT1cIidwcm9wZXJ0aWVzLnZhbGlkYXRvci5wYXJ0dGVyblR5cGUucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCIgXG4gICAgICAgIGNsYXNzPVwicGF0dGVybi10eXBlXCIgXG4gICAgICAgIChjbGljayk9XCJwYXR0ZXJuQ2xpY2soJGV2ZW50KVwiIFtkaXNhYmxlZF09XCIhdmFsaWRhdG9yLmhhc1BhdHRlcm5cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZGF0b3Igb2YgdmFsaWRhdG9yVHlwZXM7IHRyYWNrQnk6IHRyYWNrQnlMYWJlbFZhbHVlXCI+XG4gICAgICAgICAgICA8bnotb3B0aW9uIFtuelZhbHVlXT1cInZhbGlkYXRvci52YWx1ZVwiIFtuekxhYmVsXT1cInZhbGlkYXRvci5sYWJlbCB8IHRyYW5zbGF0ZVwiPjwvbnotb3B0aW9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L256LXNlbGVjdD5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdG9yLXBhZGRpbmcgdmFsaWRhdG9yLW1lc3NhZ2Utcm93XCIgKm5nSWY9XCIhIXZhbGlkYXRvci5oYXNQYXR0ZXJuXCI+XG4gICAgICAgIDxpbnB1dCBuYW1lPVwicGF0dGVyblR5cGVNZXNzYWdlXCIgbnotaW5wdXQgW3BsYWNlaG9sZGVyXT1cIidwcm9wZXJ0aWVzLnZhbGlkYXRvci5wYXJ0dGVyblR5cGUubWVzc2FnZS5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIiBbbmdNb2RlbF09XCJkaXNwbGF5TWVzc2FnZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uTWVzc2FnZUNoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGkgbnotaWNvbiBuelR5cGU9XCJxdWVzdGlvbi1jaXJjbGVcIiBuelRoZW1lPVwib3V0bGluZVwiIGNsYXNzPVwidmFsaWRhdG9yLW1lc3NhZ2UtaGVscFwiIG56LXRvb2x0aXAgW256VG9vbHRpcFRpdGxlXT1cIidwcm9wZXJ0aWVzLnZhbGlkYXRvci5tZXNzYWdlLnRvb2x0aXAnIHwgdHJhbnNsYXRlXCI+PC9pPlxuICAgICAgPC9kaXY+XG4gICAgPC9uei1mb3JtLWNvbnRyb2w+XG4gIDwvbnotZm9ybS1pdGVtPlxuICA8bnotZm9ybS1pdGVtICpuZ0lmPVwidmFsaWRhdG9yLnR5cGUgPT0gJ3JlZ3gnXCI+XG4gICAgPG56LWZvcm0tY29udHJvbCBbbnpTcGFuXT1cIjI0XCI+XG4gICAgICA8bGFiZWwgbnotY2hlY2tib3ggW25nTW9kZWxdPVwidmFsaWRhdG9yLmhhc1BhdHRlcm5cIiAobmdNb2RlbENoYW5nZSk9XCJ2YWxpZGF0b3IuaGFzUGF0dGVybiA9ICRldmVudDsgb25WYWxpZGF0b3JUb2dnbGUoKVwiIG5hbWU9XCJoYXNQYXR0ZXJuXCIgPlxuICAgICAgICA8aW5wdXQgbmFtZT1cInBhdHRlcm5cIiBuei1pbnB1dCBjbGFzcz1cInBhdHRlcm5cIiBbcGxhY2Vob2xkZXJdPVwiJ3Byb3BlcnRpZXMudmFsaWRhdG9yLnBhdHRlcm4ucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCIgW25nTW9kZWxdPVwidmFsaWRhdG9yLnBhdHRlcm5QYXJhbVwiIChuZ01vZGVsQ2hhbmdlKT1cInZhbGlkYXRvci5wYXR0ZXJuUGFyYW0gPSAkZXZlbnQ7IG9uUGF0dGVyblBhcmFtQ2hhbmdlKClcIiBbZGlzYWJsZWRdPVwiIXZhbGlkYXRvci5oYXNQYXR0ZXJuXCIgKGNsaWNrKT1cInBhdHRlcm5DbGljaygkZXZlbnQpXCIvPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0b3ItcGFkZGluZyB2YWxpZGF0b3ItbWVzc2FnZS1yb3dcIiAqbmdJZj1cIiEhdmFsaWRhdG9yLmhhc1BhdHRlcm5cIj5cbiAgICAgICAgPGlucHV0IG5hbWU9XCJwYXR0ZXJuTWVzc2FnZVwiIG56LWlucHV0IFtwbGFjZWhvbGRlcl09XCIncHJvcGVydGllcy52YWxpZGF0b3IucGF0dGVybi5tZXNzYWdlLnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiIFtuZ01vZGVsXT1cImRpc3BsYXlNZXNzYWdlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25NZXNzYWdlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICA8aSBuei1pY29uIG56VHlwZT1cInF1ZXN0aW9uLWNpcmNsZVwiIG56VGhlbWU9XCJvdXRsaW5lXCIgY2xhc3M9XCJ2YWxpZGF0b3ItbWVzc2FnZS1oZWxwXCIgbnotdG9vbHRpcCBbbnpUb29sdGlwVGl0bGVdPVwiJ3Byb3BlcnRpZXMudmFsaWRhdG9yLm1lc3NhZ2UudG9vbHRpcCcgfCB0cmFuc2xhdGVcIj48L2k+XG4gICAgICA8L2Rpdj5cbiAgICA8L256LWZvcm0tY29udHJvbD5cbiAgPC9uei1mb3JtLWl0ZW0+XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import { ValidatorTypes } from '../../../../../shared/dictionaries/items-types.const';
3
+ import { trackByValidatorType } from '../../../../../shared/utils/track-by.util';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngx-translate/core";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "./validator-properties/validator-properties.component";
8
+ export class ValidatorsPropertiesComponent {
9
+ constructor(changeDetectorRef, translate) {
10
+ this.changeDetectorRef = changeDetectorRef;
11
+ this.translate = translate;
12
+ this.validatorTypes = ValidatorTypes;
13
+ this.trackByValidatorType = trackByValidatorType;
14
+ }
15
+ ngOnInit() {
16
+ this.dataChange();
17
+ }
18
+ ngOnChanges() {
19
+ this.dataChange();
20
+ }
21
+ dataChange() {
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValidatorsPropertiesComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ValidatorsPropertiesComponent, selector: "validators-properties", inputs: { formItemData: ["data", "formItemData"] }, usesOnChanges: true, ngImport: i0, template: "<div class=\"title\">{{ 'properties.validator.title' | translate }}</div>\n<div class=\"properties\" >\n <ng-container *ngFor=\"let validator of formItemData.validators; trackBy: trackByValidatorType\">\n <validator-properties [validator]=\"validator\"></validator-properties>\n </ng-container>\n</div>", styles: [".properties{padding:16px 16px 8px;border-radius:6px;border-style:none;background:#fff}.title{height:1.5715;color:#00000073;font-size:13px;line-height:1.5715;margin-top:16px;margin-bottom:8px}.icon{display:inline-block;width:16px;height:16px;background-size:cover;color:inherit;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:6px}.icon:hover,.icon:focus{filter:invert(41%) sepia(45%) saturate(2448%) hue-rotate(191deg) brightness(101%) contrast(101%)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.ValidatorPropertiesComponent, selector: "validator-properties", inputs: ["validator"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ValidatorsPropertiesComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'validators-properties', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"title\">{{ 'properties.validator.title' | translate }}</div>\n<div class=\"properties\" >\n <ng-container *ngFor=\"let validator of formItemData.validators; trackBy: trackByValidatorType\">\n <validator-properties [validator]=\"validator\"></validator-properties>\n </ng-container>\n</div>", styles: [".properties{padding:16px 16px 8px;border-radius:6px;border-style:none;background:#fff}.title{height:1.5715;color:#00000073;font-size:13px;line-height:1.5715;margin-top:16px;margin-bottom:8px}.icon{display:inline-block;width:16px;height:16px;background-size:cover;color:inherit;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:6px}.icon:hover,.icon:focus{filter:invert(41%) sepia(45%) saturate(2448%) hue-rotate(191deg) brightness(101%) contrast(101%)}\n"] }]
29
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }], propDecorators: { formItemData: [{
30
+ type: Input,
31
+ args: ["data"]
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvcGFnZXMvZGVzaWduZXIvZWxlbWVudC1wcm9wZXJ0aWVzL2NvbXBvbmVudHMvdmFsaWRhdG9ycy1wcm9wZXJ0aWVzL3ZhbGlkYXRvcnMtcHJvcGVydGllcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3BhZ2VzL2Rlc2lnbmVyL2VsZW1lbnQtcHJvcGVydGllcy9jb21wb25lbnRzL3ZhbGlkYXRvcnMtcHJvcGVydGllcy92YWxpZGF0b3JzLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsS0FBSyxFQUFVLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7Ozs7QUFRakYsTUFBTSxPQUFPLDZCQUE2QjtJQU94QyxZQUNVLGlCQUFvQyxFQUNwQyxTQUEyQjtRQUQzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBTHJDLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3ZCLHlCQUFvQixHQUFHLG9CQUFvQixDQUFDO0lBSVosQ0FBQztJQUUxQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxVQUFVO0lBQ1YsQ0FBQzsrR0FwQlUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsc0lDWjFDLHFUQUtNOzs0RkRPTyw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNO3FIQUkvQyxZQUFZO3NCQURYLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvclR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2RpY3Rpb25hcmllcy9pdGVtcy10eXBlcy5jb25zdCc7XG5pbXBvcnQgeyBGb3JtSXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkL21vZGVscy9mb3JtLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgdHJhY2tCeVZhbGlkYXRvclR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zaGFyZWQvdXRpbHMvdHJhY2stYnkudXRpbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbGlkYXRvcnMtcHJvcGVydGllcycsXG4gIHRlbXBsYXRlVXJsOiAnLi92YWxpZGF0b3JzLXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92YWxpZGF0b3JzLXByb3BlcnRpZXMuY29tcG9uZW50Lmxlc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9yc1Byb3BlcnRpZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoXCJkYXRhXCIpXG4gIGZvcm1JdGVtRGF0YSE6IEZvcm1JdGVtTW9kZWw7XG4gIFxuICB2YWxpZGF0b3JUeXBlcyA9IFZhbGlkYXRvclR5cGVzO1xuICByZWFkb25seSB0cmFja0J5VmFsaWRhdG9yVHlwZSA9IHRyYWNrQnlWYWxpZGF0b3JUeXBlO1xuICBcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YUNoYW5nZSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhQ2hhbmdlKCk7XG4gIH1cbiAgXG4gIGRhdGFDaGFuZ2UoKSB7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgJ3Byb3BlcnRpZXMudmFsaWRhdG9yLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuPGRpdiBjbGFzcz1cInByb3BlcnRpZXNcIiA+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRvciBvZiBmb3JtSXRlbURhdGEudmFsaWRhdG9yczsgdHJhY2tCeTogdHJhY2tCeVZhbGlkYXRvclR5cGVcIj5cbiAgICA8dmFsaWRhdG9yLXByb3BlcnRpZXMgW3ZhbGlkYXRvcl09XCJ2YWxpZGF0b3JcIj48L3ZhbGlkYXRvci1wcm9wZXJ0aWVzPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,120 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import { DateFormats, Modes, TimeFormats } from '../../../../shared/dictionaries/items-types.const';
3
+ import { applyDateModeChange, resolvePickerShowTime, syncDatePickerFormat } from '../../../../shared/utils/date-format.util';
4
+ import { normalizePickerDateValue } from '../../../../shared/utils/form-values.util';
5
+ import { trackByLabelValue } from '../../../../shared/utils/track-by.util';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ngx-translate/core";
8
+ import * as i2 from "../../../../shared/services/designer-canvas-refresh.service";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@angular/forms";
11
+ import * as i5 from "ng-zorro-antd/grid";
12
+ import * as i6 from "ng-zorro-antd/form";
13
+ import * as i7 from "ng-zorro-antd/select";
14
+ import * as i8 from "ng-zorro-antd/switch";
15
+ import * as i9 from "ng-zorro-antd/date-picker";
16
+ import * as i10 from "../components/basic-properties/basic-properties.component";
17
+ import * as i11 from "../components/validators-properties/validators-properties.component";
18
+ import * as i12 from "../components/form-layout-properties/form-layout-properties.component";
19
+ import * as i13 from "../components/events-properties/events-properties.component";
20
+ import * as i14 from "../../directive/designer-property-change.directive";
21
+ export class DatePropertiesComponent {
22
+ constructor(changeDetectorRef, translate, canvasRefresh) {
23
+ this.changeDetectorRef = changeDetectorRef;
24
+ this.translate = translate;
25
+ this.canvasRefresh = canvasRefresh;
26
+ this.trackByLabelValue = trackByLabelValue;
27
+ this.pickerPreviewKey = 0;
28
+ this.trackByPickerKey = (_, key) => key;
29
+ }
30
+ ngOnInit() {
31
+ this.dataChange();
32
+ }
33
+ ngOnChanges() {
34
+ this.dataChange();
35
+ }
36
+ dataChange() {
37
+ let currentLang = !!this.translate.currentLang ? this.translate.currentLang : this.translate.defaultLang;
38
+ this.dateFormats = DateFormats.filter(res => {
39
+ if (res.i18n == currentLang) {
40
+ return true;
41
+ }
42
+ else {
43
+ return false;
44
+ }
45
+ });
46
+ this.timeFormats = TimeFormats.filter(res => {
47
+ if (res.i18n == currentLang) {
48
+ return true;
49
+ }
50
+ else {
51
+ return false;
52
+ }
53
+ });
54
+ this.modes = Modes.filter(res => {
55
+ if (res.i18n == currentLang) {
56
+ return true;
57
+ }
58
+ else {
59
+ return false;
60
+ }
61
+ });
62
+ this.dateData = this.itemData;
63
+ this.formItemData = this.itemData;
64
+ this.dateData.defaultValue = normalizePickerDateValue(this.dateData.defaultValue);
65
+ const mode = this.modes.find(res => res.value === this.dateData.mode);
66
+ applyDateModeChange(this.dateData, this.dateData.mode, mode?.format, currentLang);
67
+ this.changeDetectorRef.markForCheck();
68
+ }
69
+ dateFormatChange(_ev) {
70
+ syncDatePickerFormat(this.dateData, undefined, this.currentLang);
71
+ this.bumpPickerPreview();
72
+ this.notifyCanvas();
73
+ }
74
+ timeFormatChange(_ev) {
75
+ syncDatePickerFormat(this.dateData, undefined, this.currentLang);
76
+ this.bumpPickerPreview();
77
+ this.notifyCanvas();
78
+ }
79
+ dateModeChange(ev) {
80
+ const mode = this.modes.find(res => res.value === ev);
81
+ applyDateModeChange(this.dateData, ev, mode?.format, this.currentLang);
82
+ this.bumpPickerPreview();
83
+ this.notifyCanvas();
84
+ }
85
+ onDefaultValueChange(value) {
86
+ const normalized = normalizePickerDateValue(value);
87
+ this.formItemData.defaultValue = normalized;
88
+ this.dateData.defaultValue = normalized;
89
+ this.notifyCanvas();
90
+ }
91
+ get showTime() {
92
+ return this.dateData?.mode === 'date'
93
+ ? resolvePickerShowTime(this.dateData.timeFormat)
94
+ : false;
95
+ }
96
+ get currentLang() {
97
+ return this.translate.currentLang || this.translate.defaultLang;
98
+ }
99
+ bumpPickerPreview() {
100
+ this.pickerPreviewKey++;
101
+ this.changeDetectorRef.markForCheck();
102
+ }
103
+ notifyCanvas() {
104
+ this.canvasRefresh.notify();
105
+ this.changeDetectorRef.markForCheck();
106
+ }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatePropertiesComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }, { token: i2.DesignerCanvasRefreshService }], target: i0.ɵɵFactoryTarget.Component }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DatePropertiesComponent, selector: "date-properties", inputs: { itemData: ["data", "itemData"], viewType: "viewType" }, usesOnChanges: true, ngImport: i0, template: "<form nz-form [nzLayout]=\"'vertical'\" >\n <basic-properties [data]=\"dateData\"></basic-properties>\n\n <div class=\"title\">{{ 'common.proprietary.property' | translate }}</div>\n <div class=\"properties\" >\n <nz-form-item>\n <nz-form-label [nzSpan]=\"24\">{{ 'common.default.value' | translate }}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <ng-container *ngFor=\"let key of [pickerPreviewKey]; trackBy: trackByPickerKey\">\n <nz-date-picker \n name=\"elementDefaultValue\" \n class=\"{{ showTime ? 'date-picker-with-time' : ''}}\" \n [nzMode]=\"dateData.mode\" \n [nzFormat]=\"dateData.format\" \n [nzShowTime]=\"showTime\"\n [ngModel]=\"dateData.defaultValue\"\n (ngModelChange)=\"onDefaultValueChange($event)\"></nz-date-picker>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n\n <nz-form-item>\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.mode' | translate}}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-select name=\"dateMode\" \n [(ngModel)]=\"dateData.mode\" \n [nzPlaceHolder]=\"'properties.date.mode.placeholder' | translate\" (ngModelChange)=\"dateModeChange($event)\">\n <ng-container *ngFor=\"let mode of modes; trackBy: trackByLabelValue\">\n <nz-option [nzValue]=\"mode.value\" [nzLabel]=\"mode.label\"></nz-option>\n </ng-container>\n </nz-select>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"dateData.mode=='date'\">\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.date.format' | translate}}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-select name=\"elementDateFormat\" \n [(ngModel)]=\"dateData.dateFormat\" \n [nzPlaceHolder]=\"'properties.date.date.format.placeholder' | translate\" (ngModelChange)=\"dateFormatChange($event)\">\n <ng-container *ngFor=\"let dateFormat of dateFormats; trackBy: trackByLabelValue\">\n <nz-option [nzValue]=\"dateFormat.value\" [nzLabel]=\"dateFormat.label\"></nz-option>\n </ng-container>\n </nz-select>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"dateData.mode=='date'\">\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.time.format' | translate}}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-select name=\"elementTimeFormat\" \n [(ngModel)]=\"dateData.timeFormat\" \n [nzPlaceHolder]=\"'properties.date.time.format.placeholder' | translate\" (ngModelChange)=\"timeFormatChange($event)\">\n <ng-container *ngFor=\"let timeFormat of timeFormats; trackBy: trackByLabelValue\">\n <nz-option [nzValue]=\"timeFormat.value\" [nzLabel]=\"timeFormat.label\"></nz-option>\n </ng-container>\n </nz-select>\n </nz-form-control>\n </nz-form-item>\n\n <div nz-col nzSpan=\"8\" >\n <nz-form-item >\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.input.readonly' | translate }}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-switch name=\"elementInputReadOnly\" [(ngModel)]=\"dateData.inputReadOnly\" [nzCheckedChildren]=\"'common.yes' | translate\" [nzUnCheckedChildren]=\"'common.no' | translate\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n </div>\n <div nz-col nzSpan=\"8\" *ngIf=\"dateData.mode == 'date' && showTime\">\n <nz-form-item >\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.showNow' | translate }}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-switch name=\"elementShowNow\" [(ngModel)]=\"dateData.showNow\" [nzCheckedChildren]=\"'common.yes' | translate\" [nzUnCheckedChildren]=\"'common.no' | translate\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n </div>\n <div nz-col nzSpan=\"8\" *ngIf=\"dateData.mode == 'date'\">\n <nz-form-item >\n <nz-form-label [nzSpan]=\"24\">{{'properties.date.showToday' | translate }}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-switch name=\"elementShowToday\" [(ngModel)]=\"dateData.showToday\" [nzCheckedChildren]=\"'common.yes' | translate\" [nzUnCheckedChildren]=\"'common.no' | translate\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n </div>\n </div>\n <form-layout-properties [data]=\"formItemData\" [viewType]=\"viewType\"></form-layout-properties>\n <events-properties [data]=\"formItemData\"></events-properties>\n <validators-properties [data]=\"formItemData\"></validators-properties>\n</form>", styles: [".properties{padding:16px 16px 8px;border-radius:6px;border-style:none;background:#fff}.title{height:1.5715;color:#00000073;font-size:13px;line-height:1.5715;margin-top:16px;margin-bottom:8px}.icon{display:inline-block;width:16px;height:16px;background-size:cover;color:inherit;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:6px}.icon:hover,.icon:focus{filter:invert(41%) sepia(45%) saturate(2448%) hue-rotate(191deg) brightness(101%) contrast(101%)}.date-picker-with-time{width:220px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i5.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i6.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzForm"] }, { kind: "component", type: i6.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i6.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i6.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "component", type: i7.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i7.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus"], exportAs: ["nzSelect"] }, { kind: "component", type: i8.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "component", type: i9.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "component", type: i10.BasicPropertiesComponent, selector: "basic-properties", inputs: ["data"] }, { kind: "component", type: i11.ValidatorsPropertiesComponent, selector: "validators-properties", inputs: ["data"] }, { kind: "component", type: i12.FormLayoutPropertiesComponent, selector: "form-layout-properties", inputs: ["data", "viewType"] }, { kind: "component", type: i13.EventsPropertiesComponent, selector: "events-properties", inputs: ["data"] }, { kind: "directive", type: i14.DesignerPropertyChangeDirective, selector: "[name^=\"element\"], [name^=\"optionLabel_\"], [name^=\"optionValue_\"], [name=\"cssSetting\"], [name=\"cssFormLabel\"], [name=\"cssFormControl\"], [name=\"formUI\"], [name^=\"label\"], [name^=\"control\"], [name=\"textContent\"], [name=\"requiredMessage\"], [name=\"minLengthMessage\"], [name=\"maxLengthMessage\"], [name=\"patternTypeMessage\"], [name=\"patternMessage\"], [name=\"minlength\"], [name=\"maxlength\"], [name=\"patternType\"], [name=\"pattern\"], [name=\"requred\"], [name=\"hasPattern\"], [name=\"hasPatternType\"], [name=\"dateMode\"], [designerCanvasSync]" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DatePropertiesComponent, decorators: [{
111
+ type: Component,
112
+ args: [{ selector: 'date-properties', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form nz-form [nzLayout]=\"'vertical'\" >\n <basic-properties [data]=\"dateData\"></basic-properties>\n\n <div class=\"title\">{{ 'common.proprietary.property' | translate }}</div>\n <div class=\"properties\" >\n <nz-form-item>\n <nz-form-label [nzSpan]=\"24\">{{ 'common.default.value' | translate }}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <ng-container *ngFor=\"let key of [pickerPreviewKey]; trackBy: trackByPickerKey\">\n <nz-date-picker \n name=\"elementDefaultValue\" \n class=\"{{ showTime ? 'date-picker-with-time' : ''}}\" \n [nzMode]=\"dateData.mode\" \n [nzFormat]=\"dateData.format\" \n [nzShowTime]=\"showTime\"\n [ngModel]=\"dateData.defaultValue\"\n (ngModelChange)=\"onDefaultValueChange($event)\"></nz-date-picker>\n </ng-container>\n </nz-form-control>\n </nz-form-item>\n\n <nz-form-item>\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.mode' | translate}}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-select name=\"dateMode\" \n [(ngModel)]=\"dateData.mode\" \n [nzPlaceHolder]=\"'properties.date.mode.placeholder' | translate\" (ngModelChange)=\"dateModeChange($event)\">\n <ng-container *ngFor=\"let mode of modes; trackBy: trackByLabelValue\">\n <nz-option [nzValue]=\"mode.value\" [nzLabel]=\"mode.label\"></nz-option>\n </ng-container>\n </nz-select>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"dateData.mode=='date'\">\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.date.format' | translate}}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-select name=\"elementDateFormat\" \n [(ngModel)]=\"dateData.dateFormat\" \n [nzPlaceHolder]=\"'properties.date.date.format.placeholder' | translate\" (ngModelChange)=\"dateFormatChange($event)\">\n <ng-container *ngFor=\"let dateFormat of dateFormats; trackBy: trackByLabelValue\">\n <nz-option [nzValue]=\"dateFormat.value\" [nzLabel]=\"dateFormat.label\"></nz-option>\n </ng-container>\n </nz-select>\n </nz-form-control>\n </nz-form-item>\n <nz-form-item *ngIf=\"dateData.mode=='date'\">\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.time.format' | translate}}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-select name=\"elementTimeFormat\" \n [(ngModel)]=\"dateData.timeFormat\" \n [nzPlaceHolder]=\"'properties.date.time.format.placeholder' | translate\" (ngModelChange)=\"timeFormatChange($event)\">\n <ng-container *ngFor=\"let timeFormat of timeFormats; trackBy: trackByLabelValue\">\n <nz-option [nzValue]=\"timeFormat.value\" [nzLabel]=\"timeFormat.label\"></nz-option>\n </ng-container>\n </nz-select>\n </nz-form-control>\n </nz-form-item>\n\n <div nz-col nzSpan=\"8\" >\n <nz-form-item >\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.input.readonly' | translate }}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-switch name=\"elementInputReadOnly\" [(ngModel)]=\"dateData.inputReadOnly\" [nzCheckedChildren]=\"'common.yes' | translate\" [nzUnCheckedChildren]=\"'common.no' | translate\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n </div>\n <div nz-col nzSpan=\"8\" *ngIf=\"dateData.mode == 'date' && showTime\">\n <nz-form-item >\n <nz-form-label [nzSpan]=\"24\">{{ 'properties.date.showNow' | translate }}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-switch name=\"elementShowNow\" [(ngModel)]=\"dateData.showNow\" [nzCheckedChildren]=\"'common.yes' | translate\" [nzUnCheckedChildren]=\"'common.no' | translate\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n </div>\n <div nz-col nzSpan=\"8\" *ngIf=\"dateData.mode == 'date'\">\n <nz-form-item >\n <nz-form-label [nzSpan]=\"24\">{{'properties.date.showToday' | translate }}</nz-form-label>\n <nz-form-control [nzSpan]=\"24\">\n <nz-switch name=\"elementShowToday\" [(ngModel)]=\"dateData.showToday\" [nzCheckedChildren]=\"'common.yes' | translate\" [nzUnCheckedChildren]=\"'common.no' | translate\"></nz-switch>\n </nz-form-control>\n </nz-form-item>\n </div>\n </div>\n <form-layout-properties [data]=\"formItemData\" [viewType]=\"viewType\"></form-layout-properties>\n <events-properties [data]=\"formItemData\"></events-properties>\n <validators-properties [data]=\"formItemData\"></validators-properties>\n</form>", styles: [".properties{padding:16px 16px 8px;border-radius:6px;border-style:none;background:#fff}.title{height:1.5715;color:#00000073;font-size:13px;line-height:1.5715;margin-top:16px;margin-bottom:8px}.icon{display:inline-block;width:16px;height:16px;background-size:cover;color:inherit;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:6px}.icon:hover,.icon:focus{filter:invert(41%) sepia(45%) saturate(2448%) hue-rotate(191deg) brightness(101%) contrast(101%)}.date-picker-with-time{width:220px}\n"] }]
113
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }, { type: i2.DesignerCanvasRefreshService }], propDecorators: { itemData: [{
114
+ type: Input,
115
+ args: ["data"]
116
+ }], viewType: [{
117
+ type: Input,
118
+ args: ["viewType"]
119
+ }] } });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvcGFnZXMvZGVzaWduZXIvZWxlbWVudC1wcm9wZXJ0aWVzL2RhdGUtcHJvcGVydGllcy9kYXRlLXByb3BlcnRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9wYWdlcy9kZXNpZ25lci9lbGVtZW50LXByb3BlcnRpZXMvZGF0ZS1wcm9wZXJ0aWVzL2RhdGUtcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxLQUFLLEVBQXFCLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9HLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBSXBHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBUTNFLE1BQU0sT0FBTyx1QkFBdUI7SUFnQmxDLFlBQ1UsaUJBQW9DLEVBQ3BDLFNBQTJCLEVBQzNCLGFBQTJDO1FBRjNDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isa0JBQWEsR0FBYixhQUFhLENBQThCO1FBUDVDLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQy9DLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUNaLHFCQUFnQixHQUFHLENBQUMsQ0FBUyxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxD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QWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07Z0tBSS9DLFFBQVE7c0JBRFAsS0FBSzt1QkFBQyxNQUFNO2dCQUliLFFBQVE7c0JBRFAsS0FBSzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBEYXRlRm9ybWF0cywgTW9kZXMsIFRpbWVGb3JtYXRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2RpY3Rpb25hcmllcy9pdGVtcy10eXBlcy5jb25zdCc7XG5pbXBvcnQgeyBGb3JtSXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL21vZGVscy9mb3JtLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgSURhdGVQaWNrZXJNb2RlbCwgSTE4bkxhYmVsVmFsdWUsIElJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbW9kZWxzL2ktaXRlbXMubW9kZWwnO1xuaW1wb3J0IHsgRGVzaWduZXJDYW52YXNSZWZyZXNoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9kZXNpZ25lci1jYW52YXMtcmVmcmVzaC5zZXJ2aWNlJztcbmltcG9ydCB7IGFwcGx5RGF0ZU1vZGVDaGFuZ2UsIHJlc29sdmVQaWNrZXJTaG93VGltZSwgc3luY0RhdGVQaWNrZXJGb3JtYXQgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvdXRpbHMvZGF0ZS1mb3JtYXQudXRpbCc7XG5pbXBvcnQgeyBub3JtYWxpemVQaWNrZXJEYXRlVmFsdWUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvdXRpbHMvZm9ybS12YWx1ZXMudXRpbCc7XG5pbXBvcnQgeyB0cmFja0J5TGFiZWxWYWx1ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC91dGlscy90cmFjay1ieS51dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGF0ZS1wcm9wZXJ0aWVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcHJvcGVydGllcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcHJvcGVydGllcy5jb21wb25lbnQubGVzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUHJvcGVydGllc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KFwiZGF0YVwiKVxuICBpdGVtRGF0YSE6IElJdGVtTW9kZWw7XG5cbiAgQElucHV0KFwidmlld1R5cGVcIilcbiAgdmlld1R5cGUhOiBudW1iZXI7XG5cbiAgZGF0ZURhdGEhOiBJRGF0ZVBpY2tlck1vZGVsO1xuICBmb3JtSXRlbURhdGEhOiBGb3JtSXRlbU1vZGVsO1xuICBkYXRlRm9ybWF0cyE6IEkxOG5MYWJlbFZhbHVlW107XG4gIHRpbWVGb3JtYXRzITogSTE4bkxhYmVsVmFsdWVbXTtcbiAgbW9kZXMhOiBJMThuTGFiZWxWYWx1ZVtdO1xuICByZWFkb25seSB0cmFja0J5TGFiZWxWYWx1ZSA9IHRyYWNrQnlMYWJlbFZhbHVlO1xuICBwaWNrZXJQcmV2aWV3S2V5ID0gMDtcbiAgcmVhZG9ubHkgdHJhY2tCeVBpY2tlcktleSA9IChfOiBudW1iZXIsIGtleTogbnVtYmVyKSA9PiBrZXk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYW52YXNSZWZyZXNoOiBEZXNpZ25lckNhbnZhc1JlZnJlc2hTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFDaGFuZ2UoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YUNoYW5nZSgpO1xuICB9XG5cbiAgZGF0YUNoYW5nZSgpIHtcbiAgICBsZXQgY3VycmVudExhbmcgPSAhIXRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nP3RoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nOnRoaXMudHJhbnNsYXRlLmRlZmF1bHRMYW5nO1xuICAgIHRoaXMuZGF0ZUZvcm1hdHMgPSBEYXRlRm9ybWF0cy5maWx0ZXIoIHJlcyA9PiB7XG4gICAgICBpZiAocmVzLmkxOG4gPT0gY3VycmVudExhbmcpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9ZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBcbiAgICB0aGlzLnRpbWVGb3JtYXRzID0gVGltZUZvcm1hdHMuZmlsdGVyKCByZXMgPT4ge1xuICAgICAgaWYgKHJlcy5pMThuID09IGN1cnJlbnRMYW5nKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfWVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLm1vZGVzID0gTW9kZXMuZmlsdGVyKCByZXMgPT4ge1xuICAgICAgaWYgKHJlcy5pMThuID09IGN1cnJlbnRMYW5nKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfWVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5kYXRlRGF0YSA9IHRoaXMuaXRlbURhdGEgYXMgSURhdGVQaWNrZXJNb2RlbDtcbiAgICB0aGlzLmZvcm1JdGVtRGF0YSA9IHRoaXMuaXRlbURhdGEgYXMgRm9ybUl0ZW1Nb2RlbDtcbiAgICB0aGlzLmRhdGVEYXRhLmRlZmF1bHRWYWx1ZSA9IG5vcm1hbGl6ZVBpY2tlckRhdGVWYWx1ZSh0aGlzLmRhdGVEYXRhLmRlZmF1bHRWYWx1ZSk7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMubW9kZXMuZmluZChyZXMgPT4gcmVzLnZhbHVlID09PSB0aGlzLmRhdGVEYXRhLm1vZGUpO1xuICAgIGFwcGx5RGF0ZU1vZGVDaGFuZ2UodGhpcy5kYXRlRGF0YSwgdGhpcy5kYXRlRGF0YS5tb2RlLCBtb2RlPy5mb3JtYXQsIGN1cnJlbnRMYW5nKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZGF0ZUZvcm1hdENoYW5nZShfZXY6IHVua25vd24pIHtcbiAgICBzeW5jRGF0ZVBpY2tlckZvcm1hdCh0aGlzLmRhdGVEYXRhLCB1bmRlZmluZWQsIHRoaXMuY3VycmVudExhbmcpO1xuICAgIHRoaXMuYnVtcFBpY2tlclByZXZpZXcoKTtcbiAgICB0aGlzLm5vdGlmeUNhbnZhcygpO1xuICB9XG5cbiAgdGltZUZvcm1hdENoYW5nZShfZXY6IHVua25vd24pIHtcbiAgICBzeW5jRGF0ZVBpY2tlckZvcm1hdCh0aGlzLmRhdGVEYXRhLCB1bmRlZmluZWQsIHRoaXMuY3VycmVudExhbmcpO1xuICAgIHRoaXMuYnVtcFBpY2tlclByZXZpZXcoKTtcbiAgICB0aGlzLm5vdGlmeUNhbnZhcygpO1xuICB9XG5cbiAgZGF0ZU1vZGVDaGFuZ2UoZXY6IHN0cmluZykge1xuICAgIGNvbnN0IG1vZGUgPSB0aGlzLm1vZGVzLmZpbmQocmVzID0+IHJlcy52YWx1ZSA9PT0gZXYpO1xuICAgIGFwcGx5RGF0ZU1vZGVDaGFuZ2UodGhpcy5kYXRlRGF0YSwgZXYsIG1vZGU/LmZvcm1hdCwgdGhpcy5jdXJyZW50TGFuZyk7XG4gICAgdGhpcy5idW1wUGlja2VyUHJldmlldygpO1xuICAgIHRoaXMubm90aWZ5Q2FudmFzKCk7XG4gIH1cblxuICBvbkRlZmF1bHRWYWx1ZUNoYW5nZSh2YWx1ZTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVQaWNrZXJEYXRlVmFsdWUodmFsdWUpO1xuICAgIHRoaXMuZm9ybUl0ZW1EYXRhLmRlZmF1bHRWYWx1ZSA9IG5vcm1hbGl6ZWQ7XG4gICAgdGhpcy5kYXRlRGF0YS5kZWZhdWx0VmFsdWUgPSBub3JtYWxpemVkO1xuICAgIHRoaXMubm90aWZ5Q2FudmFzKCk7XG4gIH1cblxuICBnZXQgc2hvd1RpbWUoKTogb2JqZWN0IHwgYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZURhdGE/Lm1vZGUgPT09ICdkYXRlJ1xuICAgICAgPyByZXNvbHZlUGlja2VyU2hvd1RpbWUodGhpcy5kYXRlRGF0YS50aW1lRm9ybWF0KVxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGN1cnJlbnRMYW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nIHx8IHRoaXMudHJhbnNsYXRlLmRlZmF1bHRMYW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBidW1wUGlja2VyUHJldmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnBpY2tlclByZXZpZXdLZXkrKztcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBub3RpZnlDYW52YXMoKTogdm9pZCB7XG4gICAgdGhpcy5jYW52YXNSZWZyZXNoLm5vdGlmeSgpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxmb3JtIG56LWZvcm0gW256TGF5b3V0XT1cIid2ZXJ0aWNhbCdcIiA+XG4gIDxiYXNpYy1wcm9wZXJ0aWVzIFtkYXRhXT1cImRhdGVEYXRhXCI+PC9iYXNpYy1wcm9wZXJ0aWVzPlxuXG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7ICdjb21tb24ucHJvcHJpZXRhcnkucHJvcGVydHknIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJwcm9wZXJ0aWVzXCIgPlxuICAgICAgPG56LWZvcm0taXRlbT5cbiAgICAgICAgICA8bnotZm9ybS1sYWJlbCBbbnpTcGFuXT1cIjI0XCI+e3sgJ2NvbW1vbi5kZWZhdWx0LnZhbHVlJyB8IHRyYW5zbGF0ZSB9fTwvbnotZm9ybS1sYWJlbD5cbiAgICAgICAgICA8bnotZm9ybS1jb250cm9sIFtuelNwYW5dPVwiMjRcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQga2V5IG9mIFtwaWNrZXJQcmV2aWV3S2V5XTsgdHJhY2tCeTogdHJhY2tCeVBpY2tlcktleVwiPlxuICAgICAgICAgICAgICA8bnotZGF0ZS1waWNrZXIgXG4gICAgICAgICAgICAgIG5hbWU9XCJlbGVtZW50RGVmYXVsdFZhbHVlXCIgXG4gICAgICAgICAgICAgIGNsYXNzPVwie3sgc2hvd1RpbWUgPyAnZGF0ZS1waWNrZXItd2l0aC10aW1lJyA6ICcnfX1cIiBcbiAgICAgICAgICAgICAgW256TW9kZV09XCJkYXRlRGF0YS5tb2RlXCIgXG4gICAgICAgICAgICAgIFtuekZvcm1hdF09XCJkYXRlRGF0YS5mb3JtYXRcIiBcbiAgICAgICAgICAgICAgW256U2hvd1RpbWVdPVwic2hvd1RpbWVcIlxuICAgICAgICAgICAgICBbbmdNb2RlbF09XCJkYXRlRGF0YS5kZWZhdWx0VmFsdWVcIlxuICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRlZmF1bHRWYWx1ZUNoYW5nZSgkZXZlbnQpXCI+PC9uei1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uei1mb3JtLWNvbnRyb2w+XG4gICAgICA8L256LWZvcm0taXRlbT5cblxuICAgICAgPG56LWZvcm0taXRlbT5cbiAgICAgICAgICA8bnotZm9ybS1sYWJlbCBbbnpTcGFuXT1cIjI0XCI+e3sgJ3Byb3BlcnRpZXMuZGF0ZS5tb2RlJyB8IHRyYW5zbGF0ZX19PC9uei1mb3JtLWxhYmVsPlxuICAgICAgICAgIDxuei1mb3JtLWNvbnRyb2wgW256U3Bhbl09XCIyNFwiPlxuICAgICAgICAgICAgPG56LXNlbGVjdCBuYW1lPVwiZGF0ZU1vZGVcIiBcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZGF0ZURhdGEubW9kZVwiIFxuICAgICAgICAgICAgW256UGxhY2VIb2xkZXJdPVwiJ3Byb3BlcnRpZXMuZGF0ZS5tb2RlLnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiIChuZ01vZGVsQ2hhbmdlKT1cImRhdGVNb2RlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbW9kZSBvZiBtb2RlczsgdHJhY2tCeTogdHJhY2tCeUxhYmVsVmFsdWVcIj5cbiAgICAgICAgICAgICAgICA8bnotb3B0aW9uIFtuelZhbHVlXT1cIm1vZGUudmFsdWVcIiBbbnpMYWJlbF09XCJtb2RlLmxhYmVsXCI+PC9uei1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uei1zZWxlY3Q+XG4gICAgICAgICAgPC9uei1mb3JtLWNvbnRyb2w+XG4gICAgICA8L256LWZvcm0taXRlbT5cbiAgICAgIDxuei1mb3JtLWl0ZW0gKm5nSWY9XCJkYXRlRGF0YS5tb2RlPT0nZGF0ZSdcIj5cbiAgICAgICAgICA8bnotZm9ybS1sYWJlbCBbbnpTcGFuXT1cIjI0XCI+e3sgJ3Byb3BlcnRpZXMuZGF0ZS5kYXRlLmZvcm1hdCcgfCB0cmFuc2xhdGV9fTwvbnotZm9ybS1sYWJlbD5cbiAgICAgICAgICA8bnotZm9ybS1jb250cm9sIFtuelNwYW5dPVwiMjRcIj5cbiAgICAgICAgICAgIDxuei1zZWxlY3QgbmFtZT1cImVsZW1lbnREYXRlRm9ybWF0XCIgXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImRhdGVEYXRhLmRhdGVGb3JtYXRcIiBcbiAgICAgICAgICAgIFtuelBsYWNlSG9sZGVyXT1cIidwcm9wZXJ0aWVzLmRhdGUuZGF0ZS5mb3JtYXQucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCIgKG5nTW9kZWxDaGFuZ2UpPVwiZGF0ZUZvcm1hdENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGRhdGVGb3JtYXQgb2YgZGF0ZUZvcm1hdHM7IHRyYWNrQnk6IHRyYWNrQnlMYWJlbFZhbHVlXCI+XG4gICAgICAgICAgICAgICAgPG56LW9wdGlvbiBbbnpWYWx1ZV09XCJkYXRlRm9ybWF0LnZhbHVlXCIgW256TGFiZWxdPVwiZGF0ZUZvcm1hdC5sYWJlbFwiPjwvbnotb3B0aW9uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbnotc2VsZWN0PlxuICAgICAgICAgIDwvbnotZm9ybS1jb250cm9sPlxuICAgICAgPC9uei1mb3JtLWl0ZW0+XG4gICAgICA8bnotZm9ybS1pdGVtICpuZ0lmPVwiZGF0ZURhdGEubW9kZT09J2RhdGUnXCI+XG4gICAgICAgICAgPG56LWZvcm0tbGFiZWwgW256U3Bhbl09XCIyNFwiPnt7ICdwcm9wZXJ0aWVzLmRhdGUudGltZS5mb3JtYXQnIHwgdHJhbnNsYXRlfX08L256LWZvcm0tbGFiZWw+XG4gICAgICAgICAgPG56LWZvcm0tY29udHJvbCBbbnpTcGFuXT1cIjI0XCI+XG4gICAgICAgICAgICA8bnotc2VsZWN0IG5hbWU9XCJlbGVtZW50VGltZUZvcm1hdFwiIFxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXRlRGF0YS50aW1lRm9ybWF0XCIgXG4gICAgICAgICAgICBbbnpQbGFjZUhvbGRlcl09XCIncHJvcGVydGllcy5kYXRlLnRpbWUuZm9ybWF0LnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiIChuZ01vZGVsQ2hhbmdlKT1cInRpbWVGb3JtYXRDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0aW1lRm9ybWF0IG9mIHRpbWVGb3JtYXRzOyB0cmFja0J5OiB0cmFja0J5TGFiZWxWYWx1ZVwiPlxuICAgICAgICAgICAgICAgIDxuei1vcHRpb24gW256VmFsdWVdPVwidGltZUZvcm1hdC52YWx1ZVwiIFtuekxhYmVsXT1cInRpbWVGb3JtYXQubGFiZWxcIj48L256LW9wdGlvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L256LXNlbGVjdD5cbiAgICAgICAgICA8L256LWZvcm0tY29udHJvbD5cbiAgICAgIDwvbnotZm9ybS1pdGVtPlxuXG4gICAgICA8ZGl2IG56LWNvbCBuelNwYW49XCI4XCIgPlxuICAgICAgICAgIDxuei1mb3JtLWl0ZW0gPlxuICAgICAgICAgICAgPG56LWZvcm0tbGFiZWwgW256U3Bhbl09XCIyNFwiPnt7ICdwcm9wZXJ0aWVzLmRhdGUuaW5wdXQucmVhZG9ubHknIHwgdHJhbnNsYXRlIH19PC9uei1mb3JtLWxhYmVsPlxuICAgICAgICAgICAgPG56LWZvcm0tY29udHJvbCBbbnpTcGFuXT1cIjI0XCI+XG4gICAgICAgICAgICAgIDxuei1zd2l0Y2ggbmFtZT1cImVsZW1lbnRJbnB1dFJlYWRPbmx5XCIgWyhuZ01vZGVsKV09XCJkYXRlRGF0YS5pbnB1dFJlYWRPbmx5XCIgW256Q2hlY2tlZENoaWxkcmVuXT1cIidjb21tb24ueWVzJyB8IHRyYW5zbGF0ZVwiIFtuelVuQ2hlY2tlZENoaWxkcmVuXT1cIidjb21tb24ubm8nIHwgdHJhbnNsYXRlXCI+PC9uei1zd2l0Y2g+XG4gICAgICAgICAgICA8L256LWZvcm0tY29udHJvbD5cbiAgICAgICAgICA8L256LWZvcm0taXRlbT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgbnotY29sIG56U3Bhbj1cIjhcIiAqbmdJZj1cImRhdGVEYXRhLm1vZGUgPT0gJ2RhdGUnICYmIHNob3dUaW1lXCI+XG4gICAgICAgICAgPG56LWZvcm0taXRlbSA+XG4gICAgICAgICAgICA8bnotZm9ybS1sYWJlbCBbbnpTcGFuXT1cIjI0XCI+e3sgJ3Byb3BlcnRpZXMuZGF0ZS5zaG93Tm93JyB8IHRyYW5zbGF0ZSB9fTwvbnotZm9ybS1sYWJlbD5cbiAgICAgICAgICAgIDxuei1mb3JtLWNvbnRyb2wgW256U3Bhbl09XCIyNFwiPlxuICAgICAgICAgICAgICA8bnotc3dpdGNoIG5hbWU9XCJlbGVtZW50U2hvd05vd1wiIFsobmdNb2RlbCldPVwiZGF0ZURhdGEuc2hvd05vd1wiIFtuekNoZWNrZWRDaGlsZHJlbl09XCInY29tbW9uLnllcycgfCB0cmFuc2xhdGVcIiBbbnpVbkNoZWNrZWRDaGlsZHJlbl09XCInY29tbW9uLm5vJyB8IHRyYW5zbGF0ZVwiPjwvbnotc3dpdGNoPlxuICAgICAgICAgICAgPC9uei1mb3JtLWNvbnRyb2w+XG4gICAgICAgICAgPC9uei1mb3JtLWl0ZW0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IG56LWNvbCBuelNwYW49XCI4XCIgKm5nSWY9XCJkYXRlRGF0YS5tb2RlID09ICdkYXRlJ1wiPlxuICAgICAgICAgIDxuei1mb3JtLWl0ZW0gPlxuICAgICAgICAgICAgPG56LWZvcm0tbGFiZWwgW256U3Bhbl09XCIyNFwiPnt7J3Byb3BlcnRpZXMuZGF0ZS5zaG93VG9kYXknIHwgdHJhbnNsYXRlIH19PC9uei1mb3JtLWxhYmVsPlxuICAgICAgICAgICAgPG56LWZvcm0tY29udHJvbCBbbnpTcGFuXT1cIjI0XCI+XG4gICAgICAgICAgICAgIDxuei1zd2l0Y2ggbmFtZT1cImVsZW1lbnRTaG93VG9kYXlcIiBbKG5nTW9kZWwpXT1cImRhdGVEYXRhLnNob3dUb2RheVwiIFtuekNoZWNrZWRDaGlsZHJlbl09XCInY29tbW9uLnllcycgfCB0cmFuc2xhdGVcIiBbbnpVbkNoZWNrZWRDaGlsZHJlbl09XCInY29tbW9uLm5vJyB8IHRyYW5zbGF0ZVwiPjwvbnotc3dpdGNoPlxuICAgICAgICAgICAgPC9uei1mb3JtLWNvbnRyb2w+XG4gICAgICAgICAgPC9uei1mb3JtLWl0ZW0+XG4gICAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGZvcm0tbGF5b3V0LXByb3BlcnRpZXMgW2RhdGFdPVwiZm9ybUl0ZW1EYXRhXCIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCI+PC9mb3JtLWxheW91dC1wcm9wZXJ0aWVzPlxuICAgICAgPGV2ZW50cy1wcm9wZXJ0aWVzIFtkYXRhXT1cImZvcm1JdGVtRGF0YVwiPjwvZXZlbnRzLXByb3BlcnRpZXM+XG4gICAgPHZhbGlkYXRvcnMtcHJvcGVydGllcyBbZGF0YV09XCJmb3JtSXRlbURhdGFcIj48L3ZhbGlkYXRvcnMtcHJvcGVydGllcz5cbjwvZm9ybT4iXX0=