ngx-wapp-components 1.8.2 → 1.8.4

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 (542) hide show
  1. package/ng-package.json +7 -0
  2. package/package.json +46 -53
  3. package/src/lib/button/w-button/w-button.component.html +85 -0
  4. package/src/lib/button/w-button/w-button.component.scss +227 -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-radio-button/w-radio-button.component.html +31 -0
  12. package/src/lib/button/w-radio-button/w-radio-button.component.scss +114 -0
  13. package/src/lib/button/w-radio-button/w-radio-button.component.spec.ts +23 -0
  14. package/src/lib/button/w-radio-button/w-radio-button.component.ts +73 -0
  15. package/src/lib/button/w-select-button/w-select-button.component.html +29 -0
  16. package/src/lib/button/w-select-button/w-select-button.component.scss +64 -0
  17. package/src/lib/button/w-select-button/w-select-button.component.spec.ts +23 -0
  18. package/src/lib/button/w-select-button/w-select-button.component.ts +65 -0
  19. package/src/lib/button/w-toggle-button/w-toggle-button.component.html +33 -0
  20. package/src/lib/button/w-toggle-button/w-toggle-button.component.scss +116 -0
  21. package/src/lib/button/w-toggle-button/w-toggle-button.component.spec.ts +23 -0
  22. package/src/lib/button/w-toggle-button/w-toggle-button.component.ts +75 -0
  23. package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.html +47 -0
  24. package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.scss +96 -0
  25. package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.spec.ts +23 -0
  26. package/src/lib/edit/w-edit-calendar/w-edit-calendar.component.ts +77 -0
  27. package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.html +55 -0
  28. package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.scss +127 -0
  29. package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.spec.ts +23 -0
  30. package/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.ts +70 -0
  31. package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.html +68 -0
  32. package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.scss +247 -0
  33. package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.spec.ts +23 -0
  34. package/src/lib/edit/w-edit-input-number/w-edit-input-number.component.ts +86 -0
  35. package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.html +65 -0
  36. package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.scss +220 -0
  37. package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.spec.ts +23 -0
  38. package/src/lib/edit/w-edit-input-text/w-edit-input-text.component.ts +91 -0
  39. package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.html +106 -0
  40. package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.scss +213 -0
  41. package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.spec.ts +23 -0
  42. package/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.ts +72 -0
  43. package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.html +73 -0
  44. package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.scss +330 -0
  45. package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.spec.ts +23 -0
  46. package/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.ts +83 -0
  47. package/src/lib/edit/w-edit-select/w-edit-select.component.html +70 -0
  48. package/src/lib/edit/w-edit-select/w-edit-select.component.scss +188 -0
  49. package/src/lib/edit/w-edit-select/w-edit-select.component.spec.ts +23 -0
  50. package/src/lib/edit/w-edit-select/w-edit-select.component.ts +85 -0
  51. package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.html +55 -0
  52. package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.scss +86 -0
  53. package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.spec.ts +23 -0
  54. package/src/lib/edit/w-edit-toggle/w-edit-toggle.component.ts +71 -0
  55. package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.html +72 -0
  56. package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.scss +205 -0
  57. package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.spec.ts +23 -0
  58. package/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.ts +81 -0
  59. package/src/lib/file/w-image-cropper/w-image-cropper.component.html +150 -0
  60. package/src/lib/file/w-image-cropper/w-image-cropper.component.scss +55 -0
  61. package/src/lib/file/w-image-cropper/w-image-cropper.component.spec.ts +23 -0
  62. package/src/lib/file/w-image-cropper/w-image-cropper.component.ts +259 -0
  63. package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.html +100 -0
  64. package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.scss +77 -0
  65. package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.spec.ts +23 -0
  66. package/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.ts +388 -0
  67. package/src/lib/file/w-preview-image/w-preview-image.component.css +0 -0
  68. package/src/lib/file/w-preview-image/w-preview-image.component.html +5 -0
  69. package/src/lib/file/w-preview-image/w-preview-image.component.spec.ts +23 -0
  70. package/src/lib/file/w-preview-image/w-preview-image.component.ts +17 -0
  71. package/src/lib/icons/icons.ts +116 -0
  72. package/src/lib/icons/wapping-icons/w-icons.component.ts +52 -0
  73. package/src/lib/layout/w-body/w-body.component.html +3 -0
  74. package/src/lib/layout/w-body/w-body.component.scss +13 -0
  75. package/src/lib/layout/w-body/w-body.component.spec.ts +23 -0
  76. package/src/lib/layout/w-body/w-body.component.ts +10 -0
  77. package/src/lib/layout/w-body-container/w-body-container.component.html +3 -0
  78. package/src/lib/layout/w-body-container/w-body-container.component.scss +58 -0
  79. package/src/lib/layout/w-body-container/w-body-container.component.spec.ts +23 -0
  80. package/src/lib/layout/w-body-container/w-body-container.component.ts +10 -0
  81. package/src/lib/layout/w-body-grid/w-body-grid.component.html +3 -0
  82. package/src/lib/layout/w-body-grid/w-body-grid.component.scss +59 -0
  83. package/src/lib/layout/w-body-grid/w-body-grid.component.spec.ts +23 -0
  84. package/src/lib/layout/w-body-grid/w-body-grid.component.ts +10 -0
  85. package/src/lib/layout/w-container/w-container.component.scss +9 -0
  86. package/src/lib/layout/w-container/w-container.component.ts +14 -0
  87. package/src/lib/layout/w-footer/w-footer.component.html +11 -0
  88. package/src/lib/layout/w-footer/w-footer.component.scss +17 -0
  89. package/src/lib/layout/w-footer/w-footer.component.spec.ts +23 -0
  90. package/src/lib/layout/w-footer/w-footer.component.ts +19 -0
  91. package/src/lib/layout/w-header-panel/w-header-panel.component.html +9 -0
  92. package/src/lib/layout/w-header-panel/w-header-panel.component.scss +29 -0
  93. package/src/lib/layout/w-header-panel/w-header-panel.component.spec.ts +23 -0
  94. package/src/lib/layout/w-header-panel/w-header-panel.component.ts +27 -0
  95. package/src/lib/layout/w-navbar/w-navbar.component.html +26 -0
  96. package/src/lib/layout/w-navbar/w-navbar.component.scss +26 -0
  97. package/src/lib/layout/w-navbar/w-navbar.component.spec.ts +23 -0
  98. package/src/lib/layout/w-navbar/w-navbar.component.ts +48 -0
  99. package/src/lib/layout/w-panel/w-panel.component.html +14 -0
  100. package/src/lib/layout/w-panel/w-panel.component.scss +122 -0
  101. package/src/lib/layout/w-panel/w-panel.component.spec.ts +23 -0
  102. package/src/lib/layout/w-panel/w-panel.component.ts +47 -0
  103. package/src/lib/layout/w-panel-grid/w-panel-grid.component.html +3 -0
  104. package/src/lib/layout/w-panel-grid/w-panel-grid.component.scss +58 -0
  105. package/src/lib/layout/w-panel-grid/w-panel-grid.component.spec.ts +23 -0
  106. package/src/lib/layout/w-panel-grid/w-panel-grid.component.ts +10 -0
  107. package/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.html +1 -0
  108. package/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.scss +6 -0
  109. package/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.spec.ts +23 -0
  110. package/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.ts +11 -0
  111. package/src/lib/layout/w-panel-title/w-panel-title.component.html +1 -0
  112. package/src/lib/layout/w-panel-title/w-panel-title.component.scss +6 -0
  113. package/src/lib/layout/w-panel-title/w-panel-title.component.spec.ts +23 -0
  114. package/src/lib/layout/w-panel-title/w-panel-title.component.ts +11 -0
  115. package/src/lib/logos/logos.ts +7 -0
  116. package/src/lib/logos/wapping-logos/w-logos.component.ts +47 -0
  117. package/src/lib/maps/w-maps/w-maps.component.html +43 -0
  118. package/src/lib/maps/w-maps/w-maps.component.scss +163 -0
  119. package/src/lib/maps/w-maps/w-maps.component.spec.ts +23 -0
  120. package/src/lib/maps/w-maps/w-maps.component.ts +151 -0
  121. package/src/lib/misc/w-badge/w-badge.component.html +3 -0
  122. package/src/lib/misc/w-badge/w-badge.component.scss +162 -0
  123. package/src/lib/misc/w-badge/w-badge.component.spec.ts +23 -0
  124. package/src/lib/misc/w-badge/w-badge.component.ts +13 -0
  125. package/src/lib/misc/w-chip/w-chip.component.html +27 -0
  126. package/src/lib/misc/w-chip/w-chip.component.scss +38 -0
  127. package/src/lib/misc/w-chip/w-chip.component.spec.ts +23 -0
  128. package/src/lib/misc/w-chip/w-chip.component.ts +35 -0
  129. package/src/lib/misc/w-filter-panel/w-filter-panel.component.html +312 -0
  130. package/src/lib/misc/w-filter-panel/w-filter-panel.component.scss +356 -0
  131. package/src/lib/misc/w-filter-panel/w-filter-panel.component.spec.ts +23 -0
  132. package/src/lib/misc/w-filter-panel/w-filter-panel.component.ts +457 -0
  133. package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.html +21 -0
  134. package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.scss +64 -0
  135. package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.spec.ts +23 -0
  136. package/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.ts +73 -0
  137. package/src/lib/misc/w-timeline/w-timeline.component.html +44 -0
  138. package/src/lib/misc/w-timeline/w-timeline.component.scss +61 -0
  139. package/src/lib/misc/w-timeline/w-timeline.component.spec.ts +23 -0
  140. package/src/lib/misc/w-timeline/w-timeline.component.ts +27 -0
  141. package/src/lib/misc/w-wizard/w-wizard.component.html +72 -0
  142. package/src/lib/misc/w-wizard/w-wizard.component.scss +31 -0
  143. package/src/lib/misc/w-wizard/w-wizard.component.spec.ts +23 -0
  144. package/src/lib/misc/w-wizard/w-wizard.component.ts +55 -0
  145. package/src/lib/report/w-powerbi-report/w-powerbi-report.component.css +18 -0
  146. package/src/lib/report/w-powerbi-report/w-powerbi-report.component.html +52 -0
  147. package/src/lib/report/w-powerbi-report/w-powerbi-report.component.spec.ts +23 -0
  148. package/src/lib/report/w-powerbi-report/w-powerbi-report.component.ts +175 -0
  149. package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.html +92 -0
  150. package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.scss +144 -0
  151. package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.spec.ts +23 -0
  152. package/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.ts +94 -0
  153. package/src/lib/search/w-input-search/w-input-search.component.html +140 -0
  154. package/src/lib/search/w-input-search/w-input-search.component.scss +198 -0
  155. package/src/lib/search/w-input-search/w-input-search.component.spec.ts +23 -0
  156. package/src/lib/search/w-input-search/w-input-search.component.ts +86 -0
  157. package/src/lib/shared/components/w-address-field/w-address-field.component.html +11 -0
  158. package/src/lib/shared/components/w-address-field/w-address-field.component.scss +24 -0
  159. package/src/lib/shared/components/w-address-field/w-address-field.component.spec.ts +23 -0
  160. package/src/lib/shared/components/w-address-field/w-address-field.component.ts +266 -0
  161. package/src/lib/shared/enums/enum.ts +18 -0
  162. package/src/lib/shared/models/action-button-response.model.ts +4 -0
  163. package/src/lib/shared/models/action-button.model.ts +5 -0
  164. package/src/lib/shared/models/address-maps.model.ts +14 -0
  165. package/src/lib/shared/models/back-button-config.model.ts +5 -0
  166. package/{lib/shared/models/components-tenant-storage.model.d.ts → src/lib/shared/models/components-tenant-storage.model.ts} +3 -2
  167. package/src/lib/shared/models/custom-button-config.model.ts +4 -0
  168. package/src/lib/shared/models/customer-address.model.ts +16 -0
  169. package/{lib/shared/models/embed-config.model.d.ts → src/lib/shared/models/embed-config.model.ts} +2 -2
  170. package/{lib/shared/models/enums.model.d.ts → src/lib/shared/models/enums.model.ts} +30 -23
  171. package/{lib/shared/models/filter-panel/field.model.d.ts → src/lib/shared/models/filter-panel/field.model.ts} +20 -2
  172. package/src/lib/shared/models/filter-panel/filter-field.models.ts +15 -0
  173. package/src/lib/shared/models/filter-panel/filter-panel-translations.model.ts +29 -0
  174. package/src/lib/shared/models/filter-panel/gmarealevel1.model.ts +4 -0
  175. package/src/lib/shared/models/filter-panel/gmarealevel2.model.ts +4 -0
  176. package/src/lib/shared/models/filter-panel/gmcountry-model.ts +4 -0
  177. package/src/lib/shared/models/filter-panel/gmlocality.model.ts +4 -0
  178. package/src/lib/shared/models/filter-panel/gmpostalcode.model.ts +4 -0
  179. package/src/lib/shared/models/filter-panel/last-query.model.ts +6 -0
  180. package/src/lib/shared/models/filter-panel/qb-filter-entity.model.ts +8 -0
  181. package/src/lib/shared/models/filter-panel/qb-filter-field.model.ts +12 -0
  182. package/src/lib/shared/models/filter-panel/qb-operators.model.ts +4 -0
  183. package/src/lib/shared/models/filter-panel/qb-panel-filter.model.ts +14 -0
  184. package/src/lib/shared/models/filter-panel/qb-panel-to-fields.model.ts +12 -0
  185. package/src/lib/shared/models/filter-panel/query-results.model.ts +17 -0
  186. package/src/lib/shared/models/filter.model.ts +5 -0
  187. package/src/lib/shared/models/image-b64.model.ts +5 -0
  188. package/src/lib/shared/models/lazy-element-query-request.model.ts +9 -0
  189. package/src/lib/shared/models/stored-filter-panel-query.model.ts +6 -0
  190. package/src/lib/shared/models/w-file-b64.model.ts +6 -0
  191. package/src/lib/shared/models/w-image-cropper-data.model.ts +7 -0
  192. package/src/lib/shared/models/w-image-file-uploader-config.model.ts +23 -0
  193. package/src/lib/shared/models/w-select-button-state.model.ts +4 -0
  194. package/{lib/shared/models/w-timeline-event-item.model.d.ts → src/lib/shared/models/w-timeline-event-item.model.ts} +3 -2
  195. package/src/lib/shared/models/w-tree-table.model.ts +38 -0
  196. package/src/lib/shared/models/wapp-table-lazy-loading.model.ts +57 -0
  197. package/src/lib/shared/models/wapp-table.model.ts +60 -0
  198. package/src/lib/shared/pipes/color-text.pipe.ts +20 -0
  199. package/src/lib/shared/pipes/w-date.pipe.ts +42 -0
  200. package/src/lib/shared/pipes/w-summary.pipe.ts +11 -0
  201. package/src/lib/shared/service/api/api.service.ts +116 -0
  202. package/src/lib/shared/services/form-control.service.spec.ts +16 -0
  203. package/src/lib/shared/services/form-control.service.ts +15 -0
  204. package/src/lib/shared/services/modal.service.spec.ts +16 -0
  205. package/src/lib/shared/services/modal.service.ts +71 -0
  206. package/src/lib/shared/services/session-storage.service.spec.ts +16 -0
  207. package/src/lib/shared/services/session-storage.service.ts +49 -0
  208. package/src/lib/shared/services/tree.service.ts +30 -0
  209. package/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.css +0 -0
  210. package/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.html +26 -0
  211. package/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.spec.ts +23 -0
  212. package/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.ts +15 -0
  213. package/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.css +0 -0
  214. package/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.html +37 -0
  215. package/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.spec.ts +23 -0
  216. package/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.ts +10 -0
  217. package/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.css +0 -0
  218. package/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.html +3 -0
  219. package/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.spec.ts +23 -0
  220. package/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.ts +17 -0
  221. package/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.css +0 -0
  222. package/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.html +3 -0
  223. package/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.spec.ts +23 -0
  224. package/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.ts +10 -0
  225. package/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.css +0 -0
  226. package/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.html +3 -0
  227. package/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.spec.ts +23 -0
  228. package/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.ts +10 -0
  229. package/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.css +4 -0
  230. package/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.html +6 -0
  231. package/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.spec.ts +23 -0
  232. package/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.ts +13 -0
  233. package/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.css +0 -0
  234. package/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.html +12 -0
  235. package/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.spec.ts +23 -0
  236. package/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.ts +13 -0
  237. package/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.css +0 -0
  238. package/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.html +10 -0
  239. package/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.spec.ts +23 -0
  240. package/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.ts +10 -0
  241. package/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.css +0 -0
  242. package/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.html +14 -0
  243. package/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.spec.ts +23 -0
  244. package/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.ts +10 -0
  245. package/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.css +0 -0
  246. package/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.html +41 -0
  247. package/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.spec.ts +23 -0
  248. package/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.ts +13 -0
  249. package/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.html +8 -0
  250. package/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.scss +26 -0
  251. package/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.spec.ts +23 -0
  252. package/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.ts +14 -0
  253. package/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.css +0 -0
  254. package/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.html +11 -0
  255. package/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.spec.ts +23 -0
  256. package/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.ts +16 -0
  257. package/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.css +0 -0
  258. package/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.html +10 -0
  259. package/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.spec.ts +23 -0
  260. package/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.ts +18 -0
  261. package/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.css +0 -0
  262. package/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.html +55 -0
  263. package/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.spec.ts +23 -0
  264. package/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.ts +10 -0
  265. package/src/lib/sidebar/w-sidebar/w-sidebar.component.html +26 -0
  266. package/src/lib/sidebar/w-sidebar/w-sidebar.component.scss +89 -0
  267. package/src/lib/sidebar/w-sidebar/w-sidebar.component.spec.ts +23 -0
  268. package/src/lib/sidebar/w-sidebar/w-sidebar.component.ts +58 -0
  269. package/src/lib/tables/w-table/w-table.component.html +272 -0
  270. package/src/lib/tables/w-table/w-table.component.scss +323 -0
  271. package/src/lib/tables/w-table/w-table.component.spec.ts +23 -0
  272. package/src/lib/tables/w-table/w-table.component.ts +238 -0
  273. package/src/lib/tables/w-table-lazy/w-table-lazy.component.html +253 -0
  274. package/src/lib/tables/w-table-lazy/w-table-lazy.component.scss +295 -0
  275. package/src/lib/tables/w-table-lazy/w-table-lazy.component.spec.ts +23 -0
  276. package/src/lib/tables/w-table-lazy/w-table-lazy.component.ts +268 -0
  277. package/src/lib/tables/w-tree-table/w-tree-table.component.html +289 -0
  278. package/src/lib/tables/w-tree-table/w-tree-table.component.scss +283 -0
  279. package/src/lib/tables/w-tree-table/w-tree-table.component.spec.ts +23 -0
  280. package/src/lib/tables/w-tree-table/w-tree-table.component.ts +173 -0
  281. package/src/lib/tabview/w-tabview/w-tabview.component.html +72 -0
  282. package/src/lib/tabview/w-tabview/w-tabview.component.scss +39 -0
  283. package/src/lib/tabview/w-tabview/w-tabview.component.spec.ts +23 -0
  284. package/src/lib/tabview/w-tabview/w-tabview.component.ts +14 -0
  285. package/src/lib/theme/theme.component.css +0 -0
  286. package/src/lib/theme/theme.component.html +1 -0
  287. package/src/lib/theme/theme.component.spec.ts +23 -0
  288. package/src/lib/theme/theme.component.ts +10 -0
  289. package/src/lib/tree/w-tree/w-tree.component.html +50 -0
  290. package/src/lib/tree/w-tree/w-tree.component.scss +114 -0
  291. package/src/lib/tree/w-tree/w-tree.component.spec.ts +23 -0
  292. package/src/lib/tree/w-tree/w-tree.component.ts +84 -0
  293. package/src/lib/view/w-view-boolean/w-view-boolean.component.html +27 -0
  294. package/src/lib/view/w-view-boolean/w-view-boolean.component.scss +38 -0
  295. package/src/lib/view/w-view-boolean/w-view-boolean.component.spec.ts +23 -0
  296. package/src/lib/view/w-view-boolean/w-view-boolean.component.ts +31 -0
  297. package/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.html +1 -0
  298. package/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.scss +5 -0
  299. package/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.spec.ts +23 -0
  300. package/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.ts +16 -0
  301. package/src/lib/view/w-view-text/w-view-text.component.html +18 -0
  302. package/src/lib/view/w-view-text/w-view-text.component.scss +42 -0
  303. package/src/lib/view/w-view-text/w-view-text.component.spec.ts +23 -0
  304. package/src/lib/view/w-view-text/w-view-text.component.ts +12 -0
  305. package/src/lib/w-clipboard/w-clipboard.component.css +12 -0
  306. package/src/lib/w-clipboard/w-clipboard.component.html +10 -0
  307. package/src/lib/w-clipboard/w-clipboard.component.spec.ts +23 -0
  308. package/src/lib/w-clipboard/w-clipboard.component.ts +32 -0
  309. package/src/lib/wapp-components.component.spec.ts +23 -0
  310. package/src/lib/wapp-components.component.ts +15 -0
  311. package/src/lib/wapp-components.module.ts +337 -0
  312. package/src/lib/wapp-components.service.spec.ts +16 -0
  313. package/src/lib/wapp-components.service.ts +9 -0
  314. package/{public-api.d.ts → src/public-api.ts} +20 -6
  315. package/src/styles/_variables.scss +674 -0
  316. package/tsconfig.lib.json +14 -0
  317. package/tsconfig.lib.prod.json +10 -0
  318. package/tsconfig.spec.json +14 -0
  319. package/esm2020/lib/button/w-button/w-button.component.mjs +0 -67
  320. package/esm2020/lib/button/w-buttons-footer/w-buttons-footer.component.mjs +0 -11
  321. package/esm2020/lib/button/w-radio-button/w-radio-button.component.mjs +0 -86
  322. package/esm2020/lib/button/w-select-button/w-select-button.component.mjs +0 -84
  323. package/esm2020/lib/button/w-toggle-button/w-toggle-button.component.mjs +0 -102
  324. package/esm2020/lib/edit/w-edit-calendar/w-edit-calendar.component.mjs +0 -119
  325. package/esm2020/lib/edit/w-edit-checkbox/w-edit-checkbox.component.mjs +0 -89
  326. package/esm2020/lib/edit/w-edit-input-number/w-edit-input-number.component.mjs +0 -134
  327. package/esm2020/lib/edit/w-edit-input-text/w-edit-input-text.component.mjs +0 -129
  328. package/esm2020/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.mjs +0 -112
  329. package/esm2020/lib/edit/w-edit-multiselect/w-edit-multiselect.component.mjs +0 -114
  330. package/esm2020/lib/edit/w-edit-select/w-edit-select.component.mjs +0 -119
  331. package/esm2020/lib/edit/w-edit-toggle/w-edit-toggle.component.mjs +0 -93
  332. package/esm2020/lib/edit/w-edit-treeselect/w-edit-treeselect.component.mjs +0 -111
  333. package/esm2020/lib/file/w-image-cropper/w-image-cropper.component.mjs +0 -236
  334. package/esm2020/lib/file/w-image-file-uploader/w-image-file-uploader.component.mjs +0 -409
  335. package/esm2020/lib/file/w-preview-image/w-preview-image.component.mjs +0 -20
  336. package/esm2020/lib/icons/icons.mjs +0 -115
  337. package/esm2020/lib/icons/wapping-icons/w-icons.component.mjs +0 -57
  338. package/esm2020/lib/layout/w-body/w-body.component.mjs +0 -18
  339. package/esm2020/lib/layout/w-body-container/w-body-container.component.mjs +0 -11
  340. package/esm2020/lib/layout/w-body-grid/w-body-grid.component.mjs +0 -11
  341. package/esm2020/lib/layout/w-container/w-container.component.mjs +0 -19
  342. package/esm2020/lib/layout/w-footer/w-footer.component.mjs +0 -27
  343. package/esm2020/lib/layout/w-header-panel/w-header-panel.component.mjs +0 -36
  344. package/esm2020/lib/layout/w-navbar/w-navbar.component.mjs +0 -44
  345. package/esm2020/lib/layout/w-panel/w-panel.component.mjs +0 -77
  346. package/esm2020/lib/layout/w-panel-grid/w-panel-grid.component.mjs +0 -11
  347. package/esm2020/lib/layout/w-panel-subtitle/w-panel-subtitle.component.mjs +0 -17
  348. package/esm2020/lib/layout/w-panel-title/w-panel-title.component.mjs +0 -17
  349. package/esm2020/lib/logos/logos.mjs +0 -8
  350. package/esm2020/lib/logos/wapping-logos/w-logos.component.mjs +0 -53
  351. package/esm2020/lib/maps/w-maps/w-maps.component.mjs +0 -161
  352. package/esm2020/lib/misc/w-badge/w-badge.component.mjs +0 -29
  353. package/esm2020/lib/misc/w-chip/w-chip.component.mjs +0 -67
  354. package/esm2020/lib/misc/w-filter-panel/w-filter-panel.component.mjs +0 -447
  355. package/esm2020/lib/misc/w-filter-panel/w-list-field/w-list-field.component.mjs +0 -82
  356. package/esm2020/lib/misc/w-timeline/w-timeline.component.mjs +0 -48
  357. package/esm2020/lib/misc/w-wizard/w-wizard.component.mjs +0 -87
  358. package/esm2020/lib/report/w-powerbi-report/w-powerbi-report.component.mjs +0 -206
  359. package/esm2020/lib/search/w-autocomplete-search/w-autocomplete-search.component.mjs +0 -106
  360. package/esm2020/lib/search/w-input-search/w-input-search.component.mjs +0 -113
  361. package/esm2020/lib/shared/components/w-address-field/w-address-field.component.mjs +0 -248
  362. package/esm2020/lib/shared/enums/enum.mjs +0 -20
  363. package/esm2020/lib/shared/models/action-button-response.model.mjs +0 -2
  364. package/esm2020/lib/shared/models/action-button.model.mjs +0 -2
  365. package/esm2020/lib/shared/models/components-tenant-storage.model.mjs +0 -2
  366. package/esm2020/lib/shared/models/custom-button-config.model.mjs +0 -2
  367. package/esm2020/lib/shared/models/customer-address.model.mjs +0 -2
  368. package/esm2020/lib/shared/models/embed-config.model.mjs +0 -2
  369. package/esm2020/lib/shared/models/enums.model.mjs +0 -90
  370. package/esm2020/lib/shared/models/filter-panel/field.model.mjs +0 -2
  371. package/esm2020/lib/shared/models/filter-panel/filter-field.models.mjs +0 -2
  372. package/esm2020/lib/shared/models/filter-panel/filter-panel-translations.model.mjs +0 -2
  373. package/esm2020/lib/shared/models/filter-panel/gmarealevel1.model.mjs +0 -2
  374. package/esm2020/lib/shared/models/filter-panel/gmarealevel2.model.mjs +0 -2
  375. package/esm2020/lib/shared/models/filter-panel/gmcountry-model.mjs +0 -2
  376. package/esm2020/lib/shared/models/filter-panel/gmlocality.model.mjs +0 -2
  377. package/esm2020/lib/shared/models/filter-panel/gmpostalcode.model.mjs +0 -2
  378. package/esm2020/lib/shared/models/filter-panel/qb-filter-entity.model.mjs +0 -2
  379. package/esm2020/lib/shared/models/filter-panel/qb-operators.model.mjs +0 -2
  380. package/esm2020/lib/shared/models/filter-panel/qb-panel-filter.model.mjs +0 -2
  381. package/esm2020/lib/shared/models/filter-panel/qb-panel-to-fields.model.mjs +0 -2
  382. package/esm2020/lib/shared/models/filter-panel/query-results.model.mjs +0 -8
  383. package/esm2020/lib/shared/models/filter.model.mjs +0 -2
  384. package/esm2020/lib/shared/models/image-b64.model.mjs +0 -2
  385. package/esm2020/lib/shared/models/lazy-element-query-request.model.mjs +0 -2
  386. package/esm2020/lib/shared/models/stored-filter-panel-query.model.mjs +0 -2
  387. package/esm2020/lib/shared/models/w-file-b64.model.mjs +0 -2
  388. package/esm2020/lib/shared/models/w-image-cropper-data.model.mjs +0 -2
  389. package/esm2020/lib/shared/models/w-image-file-uploader-config.model.mjs +0 -2
  390. package/esm2020/lib/shared/models/w-select-button-state.model.mjs +0 -2
  391. package/esm2020/lib/shared/models/w-timeline-event-item.model.mjs +0 -2
  392. package/esm2020/lib/shared/models/w-tree-table.model.mjs +0 -2
  393. package/esm2020/lib/shared/models/wapp-table-lazy-loading.model.mjs +0 -2
  394. package/esm2020/lib/shared/models/wapp-table.model.mjs +0 -2
  395. package/esm2020/lib/shared/pipes/color-text.pipe.mjs +0 -25
  396. package/esm2020/lib/shared/pipes/w-date.pipe.mjs +0 -44
  397. package/esm2020/lib/shared/pipes/w-summary.pipe.mjs +0 -16
  398. package/esm2020/lib/shared/service/api/api.service.mjs +0 -88
  399. package/esm2020/lib/shared/services/form-control.service.mjs +0 -18
  400. package/esm2020/lib/shared/services/modal.service.mjs +0 -62
  401. package/esm2020/lib/shared/services/session-storage.service.mjs +0 -46
  402. package/esm2020/lib/shared/services/tree.service.mjs +0 -30
  403. package/esm2020/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.mjs +0 -26
  404. package/esm2020/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.mjs +0 -17
  405. package/esm2020/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.mjs +0 -24
  406. package/esm2020/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.mjs +0 -19
  407. package/esm2020/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.mjs +0 -12
  408. package/esm2020/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.mjs +0 -30
  409. package/esm2020/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.mjs +0 -27
  410. package/esm2020/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.mjs +0 -12
  411. package/esm2020/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.mjs +0 -12
  412. package/esm2020/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.mjs +0 -26
  413. package/esm2020/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.mjs +0 -22
  414. package/esm2020/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.mjs +0 -25
  415. package/esm2020/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.mjs +0 -27
  416. package/esm2020/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.mjs +0 -12
  417. package/esm2020/lib/sidebar/w-sidebar/w-sidebar.component.mjs +0 -83
  418. package/esm2020/lib/tables/w-table/w-table.component.mjs +0 -255
  419. package/esm2020/lib/tables/w-table-lazy/w-table-lazy.component.mjs +0 -292
  420. package/esm2020/lib/tables/w-tree-table/w-tree-table.component.mjs +0 -187
  421. package/esm2020/lib/tabview/w-tabview/w-tabview.component.mjs +0 -27
  422. package/esm2020/lib/tree/w-tree/w-tree.component.mjs +0 -149
  423. package/esm2020/lib/view/w-view-boolean/w-view-boolean.component.mjs +0 -60
  424. package/esm2020/lib/view/w-view-card-title-text/w-view-card-title-text.component.mjs +0 -17
  425. package/esm2020/lib/view/w-view-text/w-view-text.component.mjs +0 -24
  426. package/esm2020/lib/w-clipboard/w-clipboard.component.mjs +0 -39
  427. package/esm2020/lib/wapp-components.component.mjs +0 -19
  428. package/esm2020/lib/wapp-components.module.mjs +0 -603
  429. package/esm2020/lib/wapp-components.service.mjs +0 -14
  430. package/esm2020/ngx-wapp-components.mjs +0 -5
  431. package/esm2020/public-api.mjs +0 -94
  432. package/fesm2015/ngx-wapp-components.mjs +0 -6179
  433. package/fesm2015/ngx-wapp-components.mjs.map +0 -1
  434. package/fesm2020/ngx-wapp-components.mjs +0 -6191
  435. package/fesm2020/ngx-wapp-components.mjs.map +0 -1
  436. package/index.d.ts +0 -5
  437. package/lib/button/w-button/w-button.component.d.ts +0 -23
  438. package/lib/button/w-buttons-footer/w-buttons-footer.component.d.ts +0 -5
  439. package/lib/button/w-radio-button/w-radio-button.component.d.ts +0 -31
  440. package/lib/button/w-select-button/w-select-button.component.d.ts +0 -27
  441. package/lib/button/w-toggle-button/w-toggle-button.component.d.ts +0 -32
  442. package/lib/edit/w-edit-calendar/w-edit-calendar.component.d.ts +0 -38
  443. package/lib/edit/w-edit-checkbox/w-edit-checkbox.component.d.ts +0 -27
  444. package/lib/edit/w-edit-input-number/w-edit-input-number.component.d.ts +0 -38
  445. package/lib/edit/w-edit-input-text/w-edit-input-text.component.d.ts +0 -37
  446. package/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.d.ts +0 -33
  447. package/lib/edit/w-edit-multiselect/w-edit-multiselect.component.d.ts +0 -36
  448. package/lib/edit/w-edit-select/w-edit-select.component.d.ts +0 -36
  449. package/lib/edit/w-edit-toggle/w-edit-toggle.component.d.ts +0 -28
  450. package/lib/edit/w-edit-treeselect/w-edit-treeselect.component.d.ts +0 -35
  451. package/lib/file/w-image-cropper/w-image-cropper.component.d.ts +0 -69
  452. package/lib/file/w-image-file-uploader/w-image-file-uploader.component.d.ts +0 -70
  453. package/lib/file/w-preview-image/w-preview-image.component.d.ts +0 -10
  454. package/lib/icons/icons.d.ts +0 -1
  455. package/lib/icons/wapping-icons/w-icons.component.d.ts +0 -15
  456. package/lib/layout/w-body/w-body.component.d.ts +0 -6
  457. package/lib/layout/w-body-container/w-body-container.component.d.ts +0 -5
  458. package/lib/layout/w-body-grid/w-body-grid.component.d.ts +0 -5
  459. package/lib/layout/w-container/w-container.component.d.ts +0 -5
  460. package/lib/layout/w-footer/w-footer.component.d.ts +0 -10
  461. package/lib/layout/w-header-panel/w-header-panel.component.d.ts +0 -15
  462. package/lib/layout/w-navbar/w-navbar.component.d.ts +0 -16
  463. package/lib/layout/w-panel/w-panel.component.d.ts +0 -23
  464. package/lib/layout/w-panel-grid/w-panel-grid.component.d.ts +0 -5
  465. package/lib/layout/w-panel-subtitle/w-panel-subtitle.component.d.ts +0 -7
  466. package/lib/layout/w-panel-title/w-panel-title.component.d.ts +0 -7
  467. package/lib/logos/logos.d.ts +0 -1
  468. package/lib/logos/wapping-logos/w-logos.component.d.ts +0 -15
  469. package/lib/maps/w-maps/w-maps.component.d.ts +0 -38
  470. package/lib/misc/w-badge/w-badge.component.d.ts +0 -9
  471. package/lib/misc/w-chip/w-chip.component.d.ts +0 -22
  472. package/lib/misc/w-filter-panel/w-filter-panel.component.d.ts +0 -74
  473. package/lib/misc/w-filter-panel/w-list-field/w-list-field.component.d.ts +0 -25
  474. package/lib/misc/w-timeline/w-timeline.component.d.ts +0 -17
  475. package/lib/misc/w-wizard/w-wizard.component.d.ts +0 -31
  476. package/lib/report/w-powerbi-report/w-powerbi-report.component.d.ts +0 -40
  477. package/lib/search/w-autocomplete-search/w-autocomplete-search.component.d.ts +0 -29
  478. package/lib/search/w-input-search/w-input-search.component.d.ts +0 -34
  479. package/lib/shared/components/w-address-field/w-address-field.component.d.ts +0 -65
  480. package/lib/shared/enums/enum.d.ts +0 -16
  481. package/lib/shared/models/action-button-response.model.d.ts +0 -4
  482. package/lib/shared/models/action-button.model.d.ts +0 -5
  483. package/lib/shared/models/custom-button-config.model.d.ts +0 -4
  484. package/lib/shared/models/customer-address.model.d.ts +0 -16
  485. package/lib/shared/models/filter-panel/filter-field.models.d.ts +0 -17
  486. package/lib/shared/models/filter-panel/filter-panel-translations.model.d.ts +0 -29
  487. package/lib/shared/models/filter-panel/gmarealevel1.model.d.ts +0 -4
  488. package/lib/shared/models/filter-panel/gmarealevel2.model.d.ts +0 -4
  489. package/lib/shared/models/filter-panel/gmcountry-model.d.ts +0 -4
  490. package/lib/shared/models/filter-panel/gmlocality.model.d.ts +0 -4
  491. package/lib/shared/models/filter-panel/gmpostalcode.model.d.ts +0 -4
  492. package/lib/shared/models/filter-panel/qb-filter-entity.model.d.ts +0 -7
  493. package/lib/shared/models/filter-panel/qb-operators.model.d.ts +0 -4
  494. package/lib/shared/models/filter-panel/qb-panel-filter.model.d.ts +0 -13
  495. package/lib/shared/models/filter-panel/qb-panel-to-fields.model.d.ts +0 -11
  496. package/lib/shared/models/filter-panel/query-results.model.d.ts +0 -15
  497. package/lib/shared/models/filter.model.d.ts +0 -5
  498. package/lib/shared/models/image-b64.model.d.ts +0 -5
  499. package/lib/shared/models/lazy-element-query-request.model.d.ts +0 -8
  500. package/lib/shared/models/stored-filter-panel-query.model.d.ts +0 -6
  501. package/lib/shared/models/w-file-b64.model.d.ts +0 -6
  502. package/lib/shared/models/w-image-cropper-data.model.d.ts +0 -7
  503. package/lib/shared/models/w-image-file-uploader-config.model.d.ts +0 -23
  504. package/lib/shared/models/w-select-button-state.model.d.ts +0 -4
  505. package/lib/shared/models/w-tree-table.model.d.ts +0 -34
  506. package/lib/shared/models/wapp-table-lazy-loading.model.d.ts +0 -55
  507. package/lib/shared/models/wapp-table.model.d.ts +0 -58
  508. package/lib/shared/pipes/color-text.pipe.d.ts +0 -7
  509. package/lib/shared/pipes/w-date.pipe.d.ts +0 -8
  510. package/lib/shared/pipes/w-summary.pipe.d.ts +0 -7
  511. package/lib/shared/service/api/api.service.d.ts +0 -24
  512. package/lib/shared/services/form-control.service.d.ts +0 -8
  513. package/lib/shared/services/modal.service.d.ts +0 -22
  514. package/lib/shared/services/session-storage.service.d.ts +0 -14
  515. package/lib/shared/services/tree.service.d.ts +0 -8
  516. package/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.d.ts +0 -8
  517. package/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.d.ts +0 -5
  518. package/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.d.ts +0 -10
  519. package/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.d.ts +0 -6
  520. package/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.d.ts +0 -5
  521. package/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.d.ts +0 -9
  522. package/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.d.ts +0 -7
  523. package/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.d.ts +0 -5
  524. package/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.d.ts +0 -5
  525. package/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.d.ts +0 -8
  526. package/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.d.ts +0 -8
  527. package/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.d.ts +0 -9
  528. package/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.d.ts +0 -11
  529. package/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.d.ts +0 -5
  530. package/lib/sidebar/w-sidebar/w-sidebar.component.d.ts +0 -25
  531. package/lib/tables/w-table/w-table.component.d.ts +0 -62
  532. package/lib/tables/w-table-lazy/w-table-lazy.component.d.ts +0 -61
  533. package/lib/tables/w-tree-table/w-tree-table.component.d.ts +0 -48
  534. package/lib/tabview/w-tabview/w-tabview.component.d.ts +0 -8
  535. package/lib/tree/w-tree/w-tree.component.d.ts +0 -40
  536. package/lib/view/w-view-boolean/w-view-boolean.component.d.ts +0 -19
  537. package/lib/view/w-view-card-title-text/w-view-card-title-text.component.d.ts +0 -9
  538. package/lib/view/w-view-text/w-view-text.component.d.ts +0 -8
  539. package/lib/w-clipboard/w-clipboard.component.d.ts +0 -12
  540. package/lib/wapp-components.component.d.ts +0 -5
  541. package/lib/wapp-components.module.d.ts +0 -120
  542. package/lib/wapp-components.service.d.ts +0 -6
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { WFilterPanelComponent } from './w-filter-panel.component';
4
+
5
+ describe('WFilterPanelComponent', () => {
6
+ let component: WFilterPanelComponent;
7
+ let fixture: ComponentFixture<WFilterPanelComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [ WFilterPanelComponent ]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(WFilterPanelComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,457 @@
1
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
2
+ import { FormBuilder, FormControl } from '@angular/forms';
3
+ import { QBDataTypeEnum } from '../../shared/models/enums.model';
4
+ import { QbPanelFilter } from '../../shared/models/filter-panel/qb-panel-filter.model';
5
+ import { Entity, EntityMap, Field, FieldMap, QueryBuilderConfig, Rule, RuleSet } from '../../shared/models/filter-panel/field.model';
6
+ import { FilterPanelTranslations } from '../../shared/models/filter-panel/filter-panel-translations.model';
7
+ import { QueryResultType, QueryResults } from '../../shared/models/filter-panel/query-results.model';
8
+ import { FilterField } from '../../shared/models/filter-panel/filter-field.models';
9
+ import { QbFilterEntity } from '../../shared/models/filter-panel/qb-filter-entity.model';
10
+ import { ApiService } from '../../shared/service/api/api.service';
11
+ import { StoredFilterPanelQuery } from '../../shared/models/stored-filter-panel-query.model';
12
+ import { SessionStorageService } from '../../shared/services/session-storage.service';
13
+
14
+ @Component({
15
+ selector: 'w-filter-panel',
16
+ templateUrl: './w-filter-panel.component.html',
17
+ styleUrls: ['./w-filter-panel.component.scss']
18
+ })
19
+ export class WFilterPanelComponent implements OnInit {
20
+ public queryCtrl!: FormControl;
21
+ public advancedQueryCtrl!: FormControl;
22
+ public groupedQueryCtrl!: FormControl;
23
+ public persistValueOnFieldChange: boolean = false;
24
+
25
+ queryConfigReady: boolean = false;
26
+ isAdvancedSearch: boolean = false;
27
+ qbDataTypeEnum = QBDataTypeEnum;
28
+ qbDataEnums = Object.values(QBDataTypeEnum);
29
+ basicQueryConfig!: any;
30
+ advancedQueryConfig!: any;
31
+ basicQuery: any = {
32
+ condition: 'and',
33
+ rules: []
34
+ };
35
+ groupedQuery: any = {
36
+ condition: 'and',
37
+ rules: []
38
+ };
39
+ advancedQuery: any = {
40
+ condition: 'and',
41
+ rules: []
42
+ };
43
+ filterPanelObject!: QbPanelFilter;
44
+ entityConfigGrouped: QueryBuilderConfig = { fields: {} };
45
+ entities: any[] = [];
46
+ defaultValues: any[] = [];
47
+ defaultOperators: any[] = [];
48
+ storedQuery!: StoredFilterPanelQuery;
49
+ parentRoute!: string;
50
+
51
+ @Input('apiUrl') authorizationApiUrl!: string;
52
+ @Input('commonDataApiUrl') commonDataApiUrl!: string;
53
+ @Input('segmentationApiUrl') segmentationApiUrl!: string;
54
+ @Input('token') token!: string;
55
+ @Input('commonDataToken') commonDataToken!: string;
56
+ @Input('segmentationToken') segmentationToken!: string;
57
+ @Input('filterId') filterId!: string;
58
+ @Input('dataIsLoadingSearchButton') dataIsLoadingSearchButton: boolean = false;
59
+ @Input('tenantId') tenantId!: string;
60
+
61
+ @Input('translationsObject') translationsObject: FilterPanelTranslations = {
62
+ basicSearchTabLabel: 'Basic search',
63
+ advancedSearchTabLabel: 'Advanced search',
64
+ groupedFilterTitle: 'Grouped filter',
65
+ advancedSearch: {
66
+ andButtonLabel: 'And',
67
+ orButtonLabel: 'Or',
68
+ addRuleButtonLabel: 'Add filter',
69
+ addRuleSetButtonLabel: 'Add filter set',
70
+ removeRuleSetButtonLabel: 'Remove rule set'
71
+ },
72
+ noRulesLabel: 'Add filter or filter set to start',
73
+ searchButtonLabel: 'Clear',
74
+ clearButtonLabel: 'Clear',
75
+ fieldsPlaceholders: {
76
+ boolean: {
77
+ true: 'True',
78
+ false: 'False'
79
+ },
80
+ decimal: 'Insert decimal number',
81
+ list: 'Select an option',
82
+ number: 'Insert a number',
83
+ text: 'Insert text',
84
+ datetime: 'Select a date'
85
+ },
86
+ operators: {
87
+ contains:'contains'
88
+ },
89
+ fields: {
90
+ IdleDeadline: 'Id',
91
+ name: 'Name',
92
+ code: 'Code',
93
+ delete: 'Deleted',
94
+ country: 'Country'
95
+ }
96
+ };
97
+
98
+ @Output('searchClicked') searchClicked = new EventEmitter<QueryResults>();
99
+ @Output('clearClicked') clearClicked = new EventEmitter<boolean>();
100
+ @Output('lastQuery') lastQuery = new EventEmitter<QueryResults>();
101
+
102
+ stateOptions: any[] = [{ label: this.translationsObject.advancedSearch.andButtonLabel, value: 'and' }, { label: this.translationsObject.advancedSearch.orButtonLabel, value: 'or' }];
103
+
104
+ constructor(
105
+ private formBuilder: FormBuilder,
106
+ private apiService: ApiService,
107
+ private sessionStorage: SessionStorageService
108
+ ) { }
109
+
110
+ ngOnInit() {
111
+ this.isAdvancedSearch = this.sessionStorage.getLastFilterPanelQuery(this.tenantId, this.filterId)?.advancedQueryValue ? true : false;
112
+ this.storedQuery= this.sessionStorage.getLastFilterPanelQuery(this.tenantId, this.filterId)
113
+ this.getQueryBuilderFilterPanel();
114
+ }
115
+
116
+ initQueryBuilderControls() {
117
+ this.queryCtrl = this.formBuilder.control(this.basicQuery);
118
+ this.advancedQueryCtrl = this.formBuilder.control(this.advancedQuery);
119
+ if(this.filterPanelObject.allowGrouped) {
120
+ this.groupedQueryCtrl = this.formBuilder.control(this.groupedQuery);
121
+ }
122
+
123
+ if(this.storedQuery) {
124
+ let lastQuery: QueryResults = {
125
+ type: this.getQueryType(),
126
+ basic: this.storedQuery?.basicQueryValue ? Object.assign({}, this.storedQuery?.basicQueryValue) : null,
127
+ advanced: this.storedQuery?.advancedQueryValue ? Object.assign({}, this.storedQuery?.advancedQueryValue) : null,
128
+ grouped: this.isAdvancedSearch && this.filterPanelObject.allowGrouped && this.groupedQueryCtrl ? Object.assign({}, this.groupedQueryCtrl?.value) : null
129
+ }
130
+ lastQuery = this.deleteFieldsWithoutValue(lastQuery);
131
+ lastQuery = this.handleEmptyFieldsQuery(lastQuery);
132
+ this.lastQuery.emit(lastQuery);
133
+ }
134
+ }
135
+
136
+ updateSearchType() {
137
+ this.isAdvancedSearch = !this.isAdvancedSearch;
138
+ }
139
+
140
+ onSearchClicked() {
141
+ let queries: QueryResults = {
142
+ type: this.getQueryType(),
143
+ basic: this.isAdvancedSearch ? null : Object.assign({}, this.queryCtrl.value),
144
+ advanced: this.isAdvancedSearch ? Object.assign({}, this.advancedQueryCtrl.value) : null,
145
+ grouped: this.isAdvancedSearch && this.filterPanelObject.allowGrouped ? Object.assign({}, this.groupedQueryCtrl.value) : null
146
+ }
147
+
148
+ this.setEntity(queries);
149
+
150
+ queries = this.initializeOperators(queries);
151
+
152
+ let storedQuery: StoredFilterPanelQuery = {
153
+ id: this.filterId,
154
+ basicQueryValue: queries.basic,
155
+ advancedQueryValue: queries.advanced,
156
+ groupedQueryValue: queries.grouped
157
+ }
158
+ this.sessionStorage.setLastFilterPanelQuery(this.tenantId, storedQuery);
159
+
160
+ queries = this.deleteFieldsWithoutValue(queries);
161
+ queries = this.handleEmptyFieldsQuery(queries);
162
+
163
+ this.searchClicked.emit(queries);
164
+ }
165
+
166
+ onClearClicked() {
167
+ this.resetBasicQueryValues();
168
+ this.advancedQuery.rules = [];
169
+ this.groupedQuery.rules = [];
170
+ this.sessionStorage.removeLastFilterPanelQuery(this.tenantId, this.filterId);
171
+ this.clearClicked.emit(true);
172
+ }
173
+
174
+ handleEmptyFieldsQuery(queries: QueryResults): QueryResults {
175
+ if(queries.advanced != null && queries.advanced?.rules.length == 0) {
176
+ queries.type = 0
177
+ }
178
+ if(queries.basic != null && queries.basic?.rules.length == 0) {
179
+ queries.type = 0
180
+ }
181
+ if(queries.grouped != null && queries.grouped?.rules.length == 0) {
182
+ queries.type = 0
183
+ }
184
+ return queries;
185
+ }
186
+
187
+ getQueryType(): QueryResultType {
188
+ if(!this.isAdvancedSearch) {
189
+ return QueryResultType.Basic;
190
+ } else {
191
+ if(this.isAdvancedSearch && this.groupedQueryCtrl?.value) {
192
+ return QueryResultType.Grouped
193
+ } else {
194
+ return QueryResultType.Advanced;
195
+ }
196
+ }
197
+ }
198
+
199
+ setEntity(queries: QueryResults) {
200
+ if(this.getQueryType() == QueryResultType.Basic) {
201
+ queries.basic!.rules = queries.basic!.rules.map((r:any) => {
202
+ return {
203
+ field: r.field,
204
+ operator: r.operator,
205
+ value: r.value,
206
+ entity: this.entities.find(e => e.fieldJsonName == r.field).entity
207
+ }
208
+ })
209
+ }
210
+ }
211
+
212
+ getQueryBuilderFilterPanel() {
213
+ this.apiService.getFilterPanel(this.authorizationApiUrl, this.token, this.commonDataApiUrl, this.commonDataToken, this.filterId)
214
+ .subscribe((qbPanelFilter: QbPanelFilter) => {
215
+ this.filterPanelObject = qbPanelFilter;
216
+ let basicFilterIds: number[] = qbPanelFilter.qbpanelToFields.filter(panelToField => panelToField.basic).map(panelToField => panelToField.qbfilterFieldId);
217
+ let advancedFilterIds: number[] = qbPanelFilter.qbpanelToFields.filter(panelToField => !panelToField.basic).map(panelToField => panelToField.qbfilterFieldId);
218
+ this.defaultValues = qbPanelFilter.qbpanelToFields.map(panelToField => {
219
+ return {
220
+ qbfilterFieldId: panelToField.qbfilterFieldId,
221
+ defaultValue: panelToField.defaultValue
222
+ }
223
+ })
224
+ this.defaultOperators = qbPanelFilter.qbpanelToFields.map(panelToField => {
225
+ return {
226
+ qbfilterFieldId: panelToField.qbfilterFieldId,
227
+ qbdefaultOperator: panelToField.qbdefaultOperator
228
+ }
229
+ })
230
+ let filterEntity: QbFilterEntity[] = qbPanelFilter.qbpanelToFields.map(panelToField => {
231
+ return {
232
+ id: panelToField.qbfilterField.qbfilterEntity.id,
233
+ basic: panelToField.basic,
234
+ name: panelToField.qbfilterField.qbfilterEntity.name,
235
+ jsonName: panelToField.qbfilterField.qbfilterEntity.jsonName,
236
+ fields: []
237
+ }
238
+ });
239
+
240
+ let filterFields: FilterField[] = qbPanelFilter.qbpanelToFields.map(p => p.qbfilterField);
241
+ filterEntity.forEach((entity: QbFilterEntity, index: number) => {
242
+ let fields = filterFields.filter(e => e.qbfilterEntity.id == entity.id);
243
+ filterEntity[index].fields = fields ;
244
+ })
245
+
246
+ this.basicQueryConfig = this.initQueryBuilder(filterEntity);
247
+ this.basicQueryConfig = this.filterFieldsById(this.basicQueryConfig, basicFilterIds);
248
+ this.basicQueryConfig.fields = this.translateFields(this.basicQueryConfig.fields);
249
+ this.advancedQueryConfig = this.initQueryBuilder(filterEntity);
250
+ this.advancedQueryConfig = this.filterFieldsById(this.advancedQueryConfig, advancedFilterIds);
251
+ this.advancedQueryConfig.fields = this.translateFields(this.advancedQueryConfig.fields);
252
+ let rules = Object.keys(this.basicQueryConfig.fields)
253
+ .map(fieldKey => {
254
+ let defaultOperator = this.defaultOperators.find(operator => operator.qbfilterFieldId == this.basicQueryConfig.fields[fieldKey].id && operator.qbdefaultOperator != null);
255
+ return {
256
+ field: fieldKey,
257
+ value: this.basicQueryConfig.fields[fieldKey].defaultValue!,
258
+ operator: defaultOperator ? defaultOperator.qbdefaultOperator.symbol : null
259
+ }
260
+ });
261
+
262
+ if(this.storedQuery && this.storedQuery?.id == this.filterId && this.storedQuery?.basicQueryValue) {
263
+ this.basicQuery = this.storedQuery.basicQueryValue;
264
+ } else {
265
+ this.basicQuery = {
266
+ condition: 'and',
267
+ rules: rules
268
+ };
269
+ }
270
+ if(this.storedQuery && this.storedQuery?.id == this.filterId && this.storedQuery?.advancedQueryValue) {
271
+ this.advancedQuery = this.storedQuery.advancedQueryValue;
272
+ } else {
273
+ this.advancedQuery = {
274
+ condition: 'and',
275
+ rules: []
276
+ };
277
+ }
278
+
279
+ this.queryConfigReady = true;
280
+ this.initQueryBuilderControls();
281
+ })
282
+ }
283
+
284
+ initQueryBuilder(filterEntities: QbFilterEntity[]) {
285
+ let entityConfigAux: QueryBuilderConfig = { fields: {} };
286
+ let entitiesArray: EntityMap[] = [];
287
+
288
+ filterEntities.map((e, index) => {
289
+ let entity: Entity = { name: e.jsonName };
290
+ return entitiesArray[index] = { [e.jsonName]: entity };
291
+ });
292
+
293
+ let entitiesMap: EntityMap = {};
294
+
295
+ for (const entity of entitiesArray) {
296
+ const keys = Object.keys(entity);
297
+
298
+ keys.forEach(key => {
299
+ if(this.translationsObject.entities) {
300
+ let entitiesTranslationsKeys = Object.keys(this.translationsObject.entities);
301
+ let translation = entitiesTranslationsKeys.find(translationKey => translationKey == key);
302
+ if(translation) {
303
+ entitiesMap[key] = { name: this.translationsObject.entities[key] }
304
+ } else {
305
+ entitiesMap[key] = entity[key]
306
+ }
307
+ } else {
308
+ entitiesMap[key] = entity[key]
309
+ }
310
+ });
311
+
312
+ entityConfigAux.entities = entitiesMap;
313
+ }
314
+
315
+ let fields: FieldMap[] = [];
316
+ filterEntities.forEach((filterEntity) => {
317
+ return filterEntity.fields.filter((filterField: FilterField) => {
318
+ let index: number = fields.length ?? 0;
319
+ let operatorsFlatArray = filterField.operators.map((o:any) => o.symbol);
320
+ let defaultOperator = this.defaultOperators.find(operator => operator.qbfilterFieldId == filterField.id);
321
+ let field: Field = {
322
+ id: filterField.id,
323
+ name: filterField.name,
324
+ operators: defaultOperator.qbdefaultOperator?.symbol ? this.moveElementToFirstPlace(operatorsFlatArray, defaultOperator.qbdefaultOperator?.symbol) : operatorsFlatArray,
325
+ type: this.getDataType(filterField.dataType),
326
+ defaultValue: this.formatDefaultValue(this.defaultValues.find(value => value.qbfilterFieldId == filterField.id).defaultValue, filterField.dataType),
327
+ defaultOperator: defaultOperator.qbdefaultOperator?.symbol,
328
+ entity: filterEntity.jsonName,
329
+ options: filterField.listOfValues,
330
+ validator: (rule: Rule, parent: RuleSet): any | null => {
331
+ if (rule.operator !== "is null" && rule.operator !== "is not null") {
332
+ if (rule.value === undefined || rule.value === null || rule.value === '' || rule.value.length == 0) {
333
+ return { required: 'empty field' };
334
+ }
335
+ }
336
+ return null;
337
+ }
338
+ }
339
+ this.entities.push({fieldJsonName: filterField.jsonName, entity: field.entity});
340
+ fields[index] = { [filterField.jsonName]: field };
341
+ });
342
+ });
343
+
344
+ let fieldsMap: FieldMap = {};
345
+
346
+ for (const field of fields) {
347
+ const keys = Object.keys(field);
348
+ keys.forEach(key => {
349
+ fieldsMap[key] = field[key];
350
+ });
351
+
352
+ entityConfigAux.fields = fieldsMap;
353
+ }
354
+ return entityConfigAux;
355
+ }
356
+
357
+ filterFieldsById(fieldsObj: any, idArray: number[]): any {
358
+ const filteredFields: any = {};
359
+
360
+ for (const key in fieldsObj.fields) {
361
+ const field = fieldsObj.fields[key];
362
+ if (idArray.includes(field.id)) {
363
+ filteredFields[key] = field;
364
+ }
365
+ }
366
+
367
+ return {
368
+ ...fieldsObj,
369
+ fields: filteredFields,
370
+ };
371
+ }
372
+
373
+ translateFields(fields: FieldMap) {
374
+ for (const key in fields) {
375
+ if (fields.hasOwnProperty(key)) {
376
+ fields[key].field = key;
377
+ fields[key].name = this.translationsObject.fields[key];
378
+ }
379
+ }
380
+ return fields;
381
+ }
382
+
383
+ moveElementToFirstPlace(array: any[], elementToFirstPlace: string) {
384
+ const index = array.indexOf(elementToFirstPlace);
385
+ if (index !== -1) {
386
+ array.splice(index, 1);
387
+ array.unshift(elementToFirstPlace);
388
+ }
389
+ return array;
390
+ }
391
+
392
+ formatDefaultValue(value: any, type: QBDataTypeEnum) {
393
+ if(value) {
394
+ if(type == QBDataTypeEnum.Boolean) {
395
+ return value.toLowerCase() === 'true';
396
+ }
397
+ if(type == this.qbDataTypeEnum.Number || type == this.qbDataTypeEnum.Decimal || type == this.qbDataTypeEnum.List){
398
+ return Number(value);
399
+ }
400
+ }
401
+ return value;
402
+ }
403
+
404
+ getDataType(id: number) {
405
+ return this.qbDataEnums.find(value => value === id)?.toString() ?? "";
406
+ }
407
+
408
+ deleteFieldsWithoutValue(json: any) {
409
+ if (json.basic && json.basic.rules) {
410
+ json.basic.rules = json.basic.rules.filter((rule: any) => rule.value != null);
411
+ json.basic.rules = json.basic.rules.filter((rule: any) => rule.value != undefined);
412
+ json.basic.rules = json.basic.rules.filter((rule: any) => rule.value !== "");
413
+ }
414
+ if(json.advanced && json.advanced.rules?.length != 0) {
415
+ json.advanced.rules = json.advanced.rules.filter((rule: any) => rule.rules?.length != 0);
416
+ }
417
+ if(json.grouped && json.grouped?.rules.length != 0) {
418
+ json.grouped.rules = json.grouped.rules.filter((rule: any) => rule.rules?.length != 0);
419
+ }
420
+ if(json.grouped && json.grouped?.rules.length == 0) {
421
+ json.grouped = null;
422
+ }
423
+ return json;
424
+ }
425
+
426
+ initializeOperators(json: any) {
427
+ if (json.basic && json.basic.rules) {
428
+ json.basic.rules.forEach((rule:any) => {
429
+ if(!rule.operator) {
430
+ rule.operator = "=";
431
+ }
432
+ });
433
+ }
434
+ return json;
435
+ }
436
+
437
+ resetBasicQueryValues() {
438
+ this.basicQuery.rules.forEach((rule: Rule) => {
439
+ if(rule.value || rule.value == 0){
440
+ rule.value = null
441
+ }
442
+ });
443
+ }
444
+
445
+ getQueryFieldName(fieldName: string, fields: FieldMap) {
446
+ const fieldEntry = Object.keys(fields).find(key => fields[key].field === fieldName);
447
+
448
+ return fieldEntry && fields[fieldEntry].name ? fields[fieldEntry].name : fieldName;
449
+ }
450
+
451
+ fieldIsBoolean(fieldName: string, fields: FieldMap) {
452
+ const fieldEntry = Object.keys(fields).find(key => fields[key].field === fieldName);
453
+
454
+ return fields[fieldEntry!].type == QBDataTypeEnum.Boolean.toString() ? true : false;
455
+ }
456
+
457
+ }
@@ -0,0 +1,21 @@
1
+ <div *ngIf="options.length == 0; else optionsDataReady" class="mx-2 w-list-field-skeleton-container p-dropdown p-component"><p-skeleton width="8rem" height="9px"></p-skeleton></div>
2
+ <ng-template #optionsDataReady>
3
+ <p-multiSelect *ngIf="getDataType() == dataType.Multi"
4
+ appendTo="body"
5
+ [options]="options"
6
+ [(ngModel)]="optionSelected"
7
+ optionLabel="name"
8
+ optionValue="value"
9
+ [placeholder]="placeholder ?? 'Select an option'"
10
+ (onChange)="onOptionSelected()">
11
+ </p-multiSelect>
12
+ <p-dropdown *ngIf="options && getDataType() == dataType.Single"
13
+ appendTo="body"
14
+ [options]="options"
15
+ [(ngModel)]="optionSelected"
16
+ optionLabel="name"
17
+ optionValue="value"
18
+ [placeholder]="placeholder ?? 'Select an option'"
19
+ (onChange)="onOptionSelected()">
20
+ </p-dropdown>
21
+ </ng-template>
@@ -0,0 +1,64 @@
1
+ @import '../../../../styles/_variables.scss';
2
+
3
+ ::ng-deep .p-multiselect {
4
+ max-width: 140px;
5
+ }
6
+
7
+ .w-list-field-skeleton-container{
8
+ padding: 14px;
9
+ }
10
+
11
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown{
12
+ font-weight: 600;
13
+ border-width: $borderWidth;
14
+ border-radius: 8px;
15
+ border-color: $black200;
16
+ height: $spacingXXXL;
17
+ margin: $spacingXXS;
18
+ }
19
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled):hover{
20
+ border: $borderWidth solid $primaryColor !important;
21
+ }
22
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown:not(.p-disabled).p-focus {
23
+ box-shadow: $spacingZero $spacingZero 8px $spacingZero rgba($primary500, 0.50);
24
+ border: $borderWidth solid $primary50;
25
+ }
26
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown .p-placeholder {
27
+ color: $text500;
28
+ }
29
+ :host ::ng-deep .w-edit-select-input-small .p-inputtext{
30
+ padding: 6px $spacingZero 6px 12px;
31
+ }
32
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown .pi{
33
+ font-size: .8rem;
34
+ }
35
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown-panel{
36
+ padding: 8px;
37
+ }
38
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items{
39
+ padding: $spacingZero;
40
+ }
41
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item{
42
+ padding: 8px;
43
+ margin-bottom: 4px;
44
+ font-weight: 600;
45
+ }
46
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item:hover{
47
+ background: $primary50;
48
+ border-radius: 8px;
49
+ }
50
+ :host ::ng-deep .w-edit-select-input-small .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight{
51
+ background: $primary50;
52
+ border-radius: 8px;
53
+ color: $black;
54
+ }
55
+ :host ::ng-deep .w-edit-select-input-small .p-disabled{
56
+ background: $white;
57
+ opacity: 1;
58
+ }
59
+ :host ::ng-deep .w-edit-select-input-small .p-disabled .p-inputtext{
60
+ color: $black400;
61
+ }
62
+ ::ng-deep .select-disabled .p-dropdown .p-dropdown-trigger {
63
+ display: none;
64
+ }
@@ -0,0 +1,23 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { WListFieldComponent } from './w-list-field.component';
4
+
5
+ describe('ListFieldComponent', () => {
6
+ let component: WListFieldComponent;
7
+ let fixture: ComponentFixture<WListFieldComponent>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ declarations: [ WListFieldComponent ]
12
+ })
13
+ .compileComponents();
14
+
15
+ fixture = TestBed.createComponent(WListFieldComponent);
16
+ component = fixture.componentInstance;
17
+ fixture.detectChanges();
18
+ });
19
+
20
+ it('should create', () => {
21
+ expect(component).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,73 @@
1
+ import { Component, Input, OnChanges, OnInit, SimpleChanges, forwardRef } from "@angular/core";
2
+ import { ControlValueAccessor, NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { DataTypeEnum, OperatorEnum } from "../../../shared/models/enums.model";
4
+
5
+ @Component({
6
+ selector: 'w-list-field',
7
+ templateUrl: './w-list-field.component.html',
8
+ styleUrls: ['./w-list-field.component.scss'],
9
+ providers: [
10
+ {
11
+ provide: NG_VALUE_ACCESSOR,
12
+ useExisting: forwardRef(() => WListFieldComponent),
13
+ multi: true
14
+ }
15
+ ]
16
+ })
17
+ export class WListFieldComponent implements OnInit, ControlValueAccessor, OnChanges{
18
+ @Input('options') optionsReceived!: any;
19
+ options!: any;
20
+ optionSelected: any;
21
+ @Input('operator') operator: any;
22
+ @Input('placeholder') placeholder!: any;
23
+ @Input('onlyDropdown') onlyDropdown: boolean = false;
24
+
25
+
26
+ dataType: typeof DataTypeEnum = DataTypeEnum;
27
+
28
+ private onChange: any = () => {};
29
+ private onTouched: any = () => {};
30
+
31
+ constructor(){}
32
+
33
+ ngOnInit(): void {
34
+ this.options = this.optionsReceived;
35
+ }
36
+
37
+ ngOnChanges(changes: SimpleChanges): void {
38
+ if(this.onlyDropdown == true && (changes[this.optionsReceived] != undefined) && (changes[this.optionsReceived].currentValue[0] !== changes[this.optionsReceived].previousValue[0])){
39
+ this.options = this.optionsReceived;
40
+ }
41
+
42
+ if(this.onlyDropdown == false){
43
+ if(changes[this.operator]?.previousValue != undefined){
44
+ this.optionSelected = null;
45
+ }
46
+ }
47
+ }
48
+
49
+ onOptionSelected(){
50
+ this.onChange(this.optionSelected);
51
+ this.onTouched();
52
+ }
53
+
54
+ writeValue(value: any): void {
55
+ this.optionSelected = value;
56
+ }
57
+
58
+ registerOnChange(fn: any): void {
59
+ this.onChange = fn;
60
+ }
61
+
62
+ registerOnTouched(fn: any): void {
63
+ this.onTouched = fn;
64
+ }
65
+
66
+ getDataType(){
67
+ if(this.operator == OperatorEnum.Equals || this.operator == OperatorEnum.NotEquals){
68
+ return DataTypeEnum.Single;
69
+ }else{
70
+ return DataTypeEnum.Multi;
71
+ }
72
+ }
73
+ }