@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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 JinmuTech
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,140 @@
1
+ # JmFormDesign
2
+
3
+ 面向 **Angular 17 + ng-zorro-antd** 的可视化表单设计器:拖拽搭建、JSON 导入导出、代码生成、嵌入模式。
4
+
5
+ > **npm 包名:** `@jinmutech/ng-zorro-form-design`(与 `@jinmutech/ngx-monaco-editor` 同属 JinmuTech scope)。
6
+ > 本项目为基于 ng-zorro-antd 的表单设计器,**非** ng-zorro 官方包。
7
+
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
9
+ [![Angular](https://img.shields.io/badge/Angular-17-red.svg)](https://angular.io/)
10
+ [![ng-zorro](https://img.shields.io/badge/ng--zorro-17-blue.svg)](https://ng.ant.design/)
11
+
12
+ > **English:** A drag-and-drop form designer for Angular 17 and ng-zorro-antd with JSON/code export and embed mode.
13
+
14
+ ## 特性
15
+
16
+ - 拖拽设计表单(栅格、表格、标签页、卡片等布局)
17
+ - JSON 导入 / 导出 / 在线编辑(Monaco)
18
+ - 生成 HTML / TypeScript / CSS 代码
19
+ - 嵌入模式(`embedded`)与保存事件
20
+ - 中英文 i18n
21
+ - 164 单元测试
22
+
23
+ ## 在线体验
24
+
25
+ 克隆仓库后本地运行 Demo(见下方「快速开始」)。
26
+ 部署静态 Demo:`npm run build:demo`,将 `dist/jm-form-design` 发布到 Gitee Pages / GitHub Pages。
27
+
28
+ ## 版本与兼容
29
+
30
+ | 项 | 版本 |
31
+ |----|------|
32
+ | Angular | **17.x**(`peerDependencies`) |
33
+ | ng-zorro-antd | **17.x** |
34
+ | TypeScript | **~5.4.x**(Angular 17.3 要求 `<5.5`) |
35
+ | Node | **18+** 或 **20 LTS**(推荐,见 `.nvmrc`) |
36
+ | RxJS | 7.8+ |
37
+
38
+ 历史版本:Angular 14 快照 tag [`v0.0.142-ng14`](https://gitee.com/jzwsoft/jm-form-design/releases/tag/v0.0.142-ng14)(不再维护)。
39
+
40
+ ## 快速开始(Demo)
41
+
42
+ ```bash
43
+ git clone https://gitee.com/jzwsoft/jm-form-design.git
44
+ cd jm-form-design
45
+ npm install
46
+ npm start
47
+ ```
48
+
49
+ 浏览器打开 http://localhost:4200/designer
50
+
51
+ ## 作为库安装
52
+
53
+ ```bash
54
+ npm install @jinmutech/ng-zorro-form-design ng-zorro-antd ngx-monaco-editor-v2 monaco-editor @ngx-translate/core @ngx-translate/http-loader
55
+ ```
56
+
57
+ ### 1. 引入模块
58
+
59
+ ```typescript
60
+ import { DesignerModule } from '@jinmutech/ng-zorro-form-design';
61
+
62
+ @NgModule({
63
+ imports: [
64
+ DesignerModule,
65
+ // 宿主应用需已配置 BrowserAnimationsModule、HttpClientModule、ng-zorro、TranslateModule
66
+ ]
67
+ })
68
+ export class AppModule {}
69
+ ```
70
+
71
+ ### 2. 模板使用
72
+
73
+ **独立设计器页面:**
74
+
75
+ ```html
76
+ <app-designer></app-designer>
77
+ ```
78
+
79
+ **嵌入模式(隐藏顶栏 Logo,导入 JSON 走 Modal,显示保存按钮):**
80
+
81
+ ```html
82
+ <app-designer
83
+ [embedded]="true"
84
+ [initialFormModel]="formJson"
85
+ (formSave)="onSave($event)"
86
+ (formChange)="onChange($event)">
87
+ </app-designer>
88
+ ```
89
+
90
+ ### 3. Monaco 静态资源
91
+
92
+ 在宿主 `angular.json` 的 `assets` 中加入:
93
+
94
+ ```json
95
+ {
96
+ "glob": "**/*",
97
+ "input": "node_modules/monaco-editor",
98
+ "output": "assets/monaco"
99
+ }
100
+ ```
101
+
102
+ 库内 Monaco 懒加载模块默认 `baseUrl: './assets'`,宿主需将 `monaco-editor` 复制到 `assets/monaco/`(见上方 `angular.json` 示例)。
103
+
104
+ ### 4. i18n 资源
105
+
106
+ 将库内 `assets/i18n/` 合并到宿主,或配置 `TranslateHttpLoader` 指向相同路径。
107
+
108
+ ## 构建与测试
109
+
110
+ ```bash
111
+ npm run build # Demo 应用
112
+ npm run test:ci # 单元测试(Headless Chrome)
113
+ npm run packagr # 库产物 → dist/
114
+ ```
115
+
116
+ ## 导出 API
117
+
118
+ ```typescript
119
+ import {
120
+ DesignerModule,
121
+ DesignerComponent,
122
+ PlayModule,
123
+ PlayComponent,
124
+ FormModel
125
+ } from '@jinmutech/ng-zorro-form-design';
126
+ ```
127
+
128
+ ## 企业支持
129
+
130
+ - 官网:[jinmutech.cn](https://www.jinmutech.cn)
131
+ - 定制实施、私有化部署、行业模板与后端表单引擎集成
132
+ - Issue:[Gitee Issues](https://gitee.com/jzwsoft/jm-form-design/issues)
133
+
134
+ ## 参与贡献
135
+
136
+ 见 [CONTRIBUTING.md](CONTRIBUTING.md)。升级记录见 [docs/upgrade-angular-17.md](docs/upgrade-angular-17.md)。
137
+
138
+ ## License
139
+
140
+ [MIT](LICENSE) © JinmuTech
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamlubXV0ZWNoLW5nLXpvcnJvLWZvcm0tZGVzaWduLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vamlubXV0ZWNoLW5nLXpvcnJvLWZvcm0tZGVzaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export * from './src/app/pages/designer/designer.module';
2
+ export * from './src/app/pages/designer/designer.component';
3
+ export * from './src/app/pages/designer/play/play.module';
4
+ export * from './src/app/pages/designer/play/play.component';
5
+ export * from './src/app/pages/designer/play/play-zorro/play-zorro.component';
6
+ export * from './src/app/shared/utils/form-values.util';
7
+ export * from './src/app/shared/models/form.model';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9wYWdlcy9kZXNpZ25lci9kZXNpZ25lci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvYXBwL3BhZ2VzL2Rlc2lnbmVyL2Rlc2lnbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvcGFnZXMvZGVzaWduZXIvcGxheS9wbGF5Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvcGFnZXMvZGVzaWduZXIvcGxheS9wbGF5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvcGFnZXMvZGVzaWduZXIvcGxheS9wbGF5LXpvcnJvL3BsYXktem9ycm8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FwcC9zaGFyZWQvdXRpbHMvZm9ybS12YWx1ZXMudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9hcHAvc2hhcmVkL21vZGVscy9mb3JtLm1vZGVsJzsiXX0=
@@ -0,0 +1,82 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DragDropService } from './drag-drop.service';
3
+ import { DragDirective } from './drag-drop/drag.directive';
4
+ import { DropDirective } from './drag-drop/drop.directive';
5
+ import { BgColorDirective } from './table/bgcolor.directive';
6
+ import { BorderColorDirective } from './table/borderColor.directive';
7
+ import { BorderWidthDirective } from './table/borderWidth.directive';
8
+ import { CellpaddingDirective } from './table/cellpadding.directive';
9
+ import { CellspacingDirective } from './table/cellspacing.directive';
10
+ import { AlignDirective } from './table/td/align.directive';
11
+ import { ColspanDirective } from './table/td/colspan.directive';
12
+ import { HeightDirective } from './table/td/height.directive';
13
+ import { RowspanDirective } from './table/td/rowspan.directive';
14
+ import { VAlignDirective } from './table/td/valign.directive';
15
+ import { WidthDirective } from './table/td/width.directive';
16
+ import * as i0 from "@angular/core";
17
+ export class DirectiveModule {
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DirectiveModule, declarations: [DragDirective,
20
+ DropDirective,
21
+ ColspanDirective,
22
+ RowspanDirective,
23
+ BgColorDirective,
24
+ BorderWidthDirective,
25
+ BorderColorDirective,
26
+ CellpaddingDirective,
27
+ CellspacingDirective,
28
+ AlignDirective,
29
+ VAlignDirective,
30
+ HeightDirective,
31
+ WidthDirective], exports: [DragDirective,
32
+ DropDirective,
33
+ ColspanDirective,
34
+ RowspanDirective,
35
+ BgColorDirective,
36
+ BorderWidthDirective,
37
+ BorderColorDirective,
38
+ CellpaddingDirective,
39
+ CellspacingDirective,
40
+ AlignDirective,
41
+ VAlignDirective,
42
+ HeightDirective,
43
+ WidthDirective] }); }
44
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DirectiveModule, providers: [DragDropService] }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DirectiveModule, decorators: [{
47
+ type: NgModule,
48
+ args: [{
49
+ declarations: [
50
+ DragDirective,
51
+ DropDirective,
52
+ ColspanDirective,
53
+ RowspanDirective,
54
+ BgColorDirective,
55
+ BorderWidthDirective,
56
+ BorderColorDirective,
57
+ CellpaddingDirective,
58
+ CellspacingDirective,
59
+ AlignDirective,
60
+ VAlignDirective,
61
+ HeightDirective,
62
+ WidthDirective
63
+ ],
64
+ exports: [
65
+ DragDirective,
66
+ DropDirective,
67
+ ColspanDirective,
68
+ RowspanDirective,
69
+ BgColorDirective,
70
+ BorderWidthDirective,
71
+ BorderColorDirective,
72
+ CellpaddingDirective,
73
+ CellspacingDirective,
74
+ AlignDirective,
75
+ VAlignDirective,
76
+ HeightDirective,
77
+ WidthDirective
78
+ ],
79
+ providers: [DragDropService]
80
+ }]
81
+ }] });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBbUM1RCxNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO2dIQUFmLGVBQWUsaUJBL0J4QixhQUFhO1lBQ2IsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGVBQWU7WUFDZixjQUFjLGFBR2QsYUFBYTtZQUNiLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsY0FBYztnSEFJTCxlQUFlLGFBRmhCLENBQUMsZUFBZSxDQUFDOzs0RkFFaEIsZUFBZTtrQkFqQzNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7cUJBQ2Y7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGNBQWM7cUJBQ2Y7b0JBQ0QsU0FBUyxFQUFDLENBQUMsZUFBZSxDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEcmFnRHJvcFNlcnZpY2UgfSBmcm9tICcuL2RyYWctZHJvcC5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdEaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctZHJvcC9kcmFnLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEcm9wRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLWRyb3AvZHJvcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmdDb2xvckRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUvYmdjb2xvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQm9yZGVyQ29sb3JEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlL2JvcmRlckNvbG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCb3JkZXJXaWR0aERpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUvYm9yZGVyV2lkdGguZGlyZWN0aXZlJztcbmltcG9ydCB7IENlbGxwYWRkaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS9jZWxscGFkZGluZy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2VsbHNwYWNpbmdEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlL2NlbGxzcGFjaW5nLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbGlnbkRpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUvdGQvYWxpZ24uZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbHNwYW5EaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlL3RkL2NvbHNwYW4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEhlaWdodERpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUvdGQvaGVpZ2h0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSb3dzcGFuRGlyZWN0aXZlIH0gZnJvbSAnLi90YWJsZS90ZC9yb3dzcGFuLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBWQWxpZ25EaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlL3RkL3ZhbGlnbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2lkdGhEaXJlY3RpdmUgfSBmcm9tICcuL3RhYmxlL3RkL3dpZHRoLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERyYWdEaXJlY3RpdmUsXG4gICAgRHJvcERpcmVjdGl2ZSxcbiAgICBDb2xzcGFuRGlyZWN0aXZlLFxuICAgIFJvd3NwYW5EaXJlY3RpdmUsXG4gICAgQmdDb2xvckRpcmVjdGl2ZSxcbiAgICBCb3JkZXJXaWR0aERpcmVjdGl2ZSxcbiAgICBCb3JkZXJDb2xvckRpcmVjdGl2ZSxcbiAgICBDZWxscGFkZGluZ0RpcmVjdGl2ZSxcbiAgICBDZWxsc3BhY2luZ0RpcmVjdGl2ZSxcbiAgICBBbGlnbkRpcmVjdGl2ZSxcbiAgICBWQWxpZ25EaXJlY3RpdmUsXG4gICAgSGVpZ2h0RGlyZWN0aXZlLFxuICAgIFdpZHRoRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEcmFnRGlyZWN0aXZlLFxuICAgIERyb3BEaXJlY3RpdmUsXG4gICAgQ29sc3BhbkRpcmVjdGl2ZSxcbiAgICBSb3dzcGFuRGlyZWN0aXZlLFxuICAgIEJnQ29sb3JEaXJlY3RpdmUsXG4gICAgQm9yZGVyV2lkdGhEaXJlY3RpdmUsXG4gICAgQm9yZGVyQ29sb3JEaXJlY3RpdmUsXG4gICAgQ2VsbHBhZGRpbmdEaXJlY3RpdmUsXG4gICAgQ2VsbHNwYWNpbmdEaXJlY3RpdmUsXG4gICAgQWxpZ25EaXJlY3RpdmUsXG4gICAgVkFsaWduRGlyZWN0aXZlLFxuICAgIEhlaWdodERpcmVjdGl2ZSxcbiAgICBXaWR0aERpcmVjdGl2ZVxuICBdLFxuICBwcm92aWRlcnM6W0RyYWdEcm9wU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRGlyZWN0aXZlTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,71 @@
1
+ import { Directive, HostListener, Input, Output, EventEmitter } from '@angular/core';
2
+ import { AbstractFactory } from '../../shared/factories/items-factory';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../drag-drop.service";
5
+ export class DragDirective {
6
+ set isDraggable(value) {
7
+ this.isDraggble = value;
8
+ this.rd.setAttribute(this.el.nativeElement, 'draggable', `${value}`);
9
+ }
10
+ get isDraggable() {
11
+ return this.isDraggble;
12
+ }
13
+ constructor(el, rd, dragDropService) {
14
+ this.el = el;
15
+ this.rd = rd;
16
+ this.dragDropService = dragDropService;
17
+ this.isDraggble = false;
18
+ this.onDragEndEvent = new EventEmitter();
19
+ this.onDragStartEvent = new EventEmitter();
20
+ }
21
+ onDragStart(ev) {
22
+ const itemModel = AbstractFactory.instance.getItem(this.dragControlName).makeItem();
23
+ if (this.isCreate) {
24
+ this.dragDropService.setDragData(itemModel);
25
+ this.onDragStartEvent.emit(itemModel);
26
+ }
27
+ else {
28
+ itemModel.id = this.dragObjectId;
29
+ itemModel.isCreate = this.isCreate;
30
+ this.dragDropService.setDragData(itemModel);
31
+ this.onDragStartEvent.emit(itemModel);
32
+ }
33
+ ev.stopPropagation();
34
+ }
35
+ onDragEnd(ev) {
36
+ ev.preventDefault();
37
+ ev.stopPropagation();
38
+ this.onDragEndEvent.emit(ev);
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DragDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DragDropService }], target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DragDirective, selector: "[isDraggable]", inputs: { isDraggable: "isDraggable", dragControlName: "dragControlName", isCreate: "isCreate", dragObjectId: "dragObjectId" }, outputs: { onDragEndEvent: "onDragEndEvent", onDragStartEvent: "onDragStartEvent" }, host: { listeners: { "dragstart": "onDragStart($event)", "dragend": "onDragEnd($event)" } }, ngImport: i0 }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DragDirective, decorators: [{
44
+ type: Directive,
45
+ args: [{
46
+ selector: '[isDraggable]'
47
+ }]
48
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DragDropService }], propDecorators: { isDraggable: [{
49
+ type: Input,
50
+ args: ['isDraggable']
51
+ }], dragControlName: [{
52
+ type: Input,
53
+ args: ['dragControlName']
54
+ }], isCreate: [{
55
+ type: Input,
56
+ args: ['isCreate']
57
+ }], dragObjectId: [{
58
+ type: Input,
59
+ args: ['dragObjectId']
60
+ }], onDragEndEvent: [{
61
+ type: Output
62
+ }], onDragStartEvent: [{
63
+ type: Output
64
+ }], onDragStart: [{
65
+ type: HostListener,
66
+ args: ['dragstart', ['$event']]
67
+ }], onDragEnd: [{
68
+ type: HostListener,
69
+ args: ['dragend', ['$event']]
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZS9kcmFnLWRyb3AvZHJhZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXlCLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBUXZFLE1BQU0sT0FBTyxhQUFhO0lBR3hCLElBQ0ksV0FBVyxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFjRCxZQUNVLEVBQWMsRUFDZCxFQUFhLEVBQ2IsZUFBZ0M7UUFGaEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUEzQmxDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFvQjNCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUUvQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO0lBTS9DLENBQUM7SUFHSixXQUFXLENBQUMsRUFBYTtRQUN2QixNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFcEYsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNqQyxTQUFTLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBRUQsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxTQUFTLENBQUMsRUFBYTtRQUNyQixFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7K0dBckRVLGFBQWE7bUdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFIekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7cUlBS0ssV0FBVztzQkFEZCxLQUFLO3VCQUFDLGFBQWE7Z0JBV3BCLGVBQWU7c0JBRGQsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBR3hCLFFBQVE7c0JBRFAsS0FBSzt1QkFBQyxVQUFVO2dCQUdqQixZQUFZO3NCQURYLEtBQUs7dUJBQUMsY0FBYztnQkFJckIsY0FBYztzQkFEYixNQUFNO2dCQUdQLGdCQUFnQjtzQkFEZixNQUFNO2dCQVVQLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBa0JyQyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEZhY3RvcnkgfSBmcm9tICcuLi8uLi9zaGFyZWQvZmFjdG9yaWVzL2l0ZW1zLWZhY3RvcnknO1xuaW1wb3J0IEl0ZW1UeXBlRW51bSBmcm9tICcuLi8uLi9zaGFyZWQvZGljdGlvbmFyaWVzL2l0ZW0tdHlwZXMtZW51bSc7XG5pbXBvcnQgeyBJSXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9pLWl0ZW1zLm1vZGVsJztcbmltcG9ydCB7IERyYWdEcm9wU2VydmljZSB9IGZyb20gJy4uL2RyYWctZHJvcC5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lzRHJhZ2dhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ0RpcmVjdGl2ZSB7XG4gIHByaXZhdGUgaXNEcmFnZ2JsZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnaXNEcmFnZ2FibGUnKVxuICBzZXQgaXNEcmFnZ2FibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzRHJhZ2dibGUgPSB2YWx1ZTtcbiAgICB0aGlzLnJkLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkcmFnZ2FibGUnLCBgJHt2YWx1ZX1gKTtcbiAgfVxuXG4gIGdldCBpc0RyYWdnYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0RyYWdnYmxlO1xuICB9XG5cbiAgQElucHV0KCdkcmFnQ29udHJvbE5hbWUnKVxuICBkcmFnQ29udHJvbE5hbWUhOiBJdGVtVHlwZUVudW07XG4gIEBJbnB1dCgnaXNDcmVhdGUnKVxuICBpc0NyZWF0ZSE6IGJvb2xlYW47XG4gIEBJbnB1dCgnZHJhZ09iamVjdElkJylcbiAgZHJhZ09iamVjdElkITogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBvbkRyYWdFbmRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RHJhZ0V2ZW50PigpO1xuICBAT3V0cHV0KClcbiAgb25EcmFnU3RhcnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8SUl0ZW1Nb2RlbD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmQ6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGRyYWdEcm9wU2VydmljZTogRHJhZ0Ryb3BTZXJ2aWNlXG4gICkge31cblxuICBASG9zdExpc3RlbmVyKCdkcmFnc3RhcnQnLCBbJyRldmVudCddKVxuICBvbkRyYWdTdGFydChldjogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaXRlbU1vZGVsID0gQWJzdHJhY3RGYWN0b3J5Lmluc3RhbmNlLmdldEl0ZW0odGhpcy5kcmFnQ29udHJvbE5hbWUpLm1ha2VJdGVtKCk7XG5cbiAgICBpZiAodGhpcy5pc0NyZWF0ZSkge1xuICAgICAgdGhpcy5kcmFnRHJvcFNlcnZpY2Uuc2V0RHJhZ0RhdGEoaXRlbU1vZGVsKTtcbiAgICAgIHRoaXMub25EcmFnU3RhcnRFdmVudC5lbWl0KGl0ZW1Nb2RlbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZW1Nb2RlbC5pZCA9IHRoaXMuZHJhZ09iamVjdElkO1xuICAgICAgaXRlbU1vZGVsLmlzQ3JlYXRlID0gdGhpcy5pc0NyZWF0ZTtcbiAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLnNldERyYWdEYXRhKGl0ZW1Nb2RlbCk7XG4gICAgICB0aGlzLm9uRHJhZ1N0YXJ0RXZlbnQuZW1pdChpdGVtTW9kZWwpO1xuICAgIH1cblxuICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VuZCcsIFsnJGV2ZW50J10pXG4gIG9uRHJhZ0VuZChldjogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm9uRHJhZ0VuZEV2ZW50LmVtaXQoZXYpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,118 @@
1
+ import { Directive, HostListener, Input, Output, EventEmitter } from '@angular/core';
2
+ import { DragObjectModel } from '../../shared/models/drag-object.model';
3
+ import { GlobalConstant } from '../../shared/global-const';
4
+ import { ComponentOperation } from '../../shared/utils/component.operation';
5
+ import { queryElementByItemId } from '../../shared/utils/dom-query.util';
6
+ import { isInteractiveClickTarget } from '../../shared/utils/interactive-target.util';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../drag-drop.service";
9
+ export class DropDirective {
10
+ set isDroppable(value) {
11
+ this._isDroppable = value;
12
+ this.rd.setAttribute(this.el.nativeElement, 'droppable', `${value}`);
13
+ }
14
+ get isDroppable() {
15
+ return this._isDroppable;
16
+ }
17
+ constructor(el, rd, dragDropService) {
18
+ this.el = el;
19
+ this.rd = rd;
20
+ this.dragDropService = dragDropService;
21
+ this._isDroppable = false;
22
+ this.onDragEnterEvent = new EventEmitter();
23
+ this.onDragOverEvent = new EventEmitter();
24
+ this.onDragLeaveEvent = new EventEmitter();
25
+ this.onDropEvent = new EventEmitter();
26
+ this.onClickEvent = new EventEmitter();
27
+ }
28
+ buildDragObject(element, clientX, clientY, dragData) {
29
+ const offset = ComponentOperation.fetchFullOffsetXY(element);
30
+ const dragObject = new DragObjectModel();
31
+ dragObject.id = element.id;
32
+ dragObject.offsetTop = offset.offsetTop;
33
+ dragObject.offsetLeft = offset.offsetLeft;
34
+ dragObject.offsetWidth = element.offsetWidth;
35
+ dragObject.offsetHeight = element.offsetHeight;
36
+ dragObject.x = clientX;
37
+ dragObject.y = clientY;
38
+ dragObject.data = dragData;
39
+ return dragObject;
40
+ }
41
+ onDragOver(ev) {
42
+ const element = this.el.nativeElement;
43
+ ev.preventDefault();
44
+ ev.stopPropagation();
45
+ const dragData = this.dragDropService.getCurrentDragData();
46
+ if (!dragData) {
47
+ return;
48
+ }
49
+ this.onDragOverEvent.emit(this.buildDragObject(element, ev.clientX, ev.clientY, dragData));
50
+ }
51
+ onDragLeave(ev) {
52
+ ev.preventDefault();
53
+ ev.stopPropagation();
54
+ this.onDragLeaveEvent.emit(ev);
55
+ }
56
+ onDrop(ev) {
57
+ ev.preventDefault();
58
+ ev.stopPropagation();
59
+ const dragData = this.dragDropService.getCurrentDragData();
60
+ if (!dragData) {
61
+ return;
62
+ }
63
+ let element;
64
+ if (this.el.nativeElement.id === GlobalConstant.designContentPanel) {
65
+ element = queryElementByItemId(this.el.nativeElement, dragData.id);
66
+ }
67
+ else {
68
+ element = this.el.nativeElement;
69
+ }
70
+ if (element) {
71
+ this.onDropEvent.emit(this.buildDragObject(element, ev.clientX, ev.clientY, dragData));
72
+ }
73
+ }
74
+ onClick(ev) {
75
+ if (isInteractiveClickTarget(ev.target)) {
76
+ return;
77
+ }
78
+ const element = this.el.nativeElement;
79
+ const dragData = this.dragDropService.getCurrentDragData();
80
+ ev.preventDefault();
81
+ ev.stopPropagation();
82
+ this.onClickEvent.emit(this.buildDragObject(element, ev.clientX, ev.clientY, dragData));
83
+ }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DragDropService }], target: i0.ɵɵFactoryTarget.Directive }); }
85
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DropDirective, selector: "[isDroppable]", inputs: { isDroppable: "isDroppable" }, outputs: { onDragEnterEvent: "onDragEnterEvent", onDragOverEvent: "onDragOverEvent", onDragLeaveEvent: "onDragLeaveEvent", onDropEvent: "onDropEvent", onClickEvent: "onClickEvent" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)", "click": "onClick($event)" } }, ngImport: i0 }); }
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropDirective, decorators: [{
88
+ type: Directive,
89
+ args: [{
90
+ selector: '[isDroppable]'
91
+ }]
92
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DragDropService }], propDecorators: { isDroppable: [{
93
+ type: Input,
94
+ args: ['isDroppable']
95
+ }], onDragEnterEvent: [{
96
+ type: Output
97
+ }], onDragOverEvent: [{
98
+ type: Output
99
+ }], onDragLeaveEvent: [{
100
+ type: Output
101
+ }], onDropEvent: [{
102
+ type: Output
103
+ }], onClickEvent: [{
104
+ type: Output
105
+ }], onDragOver: [{
106
+ type: HostListener,
107
+ args: ['dragover', ['$event']]
108
+ }], onDragLeave: [{
109
+ type: HostListener,
110
+ args: ['dragleave', ['$event']]
111
+ }], onDrop: [{
112
+ type: HostListener,
113
+ args: ['drop', ['$event']]
114
+ }], onClick: [{
115
+ type: HostListener,
116
+ args: ['click', ['$event']]
117
+ }] } });
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZS9kcmFnLWRyb3AvZHJvcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXlCLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7OztBQUt0RixNQUFNLE9BQU8sYUFBYTtJQUd4QixJQUNJLFdBQVcsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBYUQsWUFDVSxFQUFjLEVBQ2QsRUFBYSxFQUNiLGVBQWdDO1FBRmhDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxPQUFFLEdBQUYsRUFBRSxDQUFXO1FBQ2Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBMUJsQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWE3QixxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBRWpELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFFdEQscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUVqRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBRWxELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFNaEQsQ0FBQztJQUVJLGVBQWUsQ0FDckIsT0FBb0IsRUFDcEIsT0FBZSxFQUNmLE9BQWUsRUFDZixRQUFxQjtRQUVyQixNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxNQUFNLFVBQVUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3pDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUMzQixVQUFVLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDeEMsVUFBVSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQzFDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUM3QyxVQUFVLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDL0MsVUFBVSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdkIsVUFBVSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDdkIsVUFBVSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDM0IsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUdELFVBQVUsQ0FBQyxFQUFhO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3RDLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUdELFdBQVcsQ0FBQyxFQUFhO1FBQ3ZCLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsTUFBTSxDQUFDLEVBQWE7UUFDbEIsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUVyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLE9BQTJCLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssY0FBYyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDbkUsT0FBTyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLENBQUM7SUFDSCxDQUFDO0lBR0QsT0FBTyxDQUFDLEVBQWM7UUFDcEIsSUFBSSx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUzRCxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXJCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7K0dBdkdVLGFBQWE7bUdBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFIekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtpQkFDMUI7cUlBS0ssV0FBVztzQkFEZCxLQUFLO3VCQUFDLGFBQWE7Z0JBV3BCLGdCQUFnQjtzQkFEZixNQUFNO2dCQUdQLGVBQWU7c0JBRGQsTUFBTTtnQkFHUCxnQkFBZ0I7c0JBRGYsTUFBTTtnQkFHUCxXQUFXO3NCQURWLE1BQU07Z0JBR1AsWUFBWTtzQkFEWCxNQUFNO2dCQTZCUCxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWNwQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFyQyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXNCaEMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJhZ0Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vZHJhZy1kcm9wLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJhZ1BheWxvYWQgfSBmcm9tICcuLi9kcmFnLWRyb3AudHlwZXMnO1xuaW1wb3J0IHsgRHJhZ09iamVjdE1vZGVsIH0gZnJvbSAnLi4vLi4vc2hhcmVkL21vZGVscy9kcmFnLW9iamVjdC5tb2RlbCc7XG5pbXBvcnQgeyBHbG9iYWxDb25zdGFudCB9IGZyb20gJy4uLy4uL3NoYXJlZC9nbG9iYWwtY29uc3QnO1xuaW1wb3J0IHsgQ29tcG9uZW50T3BlcmF0aW9uIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3V0aWxzL2NvbXBvbmVudC5vcGVyYXRpb24nO1xuaW1wb3J0IHsgcXVlcnlFbGVtZW50QnlJdGVtSWQgfSBmcm9tICcuLi8uLi9zaGFyZWQvdXRpbHMvZG9tLXF1ZXJ5LnV0aWwnO1xuaW1wb3J0IHsgaXNJbnRlcmFjdGl2ZUNsaWNrVGFyZ2V0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL3V0aWxzL2ludGVyYWN0aXZlLXRhcmdldC51dGlsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lzRHJvcHBhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJvcERpcmVjdGl2ZSB7XG4gIHByaXZhdGUgX2lzRHJvcHBhYmxlID0gZmFsc2U7XG5cbiAgQElucHV0KCdpc0Ryb3BwYWJsZScpXG4gIHNldCBpc0Ryb3BwYWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzRHJvcHBhYmxlID0gdmFsdWU7XG4gICAgdGhpcy5yZC5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZHJvcHBhYmxlJywgYCR7dmFsdWV9YCk7XG4gIH1cblxuICBnZXQgaXNEcm9wcGFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lzRHJvcHBhYmxlO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIG9uRHJhZ0VudGVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPERyYWdFdmVudD4oKTtcbiAgQE91dHB1dCgpXG4gIG9uRHJhZ092ZXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RHJhZ09iamVjdE1vZGVsPigpO1xuICBAT3V0cHV0KClcbiAgb25EcmFnTGVhdmVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RHJhZ0V2ZW50PigpO1xuICBAT3V0cHV0KClcbiAgb25Ecm9wRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPERyYWdPYmplY3RNb2RlbD4oKTtcbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8RHJhZ09iamVjdE1vZGVsPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZDogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZHJhZ0Ryb3BTZXJ2aWNlOiBEcmFnRHJvcFNlcnZpY2VcbiAgKSB7fVxuXG4gIHByaXZhdGUgYnVpbGREcmFnT2JqZWN0KFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIGNsaWVudFg6IG51bWJlcixcbiAgICBjbGllbnRZOiBudW1iZXIsXG4gICAgZHJhZ0RhdGE6IERyYWdQYXlsb2FkXG4gICk6IERyYWdPYmplY3RNb2RlbCB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gQ29tcG9uZW50T3BlcmF0aW9uLmZldGNoRnVsbE9mZnNldFhZKGVsZW1lbnQpO1xuICAgIGNvbnN0IGRyYWdPYmplY3QgPSBuZXcgRHJhZ09iamVjdE1vZGVsKCk7XG4gICAgZHJhZ09iamVjdC5pZCA9IGVsZW1lbnQuaWQ7XG4gICAgZHJhZ09iamVjdC5vZmZzZXRUb3AgPSBvZmZzZXQub2Zmc2V0VG9wO1xuICAgIGRyYWdPYmplY3Qub2Zmc2V0TGVmdCA9IG9mZnNldC5vZmZzZXRMZWZ0O1xuICAgIGRyYWdPYmplY3Qub2Zmc2V0V2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGRyYWdPYmplY3Qub2Zmc2V0SGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgZHJhZ09iamVjdC54ID0gY2xpZW50WDtcbiAgICBkcmFnT2JqZWN0LnkgPSBjbGllbnRZO1xuICAgIGRyYWdPYmplY3QuZGF0YSA9IGRyYWdEYXRhO1xuICAgIHJldHVybiBkcmFnT2JqZWN0O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxuICBvbkRyYWdPdmVyKGV2OiBEcmFnRXZlbnQpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBjb25zdCBkcmFnRGF0YSA9IHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLmdldEN1cnJlbnREcmFnRGF0YSgpO1xuICAgIGlmICghZHJhZ0RhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vbkRyYWdPdmVyRXZlbnQuZW1pdCh0aGlzLmJ1aWxkRHJhZ09iamVjdChlbGVtZW50LCBldi5jbGllbnRYLCBldi5jbGllbnRZLCBkcmFnRGF0YSkpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2xlYXZlJywgWyckZXZlbnQnXSlcbiAgb25EcmFnTGVhdmUoZXY6IERyYWdFdmVudCkge1xuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXYuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vbkRyYWdMZWF2ZUV2ZW50LmVtaXQoZXYpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXG4gIG9uRHJvcChldjogRHJhZ0V2ZW50KSB7XG4gICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IGRyYWdEYXRhID0gdGhpcy5kcmFnRHJvcFNlcnZpY2UuZ2V0Q3VycmVudERyYWdEYXRhKCk7XG4gICAgaWYgKCFkcmFnRGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBlbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGw7XG4gICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5pZCA9PT0gR2xvYmFsQ29uc3RhbnQuZGVzaWduQ29udGVudFBhbmVsKSB7XG4gICAgICBlbGVtZW50ID0gcXVlcnlFbGVtZW50QnlJdGVtSWQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCBkcmFnRGF0YS5pZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICB0aGlzLm9uRHJvcEV2ZW50LmVtaXQodGhpcy5idWlsZERyYWdPYmplY3QoZWxlbWVudCwgZXYuY2xpZW50WCwgZXYuY2xpZW50WSwgZHJhZ0RhdGEpKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXY6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoaXNJbnRlcmFjdGl2ZUNsaWNrVGFyZ2V0KGV2LnRhcmdldCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGRyYWdEYXRhID0gdGhpcy5kcmFnRHJvcFNlcnZpY2UuZ2V0Q3VycmVudERyYWdEYXRhKCk7XG5cbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5vbkNsaWNrRXZlbnQuZW1pdCh0aGlzLmJ1aWxkRHJhZ09iamVjdChlbGVtZW50LCBldi5jbGllbnRYLCBldi5jbGllbnRZLCBkcmFnRGF0YSkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class DragDropService {
5
+ constructor() {
6
+ this._dragData = new BehaviorSubject(null);
7
+ }
8
+ setDragData(data) {
9
+ this._dragData.next(data);
10
+ }
11
+ getDragData() {
12
+ return this._dragData.asObservable();
13
+ }
14
+ /** 同步读取当前拖拽数据,避免在 dragover 等高频事件中重复 subscribe */
15
+ getCurrentDragData() {
16
+ return this._dragData.getValue();
17
+ }
18
+ clearDragData() {
19
+ this._dragData.next(null);
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DragDropService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DragDropService, providedIn: 'root' }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DragDropService, decorators: [{
25
+ type: Injectable,
26
+ args: [{
27
+ providedIn: 'root'
28
+ }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZS9kcmFnLWRyb3Auc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBT25ELE1BQU0sT0FBTyxlQUFlO0lBSDVCO1FBSVUsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFjLElBQUksQ0FBQyxDQUFDO0tBa0I1RDtJQWhCQyxXQUFXLENBQUMsSUFBZ0I7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQzsrR0FsQlUsZUFBZTttSEFBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElJdGVtTW9kZWwgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL2ktaXRlbXMubW9kZWwnO1xuaW1wb3J0IHsgRHJhZ1BheWxvYWQgfSBmcm9tICcuL2RyYWctZHJvcC50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERyYWdEcm9wU2VydmljZSB7XG4gIHByaXZhdGUgX2RyYWdEYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEcmFnUGF5bG9hZD4obnVsbCk7XG5cbiAgc2V0RHJhZ0RhdGEoZGF0YTogSUl0ZW1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYWdEYXRhLm5leHQoZGF0YSk7XG4gIH1cblxuICBnZXREcmFnRGF0YSgpOiBPYnNlcnZhYmxlPERyYWdQYXlsb2FkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RyYWdEYXRhLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqIOWQjOatpeivu+WPluW9k+WJjeaLluaLveaVsOaNru+8jOmBv+WFjeWcqCBkcmFnb3ZlciDnrYnpq5jpopHkuovku7bkuK3ph43lpI0gc3Vic2NyaWJlICovXG4gIGdldEN1cnJlbnREcmFnRGF0YSgpOiBEcmFnUGF5bG9hZCB7XG4gICAgcmV0dXJuIHRoaXMuX2RyYWdEYXRhLmdldFZhbHVlKCk7XG4gIH1cblxuICBjbGVhckRyYWdEYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYWdEYXRhLm5leHQobnVsbCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1kcm9wLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmUvZHJhZy1kcm9wLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSXRlbU1vZGVsIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy9pLWl0ZW1zLm1vZGVsJztcblxuLyoqIOaLluaLveacjeWKoeS4reaaguWtmOeahOihqOWNlemhueW/q+eFpyAqL1xuZXhwb3J0IHR5cGUgRHJhZ1BheWxvYWQgPSBJSXRlbU1vZGVsIHwgbnVsbDtcbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BgColorDirective {
4
+ set bgcolor(value) {
5
+ if (!!value) {
6
+ this._bgcolor = value;
7
+ this.rd.setStyle(this.el.nativeElement, 'background-color', `${value}`);
8
+ }
9
+ }
10
+ get bgcolor() {
11
+ return this._bgcolor;
12
+ }
13
+ constructor(el, rd) {
14
+ this.el = el;
15
+ this.rd = rd;
16
+ this._bgcolor = '#fff';
17
+ }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BgColorDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BgColorDirective, selector: "[bgcolor]", inputs: { bgcolor: "bgcolor" }, ngImport: i0 }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BgColorDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[bgcolor]'
25
+ }]
26
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { bgcolor: [{
27
+ type: Input,
28
+ args: ['bgcolor']
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmdjb2xvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZS90YWJsZS9iZ2NvbG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QixLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3hFLE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsSUFDSSxPQUFPLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFDLGtCQUFrQixFQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFDVSxFQUFhLEVBQ2IsRUFBWTtRQURaLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFVO1FBaEJkLGFBQVEsR0FBRyxNQUFNLENBQUM7SUFpQnRCLENBQUM7K0dBbEJNLGdCQUFnQjttR0FBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO2lCQUN0Qjt1R0FLSyxPQUFPO3NCQURWLEtBQUs7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYmdjb2xvcl0nXG59KVxuZXhwb3J0IGNsYXNzIEJnQ29sb3JEaXJlY3RpdmUge1xuICBwcml2YXRlIF9iZ2NvbG9yID0gJyNmZmYnO1xuXG4gIEBJbnB1dCgnYmdjb2xvcicpXG4gIHNldCBiZ2NvbG9yKHZhbHVlOnN0cmluZyl7XG4gICAgaWYgKCEhdmFsdWUpIHtcbiAgICAgIHRoaXMuX2JnY29sb3IgPSB2YWx1ZTtcbiAgICAgIHRoaXMucmQuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCdiYWNrZ3JvdW5kLWNvbG9yJyxgJHt2YWx1ZX1gKTtcbiAgICB9XG4gIH1cbiAgXG4gIGdldCBiZ2NvbG9yKCl7XG4gICAgcmV0dXJuIHRoaXMuX2JnY29sb3I7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOkVsZW1lbnRSZWYsIFxuICAgIHByaXZhdGUgcmQ6UmVuZGVyZXIyXG4gICkgeyB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BorderColorDirective {
4
+ set borderColor(value) {
5
+ this._borderColor = value;
6
+ this.rd.setStyle(this.el.nativeElement, 'border-color', `${value}`);
7
+ }
8
+ get borderColor() {
9
+ return this._borderColor;
10
+ }
11
+ constructor(el, rd) {
12
+ this.el = el;
13
+ this.rd = rd;
14
+ this._borderColor = '1';
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BorderColorDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BorderColorDirective, selector: "[borderColor]", inputs: { borderColor: "borderColor" }, ngImport: i0 }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BorderColorDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[borderColor]'
23
+ }]
24
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { borderColor: [{
25
+ type: Input,
26
+ args: ['borderColor']
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9yZGVyQ29sb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmUvdGFibGUvYm9yZGVyQ29sb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLeEUsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixJQUNJLFdBQVcsQ0FBQyxLQUFZO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFDLGNBQWMsRUFBQyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFDVSxFQUFhLEVBQ2IsRUFBWTtRQURaLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFVO1FBZGQsaUJBQVksR0FBRyxHQUFHLENBQUM7SUFldkIsQ0FBQzsrR0FoQk0sb0JBQW9CO21HQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7aUJBQzFCO3VHQUtLLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tib3JkZXJDb2xvcl0nXG59KVxuZXhwb3J0IGNsYXNzIEJvcmRlckNvbG9yRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBfYm9yZGVyQ29sb3IgPSAnMSc7XG5cbiAgQElucHV0KCdib3JkZXJDb2xvcicpXG4gIHNldCBib3JkZXJDb2xvcih2YWx1ZTpzdHJpbmcpe1xuICAgIHRoaXMuX2JvcmRlckNvbG9yID0gdmFsdWU7XG4gICAgdGhpcy5yZC5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsJ2JvcmRlci1jb2xvcicsYCR7dmFsdWV9YCk7XG4gIH1cbiAgXG4gIGdldCBib3JkZXJDb2xvcigpe1xuICAgIHJldHVybiB0aGlzLl9ib3JkZXJDb2xvcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6RWxlbWVudFJlZiwgXG4gICAgcHJpdmF0ZSByZDpSZW5kZXJlcjJcbiAgKSB7IH1cblxufVxuIl19
@@ -0,0 +1,28 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BorderWidthDirective {
4
+ set border(value) {
5
+ this._borderWidth = value;
6
+ this.rd.setStyle(this.el.nativeElement, 'border-width', `${value}px`);
7
+ }
8
+ get border() {
9
+ return this._borderWidth;
10
+ }
11
+ constructor(el, rd) {
12
+ this.el = el;
13
+ this.rd = rd;
14
+ this._borderWidth = '1';
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BorderWidthDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BorderWidthDirective, selector: "[borderWidth]", inputs: { border: ["borderWidth", "border"] }, ngImport: i0 }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BorderWidthDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[borderWidth]'
23
+ }]
24
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { border: [{
25
+ type: Input,
26
+ args: ['borderWidth']
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9yZGVyV2lkdGguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmUvdGFibGUvYm9yZGVyV2lkdGguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLeEUsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixJQUNJLE1BQU0sQ0FBQyxLQUFhO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFDLGNBQWMsRUFBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7SUFFdEUsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFDVSxFQUFhLEVBQ2IsRUFBWTtRQURaLE9BQUUsR0FBRixFQUFFLENBQVc7UUFDYixPQUFFLEdBQUYsRUFBRSxDQUFVO1FBZmQsaUJBQVksR0FBRyxHQUFHLENBQUM7SUFnQnZCLENBQUM7K0dBakJNLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO2lCQUMxQjt1R0FLSyxNQUFNO3NCQURULEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYm9yZGVyV2lkdGhdJ1xufSlcbmV4cG9ydCBjbGFzcyBCb3JkZXJXaWR0aERpcmVjdGl2ZSB7XG4gIHByaXZhdGUgX2JvcmRlcldpZHRoID0gJzEnO1xuXG4gIEBJbnB1dCgnYm9yZGVyV2lkdGgnKVxuICBzZXQgYm9yZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9ib3JkZXJXaWR0aCA9IHZhbHVlO1xuICAgIHRoaXMucmQuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCdib3JkZXItd2lkdGgnLGAke3ZhbHVlfXB4YCk7XG4gICAgXG4gIH1cbiAgXG4gIGdldCBib3JkZXIoKXtcbiAgICByZXR1cm4gdGhpcy5fYm9yZGVyV2lkdGg7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsOkVsZW1lbnRSZWYsIFxuICAgIHByaXZhdGUgcmQ6UmVuZGVyZXIyXG4gICkgeyB9XG5cbn1cbiJdfQ==