ngx-wapp-components 1.0.49 → 1.0.51

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 (349) hide show
  1. package/ng-package.json +7 -0
  2. package/package.json +42 -51
  3. package/src/lib/button/w-button/w-button.component.html +85 -0
  4. package/src/lib/button/w-button/w-button.component.scss +218 -0
  5. package/src/lib/button/w-button/w-button.component.spec.ts +23 -0
  6. package/src/lib/button/w-button/w-button.component.ts +40 -0
  7. package/src/lib/button/w-buttons-footer/w-buttons-footer.component.html +3 -0
  8. package/src/lib/button/w-buttons-footer/w-buttons-footer.component.scss +11 -0
  9. package/src/lib/button/w-buttons-footer/w-buttons-footer.component.spec.ts +23 -0
  10. package/src/lib/button/w-buttons-footer/w-buttons-footer.component.ts +10 -0
  11. package/src/lib/button/w-select-button/w-select-button.component.html +29 -0
  12. package/src/lib/button/w-select-button/w-select-button.component.scss +65 -0
  13. package/src/lib/button/w-select-button/w-select-button.component.spec.ts +23 -0
  14. package/src/lib/button/w-select-button/w-select-button.component.ts +65 -0
  15. package/src/lib/button/w-toggle-button/w-toggle-button.component.html +33 -0
  16. package/src/lib/button/w-toggle-button/w-toggle-button.component.scss +112 -0
  17. package/src/lib/button/w-toggle-button/w-toggle-button.component.spec.ts +23 -0
  18. package/src/lib/button/w-toggle-button/w-toggle-button.component.ts +75 -0
  19. package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.html +37 -0
  20. package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.scss +59 -0
  21. package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.spec.ts +23 -0
  22. package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.ts +75 -0
  23. package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.html +55 -0
  24. package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.scss +72 -0
  25. package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.spec.ts +23 -0
  26. package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.ts +70 -0
  27. package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.html +60 -0
  28. package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.scss +260 -0
  29. package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.spec.ts +23 -0
  30. package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.ts +85 -0
  31. package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.html +59 -0
  32. package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.scss +247 -0
  33. package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.spec.ts +23 -0
  34. package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.ts +90 -0
  35. package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.html +92 -0
  36. package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.scss +234 -0
  37. package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.spec.ts +23 -0
  38. package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.ts +71 -0
  39. package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.html +59 -0
  40. package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.scss +227 -0
  41. package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.spec.ts +23 -0
  42. package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.ts +81 -0
  43. package/src/lib/edit/w-edit-select/w-edit-select.component.html +56 -0
  44. package/src/lib/edit/w-edit-select/w-edit-select.component.scss +166 -0
  45. package/src/lib/edit/w-edit-select/w-edit-select.component.spec.ts +23 -0
  46. package/src/lib/edit/w-edit-select/w-edit-select.component.ts +83 -0
  47. package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.html +55 -0
  48. package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.scss +55 -0
  49. package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.spec.ts +23 -0
  50. package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.ts +71 -0
  51. package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.html +58 -0
  52. package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.scss +176 -0
  53. package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.spec.ts +23 -0
  54. package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.ts +80 -0
  55. package/src/lib/file/w-image-cropper/w-image-cropper.component.html +150 -0
  56. package/src/lib/file/w-image-cropper/w-image-cropper.component.scss +59 -0
  57. package/src/lib/file/w-image-cropper/w-image-cropper.component.spec.ts +23 -0
  58. package/src/lib/file/w-image-cropper/w-image-cropper.component.ts +259 -0
  59. package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.html +100 -0
  60. package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.scss +77 -0
  61. package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.spec.ts +23 -0
  62. package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.ts +388 -0
  63. package/src/lib/file/w-preview-image/w-preview-image.component.css +0 -0
  64. package/src/lib/file/w-preview-image/w-preview-image.component.html +5 -0
  65. package/src/lib/file/w-preview-image/w-preview-image.component.spec.ts +23 -0
  66. package/src/lib/file/w-preview-image/w-preview-image.component.ts +17 -0
  67. package/src/lib/icons/icons.ts +116 -0
  68. package/src/lib/icons/wapping-icons/w-icons.component.ts +52 -0
  69. package/src/lib/layout/w-body/w-body.component.html +3 -0
  70. package/src/lib/layout/w-body/w-body.component.scss +13 -0
  71. package/src/lib/layout/w-body/w-body.component.spec.ts +23 -0
  72. package/src/lib/layout/w-body/w-body.component.ts +10 -0
  73. package/src/lib/layout/w-body-container/w-body-container.component.html +3 -0
  74. package/src/lib/layout/w-body-container/w-body-container.component.scss +58 -0
  75. package/src/lib/layout/w-body-container/w-body-container.component.spec.ts +23 -0
  76. package/src/lib/layout/w-body-container/w-body-container.component.ts +10 -0
  77. package/src/lib/layout/w-body-grid/w-body-grid.component.html +3 -0
  78. package/src/lib/layout/w-body-grid/w-body-grid.component.scss +59 -0
  79. package/src/lib/layout/w-body-grid/w-body-grid.component.spec.ts +23 -0
  80. package/src/lib/layout/w-body-grid/w-body-grid.component.ts +10 -0
  81. package/src/lib/layout/w-container/w-container.component.scss +9 -0
  82. package/src/lib/layout/w-container/w-container.component.ts +14 -0
  83. package/src/lib/layout/w-footer/w-footer.component.html +11 -0
  84. package/src/lib/layout/w-footer/w-footer.component.scss +17 -0
  85. package/src/lib/layout/w-footer/w-footer.component.spec.ts +23 -0
  86. package/src/lib/layout/w-footer/w-footer.component.ts +19 -0
  87. package/src/lib/layout/w-header-panel/w-header-panel.component.html +9 -0
  88. package/src/lib/layout/w-header-panel/w-header-panel.component.scss +29 -0
  89. package/src/lib/layout/w-header-panel/w-header-panel.component.spec.ts +23 -0
  90. package/src/lib/layout/w-header-panel/w-header-panel.component.ts +27 -0
  91. package/src/lib/layout/w-navbar/w-navbar.component.html +26 -0
  92. package/src/lib/layout/w-navbar/w-navbar.component.scss +26 -0
  93. package/src/lib/layout/w-navbar/w-navbar.component.spec.ts +23 -0
  94. package/src/lib/layout/w-navbar/w-navbar.component.ts +48 -0
  95. package/src/lib/layout/w-panel/w-panel.component.html +6 -0
  96. package/src/lib/layout/w-panel/w-panel.component.scss +72 -0
  97. package/src/lib/layout/w-panel/w-panel.component.spec.ts +23 -0
  98. package/src/lib/layout/w-panel/w-panel.component.ts +13 -0
  99. package/src/lib/layout/w-panel-grid/w-panel-grid.component.html +3 -0
  100. package/src/lib/layout/w-panel-grid/w-panel-grid.component.scss +58 -0
  101. package/src/lib/layout/w-panel-grid/w-panel-grid.component.spec.ts +23 -0
  102. package/src/lib/layout/w-panel-grid/w-panel-grid.component.ts +10 -0
  103. package/src/lib/layout/w-panel-title/w-panel-title.component.html +1 -0
  104. package/src/lib/layout/w-panel-title/w-panel-title.component.scss +6 -0
  105. package/src/lib/layout/w-panel-title/w-panel-title.component.spec.ts +23 -0
  106. package/src/lib/layout/w-panel-title/w-panel-title.component.ts +10 -0
  107. package/src/lib/logos/logos.ts +7 -0
  108. package/src/lib/logos/wapping-logos/w-logos.component.ts +47 -0
  109. package/src/lib/misc/w-filter-panel/w-filter-panel.component.html +303 -0
  110. package/src/lib/misc/w-filter-panel/w-filter-panel.component.scss +391 -0
  111. package/src/lib/misc/w-filter-panel/w-filter-panel.component.spec.ts +23 -0
  112. package/src/lib/misc/w-filter-panel/w-filter-panel.component.ts +388 -0
  113. package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.html +21 -0
  114. package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.scss +65 -0
  115. package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.spec.ts +23 -0
  116. package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.ts +73 -0
  117. package/src/lib/report/w-powerbi-report/w-powerbi-report.component.css +24 -0
  118. package/src/lib/report/w-powerbi-report/w-powerbi-report.component.html +52 -0
  119. package/src/lib/report/w-powerbi-report/w-powerbi-report.component.spec.ts +23 -0
  120. package/src/lib/report/w-powerbi-report/w-powerbi-report.component.ts +170 -0
  121. package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.html +92 -0
  122. package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.scss +142 -0
  123. package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.spec.ts +23 -0
  124. package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.ts +94 -0
  125. package/src/lib/search/w-input-search/w-input-search.component.html +130 -0
  126. package/src/lib/search/w-input-search/w-input-search.component.scss +158 -0
  127. package/src/lib/search/w-input-search/w-input-search.component.spec.ts +23 -0
  128. package/src/lib/search/w-input-search/w-input-search.component.ts +85 -0
  129. package/src/lib/shared/enums/enum.ts +12 -0
  130. package/src/lib/shared/models/back-button-config.model.ts +5 -0
  131. package/src/lib/shared/models/custom-button-config.model.ts +4 -0
  132. package/{lib/shared/models/embed-config.model.d.ts → src/lib/shared/models/embed-config.model.ts} +2 -2
  133. package/{lib/shared/models/enums.model.d.ts → src/lib/shared/models/enums.model.ts} +22 -18
  134. package/{lib/shared/models/filter-panel/field.model.d.ts → src/lib/shared/models/filter-panel/field.model.ts} +20 -2
  135. package/src/lib/shared/models/filter-panel/filter-field.models.ts +15 -0
  136. package/src/lib/shared/models/filter-panel/filter-panel-translations.model.ts +29 -0
  137. package/src/lib/shared/models/filter-panel/qb-filter-entity.model.ts +8 -0
  138. package/src/lib/shared/models/filter-panel/qb-filter-field.model.ts +12 -0
  139. package/src/lib/shared/models/filter-panel/qb-operators.model.ts +4 -0
  140. package/src/lib/shared/models/filter-panel/qb-panel-filter.model.ts +14 -0
  141. package/src/lib/shared/models/filter-panel/qb-panel-to-fields.model.ts +12 -0
  142. package/src/lib/shared/models/filter-panel/query-results.model.ts +17 -0
  143. package/src/lib/shared/models/filter.model.ts +5 -0
  144. package/src/lib/shared/models/image-b64.model.ts +5 -0
  145. package/src/lib/shared/models/lazy-element-query-request.model.ts +9 -0
  146. package/src/lib/shared/models/w-file-b64.model.ts +6 -0
  147. package/src/lib/shared/models/w-image-cropper-data.model.ts +7 -0
  148. package/src/lib/shared/models/w-image-file-uploader-config.model.ts +23 -0
  149. package/src/lib/shared/models/w-select-button-state.model.ts +4 -0
  150. package/src/lib/shared/models/w-tree-table.model.ts +30 -0
  151. package/src/lib/shared/models/wapp-table-lazy-loading.model.ts +53 -0
  152. package/src/lib/shared/models/wapp-table.model.ts +56 -0
  153. package/src/lib/shared/pipes/color-text.pipe.ts +20 -0
  154. package/src/lib/shared/service/api/api.service.ts +58 -0
  155. package/src/lib/shared/services/form-control.service.spec.ts +16 -0
  156. package/src/lib/shared/services/form-control.service.ts +15 -0
  157. package/src/lib/shared/services/modal.service.spec.ts +16 -0
  158. package/src/lib/shared/services/modal.service.ts +71 -0
  159. package/src/lib/shared/services/tree.service.ts +30 -0
  160. package/src/lib/sidebar/w-sidebar/w-sidebar.component.html +11 -0
  161. package/src/lib/sidebar/w-sidebar/w-sidebar.component.scss +69 -0
  162. package/src/lib/sidebar/w-sidebar/w-sidebar.component.spec.ts +23 -0
  163. package/src/lib/sidebar/w-sidebar/w-sidebar.component.ts +36 -0
  164. package/src/lib/tables/w-table/w-table.component.html +230 -0
  165. package/src/lib/tables/w-table/w-table.component.scss +225 -0
  166. package/src/lib/tables/w-table/w-table.component.spec.ts +23 -0
  167. package/src/lib/tables/w-table/w-table.component.ts +188 -0
  168. package/src/lib/tables/w-table-lazy/w-table-lazy.component.html +198 -0
  169. package/src/lib/tables/w-table-lazy/w-table-lazy.component.scss +226 -0
  170. package/src/lib/tables/w-table-lazy/w-table-lazy.component.spec.ts +23 -0
  171. package/src/lib/tables/w-table-lazy/w-table-lazy.component.ts +217 -0
  172. package/src/lib/tables/w-tree-table/w-tree-table.component.html +170 -0
  173. package/src/lib/tables/w-tree-table/w-tree-table.component.scss +221 -0
  174. package/src/lib/tables/w-tree-table/w-tree-table.component.spec.ts +23 -0
  175. package/src/lib/tables/w-tree-table/w-tree-table.component.ts +125 -0
  176. package/src/lib/tabview/w-tabview/w-tabview.component.html +72 -0
  177. package/src/lib/tabview/w-tabview/w-tabview.component.scss +34 -0
  178. package/src/lib/tabview/w-tabview/w-tabview.component.spec.ts +23 -0
  179. package/src/lib/tabview/w-tabview/w-tabview.component.ts +14 -0
  180. package/src/lib/theme/theme.component.css +0 -0
  181. package/src/lib/theme/theme.component.html +1 -0
  182. package/src/lib/theme/theme.component.spec.ts +23 -0
  183. package/src/lib/theme/theme.component.ts +10 -0
  184. package/src/lib/view/wapp-view-card-title-text/wapp-view-card-title-text.component.css +0 -0
  185. package/src/lib/view/wapp-view-card-title-text/wapp-view-card-title-text.component.html +1 -0
  186. package/src/lib/view/wapp-view-card-title-text/wapp-view-card-title-text.component.spec.ts +23 -0
  187. package/src/lib/view/wapp-view-card-title-text/wapp-view-card-title-text.component.ts +16 -0
  188. package/src/lib/w-clipboard/w-clipboard.component.css +13 -0
  189. package/src/lib/w-clipboard/w-clipboard.component.html +10 -0
  190. package/src/lib/w-clipboard/w-clipboard.component.spec.ts +23 -0
  191. package/src/lib/w-clipboard/w-clipboard.component.ts +32 -0
  192. package/src/lib/wapp-components.component.spec.ts +23 -0
  193. package/src/lib/wapp-components.component.ts +15 -0
  194. package/src/lib/wapp-components.module.ts +241 -0
  195. package/src/lib/wapp-components.service.spec.ts +16 -0
  196. package/src/lib/wapp-components.service.ts +9 -0
  197. package/{public-api.d.ts → src/public-api.ts} +15 -3
  198. package/src/styles/_variables.scss +427 -0
  199. package/tsconfig.lib.json +14 -0
  200. package/tsconfig.lib.prod.json +10 -0
  201. package/tsconfig.spec.json +14 -0
  202. package/esm2020/lib/button/w-button/w-button.component.mjs +0 -67
  203. package/esm2020/lib/button/w-buttons-footer/w-buttons-footer.component.mjs +0 -11
  204. package/esm2020/lib/button/w-select-button/w-select-button.component.mjs +0 -84
  205. package/esm2020/lib/button/w-toggle-button/w-toggle-button.component.mjs +0 -102
  206. package/esm2020/lib/edit/w-edit-calendar/w-edit-calendar.component.mjs +0 -104
  207. package/esm2020/lib/edit/w-edit-checkbox/w-edit-checkbox.component.mjs +0 -89
  208. package/esm2020/lib/edit/w-edit-input-number/w-edit-input-number.component.mjs +0 -130
  209. package/esm2020/lib/edit/w-edit-input-text/w-edit-input-text.component.mjs +0 -125
  210. package/esm2020/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.mjs +0 -108
  211. package/esm2020/lib/edit/w-edit-multiselect/w-edit-multiselect.component.mjs +0 -110
  212. package/esm2020/lib/edit/w-edit-select/w-edit-select.component.mjs +0 -115
  213. package/esm2020/lib/edit/w-edit-toggle/w-edit-toggle.component.mjs +0 -93
  214. package/esm2020/lib/edit/w-edit-treeselect/w-edit-treeselect.component.mjs +0 -107
  215. package/esm2020/lib/file/w-image-cropper/w-image-cropper.component.mjs +0 -236
  216. package/esm2020/lib/file/w-image-file-uploader/w-image-file-uploader.component.mjs +0 -409
  217. package/esm2020/lib/file/w-preview-image/w-preview-image.component.mjs +0 -20
  218. package/esm2020/lib/icons/icons.mjs +0 -115
  219. package/esm2020/lib/icons/wapping-icons/w-icons.component.mjs +0 -53
  220. package/esm2020/lib/layout/w-body/w-body.component.mjs +0 -18
  221. package/esm2020/lib/layout/w-body-container/w-body-container.component.mjs +0 -11
  222. package/esm2020/lib/layout/w-container/w-container.component.mjs +0 -19
  223. package/esm2020/lib/layout/w-content-grid/w-content-grid.component.mjs +0 -11
  224. package/esm2020/lib/layout/w-footer/w-footer.component.mjs +0 -27
  225. package/esm2020/lib/layout/w-grid/w-grid.component.mjs +0 -11
  226. package/esm2020/lib/layout/w-header-panel/w-header-panel.component.mjs +0 -36
  227. package/esm2020/lib/layout/w-navbar/w-navbar.component.mjs +0 -44
  228. package/esm2020/lib/layout/w-panel/w-panel.component.mjs +0 -29
  229. package/esm2020/lib/layout/w-panel-title/w-panel-title.component.mjs +0 -14
  230. package/esm2020/lib/logos/logos.mjs +0 -8
  231. package/esm2020/lib/logos/wapping-logos/w-logos.component.mjs +0 -53
  232. package/esm2020/lib/misc/w-filter-panel/w-filter-panel.component.mjs +0 -378
  233. package/esm2020/lib/misc/w-filter-panel/w-list-field/w-list-field.component.mjs +0 -82
  234. package/esm2020/lib/report/w-powerbi-report/w-powerbi-report.component.mjs +0 -203
  235. package/esm2020/lib/search/w-autocomplete-search/w-autocomplete-search.component.mjs +0 -106
  236. package/esm2020/lib/search/w-input-search/w-input-search.component.mjs +0 -109
  237. package/esm2020/lib/shared/enums/enum.mjs +0 -14
  238. package/esm2020/lib/shared/models/custom-button-config.model.mjs +0 -2
  239. package/esm2020/lib/shared/models/embed-config.model.mjs +0 -2
  240. package/esm2020/lib/shared/models/enums.model.mjs +0 -64
  241. package/esm2020/lib/shared/models/filter-panel/field.model.mjs +0 -2
  242. package/esm2020/lib/shared/models/filter-panel/filter-field.models.mjs +0 -2
  243. package/esm2020/lib/shared/models/filter-panel/filter-panel-translations.model.mjs +0 -2
  244. package/esm2020/lib/shared/models/filter-panel/qb-filter-entity.model.mjs +0 -2
  245. package/esm2020/lib/shared/models/filter-panel/qb-operators.model.mjs +0 -2
  246. package/esm2020/lib/shared/models/filter-panel/qb-panel-filter.model.mjs +0 -2
  247. package/esm2020/lib/shared/models/filter-panel/qb-panel-to-fields.model.mjs +0 -2
  248. package/esm2020/lib/shared/models/filter-panel/query-results.model.mjs +0 -8
  249. package/esm2020/lib/shared/models/filter.model.mjs +0 -2
  250. package/esm2020/lib/shared/models/image-b64.model.mjs +0 -2
  251. package/esm2020/lib/shared/models/lazy-element-query-request.model.mjs +0 -2
  252. package/esm2020/lib/shared/models/w-file-b64.model.mjs +0 -2
  253. package/esm2020/lib/shared/models/w-image-cropper-data.model.mjs +0 -2
  254. package/esm2020/lib/shared/models/w-image-file-uploader-config.model.mjs +0 -2
  255. package/esm2020/lib/shared/models/w-select-button-state.model.mjs +0 -2
  256. package/esm2020/lib/shared/models/w-tree-table.model.mjs +0 -2
  257. package/esm2020/lib/shared/models/wapp-table-lazy-loading.model.mjs +0 -2
  258. package/esm2020/lib/shared/models/wapp-table.model.mjs +0 -2
  259. package/esm2020/lib/shared/pipes/color-text.pipe.mjs +0 -25
  260. package/esm2020/lib/shared/service/api/api.service.mjs +0 -52
  261. package/esm2020/lib/shared/services/form-control.service.mjs +0 -18
  262. package/esm2020/lib/shared/services/modal.service.mjs +0 -62
  263. package/esm2020/lib/shared/services/tree.service.mjs +0 -30
  264. package/esm2020/lib/sidebar/w-sidebar/w-sidebar.component.mjs +0 -50
  265. package/esm2020/lib/tables/w-table/w-table.component.mjs +0 -197
  266. package/esm2020/lib/tables/w-table-lazy/w-table-lazy.component.mjs +0 -237
  267. package/esm2020/lib/tables/w-tree-table/w-tree-table.component.mjs +0 -136
  268. package/esm2020/lib/tabview/w-tabview/w-tabview.component.mjs +0 -27
  269. package/esm2020/lib/view/wapp-view-card-title-text/wapp-view-card-title-text.component.mjs +0 -17
  270. package/esm2020/lib/w-clipboard/w-clipboard.component.mjs +0 -39
  271. package/esm2020/lib/wapp-components.component.mjs +0 -19
  272. package/esm2020/lib/wapp-components.module.mjs +0 -430
  273. package/esm2020/lib/wapp-components.service.mjs +0 -14
  274. package/esm2020/ngx-wapp-components.mjs +0 -5
  275. package/esm2020/public-api.mjs +0 -63
  276. package/fesm2015/ngx-wapp-components.mjs +0 -4355
  277. package/fesm2015/ngx-wapp-components.mjs.map +0 -1
  278. package/fesm2020/ngx-wapp-components.mjs +0 -4389
  279. package/fesm2020/ngx-wapp-components.mjs.map +0 -1
  280. package/index.d.ts +0 -5
  281. package/lib/button/w-button/w-button.component.d.ts +0 -23
  282. package/lib/button/w-buttons-footer/w-buttons-footer.component.d.ts +0 -5
  283. package/lib/button/w-select-button/w-select-button.component.d.ts +0 -27
  284. package/lib/button/w-toggle-button/w-toggle-button.component.d.ts +0 -32
  285. package/lib/edit/w-edit-calendar/w-edit-calendar.component.d.ts +0 -34
  286. package/lib/edit/w-edit-checkbox/w-edit-checkbox.component.d.ts +0 -27
  287. package/lib/edit/w-edit-input-number/w-edit-input-number.component.d.ts +0 -37
  288. package/lib/edit/w-edit-input-text/w-edit-input-text.component.d.ts +0 -36
  289. package/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.d.ts +0 -32
  290. package/lib/edit/w-edit-multiselect/w-edit-multiselect.component.d.ts +0 -35
  291. package/lib/edit/w-edit-select/w-edit-select.component.d.ts +0 -35
  292. package/lib/edit/w-edit-toggle/w-edit-toggle.component.d.ts +0 -28
  293. package/lib/edit/w-edit-treeselect/w-edit-treeselect.component.d.ts +0 -34
  294. package/lib/file/w-image-cropper/w-image-cropper.component.d.ts +0 -69
  295. package/lib/file/w-image-file-uploader/w-image-file-uploader.component.d.ts +0 -70
  296. package/lib/file/w-preview-image/w-preview-image.component.d.ts +0 -10
  297. package/lib/icons/icons.d.ts +0 -1
  298. package/lib/icons/wapping-icons/w-icons.component.d.ts +0 -15
  299. package/lib/layout/w-body/w-body.component.d.ts +0 -6
  300. package/lib/layout/w-body-container/w-body-container.component.d.ts +0 -5
  301. package/lib/layout/w-container/w-container.component.d.ts +0 -5
  302. package/lib/layout/w-content-grid/w-content-grid.component.d.ts +0 -5
  303. package/lib/layout/w-footer/w-footer.component.d.ts +0 -10
  304. package/lib/layout/w-grid/w-grid.component.d.ts +0 -5
  305. package/lib/layout/w-header-panel/w-header-panel.component.d.ts +0 -15
  306. package/lib/layout/w-navbar/w-navbar.component.d.ts +0 -16
  307. package/lib/layout/w-panel/w-panel.component.d.ts +0 -9
  308. package/lib/layout/w-panel-title/w-panel-title.component.d.ts +0 -6
  309. package/lib/logos/logos.d.ts +0 -1
  310. package/lib/logos/wapping-logos/w-logos.component.d.ts +0 -15
  311. package/lib/misc/w-filter-panel/w-filter-panel.component.d.ts +0 -63
  312. package/lib/misc/w-filter-panel/w-list-field/w-list-field.component.d.ts +0 -25
  313. package/lib/report/w-powerbi-report/w-powerbi-report.component.d.ts +0 -42
  314. package/lib/search/w-autocomplete-search/w-autocomplete-search.component.d.ts +0 -29
  315. package/lib/search/w-input-search/w-input-search.component.d.ts +0 -33
  316. package/lib/shared/enums/enum.d.ts +0 -11
  317. package/lib/shared/models/custom-button-config.model.d.ts +0 -4
  318. package/lib/shared/models/filter-panel/filter-field.models.d.ts +0 -17
  319. package/lib/shared/models/filter-panel/filter-panel-translations.model.d.ts +0 -28
  320. package/lib/shared/models/filter-panel/qb-filter-entity.model.d.ts +0 -7
  321. package/lib/shared/models/filter-panel/qb-operators.model.d.ts +0 -4
  322. package/lib/shared/models/filter-panel/qb-panel-filter.model.d.ts +0 -13
  323. package/lib/shared/models/filter-panel/qb-panel-to-fields.model.d.ts +0 -11
  324. package/lib/shared/models/filter-panel/query-results.model.d.ts +0 -15
  325. package/lib/shared/models/filter.model.d.ts +0 -5
  326. package/lib/shared/models/image-b64.model.d.ts +0 -5
  327. package/lib/shared/models/lazy-element-query-request.model.d.ts +0 -8
  328. package/lib/shared/models/w-file-b64.model.d.ts +0 -6
  329. package/lib/shared/models/w-image-cropper-data.model.d.ts +0 -7
  330. package/lib/shared/models/w-image-file-uploader-config.model.d.ts +0 -23
  331. package/lib/shared/models/w-select-button-state.model.d.ts +0 -4
  332. package/lib/shared/models/w-tree-table.model.d.ts +0 -27
  333. package/lib/shared/models/wapp-table-lazy-loading.model.d.ts +0 -51
  334. package/lib/shared/models/wapp-table.model.d.ts +0 -54
  335. package/lib/shared/pipes/color-text.pipe.d.ts +0 -7
  336. package/lib/shared/service/api/api.service.d.ts +0 -12
  337. package/lib/shared/services/form-control.service.d.ts +0 -8
  338. package/lib/shared/services/modal.service.d.ts +0 -22
  339. package/lib/shared/services/tree.service.d.ts +0 -8
  340. package/lib/sidebar/w-sidebar/w-sidebar.component.d.ts +0 -17
  341. package/lib/tables/w-table/w-table.component.d.ts +0 -58
  342. package/lib/tables/w-table-lazy/w-table-lazy.component.d.ts +0 -58
  343. package/lib/tables/w-tree-table/w-tree-table.component.d.ts +0 -41
  344. package/lib/tabview/w-tabview/w-tabview.component.d.ts +0 -8
  345. package/lib/view/wapp-view-card-title-text/wapp-view-card-title-text.component.d.ts +0 -9
  346. package/lib/w-clipboard/w-clipboard.component.d.ts +0 -12
  347. package/lib/wapp-components.component.d.ts +0 -5
  348. package/lib/wapp-components.module.d.ts +0 -88
  349. package/lib/wapp-components.service.d.ts +0 -6
