@updevs/components 1.0.0-alpha.5 → 1.0.0-alpha.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 (922) hide show
  1. package/README.md +1 -11
  2. package/assets/styles/_bootstrap-components.scss +18 -1
  3. package/assets/styles/_core.scss +9 -0
  4. package/assets/styles/_debug.scss +49 -0
  5. package/assets/styles/_props.scss +91 -0
  6. package/assets/styles/_seven-columns.scss +73 -0
  7. package/assets/styles/_updevs.scss +16 -0
  8. package/assets/styles/_utilities-marketing.scss +209 -0
  9. package/assets/styles/_utilities.scss +127 -92
  10. package/assets/styles/_variables-dark.scss +8 -6
  11. package/assets/styles/_variables.scss +325 -256
  12. package/assets/styles/helpers/_index.scss +143 -0
  13. package/assets/styles/layout/_core.scss +3 -2
  14. package/assets/styles/layout/_dark.scss +40 -35
  15. package/assets/styles/layout/_footer.scss +1 -1
  16. package/assets/styles/layout/_navbar.scss +31 -19
  17. package/assets/styles/layout/_page.scss +6 -5
  18. package/assets/styles/layout/_root.scss +26 -34
  19. package/assets/styles/marketing/_browser.scss +67 -0
  20. package/assets/styles/marketing/_core.scss +8 -0
  21. package/assets/styles/marketing/_hero.scss +70 -0
  22. package/assets/styles/marketing/_pricing.scss +111 -0
  23. package/assets/styles/marketing/_sections.scss +124 -0
  24. package/assets/styles/marketing/_shape.scss +31 -0
  25. package/assets/styles/mixins/_functions.scss +53 -0
  26. package/assets/styles/mixins/_mixins.scss +9 -9
  27. package/assets/styles/ui/_accordion.scss +165 -11
  28. package/assets/styles/ui/_alerts.scss +80 -38
  29. package/assets/styles/ui/_avatars.scss +36 -9
  30. package/assets/styles/ui/_badges.scss +47 -13
  31. package/assets/styles/ui/_button-group.scss +1 -1
  32. package/assets/styles/ui/_buttons.scss +33 -37
  33. package/assets/styles/ui/_calendars.scss +2 -2
  34. package/assets/styles/ui/_cards.scss +9 -0
  35. package/assets/styles/ui/_carousel.scss +1 -1
  36. package/assets/styles/ui/_charts.scss +1 -1
  37. package/assets/styles/ui/_chat.scss +38 -0
  38. package/assets/styles/ui/_close.scss +54 -1
  39. package/assets/styles/ui/_datagrid.scss +1 -1
  40. package/assets/styles/ui/_dropdowns.scss +3 -0
  41. package/assets/styles/ui/_empty.scss +0 -5
  42. package/assets/styles/ui/_flags.scss +2 -2
  43. package/assets/styles/ui/_forms.scss +33 -7
  44. package/assets/styles/ui/_grid.scss +1 -1
  45. package/assets/styles/ui/_icons.scss +1 -1
  46. package/assets/styles/ui/_images.scss +4 -0
  47. package/assets/styles/ui/_lists.scss +12 -16
  48. package/assets/styles/ui/_loaders.scss +1 -1
  49. package/assets/styles/ui/_markdown.scss +15 -4
  50. package/assets/styles/ui/_modals.scss +2 -2
  51. package/assets/styles/ui/_nav.scss +17 -3
  52. package/assets/styles/ui/_offcanvas.scss +2 -2
  53. package/assets/styles/ui/_pagination.scss +2 -0
  54. package/assets/styles/ui/_payments.scss +1 -1
  55. package/assets/styles/ui/_placeholder.scss +1 -1
  56. package/assets/styles/ui/_progress.scss +1 -1
  57. package/assets/styles/ui/_ribbons.scss +1 -0
  58. package/assets/styles/ui/_segmented.scss +101 -0
  59. package/assets/styles/ui/_signature.scss +15 -0
  60. package/assets/styles/ui/_social.scss +52 -0
  61. package/assets/styles/ui/_status.scss +1 -1
  62. package/assets/styles/ui/_steps.scss +5 -1
  63. package/assets/styles/ui/_switch-icon.scss +1 -1
  64. package/assets/styles/ui/_tables.scss +27 -1
  65. package/assets/styles/ui/_tags.scss +1 -1
  66. package/assets/styles/ui/_timeline.scss +1 -1
  67. package/assets/styles/ui/_toasts.scss +0 -1
  68. package/assets/styles/ui/_tracking.scss +1 -1
  69. package/assets/styles/ui/_type.scss +169 -8
  70. package/assets/styles/ui/forms/_form-check.scss +1 -1
  71. package/assets/styles/ui/forms/_form-colorinput.scss +1 -1
  72. package/assets/styles/ui/forms/_form-custom.scss +1 -1
  73. package/assets/styles/ui/forms/_form-imagecheck.scss +6 -5
  74. package/assets/styles/ui/forms/_form-selectgroup.scss +2 -2
  75. package/assets/styles/ui/typo/_hr.scss +4 -2
  76. package/assets/styles/utils/_colors.scss +72 -11
  77. package/assets/styles/utils/_opacity.scss +1 -1
  78. package/assets/styles/utils/_scroll.scss +0 -2
  79. package/assets/styles/utils/_sizing.scss +1 -1
  80. package/assets/styles/utils/_text.scss +1 -2
  81. package/assets/styles/vendor/_apexcharts.scss +52 -0
  82. package/assets/styles/vendor/_coloris.scss +72 -0
  83. package/assets/styles/vendor/_dropzone.scss +27 -0
  84. package/assets/styles/vendor/_fslightbox.scss +13 -0
  85. package/assets/styles/vendor/_jsvectormap.scss +47 -0
  86. package/assets/styles/vendor/_litepicker.scss +69 -0
  87. package/assets/styles/vendor/_nouislider.scss +49 -0
  88. package/assets/styles/vendor/_plyr.scss +3 -0
  89. package/assets/styles/vendor/_stars-rating.scss +22 -0
  90. package/assets/styles/vendor/_tom-select.scss +81 -0
  91. package/assets/styles/vendor/_turbo.scss +3 -0
  92. package/assets/styles/vendor/_typed.scss +4 -0
  93. package/assets/styles/vendor/_wysiwyg.scss +46 -0
  94. package/badge/badge-config.model.d.ts +14 -0
  95. package/badge/badge.component.d.ts +23 -0
  96. package/badge/badge.config.d.ts +12 -0
  97. package/badge/public-api.d.ts +3 -0
  98. package/badge/upd-badge.module.d.ts +8 -0
  99. package/button/button.component.d.ts +61 -0
  100. package/button/upd-button.module.d.ts +10 -0
  101. package/calendar/calendar.component.d.ts +63 -0
  102. package/calendar/models/calendar-date.model.d.ts +10 -0
  103. package/calendar/models/calendar-month.model.d.ts +7 -0
  104. package/calendar/models/calendar-selected.model.d.ts +5 -0
  105. package/calendar/models/calendar-user-event.model.d.ts +4 -0
  106. package/calendar/models/calendar-year.model.d.ts +6 -0
  107. package/calendar/models/date-range.model.d.ts +22 -0
  108. package/calendar/models/enums/calendar-view.enum.d.ts +5 -0
  109. package/calendar/models/public-api.d.ts +7 -0
  110. package/calendar/public-api.d.ts +5 -0
  111. package/calendar/services/calendar-range-strategy.service.d.ts +35 -0
  112. package/calendar/services/calendar-signals.service.d.ts +24 -0
  113. package/calendar/services/public-api.d.ts +1 -0
  114. package/calendar/types/calendar-view.type.d.ts +1 -0
  115. package/calendar/types/public-api.d.ts +1 -0
  116. package/calendar/upd-calendar.module.d.ts +13 -0
  117. package/card/card.component.d.ts +54 -0
  118. package/card/directives/card-actions.directive.d.ts +7 -0
  119. package/card/directives/card-footer.directive.d.ts +7 -0
  120. package/card/directives/card-header.directive.d.ts +7 -0
  121. package/card/directives/card-image.directive.d.ts +7 -0
  122. package/card/{src/public-api.ts → public-api.d.ts} +1 -0
  123. package/card/upd-card.module.d.ts +14 -0
  124. package/drag-and-drop/drag-and-drop.component.d.ts +26 -0
  125. package/drag-and-drop/models/drag-and-drop-column.config.d.ts +8 -0
  126. package/drag-and-drop/models/drag-and-drop-column.model.d.ts +10 -0
  127. package/drag-and-drop/models/drag-and-drop-item.d.ts +7 -0
  128. package/drag-and-drop/models/drag-and-drop-item.model.d.ts +13 -0
  129. package/drag-and-drop/models/drag-and-drop.config.d.ts +6 -0
  130. package/drag-and-drop/models/public-api.d.ts +4 -0
  131. package/drag-and-drop/public-api.d.ts +3 -0
  132. package/drag-and-drop/upd-drag-and-drop.module.d.ts +9 -0
  133. package/dropdown/dropdown.component.d.ts +79 -0
  134. package/dropdown/models/dropdown-action-clicked.model.d.ts +6 -0
  135. package/dropdown/{src/models/dropdown-item.ts → models/dropdown-item.d.ts} +7 -4
  136. package/dropdown/{src/models/dropdown-item.type.ts → models/dropdown-item.type.d.ts} +1 -1
  137. package/dropdown/models/public-api.d.ts +4 -0
  138. package/dropdown/models/toolbar.type.d.ts +1 -0
  139. package/dropdown/upd-dropdown.module.d.ts +12 -0
  140. package/esm2022/badge/badge-config.model.mjs +14 -0
  141. package/esm2022/badge/badge.component.mjs +48 -0
  142. package/esm2022/badge/badge.config.mjs +2 -0
  143. package/esm2022/badge/index.mjs +2 -0
  144. package/esm2022/badge/public-api.mjs +4 -0
  145. package/esm2022/badge/upd-badge.module.mjs +24 -0
  146. package/esm2022/badge/updevs-components-badge.mjs +5 -0
  147. package/esm2022/button/button.component.mjs +157 -0
  148. package/esm2022/button/index.mjs +2 -0
  149. package/esm2022/button/public-api.mjs +3 -0
  150. package/esm2022/button/upd-button.module.mjs +32 -0
  151. package/esm2022/button/updevs-components-button.mjs +5 -0
  152. package/esm2022/calendar/assets/i18n/en.json +16 -0
  153. package/esm2022/calendar/assets/i18n/pt.json +16 -0
  154. package/esm2022/calendar/calendar.component.mjs +318 -0
  155. package/esm2022/calendar/index.mjs +2 -0
  156. package/esm2022/calendar/models/calendar-date.model.mjs +2 -0
  157. package/esm2022/calendar/models/calendar-month.model.mjs +2 -0
  158. package/esm2022/calendar/models/calendar-selected.model.mjs +2 -0
  159. package/esm2022/calendar/models/calendar-user-event.model.mjs +2 -0
  160. package/esm2022/calendar/models/calendar-year.model.mjs +2 -0
  161. package/esm2022/calendar/models/date-range.model.mjs +18 -0
  162. package/esm2022/calendar/models/enums/calendar-view.enum.mjs +7 -0
  163. package/esm2022/calendar/models/public-api.mjs +8 -0
  164. package/esm2022/calendar/public-api.mjs +6 -0
  165. package/esm2022/calendar/services/calendar-range-strategy.service.mjs +99 -0
  166. package/esm2022/calendar/services/calendar-signals.service.mjs +47 -0
  167. package/esm2022/calendar/services/public-api.mjs +2 -0
  168. package/esm2022/calendar/types/calendar-view.type.mjs +2 -0
  169. package/esm2022/calendar/types/public-api.mjs +2 -0
  170. package/esm2022/calendar/upd-calendar.module.mjs +52 -0
  171. package/esm2022/calendar/updevs-components-calendar.mjs +5 -0
  172. package/esm2022/card/card.component.mjs +136 -0
  173. package/esm2022/card/directives/card-actions.directive.mjs +16 -0
  174. package/esm2022/card/directives/card-footer.directive.mjs +16 -0
  175. package/esm2022/card/directives/card-header.directive.mjs +16 -0
  176. package/esm2022/card/directives/card-image.directive.mjs +16 -0
  177. package/esm2022/card/directives/public-api.mjs +5 -0
  178. package/esm2022/card/index.mjs +2 -0
  179. package/esm2022/card/public-api.mjs +5 -0
  180. package/esm2022/card/types/card-state.type.mjs +2 -0
  181. package/esm2022/card/types/card-style.type.mjs +2 -0
  182. package/esm2022/card/types/hover-effect.type.mjs +2 -0
  183. package/esm2022/card/types/public-api.mjs +6 -0
  184. package/esm2022/card/types/ribbon-style.type.mjs +2 -0
  185. package/esm2022/card/types/status-position.type.mjs +2 -0
  186. package/esm2022/card/upd-card.module.mjs +50 -0
  187. package/esm2022/card/updevs-components-card.mjs +5 -0
  188. package/esm2022/drag-and-drop/drag-and-drop.component.mjs +134 -0
  189. package/esm2022/drag-and-drop/index.mjs +2 -0
  190. package/esm2022/drag-and-drop/models/drag-and-drop-column.config.mjs +2 -0
  191. package/esm2022/drag-and-drop/models/drag-and-drop-column.model.mjs +9 -0
  192. package/esm2022/drag-and-drop/models/drag-and-drop-item.mjs +2 -0
  193. package/esm2022/drag-and-drop/models/drag-and-drop-item.model.mjs +14 -0
  194. package/esm2022/drag-and-drop/models/drag-and-drop.config.mjs +2 -0
  195. package/esm2022/drag-and-drop/models/public-api.mjs +5 -0
  196. package/esm2022/drag-and-drop/public-api.mjs +4 -0
  197. package/esm2022/drag-and-drop/upd-drag-and-drop.module.mjs +28 -0
  198. package/esm2022/drag-and-drop/updevs-components-drag-and-drop.mjs +5 -0
  199. package/esm2022/dropdown/dropdown.component.mjs +198 -0
  200. package/esm2022/dropdown/index.mjs +2 -0
  201. package/esm2022/dropdown/models/dropdown-action-clicked.model.mjs +2 -0
  202. package/esm2022/dropdown/models/dropdown-item.mjs +2 -0
  203. package/esm2022/dropdown/models/dropdown-item.type.mjs +2 -0
  204. package/esm2022/dropdown/models/public-api.mjs +5 -0
  205. package/esm2022/dropdown/models/toolbar.type.mjs +2 -0
  206. package/esm2022/dropdown/public-api.mjs +4 -0
  207. package/esm2022/dropdown/upd-dropdown.module.mjs +40 -0
  208. package/esm2022/dropdown/updevs-components-dropdown.mjs +5 -0
  209. package/esm2022/form/assets/i18n/en.json +17 -0
  210. package/esm2022/form/assets/i18n/pt.json +17 -0
  211. package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +130 -0
  212. package/esm2022/form/form.component.mjs +122 -0
  213. package/esm2022/form/index.mjs +2 -0
  214. package/esm2022/form/models/checkbox-field.model.mjs +2 -0
  215. package/esm2022/form/models/checkbox-group-field.model.mjs +2 -0
  216. package/esm2022/form/models/dynamic-field.model.mjs +2 -0
  217. package/esm2022/form/models/enums/dynamic-field.type.mjs +15 -0
  218. package/esm2022/form/models/enums/public-api.mjs +2 -0
  219. package/esm2022/form/models/file-upload-field.model.mjs +2 -0
  220. package/esm2022/form/models/form-config.mjs +2 -0
  221. package/esm2022/form/models/form-row.model.mjs +2 -0
  222. package/esm2022/form/models/input-field.model.mjs +2 -0
  223. package/esm2022/form/models/masked-input-field.model.mjs +2 -0
  224. package/esm2022/form/models/public-api.mjs +16 -0
  225. package/esm2022/form/models/radio-field.model.mjs +2 -0
  226. package/esm2022/form/models/radio-group-field.model.mjs +2 -0
  227. package/esm2022/form/models/select-field.model.mjs +2 -0
  228. package/esm2022/form/models/single-select-field.model.mjs +2 -0
  229. package/esm2022/form/models/textarea-field.model.mjs +2 -0
  230. package/esm2022/form/models/validator-config.mjs +2 -0
  231. package/esm2022/form/public-api.mjs +4 -0
  232. package/esm2022/form/tools/errors-helper.mjs +54 -0
  233. package/esm2022/form/upd-form.module.mjs +84 -0
  234. package/esm2022/form/updevs-components-form.mjs +5 -0
  235. package/esm2022/form-controls/abstractions/base-control.mjs +46 -0
  236. package/esm2022/form-controls/abstractions/index.mjs +2 -0
  237. package/esm2022/form-controls/abstractions/public-api.mjs +2 -0
  238. package/esm2022/form-controls/abstractions/updevs-components-form-controls-abstractions.mjs +5 -0
  239. package/esm2022/form-controls/checkbox/checkbox.component.mjs +54 -0
  240. package/esm2022/form-controls/checkbox/index.mjs +2 -0
  241. package/esm2022/form-controls/checkbox/public-api.mjs +3 -0
  242. package/esm2022/form-controls/checkbox/upd-checkbox.module.mjs +32 -0
  243. package/esm2022/form-controls/checkbox/updevs-components-form-controls-checkbox.mjs +5 -0
  244. package/esm2022/form-controls/date-picker/date-picker.component.mjs +132 -0
  245. package/esm2022/form-controls/date-picker/index.mjs +2 -0
  246. package/esm2022/form-controls/date-picker/public-api.mjs +3 -0
  247. package/esm2022/form-controls/date-picker/upd-date-picker.module.mjs +40 -0
  248. package/esm2022/form-controls/date-picker/updevs-components-form-controls-date-picker.mjs +5 -0
  249. package/esm2022/form-controls/file-upload/assets/i18n/en.json +15 -0
  250. package/esm2022/form-controls/file-upload/assets/i18n/pt.json +15 -0
  251. package/esm2022/form-controls/file-upload/file-upload-changed.event.mjs +2 -0
  252. package/esm2022/form-controls/file-upload/file-upload.component.mjs +169 -0
  253. package/esm2022/form-controls/file-upload/index.mjs +2 -0
  254. package/esm2022/form-controls/file-upload/public-api.mjs +4 -0
  255. package/esm2022/form-controls/file-upload/upd-file-upload.module.mjs +48 -0
  256. package/esm2022/form-controls/file-upload/updevs-components-form-controls-file-upload.mjs +5 -0
  257. package/esm2022/form-controls/input/directives/input-append.directive.mjs +16 -0
  258. package/esm2022/form-controls/input/directives/input-prepend.directive.mjs +16 -0
  259. package/esm2022/form-controls/input/directives/public-api.mjs +3 -0
  260. package/esm2022/form-controls/input/index.mjs +2 -0
  261. package/esm2022/form-controls/input/input.component.mjs +185 -0
  262. package/esm2022/form-controls/input/public-api.mjs +5 -0
  263. package/esm2022/form-controls/input/types/input.type.mjs +2 -0
  264. package/esm2022/form-controls/input/types/loader-position.type.mjs +2 -0
  265. package/esm2022/form-controls/input/types/public-api.mjs +3 -0
  266. package/esm2022/form-controls/input/upd-input.module.mjs +46 -0
  267. package/esm2022/form-controls/input/updevs-components-form-controls-input.mjs +5 -0
  268. package/esm2022/form-controls/radio/index.mjs +2 -0
  269. package/esm2022/form-controls/radio/public-api.mjs +3 -0
  270. package/esm2022/form-controls/radio/radio.component.mjs +51 -0
  271. package/esm2022/form-controls/radio/upd-radio.module.mjs +32 -0
  272. package/esm2022/form-controls/radio/updevs-components-form-controls-radio.mjs +5 -0
  273. package/esm2022/form-controls/select/components/multiple/select-multiple.component.mjs +76 -0
  274. package/esm2022/form-controls/select/components/single/select.component.mjs +72 -0
  275. package/esm2022/form-controls/select/index.mjs +2 -0
  276. package/esm2022/form-controls/select/models/abstractions/base-select.component.mjs +215 -0
  277. package/esm2022/form-controls/select/models/defaults.mjs +8 -0
  278. package/esm2022/form-controls/select/models/public-api.mjs +3 -0
  279. package/esm2022/form-controls/select/models/select-item.mjs +2 -0
  280. package/esm2022/form-controls/select/public-api.mjs +5 -0
  281. package/esm2022/form-controls/select/upd-select.module.mjs +57 -0
  282. package/esm2022/form-controls/select/updevs-components-form-controls-select.mjs +5 -0
  283. package/esm2022/form-controls/textarea/index.mjs +2 -0
  284. package/esm2022/form-controls/textarea/public-api.mjs +3 -0
  285. package/esm2022/form-controls/textarea/textarea.component.mjs +44 -0
  286. package/esm2022/form-controls/textarea/upd-textarea.module.mjs +24 -0
  287. package/esm2022/form-controls/textarea/updevs-components-form-controls-textarea.mjs +5 -0
  288. package/esm2022/form-controls/time-picker/index.mjs +2 -0
  289. package/esm2022/form-controls/time-picker/public-api.mjs +4 -0
  290. package/esm2022/form-controls/time-picker/time-picker.component.mjs +130 -0
  291. package/esm2022/form-controls/time-picker/time-selector/time-selector.component.mjs +124 -0
  292. package/esm2022/form-controls/time-picker/upd-time-picker.module.mjs +61 -0
  293. package/esm2022/form-controls/time-picker/updevs-components-form-controls-time-picker.mjs +5 -0
  294. package/esm2022/index.mjs +2 -0
  295. package/esm2022/layout/abstractions/base-page.component.mjs +23 -0
  296. package/esm2022/layout/abstractions/base.layout.mjs +31 -0
  297. package/esm2022/layout/abstractions/public-api.mjs +2 -0
  298. package/esm2022/layout/assets/i18n/en.json +27 -0
  299. package/esm2022/layout/assets/i18n/pt.json +27 -0
  300. package/esm2022/layout/index.mjs +2 -0
  301. package/esm2022/layout/layouts/blank-layout/blank-layout.component.mjs +22 -0
  302. package/esm2022/layout/layouts/blank-layout/blank-layout.module.mjs +50 -0
  303. package/esm2022/layout/layouts/public-api.mjs +5 -0
  304. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.mjs +17 -0
  305. package/esm2022/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.mjs +78 -0
  306. package/esm2022/layout/models/login-page-config.model.mjs +20 -0
  307. package/esm2022/layout/models/login-page.config.mjs +2 -0
  308. package/esm2022/layout/models/public-api.mjs +3 -0
  309. package/esm2022/layout/models/security-layout-config.model.mjs +10 -0
  310. package/esm2022/layout/models/security-layout.config.mjs +2 -0
  311. package/esm2022/layout/models/upd-layout-config.model.mjs +24 -0
  312. package/esm2022/layout/models/upd-layout.config.mjs +2 -0
  313. package/esm2022/layout/pages/auth-flow/auth-flow-routing.module.mjs +28 -0
  314. package/esm2022/layout/pages/auth-flow/auth-flow.module.mjs +73 -0
  315. package/esm2022/layout/pages/auth-flow/logged-out/logged-out.component.mjs +11 -0
  316. package/esm2022/layout/pages/auth-flow/login/login.component.mjs +110 -0
  317. package/esm2022/layout/pages/auth-flow/oauth-callback/oauth-callback.component.mjs +11 -0
  318. package/esm2022/layout/pages/auth-flow/public-api.mjs +6 -0
  319. package/esm2022/layout/pages/public-api.mjs +2 -0
  320. package/esm2022/layout/partials/footer/footer.component.mjs +52 -0
  321. package/esm2022/layout/partials/footer/footer.module.mjs +28 -0
  322. package/esm2022/layout/partials/footer/public-api.mjs +3 -0
  323. package/esm2022/layout/partials/header/header-style.type.mjs +2 -0
  324. package/esm2022/layout/partials/header/header.component.mjs +140 -0
  325. package/esm2022/layout/partials/header/header.module.mjs +40 -0
  326. package/esm2022/layout/partials/header/public-api.mjs +4 -0
  327. package/esm2022/layout/partials/page-header/page-header.component.mjs +15 -0
  328. package/esm2022/layout/partials/page-header/public-api.mjs +2 -0
  329. package/esm2022/layout/partials/public-api.mjs +5 -0
  330. package/esm2022/layout/partials/sidebar/public-api.mjs +2 -0
  331. package/esm2022/layout/partials/sidebar/sidebar.component.mjs +234 -0
  332. package/esm2022/layout/public-api.mjs +8 -0
  333. package/esm2022/layout/services/public-api.mjs +2 -0
  334. package/esm2022/layout/services/upd-layout-config.service.mjs +21 -0
  335. package/esm2022/layout/tools/layout.constants.mjs +15 -0
  336. package/esm2022/layout/upd-layout.module.mjs +47 -0
  337. package/esm2022/layout/updevs-components-layout.mjs +5 -0
  338. package/esm2022/lib/index.mjs +2 -0
  339. package/esm2022/lib/models/public-api.mjs +2 -0
  340. package/esm2022/lib/models/row-column-size.mjs +2 -0
  341. package/esm2022/lib/public-api.mjs +5 -0
  342. package/esm2022/lib/tools/column-size.helper.mjs +12 -0
  343. package/esm2022/lib/tools/public-api.mjs +2 -0
  344. package/esm2022/lib/types/component-size.type.mjs +2 -0
  345. package/esm2022/lib/types/horizontal-vertical.type.mjs +2 -0
  346. package/esm2022/lib/types/public-api.mjs +4 -0
  347. package/esm2022/lib/types/validation-status.type.mjs +2 -0
  348. package/esm2022/lib/upd-components.module.mjs +14 -0
  349. package/esm2022/link/index.mjs +2 -0
  350. package/esm2022/link/link.component.mjs +51 -0
  351. package/esm2022/link/public-api.mjs +4 -0
  352. package/esm2022/link/target.type.mjs +2 -0
  353. package/esm2022/link/upd-link.module.mjs +24 -0
  354. package/esm2022/link/updevs-components-link.mjs +5 -0
  355. package/esm2022/list/assets/i18n/en.json +9 -0
  356. package/esm2022/list/assets/i18n/pt.json +9 -0
  357. package/esm2022/list/index.mjs +2 -0
  358. package/esm2022/list/list.component.mjs +113 -0
  359. package/esm2022/list/models/badge-position.type.mjs +2 -0
  360. package/esm2022/list/models/list-item.mjs +2 -0
  361. package/esm2022/list/models/list-item.model.mjs +15 -0
  362. package/esm2022/list/models/public-api.mjs +3 -0
  363. package/esm2022/list/public-api.mjs +4 -0
  364. package/esm2022/list/upd-list.module.mjs +44 -0
  365. package/esm2022/list/updevs-components-list.mjs +5 -0
  366. package/esm2022/modal/assets/i18n/en.json +17 -0
  367. package/esm2022/modal/assets/i18n/pt.json +17 -0
  368. package/esm2022/modal/components/modal-container/modal-container.component.mjs +216 -0
  369. package/esm2022/modal/index.mjs +2 -0
  370. package/esm2022/modal/models/base.modal.mjs +14 -0
  371. package/esm2022/modal/models/modal-config.model.mjs +20 -0
  372. package/esm2022/modal/models/modal-ref.mjs +2 -0
  373. package/esm2022/modal/models/modal.config.mjs +2 -0
  374. package/esm2022/modal/models/public-api.mjs +4 -0
  375. package/esm2022/modal/public-api.mjs +4 -0
  376. package/esm2022/modal/services/modal-alert.service.mjs +99 -0
  377. package/esm2022/modal/services/modal.service.mjs +30 -0
  378. package/esm2022/modal/services/public-api.mjs +3 -0
  379. package/esm2022/modal/types/modal-footer-style.type.mjs +2 -0
  380. package/esm2022/modal/types/modal-size.type.mjs +2 -0
  381. package/esm2022/modal/upd-modal.module.mjs +90 -0
  382. package/esm2022/modal/updevs-components-modal.mjs +5 -0
  383. package/esm2022/paginator/assets/i18n/en.json +15 -0
  384. package/esm2022/paginator/assets/i18n/pt.json +15 -0
  385. package/esm2022/paginator/index.mjs +2 -0
  386. package/esm2022/paginator/paginator.component.mjs +66 -0
  387. package/esm2022/paginator/public-api.mjs +3 -0
  388. package/esm2022/paginator/upd-paginator.module.mjs +47 -0
  389. package/esm2022/paginator/updevs-components-paginator.mjs +5 -0
  390. package/esm2022/popover/index.mjs +2 -0
  391. package/esm2022/popover/popover.component.mjs +65 -0
  392. package/esm2022/popover/popover.directive.mjs +118 -0
  393. package/esm2022/popover/public-api.mjs +4 -0
  394. package/esm2022/popover/upd-popover.module.mjs +29 -0
  395. package/esm2022/popover/updevs-components-popover.mjs +5 -0
  396. package/esm2022/pricing-cards/index.mjs +2 -0
  397. package/esm2022/pricing-cards/models/price-item-feature.model.mjs +2 -0
  398. package/esm2022/pricing-cards/models/price-item-features-group.model.mjs +2 -0
  399. package/esm2022/pricing-cards/models/price-item-tag.model.mjs +2 -0
  400. package/esm2022/pricing-cards/models/price-item.model.mjs +2 -0
  401. package/esm2022/pricing-cards/models/public-api.mjs +5 -0
  402. package/esm2022/pricing-cards/pricing-cards.component.mjs +25 -0
  403. package/esm2022/pricing-cards/public-api.mjs +4 -0
  404. package/esm2022/pricing-cards/upd-pricing-cards.module.mjs +40 -0
  405. package/esm2022/pricing-cards/updevs-components-pricing-cards.mjs +5 -0
  406. package/esm2022/public-api.mjs +2 -0
  407. package/esm2022/table/abstractions/base-column.model.mjs +52 -0
  408. package/esm2022/table/abstractions/base.column.mjs +84 -0
  409. package/esm2022/table/abstractions/filters-operands.service.mjs +3 -0
  410. package/esm2022/table/abstractions/public-api.mjs +3 -0
  411. package/esm2022/table/assets/i18n/en.json +74 -0
  412. package/esm2022/table/assets/i18n/pt.json +74 -0
  413. package/esm2022/table/components/columns/boolean-column/boolean-column.component.mjs +26 -0
  414. package/esm2022/table/components/columns/date-time-column/date-time-column.component.mjs +13 -0
  415. package/esm2022/table/components/columns/number-column/number-column.component.mjs +13 -0
  416. package/esm2022/table/components/columns/text-column/text-column.component.mjs +31 -0
  417. package/esm2022/table/components/columns-manager/columns-manager.component.mjs +36 -0
  418. package/esm2022/table/components/filter-row/filter-row.component.mjs +114 -0
  419. package/esm2022/table/components/save-search/save-search.component.mjs +72 -0
  420. package/esm2022/table/components/search-section/search-section.component.mjs +93 -0
  421. package/esm2022/table/directives/public-api.mjs +2 -0
  422. package/esm2022/table/directives/table-column.directive.mjs +52 -0
  423. package/esm2022/table/index.mjs +2 -0
  424. package/esm2022/table/models/columns/boolean-column.model.mjs +22 -0
  425. package/esm2022/table/models/columns/date-time-column.model.mjs +16 -0
  426. package/esm2022/table/models/columns/guid-column.model.mjs +13 -0
  427. package/esm2022/table/models/columns/image-column.model.mjs +11 -0
  428. package/esm2022/table/models/columns/number-column.model.mjs +17 -0
  429. package/esm2022/table/models/columns/public-api.mjs +7 -0
  430. package/esm2022/table/models/columns/text-column.model.mjs +11 -0
  431. package/esm2022/table/models/enums/column-type.enum.mjs +15 -0
  432. package/esm2022/table/models/enums/public-api.mjs +2 -0
  433. package/esm2022/table/models/filter-item.model.mjs +2 -0
  434. package/esm2022/table/models/filter-operand.config.mjs +2 -0
  435. package/esm2022/table/models/operands-lists/boolean-filter-operands-list.model.mjs +25 -0
  436. package/esm2022/table/models/operands-lists/date-filter-operands-list.model.mjs +25 -0
  437. package/esm2022/table/models/operands-lists/date-or-number-operands-list.config.mjs +31 -0
  438. package/esm2022/table/models/operands-lists/filter-operands-list.config.mjs +31 -0
  439. package/esm2022/table/models/operands-lists/guid-filter-operands-list.model.mjs +16 -0
  440. package/esm2022/table/models/operands-lists/number-filter-operands-list.model.mjs +25 -0
  441. package/esm2022/table/models/operands-lists/string-filter-operands-list.model.mjs +45 -0
  442. package/esm2022/table/models/public-api.mjs +5 -0
  443. package/esm2022/table/models/saved-view.model.mjs +2 -0
  444. package/esm2022/table/models/table-config.model.mjs +29 -0
  445. package/esm2022/table/models/table.config.mjs +2 -0
  446. package/esm2022/table/models/upd-table-config.model.mjs +9 -0
  447. package/esm2022/table/models/upd-table.config.mjs +2 -0
  448. package/esm2022/table/public-api.mjs +6 -0
  449. package/esm2022/table/services/default-filters-operands.service.mjs +60 -0
  450. package/esm2022/table/services/storages/saved-views.storage.mjs +56 -0
  451. package/esm2022/table/services/stores/filters-operands.store.mjs +19 -0
  452. package/esm2022/table/services/upd-table-config.service.mjs +18 -0
  453. package/esm2022/table/table.component.mjs +439 -0
  454. package/esm2022/table/tools/filters.tools.mjs +48 -0
  455. package/esm2022/table/tools/table.constants.mjs +15 -0
  456. package/esm2022/table/upd-table.module.mjs +150 -0
  457. package/esm2022/table/updevs-components-table.mjs +5 -0
  458. package/esm2022/updevs-components.mjs +5 -0
  459. package/fesm2022/updevs-components-badge.mjs +89 -0
  460. package/fesm2022/updevs-components-badge.mjs.map +1 -0
  461. package/fesm2022/updevs-components-button.mjs +193 -0
  462. package/fesm2022/updevs-components-button.mjs.map +1 -0
  463. package/fesm2022/updevs-components-calendar.mjs +582 -0
  464. package/fesm2022/updevs-components-calendar.mjs.map +1 -0
  465. package/fesm2022/updevs-components-card.mjs +238 -0
  466. package/fesm2022/updevs-components-card.mjs.map +1 -0
  467. package/fesm2022/updevs-components-drag-and-drop.mjs +185 -0
  468. package/fesm2022/updevs-components-drag-and-drop.mjs.map +1 -0
  469. package/fesm2022/updevs-components-dropdown.mjs +242 -0
  470. package/fesm2022/updevs-components-dropdown.mjs.map +1 -0
  471. package/fesm2022/updevs-components-form-controls-abstractions.mjs +53 -0
  472. package/fesm2022/updevs-components-form-controls-abstractions.mjs.map +1 -0
  473. package/fesm2022/updevs-components-form-controls-checkbox.mjs +90 -0
  474. package/fesm2022/updevs-components-form-controls-checkbox.mjs.map +1 -0
  475. package/fesm2022/updevs-components-form-controls-date-picker.mjs +175 -0
  476. package/fesm2022/updevs-components-form-controls-date-picker.mjs.map +1 -0
  477. package/fesm2022/updevs-components-form-controls-file-upload.mjs +264 -0
  478. package/fesm2022/updevs-components-form-controls-file-upload.mjs.map +1 -0
  479. package/fesm2022/updevs-components-form-controls-input.mjs +259 -0
  480. package/fesm2022/updevs-components-form-controls-input.mjs.map +1 -0
  481. package/fesm2022/updevs-components-form-controls-radio.mjs +87 -0
  482. package/fesm2022/updevs-components-form-controls-radio.mjs.map +1 -0
  483. package/fesm2022/updevs-components-form-controls-select.mjs +417 -0
  484. package/fesm2022/updevs-components-form-controls-select.mjs.map +1 -0
  485. package/fesm2022/updevs-components-form-controls-textarea.mjs +72 -0
  486. package/fesm2022/updevs-components-form-controls-textarea.mjs.map +1 -0
  487. package/fesm2022/updevs-components-form-controls-time-picker.mjs +345 -0
  488. package/fesm2022/updevs-components-form-controls-time-picker.mjs.map +1 -0
  489. package/fesm2022/updevs-components-form.mjs +440 -0
  490. package/fesm2022/updevs-components-form.mjs.map +1 -0
  491. package/fesm2022/updevs-components-layout.mjs +1052 -0
  492. package/fesm2022/updevs-components-layout.mjs.map +1 -0
  493. package/fesm2022/updevs-components-link.mjs +79 -0
  494. package/fesm2022/updevs-components-link.mjs.map +1 -0
  495. package/fesm2022/updevs-components-list.mjs +206 -0
  496. package/fesm2022/updevs-components-list.mjs.map +1 -0
  497. package/fesm2022/updevs-components-modal.mjs +504 -0
  498. package/fesm2022/updevs-components-modal.mjs.map +1 -0
  499. package/fesm2022/updevs-components-paginator.mjs +160 -0
  500. package/fesm2022/updevs-components-paginator.mjs.map +1 -0
  501. package/fesm2022/updevs-components-popover.mjs +212 -0
  502. package/fesm2022/updevs-components-popover.mjs.map +1 -0
  503. package/fesm2022/updevs-components-pricing-cards.mjs +69 -0
  504. package/fesm2022/updevs-components-pricing-cards.mjs.map +1 -0
  505. package/fesm2022/updevs-components-table.mjs +1754 -0
  506. package/fesm2022/updevs-components-table.mjs.map +1 -0
  507. package/fesm2022/updevs-components.mjs +33 -0
  508. package/fesm2022/updevs-components.mjs.map +1 -0
  509. package/form/components/dynamic-field/dynamic-field.component.d.ts +57 -0
  510. package/form/form.component.d.ts +60 -0
  511. package/form/models/checkbox-field.model.d.ts +4 -0
  512. package/form/models/checkbox-group-field.model.d.ts +6 -0
  513. package/form/models/dynamic-field.model.d.ts +28 -0
  514. package/form/models/enums/dynamic-field.type.d.ts +13 -0
  515. package/form/models/enums/public-api.d.ts +1 -0
  516. package/form/models/file-upload-field.model.d.ts +16 -0
  517. package/form/models/form-config.d.ts +2 -0
  518. package/form/models/form-row.model.d.ts +10 -0
  519. package/form/models/input-field.model.d.ts +9 -0
  520. package/form/models/masked-input-field.model.d.ts +6 -0
  521. package/form/models/public-api.d.ts +15 -0
  522. package/form/models/radio-field.model.d.ts +4 -0
  523. package/form/models/radio-group-field.model.d.ts +6 -0
  524. package/form/models/select-field.model.d.ts +28 -0
  525. package/form/models/single-select-field.model.d.ts +4 -0
  526. package/form/models/textarea-field.model.d.ts +10 -0
  527. package/form/models/validator-config.d.ts +5 -0
  528. package/form/public-api.d.ts +3 -0
  529. package/form/tools/errors-helper.d.ts +11 -0
  530. package/form/upd-form.module.d.ts +22 -0
  531. package/form-controls/abstractions/base-control.d.ts +29 -0
  532. package/form-controls/abstractions/index.d.ts +2 -0
  533. package/form-controls/abstractions/public-api.d.ts +2 -0
  534. package/form-controls/checkbox/checkbox.component.d.ts +19 -0
  535. package/form-controls/checkbox/{src/public-api.ts → public-api.d.ts} +0 -1
  536. package/form-controls/checkbox/upd-checkbox.module.d.ts +10 -0
  537. package/form-controls/date-picker/date-picker.component.d.ts +66 -0
  538. package/form-controls/date-picker/public-api.d.ts +2 -0
  539. package/form-controls/date-picker/upd-date-picker.module.d.ts +12 -0
  540. package/form-controls/file-upload/file-upload-changed.event.d.ts +4 -0
  541. package/form-controls/file-upload/file-upload.component.d.ts +46 -0
  542. package/form-controls/file-upload/public-api.d.ts +3 -0
  543. package/form-controls/file-upload/upd-file-upload.module.d.ts +14 -0
  544. package/form-controls/input/directives/input-append.directive.d.ts +7 -0
  545. package/form-controls/input/directives/input-prepend.directive.d.ts +7 -0
  546. package/form-controls/input/input.component.d.ts +64 -0
  547. package/form-controls/input/upd-input.module.d.ts +13 -0
  548. package/form-controls/radio/radio.component.d.ts +17 -0
  549. package/form-controls/radio/upd-radio.module.d.ts +10 -0
  550. package/form-controls/select/components/multiple/select-multiple.component.d.ts +25 -0
  551. package/form-controls/select/components/single/select.component.d.ts +26 -0
  552. package/form-controls/select/models/abstractions/base-select.component.d.ts +77 -0
  553. package/form-controls/select/models/defaults.d.ts +8 -0
  554. package/form-controls/select/{src/models/public-api.ts → models/public-api.d.ts} +1 -0
  555. package/form-controls/select/{src/models/select-item.ts → models/select-item.d.ts} +0 -1
  556. package/form-controls/select/upd-select.module.d.ts +16 -0
  557. package/form-controls/textarea/textarea.component.d.ts +19 -0
  558. package/form-controls/textarea/upd-textarea.module.d.ts +8 -0
  559. package/form-controls/time-picker/time-picker.component.d.ts +78 -0
  560. package/form-controls/time-picker/time-selector/time-selector.component.d.ts +69 -0
  561. package/form-controls/time-picker/upd-time-picker.module.d.ts +17 -0
  562. package/index.d.ts +2 -0
  563. package/layout/abstractions/base-page.component.d.ts +12 -0
  564. package/layout/abstractions/base.layout.d.ts +15 -0
  565. package/layout/index.d.ts +1 -0
  566. package/layout/layouts/blank-layout/blank-layout.component.d.ts +9 -0
  567. package/layout/layouts/blank-layout/blank-layout.module.d.ts +15 -0
  568. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.d.ts +6 -0
  569. package/layout/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.d.ts +21 -0
  570. package/layout/models/login-page-config.model.d.ts +46 -0
  571. package/layout/models/login-page.config.d.ts +44 -0
  572. package/layout/{src/models/public-api.ts → models/public-api.d.ts} +1 -0
  573. package/layout/models/security-layout-config.model.d.ts +12 -0
  574. package/layout/models/security-layout.config.d.ts +10 -0
  575. package/layout/models/upd-layout-config.model.d.ts +48 -0
  576. package/layout/{src/models/upd-layout.config.ts → models/upd-layout.config.d.ts} +9 -0
  577. package/layout/pages/auth-flow/auth-flow-routing.module.d.ts +12 -0
  578. package/layout/pages/auth-flow/auth-flow.module.d.ts +20 -0
  579. package/layout/pages/auth-flow/logged-out/logged-out.component.d.ts +5 -0
  580. package/layout/pages/auth-flow/login/login.component.d.ts +26 -0
  581. package/layout/pages/auth-flow/oauth-callback/oauth-callback.component.d.ts +5 -0
  582. package/layout/partials/footer/footer.component.d.ts +34 -0
  583. package/layout/partials/footer/footer.module.d.ts +9 -0
  584. package/layout/partials/footer/public-api.d.ts +2 -0
  585. package/layout/partials/header/header.component.d.ts +51 -0
  586. package/layout/partials/header/header.module.d.ts +12 -0
  587. package/layout/{src/partials/header/public-api.ts → partials/header/public-api.d.ts} +1 -0
  588. package/layout/partials/page-header/page-header.component.d.ts +7 -0
  589. package/layout/partials/sidebar/sidebar.component.d.ts +46 -0
  590. package/layout/services/upd-layout-config.service.d.ts +15 -0
  591. package/layout/{src/tools/layout.constants.ts → tools/layout.constants.d.ts} +3 -6
  592. package/layout/upd-layout.module.d.ts +19 -0
  593. package/lib/index.d.ts +2 -0
  594. package/lib/models/public-api.d.ts +2 -0
  595. package/lib/models/row-column-size.d.ts +23 -0
  596. package/lib/public-api.d.ts +5 -0
  597. package/lib/tools/column-size.helper.d.ts +6 -0
  598. package/lib/tools/public-api.d.ts +2 -0
  599. package/{src/lib/types/component-size.type.ts → lib/types/component-size.type.d.ts} +1 -0
  600. package/lib/types/horizontal-vertical.type.d.ts +2 -0
  601. package/lib/types/public-api.d.ts +4 -0
  602. package/lib/types/validation-status.type.d.ts +2 -0
  603. package/lib/upd-components.module.d.ts +7 -0
  604. package/link/index.d.ts +1 -0
  605. package/link/link.component.d.ts +22 -0
  606. package/link/upd-link.module.d.ts +8 -0
  607. package/list/index.d.ts +1 -0
  608. package/list/list.component.d.ts +46 -0
  609. package/list/{src/models/list-item.ts → models/list-item.d.ts} +3 -4
  610. package/list/models/list-item.model.d.ts +25 -0
  611. package/list/upd-list.module.d.ts +13 -0
  612. package/modal/components/modal-container/modal-container.component.d.ts +74 -0
  613. package/modal/index.d.ts +1 -0
  614. package/modal/models/base.modal.d.ts +8 -0
  615. package/modal/models/modal-config.model.d.ts +32 -0
  616. package/modal/models/modal-ref.d.ts +6 -0
  617. package/modal/models/modal.config.d.ts +30 -0
  618. package/modal/models/public-api.d.ts +3 -0
  619. package/modal/public-api.d.ts +3 -0
  620. package/modal/services/modal-alert.service.d.ts +22 -0
  621. package/modal/services/modal.service.d.ts +12 -0
  622. package/modal/services/public-api.d.ts +2 -0
  623. package/modal/types/modal-footer-style.type.d.ts +1 -0
  624. package/modal/types/modal-size.type.d.ts +1 -0
  625. package/modal/upd-modal.module.d.ts +18 -0
  626. package/package.json +175 -21
  627. package/paginator/index.d.ts +1 -0
  628. package/paginator/paginator.component.d.ts +42 -0
  629. package/paginator/public-api.d.ts +2 -0
  630. package/paginator/upd-paginator.module.d.ts +14 -0
  631. package/popover/index.d.ts +1 -0
  632. package/popover/popover.component.d.ts +22 -0
  633. package/popover/popover.directive.d.ts +33 -0
  634. package/popover/upd-popover.module.d.ts +9 -0
  635. package/pricing-cards/index.d.ts +1 -0
  636. package/pricing-cards/models/price-item-feature.model.d.ts +5 -0
  637. package/pricing-cards/models/price-item-features-group.model.d.ts +5 -0
  638. package/pricing-cards/models/price-item-tag.model.d.ts +6 -0
  639. package/pricing-cards/models/price-item.model.d.ts +20 -0
  640. package/pricing-cards/models/public-api.d.ts +4 -0
  641. package/pricing-cards/pricing-cards.component.d.ts +11 -0
  642. package/pricing-cards/public-api.d.ts +3 -0
  643. package/pricing-cards/upd-pricing-cards.module.d.ts +12 -0
  644. package/public-api.d.ts +2 -0
  645. package/table/abstractions/base-column.model.d.ts +31 -0
  646. package/table/abstractions/base.column.d.ts +26 -0
  647. package/table/abstractions/filters-operands.service.d.ts +8 -0
  648. package/table/abstractions/public-api.d.ts +2 -0
  649. package/table/components/columns/boolean-column/boolean-column.component.d.ts +9 -0
  650. package/table/components/columns/date-time-column/date-time-column.component.d.ts +7 -0
  651. package/table/components/columns/number-column/number-column.component.d.ts +7 -0
  652. package/table/components/columns/text-column/text-column.component.d.ts +9 -0
  653. package/table/components/columns-manager/columns-manager.component.d.ts +15 -0
  654. package/table/components/filter-row/filter-row.component.d.ts +40 -0
  655. package/table/components/save-search/save-search.component.d.ts +17 -0
  656. package/table/components/search-section/search-section.component.d.ts +36 -0
  657. package/table/directives/public-api.d.ts +1 -0
  658. package/table/directives/table-column.directive.d.ts +14 -0
  659. package/table/index.d.ts +1 -0
  660. package/table/models/columns/boolean-column.model.d.ts +15 -0
  661. package/table/models/columns/date-time-column.model.d.ts +8 -0
  662. package/table/models/columns/guid-column.model.d.ts +4 -0
  663. package/table/models/columns/image-column.model.d.ts +6 -0
  664. package/table/models/columns/number-column.model.d.ts +8 -0
  665. package/table/models/columns/public-api.d.ts +6 -0
  666. package/table/models/columns/text-column.model.d.ts +6 -0
  667. package/table/models/enums/column-type.enum.d.ts +13 -0
  668. package/table/models/enums/public-api.d.ts +1 -0
  669. package/table/models/filter-item.model.d.ts +6 -0
  670. package/table/models/filter-operand.config.d.ts +9 -0
  671. package/table/models/operands-lists/boolean-filter-operands-list.model.d.ts +6 -0
  672. package/table/models/operands-lists/date-filter-operands-list.model.d.ts +6 -0
  673. package/table/models/operands-lists/date-or-number-operands-list.config.d.ts +5 -0
  674. package/table/models/operands-lists/filter-operands-list.config.d.ts +5 -0
  675. package/table/models/operands-lists/guid-filter-operands-list.model.d.ts +6 -0
  676. package/table/models/operands-lists/number-filter-operands-list.model.d.ts +6 -0
  677. package/table/models/operands-lists/string-filter-operands-list.model.d.ts +6 -0
  678. package/table/models/public-api.d.ts +4 -0
  679. package/table/models/saved-view.model.d.ts +11 -0
  680. package/table/models/table-config.model.d.ts +33 -0
  681. package/table/models/table.config.d.ts +31 -0
  682. package/table/models/upd-table-config.model.d.ts +6 -0
  683. package/table/models/upd-table.config.d.ts +6 -0
  684. package/table/public-api.d.ts +5 -0
  685. package/table/services/default-filters-operands.service.d.ts +17 -0
  686. package/table/services/storages/saved-views.storage.d.ts +19 -0
  687. package/table/services/stores/filters-operands.store.d.ts +11 -0
  688. package/table/services/upd-table-config.service.d.ts +12 -0
  689. package/table/table.component.d.ts +81 -0
  690. package/table/tools/filters.tools.d.ts +9 -0
  691. package/table/tools/table.constants.d.ts +15 -0
  692. package/table/upd-table.module.d.ts +40 -0
  693. package/CHANGELOG.md +0 -8
  694. package/button/index.ts +0 -1
  695. package/button/ng-package.json +0 -7
  696. package/button/src/button.component.html +0 -8
  697. package/button/src/button.component.scss +0 -5
  698. package/button/src/button.component.spec.ts +0 -23
  699. package/button/src/button.component.ts +0 -154
  700. package/button/src/upd-button.module.ts +0 -17
  701. package/card/index.ts +0 -1
  702. package/card/ng-package.json +0 -7
  703. package/card/src/card.component.html +0 -105
  704. package/card/src/card.component.scss +0 -47
  705. package/card/src/card.component.spec.ts +0 -23
  706. package/card/src/card.component.ts +0 -112
  707. package/card/src/directives/card-actions.directive.spec.ts +0 -8
  708. package/card/src/directives/card-actions.directive.ts +0 -11
  709. package/card/src/directives/card-footer.directive.spec.ts +0 -8
  710. package/card/src/directives/card-footer.directive.ts +0 -11
  711. package/card/src/directives/card-header.directive.spec.ts +0 -8
  712. package/card/src/directives/card-header.directive.ts +0 -11
  713. package/card/src/directives/card-image.directive.spec.ts +0 -8
  714. package/card/src/directives/card-image.directive.ts +0 -11
  715. package/card/src/upd-card.module.ts +0 -32
  716. package/dropdown/index.ts +0 -1
  717. package/dropdown/ng-package.json +0 -7
  718. package/dropdown/src/dropdown.component.html +0 -32
  719. package/dropdown/src/dropdown.component.scss +0 -19
  720. package/dropdown/src/dropdown.component.spec.ts +0 -23
  721. package/dropdown/src/dropdown.component.ts +0 -182
  722. package/dropdown/src/models/public-api.ts +0 -2
  723. package/dropdown/src/upd-dropdown.module.ts +0 -25
  724. package/form/index.ts +0 -1
  725. package/form/ng-package.json +0 -7
  726. package/form/src/form.module.ts +0 -10
  727. package/form/src/public-api.ts +0 -1
  728. package/form-controls/checkbox/index.ts +0 -1
  729. package/form-controls/checkbox/ng-package.json +0 -7
  730. package/form-controls/checkbox/src/checkbox.component.html +0 -7
  731. package/form-controls/checkbox/src/checkbox.component.spec.ts +0 -23
  732. package/form-controls/checkbox/src/checkbox.component.ts +0 -48
  733. package/form-controls/checkbox/src/upd-checkbox.module.ts +0 -19
  734. package/form-controls/input/index.ts +0 -1
  735. package/form-controls/input/ng-package.json +0 -7
  736. package/form-controls/input/src/directives/input-append.directive.spec.ts +0 -8
  737. package/form-controls/input/src/directives/input-append.directive.ts +0 -11
  738. package/form-controls/input/src/directives/input-prepend.directive.spec.ts +0 -8
  739. package/form-controls/input/src/directives/input-prepend.directive.ts +0 -11
  740. package/form-controls/input/src/input.component.html +0 -82
  741. package/form-controls/input/src/input.component.scss +0 -13
  742. package/form-controls/input/src/input.component.spec.ts +0 -23
  743. package/form-controls/input/src/input.component.ts +0 -124
  744. package/form-controls/input/src/upd-input.module.ts +0 -29
  745. package/form-controls/radio/index.ts +0 -1
  746. package/form-controls/radio/ng-package.json +0 -7
  747. package/form-controls/radio/src/radio.component.html +0 -7
  748. package/form-controls/radio/src/radio.component.scss +0 -0
  749. package/form-controls/radio/src/radio.component.spec.ts +0 -23
  750. package/form-controls/radio/src/radio.component.ts +0 -47
  751. package/form-controls/radio/src/upd-radio.module.ts +0 -17
  752. package/form-controls/select/index.ts +0 -1
  753. package/form-controls/select/ng-package.json +0 -7
  754. package/form-controls/select/src/components/multiple/select-multiple.component.html +0 -41
  755. package/form-controls/select/src/components/multiple/select-multiple.component.scss +0 -6
  756. package/form-controls/select/src/components/multiple/select-multiple.component.spec.ts +0 -21
  757. package/form-controls/select/src/components/multiple/select-multiple.component.ts +0 -69
  758. package/form-controls/select/src/components/shared.scss +0 -40
  759. package/form-controls/select/src/components/single/select.component.html +0 -53
  760. package/form-controls/select/src/components/single/select.component.scss +0 -3
  761. package/form-controls/select/src/components/single/select.component.spec.ts +0 -23
  762. package/form-controls/select/src/components/single/select.component.ts +0 -58
  763. package/form-controls/select/src/models/abstractions/base-select.component.ts +0 -259
  764. package/form-controls/select/src/upd-select.module.ts +0 -32
  765. package/form-controls/textarea/index.ts +0 -1
  766. package/form-controls/textarea/ng-package.json +0 -7
  767. package/form-controls/textarea/src/textarea.component.html +0 -8
  768. package/form-controls/textarea/src/textarea.component.scss +0 -0
  769. package/form-controls/textarea/src/textarea.component.spec.ts +0 -23
  770. package/form-controls/textarea/src/textarea.component.ts +0 -47
  771. package/form-controls/textarea/src/upd-textarea.module.ts +0 -17
  772. package/form-controls/time-picker/index.ts +0 -1
  773. package/form-controls/time-picker/ng-package.json +0 -7
  774. package/form-controls/time-picker/src/time-picker.component.html +0 -17
  775. package/form-controls/time-picker/src/time-picker.component.scss +0 -10
  776. package/form-controls/time-picker/src/time-picker.component.spec.ts +0 -21
  777. package/form-controls/time-picker/src/time-picker.component.ts +0 -110
  778. package/form-controls/time-picker/src/time-selector/time-selector.component.html +0 -44
  779. package/form-controls/time-picker/src/time-selector/time-selector.component.scss +0 -47
  780. package/form-controls/time-picker/src/time-selector/time-selector.component.spec.ts +0 -21
  781. package/form-controls/time-picker/src/time-selector/time-selector.component.ts +0 -107
  782. package/form-controls/time-picker/src/upd-time-picker.module.ts +0 -39
  783. package/index.ts +0 -1
  784. package/layout/index.ts +0 -1
  785. package/layout/ng-package.json +0 -7
  786. package/layout/src/abstractions/base-page.component.ts +0 -21
  787. package/layout/src/assets/i18n/en.json +0 -5
  788. package/layout/src/assets/i18n/pt.json +0 -5
  789. package/layout/src/layouts/blank-layout/blank-layout.component.html +0 -1
  790. package/layout/src/layouts/blank-layout/blank-layout.component.scss +0 -0
  791. package/layout/src/layouts/blank-layout/blank-layout.component.spec.ts +0 -23
  792. package/layout/src/layouts/blank-layout/blank-layout.component.ts +0 -10
  793. package/layout/src/layouts/blank-layout/blank-layout.module.ts +0 -17
  794. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.html +0 -14
  795. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.scss +0 -0
  796. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.spec.ts +0 -23
  797. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.component.ts +0 -31
  798. package/layout/src/layouts/vertical-sidebar-layout/vertical-sidebar-layout.module.ts +0 -52
  799. package/layout/src/models/upd-layout-config.model.ts +0 -71
  800. package/layout/src/pages/auth-flow/auth-flow-routing.module.ts +0 -21
  801. package/layout/src/pages/auth-flow/auth-flow.module.ts +0 -29
  802. package/layout/src/pages/auth-flow/logged-out/logged-out.component.html +0 -1
  803. package/layout/src/pages/auth-flow/logged-out/logged-out.component.scss +0 -0
  804. package/layout/src/pages/auth-flow/logged-out/logged-out.component.spec.ts +0 -23
  805. package/layout/src/pages/auth-flow/logged-out/logged-out.component.ts +0 -10
  806. package/layout/src/pages/auth-flow/login/login.component.html +0 -96
  807. package/layout/src/pages/auth-flow/login/login.component.scss +0 -0
  808. package/layout/src/pages/auth-flow/login/login.component.spec.ts +0 -23
  809. package/layout/src/pages/auth-flow/login/login.component.ts +0 -26
  810. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.html +0 -1
  811. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.scss +0 -0
  812. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.spec.ts +0 -23
  813. package/layout/src/pages/auth-flow/oauth-callback/oauth-callback.component.ts +0 -10
  814. package/layout/src/partials/footer/footer-copyright.directive.spec.ts +0 -8
  815. package/layout/src/partials/footer/footer-copyright.directive.ts +0 -9
  816. package/layout/src/partials/footer/footer.component.html +0 -30
  817. package/layout/src/partials/footer/footer.component.scss +0 -0
  818. package/layout/src/partials/footer/footer.component.spec.ts +0 -23
  819. package/layout/src/partials/footer/footer.component.ts +0 -73
  820. package/layout/src/partials/footer/public-api.ts +0 -2
  821. package/layout/src/partials/header/header.component.html +0 -163
  822. package/layout/src/partials/header/header.component.scss +0 -0
  823. package/layout/src/partials/header/header.component.spec.ts +0 -23
  824. package/layout/src/partials/header/header.component.ts +0 -86
  825. package/layout/src/partials/page-header/page-header.component.html +0 -19
  826. package/layout/src/partials/page-header/page-header.component.scss +0 -0
  827. package/layout/src/partials/page-header/page-header.component.spec.ts +0 -23
  828. package/layout/src/partials/page-header/page-header.component.ts +0 -11
  829. package/layout/src/partials/sidebar/sidebar.component.html +0 -62
  830. package/layout/src/partials/sidebar/sidebar.component.scss +0 -0
  831. package/layout/src/partials/sidebar/sidebar.component.spec.ts +0 -23
  832. package/layout/src/partials/sidebar/sidebar.component.ts +0 -161
  833. package/layout/src/services/upd-layout-config.service.spec.ts +0 -16
  834. package/layout/src/services/upd-layout-config.service.ts +0 -20
  835. package/layout/src/upd-layout.module.ts +0 -34
  836. package/link/index.ts +0 -1
  837. package/link/ng-package.json +0 -7
  838. package/link/src/link.component.html +0 -3
  839. package/link/src/link.component.scss +0 -3
  840. package/link/src/link.component.spec.ts +0 -23
  841. package/link/src/link.component.ts +0 -48
  842. package/link/src/upd-link.module.ts +0 -17
  843. package/list/index.ts +0 -1
  844. package/list/ng-package.json +0 -7
  845. package/list/src/assets/i18n/en.json +0 -5
  846. package/list/src/assets/i18n/pt.json +0 -5
  847. package/list/src/list.component.html +0 -58
  848. package/list/src/list.component.scss +0 -21
  849. package/list/src/list.component.spec.ts +0 -23
  850. package/list/src/list.component.ts +0 -147
  851. package/list/src/models/list-item.model.ts +0 -35
  852. package/list/src/upd-list.module.ts +0 -30
  853. package/ng-package.json +0 -10
  854. package/popover/index.ts +0 -1
  855. package/popover/ng-package.json +0 -7
  856. package/popover/src/popover.component.html +0 -20
  857. package/popover/src/popover.component.scss +0 -8
  858. package/popover/src/popover.component.spec.ts +0 -23
  859. package/popover/src/popover.component.ts +0 -53
  860. package/popover/src/popover.directive.spec.ts +0 -8
  861. package/popover/src/popover.directive.ts +0 -128
  862. package/popover/src/upd-popover.module.ts +0 -20
  863. package/src/lib/public-api.ts +0 -2
  864. package/src/lib/types/public-api.ts +0 -2
  865. package/src/lib/types/validation-status.type.ts +0 -1
  866. package/src/lib/upd-components.module.ts +0 -6
  867. package/src/public-api.ts +0 -1
  868. package/tsconfig.lib.json +0 -14
  869. package/tsconfig.lib.prod.json +0 -10
  870. package/tsconfig.spec.json +0 -14
  871. /package/{form-controls/checkbox/src/checkbox.component.scss → assets/styles/marketing/_filters.scss} +0 -0
  872. /package/{button/src/index.ts → badge/index.d.ts} +0 -0
  873. /package/{card/src/index.ts → button/index.d.ts} +0 -0
  874. /package/button/{src/public-api.ts → public-api.d.ts} +0 -0
  875. /package/{dropdown/src/index.ts → calendar/index.d.ts} +0 -0
  876. /package/card/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  877. /package/{form-controls/checkbox/src/index.ts → card/index.d.ts} +0 -0
  878. /package/card/{src/types/card-state.type.ts → types/card-state.type.d.ts} +0 -0
  879. /package/card/{src/types/card-style.type.ts → types/card-style.type.d.ts} +0 -0
  880. /package/card/{src/types/hover-effect.type.ts → types/hover-effect.type.d.ts} +0 -0
  881. /package/card/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
  882. /package/card/{src/types/ribbon-style.type.ts → types/ribbon-style.type.d.ts} +0 -0
  883. /package/card/{src/types/status-position.type.ts → types/status-position.type.d.ts} +0 -0
  884. /package/{form-controls/input/src/index.ts → drag-and-drop/index.d.ts} +0 -0
  885. /package/{form-controls/radio/src/index.ts → dropdown/index.d.ts} +0 -0
  886. /package/dropdown/{src/public-api.ts → public-api.d.ts} +0 -0
  887. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/en.json +0 -0
  888. /package/{form-controls/time-picker/src → esm2022/form-controls/time-picker}/assets/i18n/pt.json +0 -0
  889. /package/{src/lib/index.ts → form/index.d.ts} +0 -0
  890. /package/form-controls/{select/src/index.ts → checkbox/index.d.ts} +0 -0
  891. /package/form-controls/{textarea/src/index.ts → date-picker/index.d.ts} +0 -0
  892. /package/form-controls/{time-picker/src/index.ts → file-upload/index.d.ts} +0 -0
  893. /package/form-controls/input/{src/directives/public-api.ts → directives/public-api.d.ts} +0 -0
  894. /package/{form/src/index.ts → form-controls/input/index.d.ts} +0 -0
  895. /package/form-controls/input/{src/public-api.ts → public-api.d.ts} +0 -0
  896. /package/form-controls/input/{src/types/input.type.ts → types/input.type.d.ts} +0 -0
  897. /package/form-controls/input/{src/types/loader-position.type.ts → types/loader-position.type.d.ts} +0 -0
  898. /package/form-controls/input/{src/types/public-api.ts → types/public-api.d.ts} +0 -0
  899. /package/{layout/src/index.ts → form-controls/radio/index.d.ts} +0 -0
  900. /package/form-controls/radio/{src/public-api.ts → public-api.d.ts} +0 -0
  901. /package/{link/src/index.ts → form-controls/select/index.d.ts} +0 -0
  902. /package/form-controls/select/{src/public-api.ts → public-api.d.ts} +0 -0
  903. /package/{list/src/index.ts → form-controls/textarea/index.d.ts} +0 -0
  904. /package/form-controls/textarea/{src/public-api.ts → public-api.d.ts} +0 -0
  905. /package/{popover/src/index.ts → form-controls/time-picker/index.d.ts} +0 -0
  906. /package/form-controls/time-picker/{src/public-api.ts → public-api.d.ts} +0 -0
  907. /package/layout/{src/abstractions/public-api.ts → abstractions/public-api.d.ts} +0 -0
  908. /package/layout/{src/layouts/public-api.ts → layouts/public-api.d.ts} +0 -0
  909. /package/layout/{src/pages/auth-flow/public-api.ts → pages/auth-flow/public-api.d.ts} +0 -0
  910. /package/layout/{src/pages/public-api.ts → pages/public-api.d.ts} +0 -0
  911. /package/layout/{src/partials/header/header-style.type.ts → partials/header/header-style.type.d.ts} +0 -0
  912. /package/layout/{src/partials/page-header/public-api.ts → partials/page-header/public-api.d.ts} +0 -0
  913. /package/layout/{src/partials/public-api.ts → partials/public-api.d.ts} +0 -0
  914. /package/layout/{src/partials/sidebar/public-api.ts → partials/sidebar/public-api.d.ts} +0 -0
  915. /package/layout/{src/public-api.ts → public-api.d.ts} +0 -0
  916. /package/layout/{src/services/public-api.ts → services/public-api.d.ts} +0 -0
  917. /package/link/{src/public-api.ts → public-api.d.ts} +0 -0
  918. /package/link/{src/target.type.ts → target.type.d.ts} +0 -0
  919. /package/list/{src/models/badge-position.type.ts → models/badge-position.type.d.ts} +0 -0
  920. /package/list/{src/models/public-api.ts → models/public-api.d.ts} +0 -0
  921. /package/list/{src/public-api.ts → public-api.d.ts} +0 -0
  922. /package/popover/{src/public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1,36 @@
1
+ import { Component, computed, signal } from '@angular/core';
2
+ import { BaseModal } from '@updevs/components/modal';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@jsverse/transloco";
5
+ import * as i2 from "@updevs/components/drag-and-drop";
6
+ export class ColumnsManagerComponent extends BaseModal {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.config = computed(() => ({ columns: [this.visibleColumn(), this.hiddenColumn()], canReorder: true }));
10
+ this.columns = signal([]);
11
+ this.visibleColumn = computed(() => ({
12
+ name: 'visible',
13
+ title: { text: 'UpDevs.Table.VisibleColumns', isTranslated: false },
14
+ canBeEmpty: false,
15
+ items: this.data().columns.filter(c => !c.isHidden).map(c => ({
16
+ name: c.name,
17
+ text: c.title || { text: 'UpDevs.Table.ColumnTitleNotSet', isTranslated: false }
18
+ }))
19
+ }));
20
+ this.hiddenColumn = computed(() => ({
21
+ name: 'hidden',
22
+ title: { text: 'UpDevs.Table.HiddenColumns', isTranslated: false },
23
+ items: this.data().columns.filter(c => c.isHidden).map(c => ({
24
+ name: c.name,
25
+ text: c.title || { text: 'UpDevs.Table.ColumnTitleNotSet', isTranslated: false }
26
+ }))
27
+ }));
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ColumnsManagerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: ColumnsManagerComponent, selector: "upd-columns-manager", usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.ColumnsManager'\">\n <upd-drag-and-drop [config]=\"config()\" [(columns)]=\"columns\"></upd-drag-and-drop>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i2.DragAndDropComponent, selector: "upd-drag-and-drop", inputs: ["config", "columns"], outputs: ["columnsChange"] }] }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ColumnsManagerComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'upd-columns-manager', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.ColumnsManager'\">\n <upd-drag-and-drop [config]=\"config()\" [(columns)]=\"columns\"></upd-drag-and-drop>\n</ng-container>\n" }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9jb2x1bW5zLW1hbmFnZXIvY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9jb2x1bW5zLW1hbmFnZXIvY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFTckQsTUFBTSxPQUFPLHVCQUEyQixTQUFRLFNBQXlCO0lBTHpFOztRQU1JLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLFlBQU8sR0FBRyxNQUFNLENBQTJCLEVBQUUsQ0FBQyxDQUFDO1FBRTlCLGtCQUFhLEdBQUcsUUFBUSxDQUEwQixHQUFHLEVBQUUsQ0FDcEUsQ0FBQztZQUNHLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7WUFDbkUsVUFBVSxFQUFFLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2dCQUNaLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxFQUFFLGdDQUFnQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7YUFDbkYsQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUNMLENBQUM7UUFDZSxpQkFBWSxHQUFHLFFBQVEsQ0FBMEIsR0FBRyxFQUFFLENBQ25FLENBQUM7WUFDRyxJQUFJLEVBQUUsUUFBUTtZQUNkLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO1lBQ2xFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7Z0JBQ1osSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFJLEVBQUUsZ0NBQWdDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRTthQUNuRixDQUFDLENBQUM7U0FDTixDQUFDLENBQ0wsQ0FBQztLQUNMOzhHQXpCWSx1QkFBdUI7a0dBQXZCLHVCQUF1QixrRkNYcEMsMExBR0E7OzJGRFFhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyYWdBbmREcm9wQ29sdW1uQ29uZmlnLCBEcmFnQW5kRHJvcENvbHVtbk1vZGVsIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL2RyYWctYW5kLWRyb3AnO1xuaW1wb3J0IHsgQmFzZU1vZGFsIH0gZnJvbSAnQHVwZGV2cy9jb21wb25lbnRzL21vZGFsJztcblxuaW1wb3J0IHsgVGFibGVDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGFibGUuY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtY29sdW1ucy1tYW5hZ2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vY29sdW1ucy1tYW5hZ2VyLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5zTWFuYWdlckNvbXBvbmVudDxUPiBleHRlbmRzIEJhc2VNb2RhbDxUYWJsZUNvbmZpZzxUPj4ge1xuICAgIGNvbmZpZyA9IGNvbXB1dGVkKCgpID0+ICh7IGNvbHVtbnM6IFt0aGlzLnZpc2libGVDb2x1bW4oKSwgdGhpcy5oaWRkZW5Db2x1bW4oKV0sIGNhblJlb3JkZXI6IHRydWUgfSkpO1xuICAgIGNvbHVtbnMgPSBzaWduYWw8RHJhZ0FuZERyb3BDb2x1bW5Nb2RlbFtdPihbXSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpc2libGVDb2x1bW4gPSBjb21wdXRlZDxEcmFnQW5kRHJvcENvbHVtbkNvbmZpZz4oKCkgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICAgIG5hbWU6ICd2aXNpYmxlJyxcbiAgICAgICAgICAgIHRpdGxlOiB7IHRleHQ6ICdVcERldnMuVGFibGUuVmlzaWJsZUNvbHVtbnMnLCBpc1RyYW5zbGF0ZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBjYW5CZUVtcHR5OiBmYWxzZSxcbiAgICAgICAgICAgIGl0ZW1zOiB0aGlzLmRhdGEoKS5jb2x1bW5zLmZpbHRlcihjID0+ICFjLmlzSGlkZGVuKS5tYXAoYyA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBjLnRpdGxlIHx8IHsgdGV4dDogJ1VwRGV2cy5UYWJsZS5Db2x1bW5UaXRsZU5vdFNldCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0pXG4gICAgKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhpZGRlbkNvbHVtbiA9IGNvbXB1dGVkPERyYWdBbmREcm9wQ29sdW1uQ29uZmlnPigoKSA9PlxuICAgICAgICAoe1xuICAgICAgICAgICAgbmFtZTogJ2hpZGRlbicsXG4gICAgICAgICAgICB0aXRsZTogeyB0ZXh0OiAnVXBEZXZzLlRhYmxlLkhpZGRlbkNvbHVtbnMnLCBpc1RyYW5zbGF0ZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBpdGVtczogdGhpcy5kYXRhKCkuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmlzSGlkZGVuKS5tYXAoYyA9PiAoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBjLnRpdGxlIHx8IHsgdGV4dDogJ1VwRGV2cy5UYWJsZS5Db2x1bW5UaXRsZU5vdFNldCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0pXG4gICAgKTtcbn1cbiIsIjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0OyBwcmVmaXg6ICdVcERldnMuVGFibGUuQ29sdW1uc01hbmFnZXInXCI+XG4gICAgPHVwZC1kcmFnLWFuZC1kcm9wIFtjb25maWddPVwiY29uZmlnKClcIiBbKGNvbHVtbnMpXT1cImNvbHVtbnNcIj48L3VwZC1kcmFnLWFuZC1kcm9wPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,114 @@
1
+ import { Component, signal, inject, input, model, HostBinding, Output, EventEmitter } from '@angular/core';
2
+ import { TextService } from '@updevs/sdk';
3
+ import { DataTypeEnum } from '@updevs/sdk/stores';
4
+ import { BaseComponent } from '@updevs/sdk/layout';
5
+ import { UpdTableConfigService } from '../../services/upd-table-config.service';
6
+ import { FiltersOperandsService } from '../../abstractions/filters-operands.service';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@updevs/components/button";
9
+ import * as i2 from "@updevs/components/form-controls/input";
10
+ import * as i3 from "@updevs/components/form-controls/select";
11
+ export class FilterRowComponent extends BaseComponent {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.wrapperClasses = 'd-flex gap-2';
15
+ this.removed = new EventEmitter();
16
+ this.DataTypeEnum = DataTypeEnum;
17
+ this.activeFilters = model.required();
18
+ this.rowIndex = input.required();
19
+ this.columns = input.required();
20
+ this.isDisabled = input.required();
21
+ this.store = input();
22
+ this.currentFilter = input();
23
+ this.currentField = signal(undefined);
24
+ this.currentOperand = signal(undefined);
25
+ this.fieldsOptions = signal([]);
26
+ this.comparisonOperatorOptions = signal([]);
27
+ this.isValueSectionEnabled = signal(true);
28
+ this.currentOperands = [];
29
+ this.configService = inject(UpdTableConfigService);
30
+ this.filtersOperandsService = inject(FiltersOperandsService);
31
+ this.textService = inject(TextService);
32
+ }
33
+ get fieldType() {
34
+ return this.currentField()?.objectData || DataTypeEnum.String;
35
+ }
36
+ get selectedField() {
37
+ const currentFilter = this.currentFilter();
38
+ return !!currentFilter?.name
39
+ ? this.fieldsOptions().find(f => f.value === currentFilter.name)
40
+ : undefined;
41
+ }
42
+ get selectedOperand() {
43
+ const currentFilter = this.currentFilter();
44
+ return !!currentFilter?.name
45
+ ? this.comparisonOperatorOptions().find(co => co.value === currentFilter.operandConfig?.operand)
46
+ : undefined;
47
+ }
48
+ get selectedValue() {
49
+ const currentFilter = this.currentFilter();
50
+ return !!currentFilter?.name ? currentFilter.value : undefined;
51
+ }
52
+ ngOnInit() {
53
+ if (!!this.store() && this.configService.config.shouldLoadFieldsFromServer) {
54
+ this.store().getFilterableFields().subscribe(fields => this.fieldsOptions.set(fields.map(f => ({ value: f.name, text: f.description, objectData: f.type }))));
55
+ }
56
+ else {
57
+ this.fieldsOptions.set(this.columns().filter(c => !!c.title).map(c => ({ value: c.name, text: this.textService.getText(c.title), objectData: c.dataType })));
58
+ }
59
+ if (!!this.selectedField) {
60
+ if (!!this.selectedOperand) {
61
+ this.onSelectOperand(this.selectedOperand);
62
+ }
63
+ this.onSelectField(this.selectedField);
64
+ }
65
+ }
66
+ onSelectField(item) {
67
+ this.currentField.set(item);
68
+ const dataType = item?.objectData;
69
+ if (!!dataType) {
70
+ this.currentOperands = this.filtersOperandsService.getOperands(dataType);
71
+ this.comparisonOperatorOptions.set(this.currentOperands.map(o => ({ value: o.operand, text: this.textService.getText(o.text), listItem: { icon: o.icon } })));
72
+ }
73
+ else {
74
+ this.comparisonOperatorOptions.set([]);
75
+ }
76
+ this.activeFilters.update(curr => {
77
+ curr[this.rowIndex()].name = this.currentField()?.value;
78
+ return [...curr];
79
+ });
80
+ }
81
+ onSelectOperand(item) {
82
+ this.currentOperand.set(this.currentOperands.find(co => co.operand === item?.value));
83
+ this.isValueSectionEnabled.set(!!this.currentOperand()?.requiresValue);
84
+ this.activeFilters.update(curr => {
85
+ curr[this.rowIndex()].operandConfig = this.currentOperand();
86
+ return [...curr];
87
+ });
88
+ }
89
+ updateValue(value) {
90
+ this.activeFilters.update(curr => {
91
+ curr[this.rowIndex()].value = value;
92
+ return [...curr];
93
+ });
94
+ }
95
+ removeFilterItem() {
96
+ this.activeFilters.update(curr => {
97
+ curr.splice(this.rowIndex(), 1);
98
+ return [...curr];
99
+ });
100
+ this.removed.emit();
101
+ }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilterRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: FilterRowComponent, selector: "upd-filter-row", inputs: { activeFilters: { classPropertyName: "activeFilters", publicName: "activeFilters", isSignal: true, isRequired: true, transformFunction: null }, rowIndex: { classPropertyName: "rowIndex", publicName: "rowIndex", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: true, transformFunction: null }, store: { classPropertyName: "store", publicName: "store", isSignal: true, isRequired: false, transformFunction: null }, currentFilter: { classPropertyName: "currentFilter", publicName: "currentFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { removed: "removed", activeFilters: "activeFiltersChange" }, host: { properties: { "class": "this.wrapperClasses" } }, usesInheritance: true, ngImport: i0, template: "<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldsOptions()\" (selectedItem)=\"onSelectField($event)\"\n [selected]=\"selectedField\">\n</upd-select>\n<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"comparisonOperatorOptions()\" (selectedItem)=\"onSelectOperand($event)\"\n [selected]=\"selectedOperand\">\n</upd-select>\n\n@if (isValueSectionEnabled()) {\n @switch (fieldType) {\n @case (DataTypeEnum.Number) {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"number\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n @case (DataTypeEnum.Date) {\n\n }\n @default {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"text\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n }\n} @else {\n <div class=\"w-100\">\n <input type=\"text\" class=\"form-control h-100\" disabled>\n </div>\n}\n\n<upd-button class=\"flex-shrink-1\" colorStyle=\"danger\" [isDisabled]=\"isDisabled()\" [isOutline]=\"true\" [isIcon]=\"true\"\n [iconModel]=\"{tablerIcon:'x'}\" (clicked)=\"removeFilterItem()\"></upd-button>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }, { kind: "component", type: i2.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "component", type: i3.SelectComponent, selector: "upd-select", inputs: ["useSystemStyle", "shouldShowClearButton", "isCompact", "selected"], outputs: ["selectedItem"] }] }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FilterRowComponent, decorators: [{
106
+ type: Component,
107
+ args: [{ selector: 'upd-filter-row', template: "<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"fieldsOptions()\" (selectedItem)=\"onSelectField($event)\"\n [selected]=\"selectedField\">\n</upd-select>\n<upd-select class=\"w-100\" [isDisabled]=\"isDisabled()\" [items]=\"comparisonOperatorOptions()\" (selectedItem)=\"onSelectOperand($event)\"\n [selected]=\"selectedOperand\">\n</upd-select>\n\n@if (isValueSectionEnabled()) {\n @switch (fieldType) {\n @case (DataTypeEnum.Number) {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"number\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n @case (DataTypeEnum.Date) {\n\n }\n @default {\n <upd-input wrapperClasses=\"w-100\" customClasses=\"h-100\" type=\"text\" (valueChange)=\"updateValue($event)\"\n [value]=\"selectedValue\"></upd-input>\n }\n }\n} @else {\n <div class=\"w-100\">\n <input type=\"text\" class=\"form-control h-100\" disabled>\n </div>\n}\n\n<upd-button class=\"flex-shrink-1\" colorStyle=\"danger\" [isDisabled]=\"isDisabled()\" [isOutline]=\"true\" [isIcon]=\"true\"\n [iconModel]=\"{tablerIcon:'x'}\" (clicked)=\"removeFilterItem()\"></upd-button>\n" }]
108
+ }], propDecorators: { wrapperClasses: [{
109
+ type: HostBinding,
110
+ args: ['class']
111
+ }], removed: [{
112
+ type: Output
113
+ }] } });
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXJvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL2NvbXBvbmVudHMvZmlsdGVyLXJvdy9maWx0ZXItcm93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9maWx0ZXItcm93L2ZpbHRlci1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFVLEtBQUssRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFVckYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFMckQ7O1FBTTBCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBRW5DLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVwRSxpQkFBWSxHQUFHLFlBQVksQ0FBQztRQUU1QixrQkFBYSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7UUFDcEQsYUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNwQyxZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBcUIsQ0FBQztRQUM5QyxlQUFVLEdBQUcsS0FBSyxD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O1FBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBM0dRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLG8vQkNsQi9CLDJ2Q0E2QkE7OzJGRFhhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxnQkFBZ0I7OEJBS0osY0FBYztzQkFBbkMsV0FBVzt1QkFBQyxPQUFPO2dCQUVELE9BQU87c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIHNpZ25hbCwgaW5qZWN0LCBPbkluaXQsIGlucHV0LCBtb2RlbCwgSG9zdEJpbmRpbmcsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0U2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrJztcbmltcG9ydCB7IEJhc2VTZWFyY2hTdG9yZSwgRGF0YVR5cGVFbnVtIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IE9wdGlvbmFsVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICdAdXBkZXZzL2NvbXBvbmVudHMvZm9ybS1jb250cm9scy9zZWxlY3QnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5cbmltcG9ydCB7IFVwZFRhYmxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3VwZC10YWJsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zL2ZpbHRlcnMtb3BlcmFuZHMuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zL2Jhc2UtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlck9wZXJhbmRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLW9wZXJhbmQuY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtZmlsdGVyLXJvdycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9maWx0ZXItcm93LmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJSb3dDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgd3JhcHBlckNsYXNzZXMgPSAnZC1mbGV4IGdhcC0yJztcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSByZW1vdmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBEYXRhVHlwZUVudW0gPSBEYXRhVHlwZUVudW07XG5cbiAgICBhY3RpdmVGaWx0ZXJzID0gbW9kZWwucmVxdWlyZWQ8RmlsdGVySXRlbU1vZGVsW10+KCk7XG4gICAgcm93SW5kZXggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XG4gICAgY29sdW1ucyA9IGlucHV0LnJlcXVpcmVkPEJhc2VDb2x1bW5Nb2RlbFtdPigpO1xuICAgIGlzRGlzYWJsZWQgPSBpbnB1dC5yZXF1aXJlZDxib29sZWFuPigpO1xuICAgIHN0b3JlID0gaW5wdXQ8QmFzZVNlYXJjaFN0b3JlPigpO1xuICAgIGN1cnJlbnRGaWx0ZXIgPSBpbnB1dDxGaWx0ZXJJdGVtTW9kZWw+KCk7XG4gICAgY3VycmVudEZpZWxkID0gc2lnbmFsPE9wdGlvbmFsVHlwZTxTZWxlY3RJdGVtPj4odW5kZWZpbmVkKTtcbiAgICBjdXJyZW50T3BlcmFuZCA9IHNpZ25hbDxPcHRpb25hbFR5cGU8RmlsdGVyT3BlcmFuZENvbmZpZz4+KHVuZGVmaW5lZCk7XG4gICAgZmllbGRzT3B0aW9ucyA9IHNpZ25hbDxTZWxlY3RJdGVtW10+KFtdKTtcbiAgICBjb21wYXJpc29uT3BlcmF0b3JPcHRpb25zID0gc2lnbmFsPFNlbGVjdEl0ZW1bXT4oW10pO1xuICAgIGlzVmFsdWVTZWN0aW9uRW5hYmxlZCA9IHNpZ25hbDxib29sZWFuPih0cnVlKTtcblxuICAgIGdldCBmaWVsZFR5cGUoKTogRGF0YVR5cGVFbnVtIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEZpZWxkKCk/Lm9iamVjdERhdGEgfHwgRGF0YVR5cGVFbnVtLlN0cmluZztcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGVkRmllbGQoKTogT3B0aW9uYWxUeXBlPFNlbGVjdEl0ZW0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlciA9IHRoaXMuY3VycmVudEZpbHRlcigpO1xuICAgICAgICByZXR1cm4gISFjdXJyZW50RmlsdGVyPy5uYW1lXG4gICAgICAgICAgICA/IHRoaXMuZmllbGRzT3B0aW9ucygpLmZpbmQoZiA9PiBmLnZhbHVlID09PSBjdXJyZW50RmlsdGVyLm5hbWUpXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZ2V0IHNlbGVjdGVkT3BlcmFuZCgpOiBPcHRpb25hbFR5cGU8U2VsZWN0SXRlbT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVyID0gdGhpcy5jdXJyZW50RmlsdGVyKCk7XG4gICAgICAgIHJldHVybiAhIWN1cnJlbnRGaWx0ZXI/Lm5hbWVcbiAgICAgICAgICAgID8gdGhpcy5jb21wYXJpc29uT3BlcmF0b3JPcHRpb25zKCkuZmluZChjbyA9PiBjby52YWx1ZSA9PT0gY3VycmVudEZpbHRlci5vcGVyYW5kQ29uZmlnPy5vcGVyYW5kKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGdldCBzZWxlY3RlZFZhbHVlKCk6IE9wdGlvbmFsVHlwZTxhbnk+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlciA9IHRoaXMuY3VycmVudEZpbHRlcigpO1xuICAgICAgICByZXR1cm4gISFjdXJyZW50RmlsdGVyPy5uYW1lID8gY3VycmVudEZpbHRlci52YWx1ZSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGN1cnJlbnRPcGVyYW5kczogRmlsdGVyT3BlcmFuZENvbmZpZ1tdID0gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFVwZFRhYmxlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghIXRoaXMuc3RvcmUoKSAmJiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnNob3VsZExvYWRGaWVsZHNGcm9tU2VydmVyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlKCkhLmdldEZpbHRlcmFibGVGaWVsZHMoKS5zdWJzY3JpYmUoZmllbGRzID0+XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZHNPcHRpb25zLnNldChmaWVsZHMubWFwKGYgPT4gKHsgdmFsdWU6IGYubmFtZSEsIHRleHQ6IGYuZGVzY3JpcHRpb24hLCBvYmplY3REYXRhOiBmLnR5cGUgfSkpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGRzT3B0aW9ucy5zZXQoXG4gICAgICAgICAgICAgICAgdGhpcy5jb2x1bW5zKCkuZmlsdGVyKGMgPT4gISFjLnRpdGxlKS5tYXAoYyA9PlxuICAgICAgICAgICAgICAgICAgICAoeyB2YWx1ZTogYy5uYW1lLCB0ZXh0OiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQoYy50aXRsZSksIG9iamVjdERhdGE6IGMuZGF0YVR5cGUgfSkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEhdGhpcy5zZWxlY3RlZEZpZWxkKSB7XG4gICAgICAgICAgICBpZiAoISF0aGlzLnNlbGVjdGVkT3BlcmFuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25TZWxlY3RPcGVyYW5kKHRoaXMuc2VsZWN0ZWRPcGVyYW5kKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5vblNlbGVjdEZpZWxkKHRoaXMuc2VsZWN0ZWRGaWVsZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlbGVjdEZpZWxkKGl0ZW0/OiBTZWxlY3RJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudEZpZWxkLnNldChpdGVtKTtcblxuICAgICAgICBjb25zdCBkYXRhVHlwZSA9IGl0ZW0/Lm9iamVjdERhdGE7XG5cbiAgICAgICAgaWYgKCEhZGF0YVR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudE9wZXJhbmRzID0gdGhpcy5maWx0ZXJzT3BlcmFuZHNTZXJ2aWNlLmdldE9wZXJhbmRzKGRhdGFUeXBlKTtcbiAgICAgICAgICAgIHRoaXMuY29tcGFyaXNvbk9wZXJhdG9yT3B0aW9ucy5zZXQoXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50T3BlcmFuZHMubWFwKG8gPT4gKHsgdmFsdWU6IG8ub3BlcmFuZCwgdGV4dDogdGhpcy50ZXh0U2VydmljZS5nZXRUZXh0KG8udGV4dCksIGxpc3RJdGVtOiB7IGljb246IG8uaWNvbiB9IH0pKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29tcGFyaXNvbk9wZXJhdG9yT3B0aW9ucy5zZXQoW10pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJzLnVwZGF0ZShjdXJyID0+IHtcbiAgICAgICAgICAgIGN1cnJbdGhpcy5yb3dJbmRleCgpXS5uYW1lID0gdGhpcy5jdXJyZW50RmllbGQoKT8udmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmN1cnJdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblNlbGVjdE9wZXJhbmQoaXRlbT86IFNlbGVjdEl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50T3BlcmFuZC5zZXQodGhpcy5jdXJyZW50T3BlcmFuZHMuZmluZChjbyA9PiBjby5vcGVyYW5kID09PSBpdGVtPy52YWx1ZSkpO1xuICAgICAgICB0aGlzLmlzVmFsdWVTZWN0aW9uRW5hYmxlZC5zZXQoISF0aGlzLmN1cnJlbnRPcGVyYW5kKCk/LnJlcXVpcmVzVmFsdWUpO1xuICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlcnMudXBkYXRlKGN1cnIgPT4ge1xuICAgICAgICAgICAgY3Vyclt0aGlzLnJvd0luZGV4KCldLm9wZXJhbmRDb25maWcgPSB0aGlzLmN1cnJlbnRPcGVyYW5kKCk7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmN1cnJdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGVWYWx1ZSh2YWx1ZT86IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlcnMudXBkYXRlKGN1cnIgPT4ge1xuICAgICAgICAgICAgY3Vyclt0aGlzLnJvd0luZGV4KCldLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmN1cnJdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVGaWx0ZXJJdGVtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlcnMudXBkYXRlKGN1cnIgPT4ge1xuICAgICAgICAgICAgY3Vyci5zcGxpY2UodGhpcy5yb3dJbmRleCgpLCAxKTtcbiAgICAgICAgICAgIHJldHVybiBbLi4uY3Vycl07XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlbW92ZWQuZW1pdCgpO1xuICAgIH1cbn1cbiIsIjx1cGQtc2VsZWN0IGNsYXNzPVwidy0xMDBcIiBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkKClcIiBbaXRlbXNdPVwiZmllbGRzT3B0aW9ucygpXCIgKHNlbGVjdGVkSXRlbSk9XCJvblNlbGVjdEZpZWxkKCRldmVudClcIlxuICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZEZpZWxkXCI+XG48L3VwZC1zZWxlY3Q+XG48dXBkLXNlbGVjdCBjbGFzcz1cInctMTAwXCIgW2lzRGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCIgW2l0ZW1zXT1cImNvbXBhcmlzb25PcGVyYXRvck9wdGlvbnMoKVwiIChzZWxlY3RlZEl0ZW0pPVwib25TZWxlY3RPcGVyYW5kKCRldmVudClcIlxuICAgIFtzZWxlY3RlZF09XCJzZWxlY3RlZE9wZXJhbmRcIj5cbjwvdXBkLXNlbGVjdD5cblxuQGlmIChpc1ZhbHVlU2VjdGlvbkVuYWJsZWQoKSkge1xuICAgIEBzd2l0Y2ggKGZpZWxkVHlwZSkge1xuICAgICAgICBAY2FzZSAoRGF0YVR5cGVFbnVtLk51bWJlcikge1xuICAgICAgICAgICAgPHVwZC1pbnB1dCB3cmFwcGVyQ2xhc3Nlcz1cInctMTAwXCIgY3VzdG9tQ2xhc3Nlcz1cImgtMTAwXCIgdHlwZT1cIm51bWJlclwiICh2YWx1ZUNoYW5nZSk9XCJ1cGRhdGVWYWx1ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiPjwvdXBkLWlucHV0PlxuICAgICAgICB9XG4gICAgICAgIEBjYXNlIChEYXRhVHlwZUVudW0uRGF0ZSkge1xuXG4gICAgICAgIH1cbiAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgPHVwZC1pbnB1dCB3cmFwcGVyQ2xhc3Nlcz1cInctMTAwXCIgY3VzdG9tQ2xhc3Nlcz1cImgtMTAwXCIgdHlwZT1cInRleHRcIiAodmFsdWVDaGFuZ2UpPVwidXBkYXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIj48L3VwZC1pbnB1dD5cbiAgICAgICAgfVxuICAgIH1cbn0gQGVsc2Uge1xuICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBoLTEwMFwiIGRpc2FibGVkPlxuICAgIDwvZGl2PlxufVxuXG48dXBkLWJ1dHRvbiBjbGFzcz1cImZsZXgtc2hyaW5rLTFcIiBjb2xvclN0eWxlPVwiZGFuZ2VyXCIgW2lzRGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCIgW2lzT3V0bGluZV09XCJ0cnVlXCIgW2lzSWNvbl09XCJ0cnVlXCJcbiAgICBbaWNvbk1vZGVsXT1cInt0YWJsZXJJY29uOid4J31cIiAoY2xpY2tlZCk9XCJyZW1vdmVGaWx0ZXJJdGVtKClcIj48L3VwZC1idXR0b24+XG4iXX0=
@@ -0,0 +1,72 @@
1
+ import { Component, model, inject } from '@angular/core';
2
+ import { Validators, FormGroup } from '@angular/forms';
3
+ import { DynamicFieldType } from '@updevs/components/form';
4
+ import { BaseModal } from '@updevs/components/modal';
5
+ import { SavedViewsStorage } from '../../services/storages/saved-views.storage';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@jsverse/transloco";
8
+ import * as i2 from "@updevs/components/button";
9
+ import * as i3 from "@updevs/components/form";
10
+ export class SaveSearchComponent extends BaseModal {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.formGroup = model(new FormGroup({}));
14
+ this.formRows = [];
15
+ this.savedViewsStorage = inject(SavedViewsStorage);
16
+ this.uniqueNameValidator = () => (control) => {
17
+ const existingRecord = this.savedViewsStorage.getByName(this.data().tableName, control.value);
18
+ return !!existingRecord
19
+ ? { nameNotUnique: { errorText: { text: 'UpDevs.Table.SavedViews.NameNotUnique', isTranslated: false } } }
20
+ // eslint-disable-next-line no-null/no-null
21
+ : null;
22
+ };
23
+ }
24
+ ngOnInit() {
25
+ this.formRows = [
26
+ {
27
+ fields: [
28
+ {
29
+ name: 'name',
30
+ type: DynamicFieldType.Input,
31
+ colSize: { default: 12 },
32
+ label: { text: 'UpDevs.Table.SaveSearch.Name', isTranslated: false },
33
+ validators: [Validators.required, Validators.minLength(3), this.uniqueNameValidator()],
34
+ initValue: this.data().name
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ fields: [
40
+ {
41
+ name: 'isDefault',
42
+ type: DynamicFieldType.Checkbox,
43
+ colSize: { default: 6 },
44
+ label: { text: 'UpDevs.Table.SaveSearch.IsDefault', isTranslated: false },
45
+ hint: { text: 'UpDevs.Table.SaveSearch.IsDefaultHint', isTranslated: false },
46
+ hintAsTooltip: true,
47
+ initValue: this.data().isDefault || false
48
+ }
49
+ ]
50
+ }
51
+ ];
52
+ }
53
+ cancel() {
54
+ this.modalRef().close();
55
+ }
56
+ save() {
57
+ const formValue = this.formGroup().value;
58
+ const data = { ...this.data(), name: formValue.name, isDefault: formValue.isDefault };
59
+ if (data.isDefault) {
60
+ this.savedViewsStorage.resetAllIsDefault(this.data().tableName);
61
+ }
62
+ this.savedViewsStorage.saveView(data);
63
+ this.modalRef().close();
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SaveSearchComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type: SaveSearchComponent, selector: "upd-save-search", inputs: { formGroup: { classPropertyName: "formGroup", publicName: "formGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formGroup: "formGroupChange" }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.SaveSearch'\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ t('Title') }}</h5>\n </div>\n <div class=\"modal-body py-4\">\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\"></upd-form>\n </div>\n <div class=\"modal-footer\">\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"cancel()\">\n {{ t('Cancel') }}\n </upd-button>\n <upd-button colorStyle=\"primary\" [iconModel]=\"{tablerIcon:'device-floppy'}\" (clicked)=\"save()\" [isDisabled]=\"!formGroup().valid\">\n {{ t('Save') }}\n </upd-button>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i2.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }, { kind: "component", type: i3.FormComponent, selector: "upd-form", inputs: ["rows", "layout", "title", "hasActionsSection", "isCard", "isDisabled", "isLoading", "isSaving", "formData", "formGroup"], outputs: ["initialized", "dataLoaded", "submitted", "formDataChange", "formGroupChange"] }] }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SaveSearchComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'upd-save-search', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table.SaveSearch'\">\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">{{ t('Title') }}</h5>\n </div>\n <div class=\"modal-body py-4\">\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\"></upd-form>\n </div>\n <div class=\"modal-footer\">\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"cancel()\">\n {{ t('Cancel') }}\n </upd-button>\n <upd-button colorStyle=\"primary\" [iconModel]=\"{tablerIcon:'device-floppy'}\" (clicked)=\"save()\" [isDisabled]=\"!formGroup().valid\">\n {{ t('Save') }}\n </upd-button>\n </div>\n</ng-container>\n" }]
71
+ }] });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL3NhdmUtc2VhcmNoL3NhdmUtc2VhcmNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9zYXZlLXNlYXJjaC9zYXZlLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQWtELE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFnQixnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFPaEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQXlCO0lBTGxFOztRQU1JLGNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxhQUFRLEdBQW1CLEVBQUUsQ0FBQztRQUViLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBZ0R2RCx3QkFBbUIsR0FBRyxHQUFnQixFQUFFLENBQUMsQ0FBQyxPQUF3QixFQUEyQixFQUFFO1lBQ25HLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUYsT0FBTyxDQUFDLENBQUMsY0FBYztnQkFDbkIsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLHVDQUF1QyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUMxRywyQ0FBMkM7Z0JBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDZixDQUFDLENBQUM7S0FDTDtJQXJERyxRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNaO2dCQUNJLE1BQU0sRUFBRTtvQkFDSjt3QkFDSSxJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsZ0JBQWdCLENBQUMsS0FBSzt3QkFDNUIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTt3QkFDeEIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7d0JBQ3BFLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzt3QkFDdEYsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJO3FCQUM5QjtpQkFDSjthQUNKO1lBQ0Q7Z0JBQ0ksTUFBTSxFQUFFO29CQUNKO3dCQUNJLElBQUksRUFBRSxXQUFXO3dCQUNqQixJQUFJLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTt3QkFDL0IsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRTt3QkFDdkIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7d0JBQ3pFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSx1Q0FBdUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO3dCQUM1RSxhQUFhLEVBQUUsSUFBSTt3QkFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLElBQUksS0FBSztxQkFDNUM7aUJBQ0o7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSTtRQUNBLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFZLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXRGLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsQ0FBQztRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBbERRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHlRQ2JoQyxtdUJBZ0JBOzsyRkRIYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBtb2RlbCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1Sb3dNb2RlbCwgRHluYW1pY0ZpZWxkVHlwZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEJhc2VNb2RhbCB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9tb2RhbCc7XG5cbmltcG9ydCB7IFNhdmVkVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhdmVkLXZpZXcubW9kZWwnO1xuaW1wb3J0IHsgU2F2ZWRWaWV3c1N0b3JhZ2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdG9yYWdlcy9zYXZlZC12aWV3cy5zdG9yYWdlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtc2F2ZS1zZWFyY2gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYXZlLXNlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NhdmUtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBTYXZlU2VhcmNoQ29tcG9uZW50IGV4dGVuZHMgQmFzZU1vZGFsPFNhdmVkVmlld01vZGVsPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgZm9ybUdyb3VwID0gbW9kZWwobmV3IEZvcm1Hcm91cCh7fSkpO1xuICAgIGZvcm1Sb3dzOiBGb3JtUm93TW9kZWxbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlZFZpZXdzU3RvcmFnZSA9IGluamVjdChTYXZlZFZpZXdzU3RvcmFnZSk7XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtUm93cyA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ25hbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogRHluYW1pY0ZpZWxkVHlwZS5JbnB1dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbFNpemU6IHsgZGVmYXVsdDogMTIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiB7IHRleHQ6ICdVcERldnMuVGFibGUuU2F2ZVNlYXJjaC5OYW1lJywgaXNUcmFuc2xhdGVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLCB0aGlzLnVuaXF1ZU5hbWVWYWxpZGF0b3IoKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0VmFsdWU6IHRoaXMuZGF0YSgpLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdpc0RlZmF1bHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogRHluYW1pY0ZpZWxkVHlwZS5DaGVja2JveCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbFNpemU6IHsgZGVmYXVsdDogNiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHsgdGV4dDogJ1VwRGV2cy5UYWJsZS5TYXZlU2VhcmNoLklzRGVmYXVsdCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhpbnQ6IHsgdGV4dDogJ1VwRGV2cy5UYWJsZS5TYXZlU2VhcmNoLklzRGVmYXVsdEhpbnQnLCBpc1RyYW5zbGF0ZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBoaW50QXNUb29sdGlwOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdFZhbHVlOiB0aGlzLmRhdGEoKS5pc0RlZmF1bHQgfHwgZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW9kYWxSZWYoKS5jbG9zZSgpO1xuICAgIH1cblxuICAgIHNhdmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybUdyb3VwKCkudmFsdWUgYXMgYW55O1xuICAgICAgICBjb25zdCBkYXRhID0geyAuLi50aGlzLmRhdGEoKSwgbmFtZTogZm9ybVZhbHVlLm5hbWUsIGlzRGVmYXVsdDogZm9ybVZhbHVlLmlzRGVmYXVsdCB9O1xuXG4gICAgICAgIGlmIChkYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgdGhpcy5zYXZlZFZpZXdzU3RvcmFnZS5yZXNldEFsbElzRGVmYXVsdCh0aGlzLmRhdGEoKS50YWJsZU5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zYXZlZFZpZXdzU3RvcmFnZS5zYXZlVmlldyhkYXRhKTtcbiAgICAgICAgdGhpcy5tb2RhbFJlZigpLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1bmlxdWVOYW1lVmFsaWRhdG9yID0gKCk6IFZhbGlkYXRvckZuID0+IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nUmVjb3JkID0gdGhpcy5zYXZlZFZpZXdzU3RvcmFnZS5nZXRCeU5hbWUodGhpcy5kYXRhKCkudGFibGVOYW1lLCBjb250cm9sLnZhbHVlKTtcbiAgICAgICAgcmV0dXJuICEhZXhpc3RpbmdSZWNvcmRcbiAgICAgICAgICAgID8geyBuYW1lTm90VW5pcXVlOiB7IGVycm9yVGV4dDogeyB0ZXh0OiAnVXBEZXZzLlRhYmxlLlNhdmVkVmlld3MuTmFtZU5vdFVuaXF1ZScsIGlzVHJhbnNsYXRlZDogZmFsc2UgfSB9IH1cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1udWxsL25vLW51bGxcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9O1xufVxuIiwiPG5nLWNvbnRhaW5lciAqdHJhbnNsb2NvPVwibGV0IHQ7IHByZWZpeDogJ1VwRGV2cy5UYWJsZS5TYXZlU2VhcmNoJ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICAgICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj57eyB0KCdUaXRsZScpIH19PC9oNT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBweS00XCI+XG4gICAgICAgIDx1cGQtZm9ybSBbcm93c109XCJmb3JtUm93c1wiIFtoYXNBY3Rpb25zU2VjdGlvbl09XCJmYWxzZVwiIFsoZm9ybUdyb3VwKV09XCJmb3JtR3JvdXBcIj48L3VwZC1mb3JtPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgPHVwZC1idXR0b24gY29sb3JTdHlsZT1cInNlY29uZGFyeVwiIFtpc0xpbmtdPVwidHJ1ZVwiIChjbGlja2VkKT1cImNhbmNlbCgpXCI+XG4gICAgICAgICAgICB7eyB0KCdDYW5jZWwnKSB9fVxuICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgIDx1cGQtYnV0dG9uIGNvbG9yU3R5bGU9XCJwcmltYXJ5XCIgW2ljb25Nb2RlbF09XCJ7dGFibGVySWNvbjonZGV2aWNlLWZsb3BweSd9XCIgKGNsaWNrZWQpPVwic2F2ZSgpXCIgW2lzRGlzYWJsZWRdPVwiIWZvcm1Hcm91cCgpLnZhbGlkXCI+XG4gICAgICAgICAgICB7eyB0KCdTYXZlJykgfX1cbiAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,93 @@
1
+ import { Component, input, HostBinding, signal, computed, model, effect, inject } from '@angular/core';
2
+ import { BaseComponent } from '@updevs/sdk/layout';
3
+ import { Subject, distinctUntilChanged, debounceTime } from 'rxjs';
4
+ import { FilterTools } from '../../tools/filters.tools';
5
+ import { FiltersOperandsService } from '../../abstractions/filters-operands.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@jsverse/transloco";
9
+ import * as i3 from "@updevs/icons";
10
+ import * as i4 from "@updevs/components/button";
11
+ import * as i5 from "@updevs/components/form-controls/input";
12
+ import * as i6 from "../filter-row/filter-row.component";
13
+ export class SearchSectionComponent extends BaseComponent {
14
+ constructor() {
15
+ super();
16
+ this.wrapperClass = 'card-body border-bottom py-3 d-flex flex-column gap-2';
17
+ this.searchRequest = model.required();
18
+ this.hasChanges = model.required();
19
+ this.columns = input.required();
20
+ this.isSearching = input.required();
21
+ this.searchRequestSubject = input.required();
22
+ this.config = input.required();
23
+ this.actionsTpl = input();
24
+ this.activeFilters = signal([]);
25
+ this.isFilterSectionOpen = signal(false);
26
+ this.canApplyFilters = computed(() => this.activeFilters().length > 0
27
+ && this.activeFilters().every(af => !!af.name && !!af.operandConfig?.operand && (!af.operandConfig?.requiresValue || !!af.value)));
28
+ this.canPerformActions = computed(() => this.canApplyFilters() && !this.isSearching());
29
+ this.badgeConfig = computed(() => (this.searchRequest().filters?.length || 0) > 0
30
+ ? ({
31
+ isNotification: true,
32
+ isPill: true,
33
+ bgColor: 'primary-lt',
34
+ text: { text: this.searchRequest().filters.length.toString(), isTranslated: true }
35
+ })
36
+ : undefined);
37
+ this.filterSectionBtnColor = computed(() => this.isFilterSectionOpen() ? 'primary' : undefined);
38
+ this.searchSubject = new Subject();
39
+ this.filtersOperandsService = inject(FiltersOperandsService);
40
+ effect(() => {
41
+ if ((this.searchRequest().filters?.length || 0) > 0) {
42
+ this.activeFilters.set([...FilterTools.convertToFilterItem(this.searchRequest().filters || [], this.filtersOperandsService.getAllOperands())]);
43
+ }
44
+ else {
45
+ this.activeFilters.set([]);
46
+ this.isFilterSectionOpen.set(false);
47
+ }
48
+ }, { allowSignalWrites: true });
49
+ }
50
+ ngOnInit() {
51
+ const searchSub = this.searchSubject
52
+ .pipe(distinctUntilChanged(), debounceTime(this.config().searchInputDebounceTime))
53
+ .subscribe(term => this.searchRequestSubject().next({
54
+ ...this.searchRequest(),
55
+ description: term
56
+ }));
57
+ this.addSubscriptions(searchSub);
58
+ }
59
+ search() {
60
+ this.searchRequestSubject().next({
61
+ ...this.searchRequest(),
62
+ filters: FilterTools.convertToRequestFilter(this.activeFilters(), this.config().columns)
63
+ });
64
+ }
65
+ toggleFilterSection() {
66
+ if (this.activeFilters().length === 0) {
67
+ this.addEmptyFilterRow();
68
+ }
69
+ this.isFilterSectionOpen.update(isOpen => !isOpen);
70
+ }
71
+ onRowRemoved() {
72
+ if (this.activeFilters().length === 0) {
73
+ this.isFilterSectionOpen.set(false);
74
+ }
75
+ this.search();
76
+ }
77
+ addEmptyFilterRow() {
78
+ this.activeFilters.update(curr => {
79
+ curr.push({});
80
+ return [...curr];
81
+ });
82
+ }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SearchSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SearchSectionComponent, selector: "upd-search-section", inputs: { searchRequest: { classPropertyName: "searchRequest", publicName: "searchRequest", isSignal: true, isRequired: true, transformFunction: null }, hasChanges: { classPropertyName: "hasChanges", publicName: "hasChanges", isSignal: true, isRequired: true, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: true, transformFunction: null }, isSearching: { classPropertyName: "isSearching", publicName: "isSearching", isSignal: true, isRequired: true, transformFunction: null }, searchRequestSubject: { classPropertyName: "searchRequestSubject", publicName: "searchRequestSubject", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, actionsTpl: { classPropertyName: "actionsTpl", publicName: "actionsTpl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchRequest: "searchRequestChange", hasChanges: "hasChangesChange" }, host: { properties: { "class": "this.wrapperClass" } }, usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\" [isAppendButton]=\"true\"\n (valueChange)=\"searchSubject.next($event)\" [value]=\"searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row; let i = $index) {\n <upd-filter-row [store]=\"config().store\" [currentFilter]=\"row\" [(activeFilters)]=\"activeFilters\" [columns]=\"columns()\"\n [rowIndex]=\"i\" (removed)=\"onRowRemoved()\" [isDisabled]=\"isSearching()\">\n </upd-filter-row>\n }\n\n <div class=\"ms-auto d-flex gap-2\">\n <upd-button customClasses=\"gap-2\" colorStyle=\"primary\" [isOutline]=\"true\" (clicked)=\"addEmptyFilterRow()\"\n [isDisabled]=\"!canPerformActions()\">\n <upd-icon tablerIcon=\"plus\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('AddNewFilter') }}\n </upd-button>\n <upd-button customClasses=\"gap-2\" colorStyle=\"success\" [isDisabled]=\"!canPerformActions()\" (clicked)=\"search()\">\n <upd-icon tablerIcon=\"checks\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ApplyFilters') }}\n </upd-button>\n </div>\n }\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "component", type: i4.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }, { kind: "component", type: i5.InputComponent, selector: "upd-input", inputs: ["type", "mask", "maskConfig", "value", "size", "customClasses", "wrapperClasses", "maxLength", "isPlainText", "isReadOnly", "isLoading", "isRound", "isFlush", "isInputGroupFlat", "isPrependButton", "isAppendButton", "isFloating", "loaderPosition", "prependIconModel", "appendIconModel", "isValidationStatusLight", "layout"], outputs: ["valueChange", "blurred", "keyDown", "keyDownEsc", "keyUpEnter"] }, { kind: "directive", type: i5.InputAppendDirective, selector: "ng-template[updInputAppend]" }, { kind: "component", type: i6.FilterRowComponent, selector: "upd-filter-row", inputs: ["activeFilters", "rowIndex", "columns", "isDisabled", "store", "currentFilter"], outputs: ["removed", "activeFiltersChange"] }] }); }
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SearchSectionComponent, decorators: [{
87
+ type: Component,
88
+ args: [{ selector: 'upd-search-section', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Table'\">\n @if (!!actionsTpl()) {\n <ng-template [ngTemplateOutlet]=\"actionsTpl()!\"></ng-template>\n }\n\n <div class=\"d-flex align-items-center gap-2\">\n <upd-input wrapperClasses=\"w-100\" [placeholder]=\"{text:'UpDevs.Table.Search', isTranslated:false}\" [isAppendButton]=\"true\"\n (valueChange)=\"searchSubject.next($event)\" [value]=\"searchRequest().description\">\n <ng-template updInputAppend>\n <upd-button [isIcon]=\"true\" [colorStyle]=\"filterSectionBtnColor()\" (clicked)=\"toggleFilterSection()\"\n [badgeConfig]=\"badgeConfig()\">\n <upd-icon [tablerIcon]=\"isFilterSectionOpen() ? 'filter-up' : 'filter-down'\" [tablerIconSize]=\"20\"></upd-icon>\n </upd-button>\n </ng-template>\n </upd-input>\n </div>\n\n @if (isFilterSectionOpen()) {\n @for (row of activeFilters(); track row; let i = $index) {\n <upd-filter-row [store]=\"config().store\" [currentFilter]=\"row\" [(activeFilters)]=\"activeFilters\" [columns]=\"columns()\"\n [rowIndex]=\"i\" (removed)=\"onRowRemoved()\" [isDisabled]=\"isSearching()\">\n </upd-filter-row>\n }\n\n <div class=\"ms-auto d-flex gap-2\">\n <upd-button customClasses=\"gap-2\" colorStyle=\"primary\" [isOutline]=\"true\" (clicked)=\"addEmptyFilterRow()\"\n [isDisabled]=\"!canPerformActions()\">\n <upd-icon tablerIcon=\"plus\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('AddNewFilter') }}\n </upd-button>\n <upd-button customClasses=\"gap-2\" colorStyle=\"success\" [isDisabled]=\"!canPerformActions()\" (clicked)=\"search()\">\n <upd-icon tablerIcon=\"checks\" tablerIconWeight=\"bold\" [tablerIconSize]=\"20\"></upd-icon>\n {{ t('ApplyFilters') }}\n </upd-button>\n </div>\n }\n</ng-container>\n" }]
89
+ }], ctorParameters: () => [], propDecorators: { wrapperClass: [{
90
+ type: HostBinding,
91
+ args: ['class']
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9jb21wb25lbnRzL3NlYXJjaC1zZWN0aW9uL3NlYXJjaC1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvY29tcG9uZW50cy9zZWFyY2gtc2VjdGlvbi9zZWFyY2gtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxXQUFXLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7OztBQU9yRixNQUFNLE9BQU8sc0JBQTBCLFNBQVEsYUFBYTtJQWdDeEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQWhDVSxpQkFBWSxHQUFHLHVEQUF1RCxDQUFDO1FBRTdGLGtCQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUNyRCxlQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFxQixDQUFDO1FBQzlDLGdCQUFXLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBQ3hDLHlCQUFvQixHQUFHLEtBQUss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OzhHQTNGUSxzQkFBc0I7a0dBQXRCLHNCQUFzQix3cUNDbEJuQyx3Z0VBcUNBOzsyRkRuQmEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLG9CQUFvQjt3REFLUixZQUFZO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0LCBUZW1wbGF0ZVJlZiwgSG9zdEJpbmRpbmcsIHNpZ25hbCwgY29tcHV0ZWQsIG1vZGVsLCBPbkluaXQsIGVmZmVjdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXF1ZXN0TW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkay9zdG9yZXMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBPcHRpb25hbFR5cGUsIEJnQ29sb3JTdHlsZVR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBCYWRnZUNvbmZpZyB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZpbHRlckl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXItaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBUYWJsZUNvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RhYmxlLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJUb29scyB9IGZyb20gJy4uLy4uL3Rvb2xzL2ZpbHRlcnMudG9vbHMnO1xuaW1wb3J0IHsgQmFzZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zL2Jhc2UtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hYnN0cmFjdGlvbnMvZmlsdGVycy1vcGVyYW5kcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtc2VhcmNoLXNlY3Rpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtc2VjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NlYXJjaC1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZWN0aW9uQ29tcG9uZW50PFQ+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHdyYXBwZXJDbGFzcyA9ICdjYXJkLWJvZHkgYm9yZGVyLWJvdHRvbSBweS0zIGQtZmxleCBmbGV4LWNvbHVtbiBnYXAtMic7XG5cbiAgICBzZWFyY2hSZXF1ZXN0ID0gbW9kZWwucmVxdWlyZWQ8U2VhcmNoUmVxdWVzdE1vZGVsPigpO1xuICAgIGhhc0NoYW5nZXMgPSBtb2RlbC5yZXF1aXJlZDxib29sZWFuPigpO1xuICAgIGNvbHVtbnMgPSBpbnB1dC5yZXF1aXJlZDxCYXNlQ29sdW1uTW9kZWxbXT4oKTtcbiAgICBpc1NlYXJjaGluZyA9IGlucHV0LnJlcXVpcmVkPGJvb2xlYW4+KCk7XG4gICAgc2VhcmNoUmVxdWVzdFN1YmplY3QgPSBpbnB1dC5yZXF1aXJlZDxTdWJqZWN0PFNlYXJjaFJlcXVlc3RNb2RlbD4+KCk7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8VGFibGVDb25maWdNb2RlbDxUPj4oKTtcbiAgICBhY3Rpb25zVHBsID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgICBhY3RpdmVGaWx0ZXJzID0gc2lnbmFsPEZpbHRlckl0ZW1Nb2RlbFtdPihbXSk7XG4gICAgaXNGaWx0ZXJTZWN0aW9uT3BlbiA9IHNpZ25hbChmYWxzZSk7XG4gICAgY2FuQXBwbHlGaWx0ZXJzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hY3RpdmVGaWx0ZXJzKCkubGVuZ3RoID4gMFxuICAgICAgICAmJiB0aGlzLmFjdGl2ZUZpbHRlcnMoKS5ldmVyeShhZiA9PiAhIWFmLm5hbWUgJiYgISFhZi5vcGVyYW5kQ29uZmlnPy5vcGVyYW5kICYmICghYWYub3BlcmFuZENvbmZpZz8ucmVxdWlyZXNWYWx1ZSB8fCAhIWFmLnZhbHVlKSlcbiAgICApO1xuICAgIGNhblBlcmZvcm1BY3Rpb25zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jYW5BcHBseUZpbHRlcnMoKSAmJiAhdGhpcy5pc1NlYXJjaGluZygpKTtcbiAgICBiYWRnZUNvbmZpZyA9IGNvbXB1dGVkPE9wdGlvbmFsVHlwZTxCYWRnZUNvbmZpZz4+KCgpID0+XG4gICAgICAgICh0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5sZW5ndGggfHwgMCkgPiAwXG4gICAgICAgICAgICA/ICh7XG4gICAgICAgICAgICAgICAgaXNOb3RpZmljYXRpb246IHRydWUsXG4gICAgICAgICAgICAgICAgaXNQaWxsOiB0cnVlLFxuICAgICAgICAgICAgICAgIGJnQ29sb3I6ICdwcmltYXJ5LWx0JyxcbiAgICAgICAgICAgICAgICB0ZXh0OiB7IHRleHQ6IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMhLmxlbmd0aC50b1N0cmluZygpLCBpc1RyYW5zbGF0ZWQ6IHRydWUgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgKTtcbiAgICBmaWx0ZXJTZWN0aW9uQnRuQ29sb3IgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlzRmlsdGVyU2VjdGlvbk9wZW4oKSA/IDxCZ0NvbG9yU3R5bGVUeXBlPidwcmltYXJ5JyA6IHVuZGVmaW5lZCk7XG5cbiAgICByZWFkb25seSBzZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlID0gaW5qZWN0KEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICgodGhpcy5zZWFyY2hSZXF1ZXN0KCkuZmlsdGVycz8ubGVuZ3RoIHx8IDApID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlRmlsdGVycy5zZXQoXG4gICAgICAgICAgICAgICAgICAgIFsuLi5GaWx0ZXJUb29scy5jb252ZXJ0VG9GaWx0ZXJJdGVtKHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW10sIHRoaXMuZmlsdGVyc09wZXJhbmRzU2VydmljZS5nZXRBbGxPcGVyYW5kcygpKV1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUZpbHRlcnMuc2V0KFtdKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRmlsdGVyU2VjdGlvbk9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoU3ViID0gdGhpcy5zZWFyY2hTdWJqZWN0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmNvbmZpZygpLnNlYXJjaElucHV0RGVib3VuY2VUaW1lKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0ZXJtID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hSZXF1ZXN0U3ViamVjdCgpLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnNlYXJjaFJlcXVlc3QoKSxcbiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHRlcm1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnMoc2VhcmNoU3ViKTtcbiAgICB9XG5cbiAgICBzZWFyY2goKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoUmVxdWVzdFN1YmplY3QoKS5uZXh0KHtcbiAgICAgICAgICAgIC4uLnRoaXMuc2VhcmNoUmVxdWVzdCgpLFxuICAgICAgICAgICAgZmlsdGVyczogRmlsdGVyVG9vbHMuY29udmVydFRvUmVxdWVzdEZpbHRlcih0aGlzLmFjdGl2ZUZpbHRlcnMoKSwgdGhpcy5jb25maWcoKS5jb2x1bW5zKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0b2dnbGVGaWx0ZXJTZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVGaWx0ZXJzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmFkZEVtcHR5RmlsdGVyUm93KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzRmlsdGVyU2VjdGlvbk9wZW4udXBkYXRlKGlzT3BlbiA9PiAhaXNPcGVuKTtcbiAgICB9XG5cbiAgICBvblJvd1JlbW92ZWQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUZpbHRlcnMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuaXNGaWx0ZXJTZWN0aW9uT3Blbi5zZXQoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWFyY2goKTtcbiAgICB9XG5cbiAgICBhZGRFbXB0eUZpbHRlclJvdygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hY3RpdmVGaWx0ZXJzLnVwZGF0ZShjdXJyID0+IHtcbiAgICAgICAgICAgIGN1cnIucHVzaCh7fSk7XG4gICAgICAgICAgICByZXR1cm4gWy4uLmN1cnJdO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcHJlZml4OiAnVXBEZXZzLlRhYmxlJ1wiPlxuICAgIEBpZiAoISFhY3Rpb25zVHBsKCkpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFjdGlvbnNUcGwoKSFcIj48L25nLXRlbXBsYXRlPlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgIDx1cGQtaW5wdXQgd3JhcHBlckNsYXNzZXM9XCJ3LTEwMFwiIFtwbGFjZWhvbGRlcl09XCJ7dGV4dDonVXBEZXZzLlRhYmxlLlNlYXJjaCcsIGlzVHJhbnNsYXRlZDpmYWxzZX1cIiBbaXNBcHBlbmRCdXR0b25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwic2VhcmNoU3ViamVjdC5uZXh0KCRldmVudClcIiBbdmFsdWVdPVwic2VhcmNoUmVxdWVzdCgpLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgdXBkSW5wdXRBcHBlbmQ+XG4gICAgICAgICAgICAgICAgPHVwZC1idXR0b24gW2lzSWNvbl09XCJ0cnVlXCIgW2NvbG9yU3R5bGVdPVwiZmlsdGVyU2VjdGlvbkJ0bkNvbG9yKClcIiAoY2xpY2tlZCk9XCJ0b2dnbGVGaWx0ZXJTZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICBbYmFkZ2VDb25maWddPVwiYmFkZ2VDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8dXBkLWljb24gW3RhYmxlckljb25dPVwiaXNGaWx0ZXJTZWN0aW9uT3BlbigpID8gJ2ZpbHRlci11cCcgOiAnZmlsdGVyLWRvd24nXCIgW3RhYmxlckljb25TaXplXT1cIjIwXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3VwZC1pbnB1dD5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoaXNGaWx0ZXJTZWN0aW9uT3BlbigpKSB7XG4gICAgICAgIEBmb3IgKHJvdyBvZiBhY3RpdmVGaWx0ZXJzKCk7IHRyYWNrIHJvdzsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDx1cGQtZmlsdGVyLXJvdyBbc3RvcmVdPVwiY29uZmlnKCkuc3RvcmVcIiBbY3VycmVudEZpbHRlcl09XCJyb3dcIiBbKGFjdGl2ZUZpbHRlcnMpXT1cImFjdGl2ZUZpbHRlcnNcIiBbY29sdW1uc109XCJjb2x1bW5zKClcIlxuICAgICAgICAgICAgICAgIFtyb3dJbmRleF09XCJpXCIgKHJlbW92ZWQpPVwib25Sb3dSZW1vdmVkKClcIiBbaXNEaXNhYmxlZF09XCJpc1NlYXJjaGluZygpXCI+XG4gICAgICAgICAgICA8L3VwZC1maWx0ZXItcm93PlxuICAgICAgICB9XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1zLWF1dG8gZC1mbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICA8dXBkLWJ1dHRvbiBjdXN0b21DbGFzc2VzPVwiZ2FwLTJcIiBjb2xvclN0eWxlPVwicHJpbWFyeVwiIFtpc091dGxpbmVdPVwidHJ1ZVwiIChjbGlja2VkKT1cImFkZEVtcHR5RmlsdGVyUm93KClcIlxuICAgICAgICAgICAgICAgIFtpc0Rpc2FibGVkXT1cIiFjYW5QZXJmb3JtQWN0aW9ucygpXCI+XG4gICAgICAgICAgICAgICAgPHVwZC1pY29uIHRhYmxlckljb249XCJwbHVzXCIgdGFibGVySWNvbldlaWdodD1cImJvbGRcIiBbdGFibGVySWNvblNpemVdPVwiMjBcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgIHt7IHQoJ0FkZE5ld0ZpbHRlcicpIH19XG4gICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICA8dXBkLWJ1dHRvbiBjdXN0b21DbGFzc2VzPVwiZ2FwLTJcIiBjb2xvclN0eWxlPVwic3VjY2Vzc1wiIFtpc0Rpc2FibGVkXT1cIiFjYW5QZXJmb3JtQWN0aW9ucygpXCIgKGNsaWNrZWQpPVwic2VhcmNoKClcIj5cbiAgICAgICAgICAgICAgICA8dXBkLWljb24gdGFibGVySWNvbj1cImNoZWNrc1wiIHRhYmxlckljb25XZWlnaHQ9XCJib2xkXCIgW3RhYmxlckljb25TaXplXT1cIjIwXCI+PC91cGQtaWNvbj5cbiAgICAgICAgICAgICAgICB7eyB0KCdBcHBseUZpbHRlcnMnKSB9fVxuICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './table-column.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvZGlyZWN0aXZlcy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,52 @@
1
+ import { Directive, input, inject, ViewContainerRef, effect } from '@angular/core';
2
+ import { DynamicComponentLoaderService } from '@updevs/sdk/layout';
3
+ import { ColumnTypeEnum } from '../models/enums/column-type.enum';
4
+ import { TextColumnComponent } from '../components/columns/text-column/text-column.component';
5
+ import { NumberColumnComponent } from '../components/columns/number-column/number-column.component';
6
+ import { BooleanColumnComponent } from '../components/columns/boolean-column/boolean-column.component';
7
+ import { DateTimeColumnComponent } from '../components/columns/date-time-column/date-time-column.component';
8
+ import * as i0 from "@angular/core";
9
+ export class TableColumnDirective {
10
+ constructor() {
11
+ this.record = input.required();
12
+ this.config = input.required();
13
+ this.viewContainerRef = inject(ViewContainerRef);
14
+ this.dynamicLoaderService = inject(DynamicComponentLoaderService);
15
+ effect(() => {
16
+ const component = this.dynamicLoaderService.load(this.getComponentType(), this.viewContainerRef);
17
+ component.instance.record = this.record();
18
+ component.instance.config = this.config();
19
+ });
20
+ }
21
+ getComponentType() {
22
+ switch (this.config().type) {
23
+ case ColumnTypeEnum.Text:
24
+ // @ts-ignore
25
+ return TextColumnComponent;
26
+ case ColumnTypeEnum.Number:
27
+ // @ts-ignore
28
+ return NumberColumnComponent;
29
+ case ColumnTypeEnum.Boolean:
30
+ // @ts-ignore
31
+ return BooleanColumnComponent;
32
+ case ColumnTypeEnum.Date:
33
+ case ColumnTypeEnum.DateTime:
34
+ // @ts-ignore
35
+ return DateTimeColumnComponent;
36
+ case ColumnTypeEnum.Guid:
37
+ // @ts-ignore
38
+ return TextColumnComponent;
39
+ default:
40
+ throw Error();
41
+ }
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TableColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.0", type: TableColumnDirective, selector: "[updTableColumn]", inputs: { record: { classPropertyName: "record", publicName: "record", isSignal: true, isRequired: true, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TableColumnDirective, decorators: [{
47
+ type: Directive,
48
+ args: [{
49
+ selector: '[updTableColumn]'
50
+ }]
51
+ }], ctorParameters: () => [] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvZGlyZWN0aXZlcy90YWJsZS1jb2x1bW4uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDOztBQUs1RyxNQUFNLE9BQU8sb0JBQW9CO0lBTzdCO1FBTkEsV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBRWxCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBRzFFLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDUixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ2pHLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsS0FBSyxjQUFjLENBQUMsSUFBSTtnQkFDcEIsYUFBYTtnQkFDYixPQUFPLG1CQUFtQixDQUFDO1lBQy9CLEtBQUssY0FBYyxDQUFDLE1BQU07Z0JBQ3RCLGFBQWE7Z0JBQ2IsT0FBTyxxQkFBcUIsQ0FBQztZQUNqQyxLQUFLLGNBQWMsQ0FBQyxPQUFPO2dCQUN2QixhQUFhO2dCQUNiLE9BQU8sc0JBQXNCLENBQUM7WUFDbEMsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3pCLEtBQUssY0FBYyxDQUFDLFFBQVE7Z0JBQ3hCLGFBQWE7Z0JBQ2IsT0FBTyx1QkFBdUIsQ0FBQztZQUNuQyxLQUFLLGNBQWMsQ0FBQyxJQUFJO2dCQUNwQixhQUFhO2dCQUNiLE9BQU8sbUJBQW1CLENBQUM7WUFDL0I7Z0JBQ0ksTUFBTSxLQUFLLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQzs4R0FwQ1Esb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGlucHV0LCBpbmplY3QsIFZpZXdDb250YWluZXJSZWYsIGVmZmVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY0NvbXBvbmVudExvYWRlclNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcblxuaW1wb3J0IHsgQmFzZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3Rpb25zL2Jhc2UtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IEJhc2VDb2x1bW4gfSBmcm9tICcuLi9hYnN0cmFjdGlvbnMvYmFzZS5jb2x1bW4nO1xuaW1wb3J0IHsgQ29sdW1uVHlwZUVudW0gfSBmcm9tICcuLi9tb2RlbHMvZW51bXMvY29sdW1uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBUZXh0Q29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb2x1bW5zL3RleHQtY29sdW1uL3RleHQtY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOdW1iZXJDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbHVtbnMvbnVtYmVyLWNvbHVtbi9udW1iZXItY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb29sZWFuQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb2x1bW5zL2Jvb2xlYW4tY29sdW1uL2Jvb2xlYW4tY29sdW1uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlVGltZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29sdW1ucy9kYXRlLXRpbWUtY29sdW1uL2RhdGUtdGltZS1jb2x1bW4uY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdXBkVGFibGVDb2x1bW5dJ1xufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbHVtbkRpcmVjdGl2ZTxUQ29uZmlnIGV4dGVuZHMgQmFzZUNvbHVtbk1vZGVsPiB7XG4gICAgcmVjb3JkID0gaW5wdXQucmVxdWlyZWQoKTtcbiAgICBjb25maWcgPSBpbnB1dC5yZXF1aXJlZDxUQ29uZmlnPigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHluYW1pY0xvYWRlclNlcnZpY2UgPSBpbmplY3QoRHluYW1pY0NvbXBvbmVudExvYWRlclNlcnZpY2UpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmR5bmFtaWNMb2FkZXJTZXJ2aWNlLmxvYWQodGhpcy5nZXRDb21wb25lbnRUeXBlKCksIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgICAgICBjb21wb25lbnQuaW5zdGFuY2UucmVjb3JkID0gdGhpcy5yZWNvcmQoKTtcbiAgICAgICAgICAgIGNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcgPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRDb21wb25lbnRUeXBlKCk6IENvbXBvbmVudFR5cGU8QmFzZUNvbHVtbjxUQ29uZmlnPj4ge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuY29uZmlnKCkudHlwZSkge1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5UZXh0OlxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICByZXR1cm4gVGV4dENvbHVtbkNvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uTnVtYmVyOlxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyQ29sdW1uQ29tcG9uZW50O1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5Cb29sZWFuOlxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICByZXR1cm4gQm9vbGVhbkNvbHVtbkNvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRGF0ZTpcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRGF0ZVRpbWU6XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHJldHVybiBEYXRlVGltZUNvbHVtbkNvbXBvbmVudDtcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uR3VpZDpcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgcmV0dXJuIFRleHRDb2x1bW5Db21wb25lbnQ7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { BaseColumnModel } from '../../abstractions/base-column.model';
2
+ import { ColumnTypeEnum } from '../enums/column-type.enum';
3
+ export class BooleanColumnModel extends BaseColumnModel {
4
+ constructor(init) {
5
+ super(ColumnTypeEnum.Boolean, init);
6
+ this.displayType = 'text';
7
+ this.trueText = { text: 'UpDevs.Table.Filters.Boolean.True', isTranslated: false };
8
+ this.falseText = { text: 'UpDevs.Table.Filters.Boolean.False', isTranslated: false };
9
+ this.trueIcon = { tablerIcon: 'square-check' };
10
+ this.falseIcon = { tablerIcon: 'square' };
11
+ this.trueColor = 'success';
12
+ this.falseColor = 'secondary';
13
+ this.shouldColorHighlight = true;
14
+ if (this.displayType !== 'text') {
15
+ this.alignment = 'center';
16
+ }
17
+ if (!!init) {
18
+ Object.assign(this, init);
19
+ }
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1jb2x1bW4ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL21vZGVscy9jb2x1bW5zL2Jvb2xlYW4tY29sdW1uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFM0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQWU7SUFVbkQsWUFBWSxJQUFrQztRQUMxQyxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQVZ4QyxnQkFBVyxHQUErQixNQUFNLENBQUM7UUFDakQsYUFBUSxHQUFjLEVBQUUsSUFBSSxFQUFFLG1DQUFtQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUN6RixjQUFTLEdBQWMsRUFBRSxJQUFJLEVBQUUsb0NBQW9DLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzNGLGFBQVEsR0FBYyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQztRQUNyRCxjQUFTLEdBQWMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDaEQsY0FBUyxHQUFtQixTQUFTLENBQUM7UUFDdEMsZUFBVSxHQUFtQixXQUFXLENBQUM7UUFDekMseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBS3hCLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvbk1vZGVsIH0gZnJvbSAnQHVwZGV2cy9pY29ucyc7XG5pbXBvcnQgeyBUZXh0TW9kZWwgfSBmcm9tICdAdXBkZXZzL3Nkayc7XG5pbXBvcnQgeyBDb2xvclN0eWxlVHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcblxuaW1wb3J0IHsgQmFzZUNvbHVtbk1vZGVsIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3Rpb25zL2Jhc2UtY29sdW1uLm1vZGVsJztcbmltcG9ydCB7IENvbHVtblR5cGVFbnVtIH0gZnJvbSAnLi4vZW51bXMvY29sdW1uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBCb29sZWFuQ29sdW1uTW9kZWwgZXh0ZW5kcyBCYXNlQ29sdW1uTW9kZWwge1xuICAgIGRpc3BsYXlUeXBlOiAndGV4dCcgfCAndG9nZ2xlJyB8ICdpY29uJyA9ICd0ZXh0JztcbiAgICB0cnVlVGV4dDogVGV4dE1vZGVsID0geyB0ZXh0OiAnVXBEZXZzLlRhYmxlLkZpbHRlcnMuQm9vbGVhbi5UcnVlJywgaXNUcmFuc2xhdGVkOiBmYWxzZSB9O1xuICAgIGZhbHNlVGV4dDogVGV4dE1vZGVsID0geyB0ZXh0OiAnVXBEZXZzLlRhYmxlLkZpbHRlcnMuQm9vbGVhbi5GYWxzZScsIGlzVHJhbnNsYXRlZDogZmFsc2UgfTtcbiAgICB0cnVlSWNvbjogSWNvbk1vZGVsID0geyB0YWJsZXJJY29uOiAnc3F1YXJlLWNoZWNrJyB9O1xuICAgIGZhbHNlSWNvbjogSWNvbk1vZGVsID0geyB0YWJsZXJJY29uOiAnc3F1YXJlJyB9O1xuICAgIHRydWVDb2xvcjogQ29sb3JTdHlsZVR5cGUgPSAnc3VjY2Vzcyc7XG4gICAgZmFsc2VDb2xvcjogQ29sb3JTdHlsZVR5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICBzaG91bGRDb2xvckhpZ2hsaWdodCA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxCb29sZWFuQ29sdW1uTW9kZWw+KSB7XG4gICAgICAgIHN1cGVyKENvbHVtblR5cGVFbnVtLkJvb2xlYW4sIGluaXQpO1xuXG4gICAgICAgIGlmICh0aGlzLmRpc3BsYXlUeXBlICE9PSAndGV4dCcpIHtcbiAgICAgICAgICAgIHRoaXMuYWxpZ25tZW50ID0gJ2NlbnRlcic7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISFpbml0KSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { DateTimeFormatEnum } from '@updevs/sdk/core';
2
+ import { BaseColumnModel } from '../../abstractions/base-column.model';
3
+ import { ColumnTypeEnum } from '../enums/column-type.enum';
4
+ export class DateTimeColumnModel extends BaseColumnModel {
5
+ get dateTimeFormat() {
6
+ return this.customFormat || this.format;
7
+ }
8
+ constructor(init) {
9
+ super(ColumnTypeEnum.DateTime, init);
10
+ this.format = DateTimeFormatEnum.ShortDate;
11
+ if (!!init) {
12
+ Object.assign(this, init);
13
+ }
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWNvbHVtbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvbW9kZWxzL2NvbHVtbnMvZGF0ZS10aW1lLWNvbHVtbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBR3BELElBQUksY0FBYztRQUNkLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFRCxZQUFZLElBQW1DO1FBQzNDLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBUHpDLFdBQU0sR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7UUFTbEMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVRpbWVGb3JtYXRFbnVtIH0gZnJvbSAnQHVwZGV2cy9zZGsvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb2x1bW5Nb2RlbCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0aW9ucy9iYXNlLWNvbHVtbi5tb2RlbCc7XG5pbXBvcnQgeyBDb2x1bW5UeXBlRW51bSB9IGZyb20gJy4uL2VudW1zL2NvbHVtbi10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVDb2x1bW5Nb2RlbCBleHRlbmRzIEJhc2VDb2x1bW5Nb2RlbCB7XG4gICAgZm9ybWF0ID0gRGF0ZVRpbWVGb3JtYXRFbnVtLlNob3J0RGF0ZTtcbiAgICBjdXN0b21Gb3JtYXQ/OiBzdHJpbmc7XG4gICAgZ2V0IGRhdGVUaW1lRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1c3RvbUZvcm1hdCB8fCB0aGlzLmZvcm1hdDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxEYXRlVGltZUNvbHVtbk1vZGVsPikge1xuICAgICAgICBzdXBlcihDb2x1bW5UeXBlRW51bS5EYXRlVGltZSwgaW5pdCk7XG5cbiAgICAgICAgaWYgKCEhaW5pdCkge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { ColumnTypeEnum } from '../enums/column-type.enum';
2
+ import { TextColumnModel } from './text-column.model';
3
+ export class GuidColumnModel extends TextColumnModel {
4
+ constructor(init) {
5
+ super(init);
6
+ this.transform = 'uppercase';
7
+ if (!!init) {
8
+ Object.assign(this, init);
9
+ }
10
+ this.type = ColumnTypeEnum.Guid;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC1jb2x1bW4ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL21vZGVscy9jb2x1bW5zL2d1aWQtY29sdW1uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZUFBZTtJQUNoRCxZQUFZLElBQStCO1FBQ3ZDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO1FBRTdCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW5UeXBlRW51bSB9IGZyb20gJy4uL2VudW1zL2NvbHVtbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgVGV4dENvbHVtbk1vZGVsIH0gZnJvbSAnLi90ZXh0LWNvbHVtbi5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBHdWlkQ29sdW1uTW9kZWwgZXh0ZW5kcyBUZXh0Q29sdW1uTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPEd1aWRDb2x1bW5Nb2RlbD4pIHtcbiAgICAgICAgc3VwZXIoaW5pdCk7XG5cbiAgICAgICAgdGhpcy50cmFuc2Zvcm0gPSAndXBwZXJjYXNlJztcblxuICAgICAgICBpZiAoISFpbml0KSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50eXBlID0gQ29sdW1uVHlwZUVudW0uR3VpZDtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { BaseColumnModel } from '../../abstractions/base-column.model';
2
+ import { ColumnTypeEnum } from '../enums/column-type.enum';
3
+ export class ImageColumnModel extends BaseColumnModel {
4
+ constructor(init) {
5
+ super(ColumnTypeEnum.Image, init);
6
+ if (!!init) {
7
+ Object.assign(this, init);
8
+ }
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY29sdW1uLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9tb2RlbHMvY29sdW1ucy9pbWFnZS1jb2x1bW4ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQUlqRCxZQUFZLElBQWdDO1FBQ3hDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2x1bW5Nb2RlbCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0aW9ucy9iYXNlLWNvbHVtbi5tb2RlbCc7XG5pbXBvcnQgeyBDb2x1bW5UeXBlRW51bSB9IGZyb20gJy4uL2VudW1zL2NvbHVtbi10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgSW1hZ2VDb2x1bW5Nb2RlbCBleHRlbmRzIEJhc2VDb2x1bW5Nb2RlbCB7XG4gICAgaW1hZ2VXaWR0aD86IG51bWJlcjtcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPEltYWdlQ29sdW1uTW9kZWw+KSB7XG4gICAgICAgIHN1cGVyKENvbHVtblR5cGVFbnVtLkltYWdlLCBpbml0KTtcblxuICAgICAgICBpZiAoISFpbml0KSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,17 @@
1
+ import { BaseColumnModel } from '../../abstractions/base-column.model';
2
+ import { ColumnTypeEnum } from '../enums/column-type.enum';
3
+ export class NumberColumnModel extends BaseColumnModel {
4
+ get numberFormat() {
5
+ return `${this.minIntegerDigits}.${this.minFractionDigits}-${this.maxFractionDigits}`;
6
+ }
7
+ constructor(init) {
8
+ super(ColumnTypeEnum.Number, init);
9
+ this.minIntegerDigits = 1;
10
+ this.minFractionDigits = 0;
11
+ this.maxFractionDigits = 3;
12
+ if (!!init) {
13
+ Object.assign(this, init);
14
+ }
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWNvbHVtbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvbW9kZWxzL2NvbHVtbnMvbnVtYmVyLWNvbHVtbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBSWxELElBQUksWUFBWTtRQUNaLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzFGLENBQUM7SUFFRCxZQUFZLElBQWlDO1FBQ3pDLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBUnZDLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUNyQixzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFDdEIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBUWxCLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2x1bW5Nb2RlbCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0aW9ucy9iYXNlLWNvbHVtbi5tb2RlbCc7XG5pbXBvcnQgeyBDb2x1bW5UeXBlRW51bSB9IGZyb20gJy4uL2VudW1zL2NvbHVtbi10eXBlLmVudW0nO1xuXG5leHBvcnQgY2xhc3MgTnVtYmVyQ29sdW1uTW9kZWwgZXh0ZW5kcyBCYXNlQ29sdW1uTW9kZWwge1xuICAgIG1pbkludGVnZXJEaWdpdHMgPSAxO1xuICAgIG1pbkZyYWN0aW9uRGlnaXRzID0gMDtcbiAgICBtYXhGcmFjdGlvbkRpZ2l0cyA9IDM7XG4gICAgZ2V0IG51bWJlckZvcm1hdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5taW5JbnRlZ2VyRGlnaXRzfS4ke3RoaXMubWluRnJhY3Rpb25EaWdpdHN9LSR7dGhpcy5tYXhGcmFjdGlvbkRpZ2l0c31gO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGluaXQ/OiBQYXJ0aWFsPE51bWJlckNvbHVtbk1vZGVsPikge1xuICAgICAgICBzdXBlcihDb2x1bW5UeXBlRW51bS5OdW1iZXIsIGluaXQpO1xuXG4gICAgICAgIGlmICghIWluaXQpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=