@@ -0,0 +1,70 @@
1
+ import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';
2
+ import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { SizeType } from '../../shared/enums/enum';
4
+
5
+ @Component({
6
+ selector: 'w-edit-checkbox',
7
+ templateUrl: './w-edit-checkbox.component.html',
8
+ styleUrls: ['./w-edit-checkbox.component.scss'],
9
+ providers: [
10
+ {
11
+ provide: NG_VALUE_ACCESSOR,
12
+ useExisting: forwardRef(() => WEditCheckboxComponent),
13
+ multi: true
14
+ }
15
+ ]
16
+ })
17
+ export class WEditCheckboxComponent {
18
+ @Input('label') label: string = '';
19
+ @Input('helpDescription') helpDescription: string = '';
20
+ @Input('disabled') isDisabled: boolean = false;
21
+ @Input('size') size: string = 'medium';
22
+ @Input('hasAlign') hasAlign: boolean = true;
23
+
24
+ @Input('formControl') formControl!: FormControl | null;
25
+
26
+ @Output('checkboxState')
27
+ checkboxState: EventEmitter<boolean> = new EventEmitter<boolean>();
28
+
29
+ value: boolean = false;
30
+ isTouched : boolean = false;
31
+
32
+ onChange = (_:any) => { }
33
+ onTouch = () => { }
34
+
35
+ writeValue(value: any): void {
36
+ this.value = value;
37
+ }
38
+
39
+ registerOnChange(fn: any): void {
40
+ this.onChange = fn;
41
+ }
42
+
43
+ registerOnTouched(fn: any): void {
44
+ this.onTouch = fn;
45
+ }
46
+
47
+ setDisabledState(isDisabled: boolean): void {
48
+ this.isDisabled = isDisabled;
49
+ }
50
+
51
+ onInput(obj: any){
52
+ this.value = obj;
53
+ this.checkboxState.emit(this.value);
54
+ this.onTouch();
55
+ this.onChange(this.value);
56
+ }
57
+
58
+ onValueChanged() {
59
+ this.onChange(this.value);
60
+ this.onTouch();
61
+ }
62
+
63
+ getSize(value: number): string {
64
+ return SizeType[value];
65
+ }
66
+
67
+ get sizeType(): typeof SizeType {
68
+ return SizeType;
69
+ }
70
+ }
@@ -0,0 +1,60 @@
1
+ <div *ngIf="formControl != null; else noNgControl" class="w-input-field p-fluid field">
2
+ <label *ngIf="getSizeName(sizeType.medium) == size && (label != undefined && label.length > 0)" [ngClass]="{ 'input-label': !disabled,
3
+ 'input-label-disabled': disabled}" for="w-text">
4
+ {{label}}
5
+ </label>
6
+ <div *ngIf="getSizeName(sizeType.medium) == size && (label != undefined && label == '')" class="w-generic-input-no-label-height"></div>
7
+ <p-inputNumber *ngIf="getSizeName(sizeType.medium) == size"
8
+ [ngClass]="{'w-input-number-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',
9
+ 'w-input-number-valid': formControl.valid && formControl.touched && successMessage != '',
10
+ 'w-input-number-warning': formControl.invalid && formControl.touched && (formControl.hasError('min') || formControl.hasError('max'))}"
11
+ class="w-input-number input-height"
12
+ styleClass="flex flex-1"
13
+ [mode]="mode"
14
+ [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits"
15
+ id="w-textarea" [placeholder]="placeholder"
16
+ [required]="required" [formControl]="formControl" >
17
+ </p-inputNumber>
18
+ <p-inputNumber *ngIf="getSizeName(sizeType.small) == size"
19
+ [ngClass]="{'w-input-number-error-small': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',
20
+ 'w-input-number-valid-small': formControl.valid && formControl.touched && successMessage != '',
21
+ 'w-input-number-warning-small': formControl.invalid && formControl.touched && (formControl.hasError('min') || formControl.hasError('max'))}"
22
+ class="w-input-number-small input-height-small"
23
+ styleClass="flex flex-1"
24
+ [mode]="mode"
25
+ [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits"
26
+ id="w-textarea" [placeholder]="placeholder"
27
+ [required]="required" [formControl]="formControl"></p-inputNumber>
28
+ <!-- <small *ngIf="formControl.valid && formControl.touched" class="success-alert-text">{{successMessage}}</small>-->
29
+ <small *ngIf="formControl.invalid && formControl.hasError('max') && formControl.touched "
30
+ class="alert-message-height warning-alert-text p-error block">{{maxErrorDescription}}</small>
31
+ <small *ngIf="formControl.invalid && formControl.hasError('min') && formControl.touched "
32
+ class="alert-message-height warning-alert-text p-error block">{{maxErrorDescription}}</small>
33
+ <small *ngIf="formControl.hasError('required') && formControl.dirty"
34
+ class="alert-message-height error-alert-text p-error block">{{requiredErrorDescription}}</small>
35
+ </div>
36
+ <ng-template #noNgControl>
37
+ <div class="w-input-field p-fluid field">
38
+ <label *ngIf="getSizeName(sizeType.medium) == size && (label != undefined && label.length > 0)" [ngClass]="{ 'input-label': !disabled,
39
+ 'input-label-disabled': disabled}" for="w-text">
40
+ {{label}}
41
+ </label>
42
+ <div *ngIf="getSizeName(sizeType.medium) == size && (label != undefined && label == '')" class="w-generic-input-no-label-height"></div>
43
+ <p-inputNumber *ngIf="getSizeName(sizeType.medium) == size" [disabled]="disabled"
44
+ [required]="required"
45
+ class="w-input-number input-height"
46
+ styleClass="flex flex-1"
47
+ [mode]="mode"
48
+ [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits"
49
+ id="w-textarea" [placeholder]="placeholder"
50
+ [required]="required" [(ngModel)]="value" (onInput)="onValueChanged()" [disabled]="disabled"></p-inputNumber>
51
+ <p-inputNumber *ngIf="getSizeName(sizeType.small) == size" [disabled]="disabled"
52
+ [required]="required"
53
+ class="w-input-number-small input-height-small"
54
+ styleClass="flex flex-1"
55
+ [mode]="mode"
56
+ [minFractionDigits]="minFractionDigits" [maxFractionDigits]="maxFractionDigits"
57
+ id="w-textarea" [placeholder]="placeholder"
58
+ [required]="required" [(ngModel)]="value" (input)="onValueChanged()" [disabled]="disabled"></p-inputNumber>
59
+ </div>
60
+ </ng-template>
@@ -0,0 +1,260 @@
1
+ @import '../../../styles/_variables.scss';
2
+
3
+ .w-input-field{
4
+ margin: $spacingZero;
5
+ }
6
+
7
+ ///medium
8
+
9
+ .input-number-height{
10
+ height: 76px !important;
11
+ }
12
+
13
+ :host ::ng-deep .input-height .p-inputnumber .p-inputnumber-input {
14
+ height: 40px !important;
15
+ }
16
+
17
+ .input-label {
18
+ padding: $spacingXS $spacingXS $spacingS $spacingXS;
19
+ margin: $spacingZero;
20
+ @extend .input-generic-label;
21
+ }
22
+
23
+ .label-height {
24
+ height: 36px;
25
+ }
26
+
27
+ .w-input-number {
28
+ width: 100%;
29
+ }
30
+
31
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input{
32
+ @extend .input-generic;
33
+ border-radius: $borderRadius;
34
+ border-width: $borderWidth;
35
+ padding-left: calc($spacingM - $borderWidth);
36
+ width: 100%;
37
+ border: $borderWidth solid $black200;
38
+ }
39
+
40
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
41
+ @extend .input-generic-placeholder;
42
+ }
43
+
44
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input::-moz-placeholder { /* Firefox 19+ */
45
+ @extend .input-generic-placeholder;
46
+ }
47
+
48
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input:-ms-input-placeholder { /* IE 10+ */
49
+ @extend .input-generic-placeholder;
50
+ }
51
+
52
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input:-moz-placeholder { /* Firefox 18- */
53
+ @extend .input-generic-placeholder;
54
+ }
55
+
56
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input:hover {
57
+ @extend .hover;
58
+ }
59
+
60
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input:focus {
61
+ @extend .focus;
62
+ border-radius: $borderRadius;
63
+ border: $borderWidth solid $secondary50;
64
+ padding-left: calc($spacingM - $borderWidth);
65
+ }
66
+
67
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input:focus::-moz-placeholder {
68
+ color:transparent;
69
+ }
70
+
71
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input:focus::-webkit-input-placeholder {
72
+ color:transparent;
73
+ }
74
+
75
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input:focus:-ms-input-placeholder {
76
+ color:transparent;
77
+ }
78
+
79
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input:focus:-moz-placeholder {
80
+ color:transparent;
81
+ }
82
+
83
+ :host ::ng-deep .w-input-number .p-inputnumber .p-inputnumber-input:disabled {
84
+ background-color: $black100;
85
+ border-color: $black200;
86
+ color: $black400;
87
+ opacity: 1;
88
+ }
89
+
90
+ .input-label-disabled {
91
+ padding: $spacingXS $spacingXS $spacingS $spacingXS;
92
+ margin: $spacingZero;
93
+ @extend .input-generic-label;
94
+ color: $black400;
95
+ }
96
+
97
+ :host ::ng-deep .w-input-number-valid .p-inputnumber .p-inputnumber-input {
98
+ @extend .input-generic-valid;
99
+ }
100
+
101
+ :host ::ng-deep .w-input-number-valid .p-inputnumber .p-inputnumber-input:focus{
102
+ @extend .input-generic-valid-focus;
103
+ }
104
+
105
+ :host ::ng-deep .w-input-number-warning .p-inputnumber .p-inputnumber-input{
106
+ @extend .input-generic-warning;
107
+ }
108
+
109
+ /* TODO: Revisar si habrá un fecto focus en estados de validación */
110
+ /* :host ::ng-deep .w-input-number-warning .p-inputnumber .p-inputnumber-input:focus{
111
+ @extend .input-generic-warning-focus;
112
+ } */
113
+
114
+ :host ::ng-deep p-inputnumber.w-input-number.ng-dirty.ng-invalid > .p-inputnumber > .p-inputtext {
115
+ @extend .input-generic-error;
116
+ }
117
+
118
+ /* :host ::ng-deep .w-input-number-error .p-inputnumber .p-inputnumber-input:focus{
119
+ @extend .input-generic-error-focus;
120
+ } */
121
+
122
+ /* :host ::ng-deep .w-input-number-error .p-inputnumber .p-inputnumber-input:focus {
123
+ @extend .input-generic-error;
124
+ box-shadow: $spacingZero $spacingZero $borderWidth $borderWidth $statusError3 !important;
125
+ padding-left: $spacingM;
126
+ } */
127
+
128
+ ///small size
129
+
130
+ .input-number-height-small{
131
+ height: $spacingXXXL !important;
132
+ }
133
+
134
+ :host ::ng-deep .input-height-small .p-inputnumber .p-inputnumber-input {
135
+ height: $spacingXXXL !important;
136
+ }
137
+
138
+ .w-input-number-small {
139
+ width: 100%;
140
+ }
141
+
142
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input{
143
+ @extend .input-generic-small;
144
+ font-weight: 600;
145
+ border-radius: $borderRadius;
146
+ border-width: $borderWidth;
147
+ padding-left: calc($spacingS - $borderWidth);
148
+ width: 100%;
149
+ border: $borderWidth solid $black200;
150
+ }
151
+
152
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
153
+ @extend .input-generic-placeholder-small;
154
+ }
155
+
156
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input::-moz-placeholder { /* Firefox 19+ */
157
+ @extend .input-generic-placeholder-small;
158
+ }
159
+
160
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input:-ms-input-placeholder { /* IE 10+ */
161
+ @extend .input-generic-placeholder-small;
162
+ }
163
+
164
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input:-moz-placeholder { /* Firefox 18- */
165
+ @extend .input-generic-placeholder-small;
166
+ }
167
+
168
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input:hover {
169
+ @extend .hover;
170
+ }
171
+
172
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input:focus {
173
+ @extend .focus;
174
+ border-radius: $borderRadius;
175
+ border: $borderWidth solid $secondary50;
176
+ padding-left: calc($spacingS - $borderWidth);
177
+ }
178
+
179
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input:focus::-moz-placeholder {
180
+ color:transparent;
181
+ }
182
+
183
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input:focus::-webkit-input-placeholder {
184
+ color:transparent;
185
+ }
186
+
187
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input:focus:-ms-input-placeholder {
188
+ color:transparent;
189
+ }
190
+
191
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input:focus:-moz-placeholder {
192
+ color:transparent;
193
+ }
194
+
195
+ :host ::ng-deep .w-input-number-small .p-inputnumber .p-inputnumber-input:disabled {
196
+ background-color: $black100;
197
+ border-color: $black200;
198
+ color: $black400;
199
+ opacity: 1;
200
+ }
201
+
202
+
203
+ :host ::ng-deep .w-input-number-valid-small .p-inputnumber .p-inputnumber-input {
204
+ @extend .input-generic-valid;
205
+ }
206
+
207
+ :host ::ng-deep .w-input-number-valid-small .p-inputnumber .p-inputnumber-input:focus{
208
+ @extend .input-generic-valid-focus;
209
+ padding-left: $spacingS;
210
+ }
211
+
212
+ :host ::ng-deep .w-input-number-warning-small .p-inputnumber .p-inputnumber-input{
213
+ @extend .input-generic-warning;
214
+ }
215
+
216
+ /* TODO: Revisar si habrá un fecto focus en estados de validación */
217
+ /* :host ::ng-deep .w-input-number-warning-small .p-inputnumber .p-inputnumber-input:focus{
218
+ @extend .input-generic-warning-focus;
219
+ padding-left: $spacingS;
220
+ } */
221
+
222
+ :host ::ng-deep p-inputnumber.w-input-number-small.ng-dirty.ng-invalid > .p-inputnumber > .p-inputtext {
223
+ @extend .input-generic-error;
224
+ }
225
+
226
+ /* :host ::ng-deep .w-input-number-error-small .p-inputnumber .p-inputnumber-input:focus{
227
+ @extend .input-generic-error-focus;
228
+ padding-left: $spacingS;
229
+ } */
230
+
231
+ /* :host ::ng-deep .w-input-number-error-small .p-inputnumber .p-inputnumber-input:focus {
232
+ @extend .input-generic-error;
233
+ box-shadow: $spacingZero $spacingZero $borderWidth $borderWidth $statusError3 !important;
234
+ padding-left: $spacingS;
235
+ } */
236
+
237
+ .success-alert-text{
238
+ @extend .caption;
239
+ color: $statusSuccess1;
240
+ padding: $spacingXS;
241
+ margin-top: $spacingZero;
242
+ }
243
+
244
+ .warning-alert-text{
245
+ @extend .caption;
246
+ color: $statusWarning1;
247
+ padding: $spacingXS;
248
+ margin-top: $spacingZero;
249
+ }
250
+
251
+ .error-alert-text{
252
+ @extend .caption;
253
+ color: $statusError1;
254
+ padding: $spacingXS;
255
+ margin-top: $spacingZero;
256
+ }
257
+
258
+ .alert-message-height{
259
+ height: $spacingXXXL;
260
+ }
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { WEditInputNumberComponent } from './w-edit-input-number.component';
4
+
5
+ describe('WEditInputNumberComponent', () => {
6
+ let component: WEditInputNumberComponent;
7
+ let fixture: ComponentFixture<WEditInputNumberComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [ WEditInputNumberComponent ]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(WEditInputNumberComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,85 @@
1
+ import { Component, EventEmitter, Input, Optional, Output, Self, forwardRef } from '@angular/core';
2
+ import { ControlValueAccessor, FormControl, FormControlName, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';
3
+ import { SizeType } from '../../shared/enums/enum';
4
+
5
+ @Component({
6
+ selector: 'w-edit-input-number',
7
+ templateUrl: './w-edit-input-number.component.html',
8
+ styleUrls: ['./w-edit-input-number.component.scss'],
9
+ providers: [
10
+ {
11
+ provide: NG_VALUE_ACCESSOR,
12
+ useExisting: forwardRef(() => WEditInputNumberComponent),
13
+ multi: true
14
+ }
15
+ ]
16
+ })
17
+ export class WEditInputNumberComponent implements ControlValueAccessor{
18
+ value: number = 0;
19
+
20
+ @Input('label') label!: string;
21
+ @Input('placeholder') placeholder: string = "";
22
+ @Input('successMessage') successMessage: string = "";
23
+ @Input('mode') mode: string = "decimal";
24
+ @Input('minFractionDigits') minFractionDigits: number = 0;
25
+ @Input('maxFractionDigits') maxFractionDigits: number = 0;
26
+
27
+ @Input('required') required: boolean = false;
28
+ @Input('requiredErrorDescription') requiredErrorDescription: string = "Data is required";
29
+
30
+ @Input('disabled') disabled: boolean = false;
31
+
32
+ @Input('pattern') pattern: string = "";
33
+ @Input('patternErrorDescription') patternErrorDescription: string = "";
34
+
35
+ @Input('min') min!: number;
36
+ @Input('minErrorDescription') minErrorDescription: string = "Min error";
37
+
38
+ @Input('max') max!: number;
39
+ @Input('maxErrorDescription') maxErrorDescription: string = "Max error";
40
+
41
+ @Input('autofocus') autofocus: boolean = false;
42
+ @Input('size') size: string = "medium";
43
+
44
+ @Input('formControl') formControl!: FormControl | null;
45
+
46
+ isTouched: boolean = false;
47
+ onChange = (_: number) => { }
48
+ onTouch = () => { }
49
+
50
+ writeValue(value: any): void {
51
+ this.value = +value;
52
+ }
53
+
54
+ registerOnChange(onChange: any): void {
55
+ this.onChange = onChange;
56
+ }
57
+
58
+ registerOnTouched(onTouch: any): void {
59
+ this.onTouch = onTouch;
60
+ }
61
+
62
+ setDisabledState(isDisabled: boolean): void {
63
+ this.disabled = isDisabled;
64
+ }
65
+
66
+ onValueChanged(){
67
+ this.onChange(+this.value);
68
+ this.onTouch();
69
+ }
70
+
71
+ onInputBlur(event: Event){
72
+ const newValue: number = +(event.target as HTMLInputElement).value;
73
+ this.value = newValue;
74
+ this.onChange(this.value);
75
+ this.onTouch();
76
+ }
77
+
78
+ getSizeName(value: number): string {
79
+ return SizeType[value];
80
+ }
81
+
82
+ get sizeType(): typeof SizeType {
83
+ return SizeType;
84
+ }
85
+ }
@@ -0,0 +1,59 @@
1
+ <div *ngIf="formControl; else noNgControl" class="w-input-select-field p-fluid field">
2
+ <label *ngIf="getSizeName(sizeType.medium) == size && (label != undefined && label.length > 0)"
3
+ [ngClass]="{ 'input-text-label': !disabled,
4
+ 'input-text-label-disabled': disabled}" for="w-text">
5
+ {{label}}
6
+ </label>
7
+ <div *ngIf="getSizeName(sizeType.medium) == size && (label != undefined && label == '')" class="w-generic-input-no-label-height"></div>
8
+ <span *ngIf="getSizeName(sizeType.medium) == size;" class="p-input-icon-right">
9
+ <i *ngIf="inputIcon != ''" class="pi {{inputIcon}}"></i>
10
+ <input pInputText
11
+ [ngClass]="{'w-input-text-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',
12
+ 'w-input-text-valid': formControl.valid && formControl.touched && successMessage != '',
13
+ 'w-input-text-warning': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}"
14
+ class="flex flex-1 col-12 height-input w-input-text" id="w-textarea" [placeholder]="placeholder" [required]="required"
15
+ [formControl]="formControl">
16
+ </span>
17
+ <span *ngIf="getSizeName(sizeType.small) == size;" class="p-input-icon-right">
18
+ <i *ngIf="inputIcon != ''" class="pi {{inputIcon}}"></i>
19
+ <input pInputText
20
+ [ngClass]="{'w-input-text-error-small': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',
21
+ 'w-input-text-valid-small': formControl.valid && formControl.touched && successMessage != '',
22
+ 'w-input-text-warning-small': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}"
23
+ minlength="{{minlength}}" maxlength="{{maxlength}}"
24
+ class="flex flex-1 col-12 input-height-small w-input-text-small" id="w-textarea"
25
+ [placeholder]="placeholder" [required]="required" [formControl]="formControl">
26
+ </span>
27
+ <!-- <small *ngIf="formControl.valid && formControl.touched"
28
+ class="alert-message-height success-alert-text p-error block">{{successMessage}}</small> -->
29
+ <small *ngIf="formControl.invalid && formControl.hasError('maxlength') && formControl.touched "
30
+ class="alert-message-height warning-alert-text p-error block">{{maxlengthErrorDescription}}</small>
31
+ <small *ngIf="formControl.invalid && formControl.hasError('minlength') && formControl.touched "
32
+ class="alert-message-height warning-alert-text p-error block">{{minlengthErrorDescription}}</small>
33
+ <small *ngIf="formControl.hasError('required') && formControl.dirty"
34
+ class="alert-message-height error-alert-text p-error block">{{requiredErrorDescription}}</small>
35
+ </div>
36
+ <ng-template #noNgControl>
37
+ <div class="w-input-select-field p-fluid field">
38
+ <label *ngIf="getSizeName(sizeType.medium) == size && (label != undefined && label.length > 0)"
39
+ [ngClass]="{ 'input-text-label': !disabled,
40
+ 'input-text-label-disabled': disabled}" for="w-text">
41
+ {{label}}
42
+ </label>
43
+ <div *ngIf="getSizeName(sizeType.medium) == size && (label != undefined && label == '')" class="w-generic-input-no-label-height"></div>
44
+ <span *ngIf="getSizeName(sizeType.medium) == size" class="p-input-icon-right">
45
+ <i *ngIf="inputIcon != ''" class="pi {{inputIcon}}"></i>
46
+ <input pInputText minlength="{{minlength}}" maxlength="{{maxlength}}" [required]="required"
47
+ class="flex flex-1 col-12 height-input w-input-text" id="w-textarea" [placeholder]="placeholder"
48
+ [required]="required" [(ngModel)]="value" (input)="onValueChanged()" [disabled]="disabled"
49
+ [autofocus]="autofocus">
50
+ </span>
51
+ <span *ngIf="getSizeName(sizeType.small) == size" class="p-input-icon-right">
52
+ <i *ngIf="inputIcon != ''" class="pi {{inputIcon}}"></i>
53
+ <input pInputText minlength="{{minlength}}" maxlength="{{maxlength}}" [required]="required"
54
+ class="flex flex-1 col-12 input-height-small w-input-text-small" id="w-textarea"
55
+ [placeholder]="placeholder" [required]="required" [(ngModel)]="value" (input)="onValueChanged()"
56
+ [disabled]="disabled" [autofocus]="autofocus">
57
+ </span>
58
+ </div>
59
+ </ng-template>