@bravobit/bb-foundation 0.15.4 → 0.16.1

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 (377) hide show
  1. package/auth/lib/auth.interceptor.d.ts +1 -1
  2. package/auth/lib/auth.service.d.ts +1 -1
  3. package/auth/package.json +5 -5
  4. package/collections/package.json +5 -5
  5. package/controls/bravobit-bb-foundation-controls.d.ts +5 -0
  6. package/controls/lib/checkbox/checkbox.component.d.ts +27 -0
  7. package/controls/lib/checkbox/checkbox.module.d.ts +9 -0
  8. package/controls/lib/controls.module.d.ts +7 -0
  9. package/controls/package.json +10 -0
  10. package/controls/public_api.d.ts +3 -0
  11. package/dashboard/package.json +5 -5
  12. package/dialog/package.json +5 -5
  13. package/elements/package.json +5 -5
  14. package/{esm2015/auth/bravobit-bb-foundation-auth.js → esm2020/auth/bravobit-bb-foundation-auth.mjs} +0 -0
  15. package/esm2020/auth/lib/auth.interceptor.mjs +94 -0
  16. package/{esm2015/auth/lib/auth.module.js → esm2020/auth/lib/auth.module.mjs} +5 -5
  17. package/esm2020/auth/lib/auth.service.mjs +276 -0
  18. package/esm2020/auth/lib/auth.session.mjs +131 -0
  19. package/{esm2015/auth/lib/directives/authenticated.directive.js → esm2020/auth/lib/directives/authenticated.directive.mjs} +5 -6
  20. package/esm2020/auth/lib/directives/permission.directive.mjs +80 -0
  21. package/esm2020/auth/lib/directives/role.directive.mjs +37 -0
  22. package/esm2020/auth/lib/guards/anonymous.guard.mjs +34 -0
  23. package/esm2020/auth/lib/guards/authenticated.guard.mjs +35 -0
  24. package/{esm2015/auth/lib/helpers/jwt.helper.js → esm2020/auth/lib/helpers/jwt.helper.mjs} +3 -3
  25. package/{esm2015/auth/lib/helpers/mapper.helper.js → esm2020/auth/lib/helpers/mapper.helper.mjs} +4 -4
  26. package/{esm2015/auth/lib/interfaces/config.interface.js → esm2020/auth/lib/interfaces/config.interface.mjs} +0 -0
  27. package/{esm2015/auth/lib/interfaces/mapper.interface.js → esm2020/auth/lib/interfaces/mapper.interface.mjs} +0 -0
  28. package/{esm2015/auth/lib/interfaces/provider.interface.js → esm2020/auth/lib/interfaces/provider.interface.mjs} +0 -0
  29. package/{esm2015/auth/lib/interfaces/token.interface.js → esm2020/auth/lib/interfaces/token.interface.mjs} +0 -0
  30. package/esm2020/auth/lib/permissions.service.mjs +56 -0
  31. package/esm2020/auth/lib/providers/email.provider.mjs +25 -0
  32. package/esm2020/auth/lib/providers/verify.provider.mjs +19 -0
  33. package/{esm2015/auth/lib/tokens/use-authorization.token.js → esm2020/auth/lib/tokens/use-authorization.token.mjs} +0 -0
  34. package/{esm2015/auth/public_api.js → esm2020/auth/public_api.mjs} +0 -0
  35. package/{esm2015/bravobit-bb-foundation.js → esm2020/bravobit-bb-foundation.mjs} +0 -0
  36. package/{esm2015/collections/bravobit-bb-foundation-collections.js → esm2020/collections/bravobit-bb-foundation-collections.mjs} +0 -0
  37. package/esm2020/collections/lib/collection.mjs +98 -0
  38. package/{esm2015/collections/lib/collections.module.js → esm2020/collections/lib/collections.module.mjs} +5 -5
  39. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +123 -0
  40. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +31 -0
  41. package/{esm2015/collections/lib/components/collections.directive.js → esm2020/collections/lib/components/collections.directive.mjs} +13 -13
  42. package/{esm2015/collections/lib/interfaces/collection.interface.js → esm2020/collections/lib/interfaces/collection.interface.mjs} +0 -0
  43. package/esm2020/collections/lib/providers/api-collection.provider.mjs +68 -0
  44. package/esm2020/collections/lib/providers/collection.provider.mjs +13 -0
  45. package/{esm2015/collections/lib/providers/local-collection.provider.js → esm2020/collections/lib/providers/local-collection.provider.mjs} +0 -0
  46. package/{esm2015/collections/public_api.js → esm2020/collections/public_api.mjs} +0 -0
  47. package/esm2020/controls/bravobit-bb-foundation-controls.mjs +5 -0
  48. package/esm2020/controls/lib/checkbox/checkbox.component.mjs +86 -0
  49. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +19 -0
  50. package/esm2020/controls/lib/controls.module.mjs +16 -0
  51. package/esm2020/controls/public_api.mjs +4 -0
  52. package/{esm2015/dashboard/bravobit-bb-foundation-dashboard.js → esm2020/dashboard/bravobit-bb-foundation-dashboard.mjs} +0 -0
  53. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +56 -0
  54. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +30 -0
  55. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +31 -0
  56. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +29 -0
  57. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +75 -0
  58. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +99 -0
  59. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +62 -0
  60. package/{esm2015/dashboard/lib/dashboard.module.js → esm2020/dashboard/lib/dashboard.module.mjs} +5 -5
  61. package/{esm2015/dashboard/public_api.js → esm2020/dashboard/public_api.mjs} +0 -0
  62. package/{esm2015/dialog/bravobit-bb-foundation-dialog.js → esm2020/dialog/bravobit-bb-foundation-dialog.mjs} +0 -0
  63. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +12 -0
  64. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +37 -0
  65. package/{esm2015/dialog/lib/dialog-container/dialog-container.component.js → esm2020/dialog/lib/dialog-container/dialog-container.component.mjs} +6 -15
  66. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +25 -0
  67. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +11 -0
  68. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +46 -0
  69. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +134 -0
  70. package/{esm2015/dialog/lib/dialog.injector.js → esm2020/dialog/lib/dialog.injector.mjs} +0 -0
  71. package/{esm2015/dialog/lib/dialog.insertion.js → esm2020/dialog/lib/dialog.insertion.mjs} +4 -4
  72. package/{esm2015/dialog/lib/dialog.interfaces.js → esm2020/dialog/lib/dialog.interfaces.mjs} +0 -0
  73. package/{esm2015/dialog/lib/dialog.module.js → esm2020/dialog/lib/dialog.module.mjs} +5 -9
  74. package/{esm2015/dialog/lib/dialog.ref.js → esm2020/dialog/lib/dialog.ref.mjs} +0 -0
  75. package/{esm2015/dialog/lib/dialog.service.js → esm2020/dialog/lib/dialog.service.mjs} +5 -5
  76. package/{esm2015/dialog/public_api.js → esm2020/dialog/public_api.mjs} +0 -0
  77. package/{esm2015/elements/bravobit-bb-foundation-elements.js → esm2020/elements/bravobit-bb-foundation-elements.mjs} +0 -0
  78. package/esm2020/elements/lib/avatar/avatar.component.mjs +142 -0
  79. package/esm2020/elements/lib/button/button.component.mjs +61 -0
  80. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +73 -0
  81. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +304 -0
  82. package/{esm2015/elements/lib/directives/addon.directive.js → esm2020/elements/lib/directives/addon.directive.mjs} +7 -7
  83. package/esm2020/elements/lib/directives/autosize.directive.mjs +72 -0
  84. package/{esm2015/elements/lib/directives/focus-trap.directive.js → esm2020/elements/lib/directives/focus-trap.directive.mjs} +4 -4
  85. package/{esm2015/elements/lib/directives/focus.directive.js → esm2020/elements/lib/directives/focus.directive.mjs} +4 -4
  86. package/esm2020/elements/lib/directives/form-submit.directive.mjs +50 -0
  87. package/esm2020/elements/lib/directives/input.directive.mjs +136 -0
  88. package/{esm2015/elements/lib/directives/template.directive.js → esm2020/elements/lib/directives/template.directive.mjs} +4 -4
  89. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +100 -0
  90. package/{esm2015/elements/lib/elements.interfaces.js → esm2020/elements/lib/elements.interfaces.mjs} +0 -0
  91. package/{esm2015/elements/lib/elements.module.js → esm2020/elements/lib/elements.module.mjs} +5 -5
  92. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +236 -0
  93. package/esm2020/elements/lib/form-control/form-control.component.mjs +49 -0
  94. package/esm2020/elements/lib/form-error/form-error.component.mjs +108 -0
  95. package/esm2020/elements/lib/form-group/form-group.component.mjs +18 -0
  96. package/esm2020/elements/lib/icon/icon.component.mjs +102 -0
  97. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +106 -0
  98. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +42 -0
  99. package/{esm2015/elements/lib/pipes/file-size.pipe.js → esm2020/elements/lib/pipes/file-size.pipe.mjs} +4 -4
  100. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +94 -0
  101. package/esm2020/elements/lib/spinner/spinner.component.mjs +25 -0
  102. package/esm2020/elements/lib/tag/tag.component.mjs +18 -0
  103. package/{esm2015/elements/public_api.js → esm2020/elements/public_api.mjs} +0 -0
  104. package/{esm2015/http/bravobit-bb-foundation-http.js → esm2020/http/bravobit-bb-foundation-http.mjs} +0 -0
  105. package/esm2020/http/lib/classes/http.config.mjs +29 -0
  106. package/esm2020/http/lib/classes/http.error.mjs +20 -0
  107. package/{esm2015/http/lib/http.interfaces.js → esm2020/http/lib/http.interfaces.mjs} +0 -0
  108. package/{esm2015/http/lib/http.module.js → esm2020/http/lib/http.module.mjs} +5 -5
  109. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +50 -0
  110. package/esm2020/http/lib/interceptors/error.interceptor.mjs +32 -0
  111. package/{esm2015/http/public_api.js → esm2020/http/public_api.mjs} +0 -0
  112. package/{esm2015/lib/core/coercions/boolean-coercion.js → esm2020/lib/core/coercions/boolean-coercion.mjs} +0 -0
  113. package/{esm2015/lib/core/miscellaneous/regex.js → esm2020/lib/core/miscellaneous/regex.mjs} +0 -0
  114. package/esm2020/lib/core/miscellaneous/validator.mjs +85 -0
  115. package/{esm2015/lib/core/mixins/can-disable.js → esm2020/lib/core/mixins/can-disable.mjs} +0 -0
  116. package/{esm2015/lib/core/mixins/can-hide-errors.js → esm2020/lib/core/mixins/can-hide-errors.mjs} +0 -0
  117. package/{esm2015/lib/core/mixins/can-load.js → esm2020/lib/core/mixins/can-load.mjs} +0 -0
  118. package/{esm2015/lib/core/mixins/constructor.js → esm2020/lib/core/mixins/constructor.mjs} +0 -0
  119. package/{esm2015/lib/core/mixins/has-error.js → esm2020/lib/core/mixins/has-error.mjs} +0 -0
  120. package/{esm2015/lib/core/mixins/is-focused.js → esm2020/lib/core/mixins/is-focused.mjs} +0 -0
  121. package/{esm2015/lib/core/mixins/is-grouped.js → esm2020/lib/core/mixins/is-grouped.mjs} +0 -0
  122. package/{esm2015/lib/core/mixins/is-readonly.js → esm2020/lib/core/mixins/is-readonly.mjs} +0 -0
  123. package/{esm2015/lib/core/mixins/is-required.js → esm2020/lib/core/mixins/is-required.mjs} +0 -0
  124. package/esm2020/lib/core/services/clipboard.service.mjs +70 -0
  125. package/esm2020/lib/core/services/exif.service.mjs +163 -0
  126. package/esm2020/lib/core/services/file-loader.service.mjs +87 -0
  127. package/esm2020/lib/core/services/image-converter.service.mjs +123 -0
  128. package/{esm2015/lib/core/services/languages.service.js → esm2020/lib/core/services/languages.service.mjs} +4 -4
  129. package/{esm2015/lib/core/services/network.service.js → esm2020/lib/core/services/network.service.mjs} +5 -6
  130. package/esm2020/lib/core/services/patch.service.mjs +63 -0
  131. package/{esm2015/lib/core/services/platform.service.js → esm2020/lib/core/services/platform.service.mjs} +5 -5
  132. package/{esm2015/lib/core/tokens/accept-language.token.js → esm2020/lib/core/tokens/accept-language.token.mjs} +0 -0
  133. package/{esm2015/lib/core/tokens/base-url.token.js → esm2020/lib/core/tokens/base-url.token.mjs} +0 -0
  134. package/{esm2015/lib/core/tokens/cookie.token.js → esm2020/lib/core/tokens/cookie.token.mjs} +0 -0
  135. package/{esm2015/lib/core/tokens/location.token.js → esm2020/lib/core/tokens/location.token.mjs} +0 -0
  136. package/{esm2015/lib/core/tokens/navigator.token.js → esm2020/lib/core/tokens/navigator.token.mjs} +0 -0
  137. package/{esm2015/lib/core/tokens/window.token.js → esm2020/lib/core/tokens/window.token.mjs} +0 -0
  138. package/{esm2015/localize/bravobit-bb-foundation-localize.js → esm2020/localize/bravobit-bb-foundation-localize.mjs} +0 -0
  139. package/{esm2015/localize/lib/functions/date.function.js → esm2020/localize/lib/functions/date.function.mjs} +0 -0
  140. package/{esm2015/localize/lib/functions/lowercase.function.js → esm2020/localize/lib/functions/lowercase.function.mjs} +0 -0
  141. package/{esm2015/localize/lib/functions/uppercase.function.js → esm2020/localize/lib/functions/uppercase.function.mjs} +0 -0
  142. package/{esm2015/localize/lib/handlers/missing.handler.js → esm2020/localize/lib/handlers/missing.handler.mjs} +0 -0
  143. package/{esm2015/localize/lib/interfaces/config.interfaces.js → esm2020/localize/lib/interfaces/config.interfaces.mjs} +0 -0
  144. package/{esm2015/localize/lib/interfaces/dictionary.interfaces.js → esm2020/localize/lib/interfaces/dictionary.interfaces.mjs} +0 -0
  145. package/{esm2015/localize/lib/interfaces/functions.interfaces.js → esm2020/localize/lib/interfaces/functions.interfaces.mjs} +0 -0
  146. package/{esm2015/localize/lib/interfaces/handlers.interfaces.js → esm2020/localize/lib/interfaces/handlers.interfaces.mjs} +0 -0
  147. package/{esm2015/localize/lib/interfaces/options.interfaces.js → esm2020/localize/lib/interfaces/options.interfaces.mjs} +0 -0
  148. package/{esm2015/localize/lib/localizations/dutch.localization.js → esm2020/localize/lib/localizations/dutch.localization.mjs} +0 -0
  149. package/{esm2015/localize/lib/localizations/english.localization.js → esm2020/localize/lib/localizations/english.localization.mjs} +0 -0
  150. package/esm2020/localize/lib/localize.dictionary.mjs +135 -0
  151. package/{esm2015/localize/lib/localize.module.js → esm2020/localize/lib/localize.module.mjs} +5 -5
  152. package/{esm2015/localize/lib/localize.pipe.js → esm2020/localize/lib/localize.pipe.mjs} +5 -5
  153. package/esm2020/localize/lib/localize.service.mjs +277 -0
  154. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +88 -0
  155. package/{esm2015/localize/lib/views/localize-template-or-string.directive.js → esm2020/localize/lib/views/localize-template-or-string.directive.mjs} +4 -4
  156. package/{esm2015/localize/lib/views/localize-template.directive.js → esm2020/localize/lib/views/localize-template.directive.mjs} +4 -4
  157. package/{esm2015/localize/public_api.js → esm2020/localize/public_api.mjs} +0 -0
  158. package/{esm2015/notifications/bravobit-bb-foundation-notifications.js → esm2020/notifications/bravobit-bb-foundation-notifications.mjs} +0 -0
  159. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +100 -0
  160. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +47 -0
  161. package/{esm2015/notifications/lib/notifications.animations.js → esm2020/notifications/lib/notifications.animations.mjs} +0 -0
  162. package/{esm2015/notifications/lib/notifications.injector.js → esm2020/notifications/lib/notifications.injector.mjs} +0 -0
  163. package/{esm2015/notifications/lib/notifications.interfaces.js → esm2020/notifications/lib/notifications.interfaces.mjs} +0 -0
  164. package/{esm2015/notifications/lib/notifications.module.js → esm2020/notifications/lib/notifications.module.mjs} +6 -7
  165. package/{esm2015/notifications/lib/notifications.service.js → esm2020/notifications/lib/notifications.service.mjs} +5 -5
  166. package/{esm2015/notifications/public_api.js → esm2020/notifications/public_api.mjs} +0 -0
  167. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  168. package/{esm2015/recaptcha/bravobit-bb-foundation-recaptcha.js → esm2020/recaptcha/bravobit-bb-foundation-recaptcha.mjs} +0 -0
  169. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +185 -0
  170. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +90 -0
  171. package/{esm2015/recaptcha/lib/recaptcha.interface.js → esm2020/recaptcha/lib/recaptcha.interface.mjs} +0 -0
  172. package/{esm2015/recaptcha/lib/recaptcha.module.js → esm2020/recaptcha/lib/recaptcha.module.mjs} +5 -5
  173. package/{esm2015/recaptcha/public_api.js → esm2020/recaptcha/public_api.mjs} +0 -0
  174. package/{esm2015/rxjs/bravobit-bb-foundation-rxjs.js → esm2020/rxjs/bravobit-bb-foundation-rxjs.mjs} +0 -0
  175. package/esm2020/rxjs/lib/operators/combine-latest-map.operator.mjs +10 -0
  176. package/{esm2015/rxjs/lib/operators/filter-nil.operator.js → esm2020/rxjs/lib/operators/filter-nil.operator.mjs} +0 -0
  177. package/{esm2015/rxjs/public_api.js → esm2020/rxjs/public_api.mjs} +0 -0
  178. package/{esm2015/storage/bravobit-bb-foundation-storage.js → esm2020/storage/bravobit-bb-foundation-storage.mjs} +0 -0
  179. package/{esm2015/storage/lib/interfaces/attributes.interface.js → esm2020/storage/lib/interfaces/attributes.interface.mjs} +0 -0
  180. package/{esm2015/storage/lib/interfaces/memory.interface.js → esm2020/storage/lib/interfaces/memory.interface.mjs} +0 -0
  181. package/{esm2015/storage/lib/interfaces/strategy.interface.js → esm2020/storage/lib/interfaces/strategy.interface.mjs} +0 -0
  182. package/esm2020/storage/lib/storage.service.mjs +109 -0
  183. package/esm2020/storage/lib/strategies/cookie-storage.strategy.mjs +142 -0
  184. package/{esm2015/storage/lib/strategies/memory-storage.strategy.js → esm2020/storage/lib/strategies/memory-storage.strategy.mjs} +2 -2
  185. package/esm2020/storage/lib/strategies/polyfill-storage.strategy.mjs +102 -0
  186. package/{esm2015/storage/public_api.js → esm2020/storage/public_api.mjs} +0 -0
  187. package/{esm2015/table/bravobit-bb-foundation-table.js → esm2020/table/bravobit-bb-foundation-table.mjs} +0 -0
  188. package/esm2020/table/lib/components/table/table.component.mjs +191 -0
  189. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +11 -0
  190. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +131 -0
  191. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +136 -0
  192. package/esm2020/table/lib/data/datasource.data.mjs +32 -0
  193. package/esm2020/table/lib/data/generic.data.mjs +72 -0
  194. package/{esm2015/table/lib/interfaces/datasource.interface.js → esm2020/table/lib/interfaces/datasource.interface.mjs} +0 -0
  195. package/{esm2015/table/lib/interfaces/table.interfaces.js → esm2020/table/lib/interfaces/table.interfaces.mjs} +0 -0
  196. package/{esm2015/table/lib/table.module.js → esm2020/table/lib/table.module.mjs} +5 -5
  197. package/{esm2015/table/public_api.js → esm2020/table/public_api.mjs} +0 -0
  198. package/fesm2015/{bravobit-bb-foundation-auth.js → bravobit-bb-foundation-auth.mjs} +79 -68
  199. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -0
  200. package/fesm2015/{bravobit-bb-foundation-collections.js → bravobit-bb-foundation-collections.mjs} +33 -47
  201. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -0
  202. package/fesm2015/bravobit-bb-foundation-controls.mjs +123 -0
  203. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -0
  204. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +416 -0
  205. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -0
  206. package/fesm2015/{bravobit-bb-foundation-dialog.js → bravobit-bb-foundation-dialog.mjs} +45 -106
  207. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -0
  208. package/fesm2015/{bravobit-bb-foundation-elements.js → bravobit-bb-foundation-elements.mjs} +193 -302
  209. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -0
  210. package/fesm2015/{bravobit-bb-foundation-http.js → bravobit-bb-foundation-http.mjs} +18 -16
  211. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -0
  212. package/fesm2015/{bravobit-bb-foundation-localize.js → bravobit-bb-foundation-localize.mjs} +63 -69
  213. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -0
  214. package/fesm2015/bravobit-bb-foundation-notifications.mjs +377 -0
  215. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -0
  216. package/fesm2015/{bravobit-bb-foundation-recaptcha.js → bravobit-bb-foundation-recaptcha.mjs} +40 -47
  217. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -0
  218. package/fesm2015/{bravobit-bb-foundation-rxjs.js → bravobit-bb-foundation-rxjs.mjs} +1 -1
  219. package/fesm2015/bravobit-bb-foundation-rxjs.mjs.map +1 -0
  220. package/fesm2015/{bravobit-bb-foundation-storage.js → bravobit-bb-foundation-storage.mjs} +12 -10
  221. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -0
  222. package/fesm2015/bravobit-bb-foundation-table.mjs +603 -0
  223. package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -0
  224. package/fesm2015/{bravobit-bb-foundation.js → bravobit-bb-foundation.mjs} +74 -64
  225. package/fesm2015/bravobit-bb-foundation.mjs.map +1 -0
  226. package/fesm2020/bravobit-bb-foundation-auth.mjs +928 -0
  227. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -0
  228. package/fesm2020/bravobit-bb-foundation-collections.mjs +434 -0
  229. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -0
  230. package/fesm2020/bravobit-bb-foundation-controls.mjs +121 -0
  231. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -0
  232. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +404 -0
  233. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -0
  234. package/fesm2020/bravobit-bb-foundation-dialog.mjs +584 -0
  235. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -0
  236. package/fesm2020/bravobit-bb-foundation-elements.mjs +1993 -0
  237. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -0
  238. package/fesm2020/bravobit-bb-foundation-http.mjs +168 -0
  239. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -0
  240. package/fesm2020/bravobit-bb-foundation-localize.mjs +832 -0
  241. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -0
  242. package/fesm2020/bravobit-bb-foundation-notifications.mjs +375 -0
  243. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -0
  244. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +300 -0
  245. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -0
  246. package/fesm2020/bravobit-bb-foundation-rxjs.mjs +21 -0
  247. package/fesm2020/bravobit-bb-foundation-rxjs.mjs.map +1 -0
  248. package/fesm2020/bravobit-bb-foundation-storage.mjs +413 -0
  249. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -0
  250. package/fesm2020/bravobit-bb-foundation-table.mjs +592 -0
  251. package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -0
  252. package/fesm2020/bravobit-bb-foundation.mjs +895 -0
  253. package/fesm2020/bravobit-bb-foundation.mjs.map +1 -0
  254. package/http/package.json +5 -5
  255. package/localize/package.json +5 -5
  256. package/notifications/package.json +5 -5
  257. package/package.json +125 -8
  258. package/recaptcha/package.json +5 -5
  259. package/rxjs/package.json +5 -5
  260. package/storage/package.json +5 -5
  261. package/table/lib/components/table/table.component.d.ts +3 -0
  262. package/table/package.json +5 -5
  263. package/bundles/bravobit-bb-foundation-auth.umd.js +0 -1483
  264. package/bundles/bravobit-bb-foundation-auth.umd.js.map +0 -1
  265. package/bundles/bravobit-bb-foundation-collections.umd.js +0 -868
  266. package/bundles/bravobit-bb-foundation-collections.umd.js.map +0 -1
  267. package/bundles/bravobit-bb-foundation-dashboard.umd.js +0 -876
  268. package/bundles/bravobit-bb-foundation-dashboard.umd.js.map +0 -1
  269. package/bundles/bravobit-bb-foundation-dialog.umd.js +0 -716
  270. package/bundles/bravobit-bb-foundation-dialog.umd.js.map +0 -1
  271. package/bundles/bravobit-bb-foundation-elements.umd.js +0 -2768
  272. package/bundles/bravobit-bb-foundation-elements.umd.js.map +0 -1
  273. package/bundles/bravobit-bb-foundation-http.umd.js +0 -535
  274. package/bundles/bravobit-bb-foundation-http.umd.js.map +0 -1
  275. package/bundles/bravobit-bb-foundation-localize.umd.js +0 -1292
  276. package/bundles/bravobit-bb-foundation-localize.umd.js.map +0 -1
  277. package/bundles/bravobit-bb-foundation-notifications.umd.js +0 -794
  278. package/bundles/bravobit-bb-foundation-notifications.umd.js.map +0 -1
  279. package/bundles/bravobit-bb-foundation-recaptcha.umd.js +0 -683
  280. package/bundles/bravobit-bb-foundation-recaptcha.umd.js.map +0 -1
  281. package/bundles/bravobit-bb-foundation-rxjs.umd.js +0 -29
  282. package/bundles/bravobit-bb-foundation-rxjs.umd.js.map +0 -1
  283. package/bundles/bravobit-bb-foundation-storage.umd.js +0 -799
  284. package/bundles/bravobit-bb-foundation-storage.umd.js.map +0 -1
  285. package/bundles/bravobit-bb-foundation-table.umd.js +0 -1070
  286. package/bundles/bravobit-bb-foundation-table.umd.js.map +0 -1
  287. package/bundles/bravobit-bb-foundation.umd.js +0 -1440
  288. package/bundles/bravobit-bb-foundation.umd.js.map +0 -1
  289. package/esm2015/auth/lib/auth.interceptor.js +0 -95
  290. package/esm2015/auth/lib/auth.service.js +0 -299
  291. package/esm2015/auth/lib/auth.session.js +0 -136
  292. package/esm2015/auth/lib/directives/permission.directive.js +0 -81
  293. package/esm2015/auth/lib/directives/role.directive.js +0 -38
  294. package/esm2015/auth/lib/guards/anonymous.guard.js +0 -35
  295. package/esm2015/auth/lib/guards/authenticated.guard.js +0 -36
  296. package/esm2015/auth/lib/permissions.service.js +0 -58
  297. package/esm2015/auth/lib/providers/email.provider.js +0 -26
  298. package/esm2015/auth/lib/providers/verify.provider.js +0 -20
  299. package/esm2015/collections/lib/collection.js +0 -104
  300. package/esm2015/collections/lib/components/collections-pager/collections-pager.component.js +0 -136
  301. package/esm2015/collections/lib/components/collections-viewer/collections-viewer.component.js +0 -39
  302. package/esm2015/collections/lib/providers/api-collection.provider.js +0 -69
  303. package/esm2015/collections/lib/providers/collection.provider.js +0 -14
  304. package/esm2015/dashboard/lib/dashboard/dashboard.component.js +0 -64
  305. package/esm2015/dashboard/lib/dashboard-header/dashboard-header.component.js +0 -41
  306. package/esm2015/dashboard/lib/dashboard-menu/dashboard-menu.component.js +0 -39
  307. package/esm2015/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.js +0 -38
  308. package/esm2015/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.js +0 -83
  309. package/esm2015/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.js +0 -110
  310. package/esm2015/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.js +0 -71
  311. package/esm2015/dialog/lib/dialog-actions/dialog-actions.component.js +0 -20
  312. package/esm2015/dialog/lib/dialog-confirm/dialog-confirm.component.js +0 -45
  313. package/esm2015/dialog/lib/dialog-header/dialog-header.component.js +0 -33
  314. package/esm2015/dialog/lib/dialog-link/dialog-link.component.js +0 -19
  315. package/esm2015/dialog/lib/dialog-modal/dialog-modal.component.js +0 -54
  316. package/esm2015/dialog/lib/dialog-overlay/dialog-overlay.component.js +0 -143
  317. package/esm2015/elements/lib/avatar/avatar.component.js +0 -151
  318. package/esm2015/elements/lib/button/button.component.js +0 -79
  319. package/esm2015/elements/lib/checkbox/checkbox.component.js +0 -83
  320. package/esm2015/elements/lib/date-picker/date-picker.component.js +0 -322
  321. package/esm2015/elements/lib/directives/autosize.directive.js +0 -74
  322. package/esm2015/elements/lib/directives/form-submit.directive.js +0 -53
  323. package/esm2015/elements/lib/directives/input.directive.js +0 -139
  324. package/esm2015/elements/lib/dropdown/dropdown.component.js +0 -111
  325. package/esm2015/elements/lib/file-picker/file-picker.component.js +0 -247
  326. package/esm2015/elements/lib/form-control/form-control.component.js +0 -58
  327. package/esm2015/elements/lib/form-error/form-error.component.js +0 -116
  328. package/esm2015/elements/lib/form-group/form-group.component.js +0 -27
  329. package/esm2015/elements/lib/icon/icon.component.js +0 -110
  330. package/esm2015/elements/lib/image-picker/image-picker.component.js +0 -119
  331. package/esm2015/elements/lib/pipes/file-image.pipe.js +0 -45
  332. package/esm2015/elements/lib/pipes/relative-time.pipe.js +0 -96
  333. package/esm2015/elements/lib/spinner/spinner.component.js +0 -34
  334. package/esm2015/elements/lib/tag/tag.component.js +0 -26
  335. package/esm2015/http/lib/classes/http.config.js +0 -31
  336. package/esm2015/http/lib/classes/http.error.js +0 -21
  337. package/esm2015/http/lib/interceptors/base-url.interceptor.js +0 -52
  338. package/esm2015/http/lib/interceptors/error.interceptor.js +0 -33
  339. package/esm2015/lib/core/miscellaneous/validator.js +0 -86
  340. package/esm2015/lib/core/services/clipboard.service.js +0 -72
  341. package/esm2015/lib/core/services/exif.service.js +0 -168
  342. package/esm2015/lib/core/services/file-loader.service.js +0 -90
  343. package/esm2015/lib/core/services/image-converter.service.js +0 -130
  344. package/esm2015/lib/core/services/patch.service.js +0 -65
  345. package/esm2015/localize/lib/localize.dictionary.js +0 -137
  346. package/esm2015/localize/lib/localize.service.js +0 -282
  347. package/esm2015/localize/lib/views/localize-string/localize-string.component.js +0 -99
  348. package/esm2015/notifications/lib/notifications-item/notifications-item.component.js +0 -108
  349. package/esm2015/notifications/lib/notifications-list/notifications-list.component.js +0 -56
  350. package/esm2015/recaptcha/lib/recaptcha/recaptcha.component.js +0 -199
  351. package/esm2015/recaptcha/lib/recaptcha-loader.service.js +0 -93
  352. package/esm2015/rxjs/lib/operators/combine-latest-map.operator.js +0 -7
  353. package/esm2015/storage/lib/storage.service.js +0 -111
  354. package/esm2015/storage/lib/strategies/cookie-storage.strategy.js +0 -143
  355. package/esm2015/storage/lib/strategies/polyfill-storage.strategy.js +0 -102
  356. package/esm2015/table/lib/components/table/table.component.js +0 -196
  357. package/esm2015/table/lib/components/table-cell/table-cell.component.js +0 -19
  358. package/esm2015/table/lib/components/table-header-cell/table-header-cell.component.js +0 -141
  359. package/esm2015/table/lib/components/table-pager/table-pager.component.js +0 -146
  360. package/esm2015/table/lib/data/datasource.data.js +0 -32
  361. package/esm2015/table/lib/data/generic.data.js +0 -73
  362. package/fesm2015/bravobit-bb-foundation-auth.js.map +0 -1
  363. package/fesm2015/bravobit-bb-foundation-collections.js.map +0 -1
  364. package/fesm2015/bravobit-bb-foundation-dashboard.js +0 -468
  365. package/fesm2015/bravobit-bb-foundation-dashboard.js.map +0 -1
  366. package/fesm2015/bravobit-bb-foundation-dialog.js.map +0 -1
  367. package/fesm2015/bravobit-bb-foundation-elements.js.map +0 -1
  368. package/fesm2015/bravobit-bb-foundation-http.js.map +0 -1
  369. package/fesm2015/bravobit-bb-foundation-localize.js.map +0 -1
  370. package/fesm2015/bravobit-bb-foundation-notifications.js +0 -393
  371. package/fesm2015/bravobit-bb-foundation-notifications.js.map +0 -1
  372. package/fesm2015/bravobit-bb-foundation-recaptcha.js.map +0 -1
  373. package/fesm2015/bravobit-bb-foundation-rxjs.js.map +0 -1
  374. package/fesm2015/bravobit-bb-foundation-storage.js.map +0 -1
  375. package/fesm2015/bravobit-bb-foundation-table.js +0 -626
  376. package/fesm2015/bravobit-bb-foundation-table.js.map +0 -1
  377. package/fesm2015/bravobit-bb-foundation.js.map +0 -1
@@ -1,1070 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs'), require('rxjs/operators'), require('@angular/core'), require('@angular/forms'), require('@bravobit/bb-foundation/elements'), require('@bravobit/bb-foundation'), require('@angular/common'), require('@bravobit/bb-foundation/localize')) :
3
- typeof define === 'function' && define.amd ? define('@bravobit/bb-foundation/table', ['exports', 'rxjs', 'rxjs/operators', '@angular/core', '@angular/forms', '@bravobit/bb-foundation/elements', '@bravobit/bb-foundation', '@angular/common', '@bravobit/bb-foundation/localize'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.bravobit = global.bravobit || {}, global.bravobit["bb-foundation"] = global.bravobit["bb-foundation"] || {}, global.bravobit["bb-foundation"].table = {}), global.rxjs, global.rxjs.operators, global.ng.core, global.ng.forms, global.bravobit["bb-foundation"].elements, global.bravobit["bb-foundation"], global.ng.common, global.bravobit["bb-foundation"].localize));
5
- })(this, (function (exports, rxjs, operators, i0, i4, i1, bbFoundation, i3, i5) { 'use strict';
6
-
7
- function _interopNamespace(e) {
8
- if (e && e.__esModule) return e;
9
- var n = Object.create(null);
10
- if (e) {
11
- Object.keys(e).forEach(function (k) {
12
- if (k !== 'default') {
13
- var d = Object.getOwnPropertyDescriptor(e, k);
14
- Object.defineProperty(n, k, d.get ? d : {
15
- enumerable: true,
16
- get: function () { return e[k]; }
17
- });
18
- }
19
- });
20
- }
21
- n["default"] = e;
22
- return Object.freeze(n);
23
- }
24
-
25
- var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
- var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
27
- var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
28
- var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
29
- var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
30
-
31
- var DataSourceRequest = /** @class */ (function () {
32
- function DataSourceRequest() {
33
- // Data.
34
- this._request$ = new rxjs.BehaviorSubject(null);
35
- this._loading$ = new rxjs.BehaviorSubject(true);
36
- }
37
- Object.defineProperty(DataSourceRequest.prototype, "loading", {
38
- get: function () {
39
- return this._loading$.asObservable();
40
- },
41
- enumerable: false,
42
- configurable: true
43
- });
44
- Object.defineProperty(DataSourceRequest.prototype, "when", {
45
- get: function () {
46
- return this._request$.pipe(operators.filter(function (data) { return !!data; }));
47
- },
48
- enumerable: false,
49
- configurable: true
50
- });
51
- DataSourceRequest.prototype.startLoading = function () {
52
- this._loading$.next(true);
53
- };
54
- DataSourceRequest.prototype.stopLoading = function () {
55
- this._loading$.next(false);
56
- };
57
- DataSourceRequest.prototype.update = function (params) {
58
- if (params === void 0) { params = {}; }
59
- var currentValue = this._request$.getValue();
60
- // Set the page number to 1 if the query or page size was changed.
61
- if (currentValue && params && ((currentValue === null || currentValue === void 0 ? void 0 : currentValue.query) !== (params === null || params === void 0 ? void 0 : params.query) || (currentValue === null || currentValue === void 0 ? void 0 : currentValue.pageSize) !== (params === null || params === void 0 ? void 0 : params.pageSize))) {
62
- params.pageNumber = 1;
63
- }
64
- this._request$.next(Object.assign(Object.assign({}, currentValue), params));
65
- };
66
- return DataSourceRequest;
67
- }());
68
- var DataSource = /** @class */ (function () {
69
- function DataSource() {
70
- }
71
- return DataSource;
72
- }());
73
-
74
- /*! *****************************************************************************
75
- Copyright (c) Microsoft Corporation.
76
-
77
- Permission to use, copy, modify, and/or distribute this software for any
78
- purpose with or without fee is hereby granted.
79
-
80
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
81
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
82
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
83
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
84
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
85
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
86
- PERFORMANCE OF THIS SOFTWARE.
87
- ***************************************************************************** */
88
- /* global Reflect, Promise */
89
- var extendStatics = function (d, b) {
90
- extendStatics = Object.setPrototypeOf ||
91
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
92
- function (d, b) { for (var p in b)
93
- if (Object.prototype.hasOwnProperty.call(b, p))
94
- d[p] = b[p]; };
95
- return extendStatics(d, b);
96
- };
97
- function __extends(d, b) {
98
- if (typeof b !== "function" && b !== null)
99
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
100
- extendStatics(d, b);
101
- function __() { this.constructor = d; }
102
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
103
- }
104
- var __assign = function () {
105
- __assign = Object.assign || function __assign(t) {
106
- for (var s, i = 1, n = arguments.length; i < n; i++) {
107
- s = arguments[i];
108
- for (var p in s)
109
- if (Object.prototype.hasOwnProperty.call(s, p))
110
- t[p] = s[p];
111
- }
112
- return t;
113
- };
114
- return __assign.apply(this, arguments);
115
- };
116
- function __rest(s, e) {
117
- var t = {};
118
- for (var p in s)
119
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
120
- t[p] = s[p];
121
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
122
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
123
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
124
- t[p[i]] = s[p[i]];
125
- }
126
- return t;
127
- }
128
- function __decorate(decorators, target, key, desc) {
129
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
130
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
131
- r = Reflect.decorate(decorators, target, key, desc);
132
- else
133
- for (var i = decorators.length - 1; i >= 0; i--)
134
- if (d = decorators[i])
135
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
136
- return c > 3 && r && Object.defineProperty(target, key, r), r;
137
- }
138
- function __param(paramIndex, decorator) {
139
- return function (target, key) { decorator(target, key, paramIndex); };
140
- }
141
- function __metadata(metadataKey, metadataValue) {
142
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
143
- return Reflect.metadata(metadataKey, metadataValue);
144
- }
145
- function __awaiter(thisArg, _arguments, P, generator) {
146
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
147
- return new (P || (P = Promise))(function (resolve, reject) {
148
- function fulfilled(value) { try {
149
- step(generator.next(value));
150
- }
151
- catch (e) {
152
- reject(e);
153
- } }
154
- function rejected(value) { try {
155
- step(generator["throw"](value));
156
- }
157
- catch (e) {
158
- reject(e);
159
- } }
160
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
161
- step((generator = generator.apply(thisArg, _arguments || [])).next());
162
- });
163
- }
164
- function __generator(thisArg, body) {
165
- var _ = { label: 0, sent: function () { if (t[0] & 1)
166
- throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
167
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
168
- function verb(n) { return function (v) { return step([n, v]); }; }
169
- function step(op) {
170
- if (f)
171
- throw new TypeError("Generator is already executing.");
172
- while (_)
173
- try {
174
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
175
- return t;
176
- if (y = 0, t)
177
- op = [op[0] & 2, t.value];
178
- switch (op[0]) {
179
- case 0:
180
- case 1:
181
- t = op;
182
- break;
183
- case 4:
184
- _.label++;
185
- return { value: op[1], done: false };
186
- case 5:
187
- _.label++;
188
- y = op[1];
189
- op = [0];
190
- continue;
191
- case 7:
192
- op = _.ops.pop();
193
- _.trys.pop();
194
- continue;
195
- default:
196
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
197
- _ = 0;
198
- continue;
199
- }
200
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
201
- _.label = op[1];
202
- break;
203
- }
204
- if (op[0] === 6 && _.label < t[1]) {
205
- _.label = t[1];
206
- t = op;
207
- break;
208
- }
209
- if (t && _.label < t[2]) {
210
- _.label = t[2];
211
- _.ops.push(op);
212
- break;
213
- }
214
- if (t[2])
215
- _.ops.pop();
216
- _.trys.pop();
217
- continue;
218
- }
219
- op = body.call(thisArg, _);
220
- }
221
- catch (e) {
222
- op = [6, e];
223
- y = 0;
224
- }
225
- finally {
226
- f = t = 0;
227
- }
228
- if (op[0] & 5)
229
- throw op[1];
230
- return { value: op[0] ? op[1] : void 0, done: true };
231
- }
232
- }
233
- var __createBinding = Object.create ? (function (o, m, k, k2) {
234
- if (k2 === undefined)
235
- k2 = k;
236
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
237
- }) : (function (o, m, k, k2) {
238
- if (k2 === undefined)
239
- k2 = k;
240
- o[k2] = m[k];
241
- });
242
- function __exportStar(m, o) {
243
- for (var p in m)
244
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
245
- __createBinding(o, m, p);
246
- }
247
- function __values(o) {
248
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
249
- if (m)
250
- return m.call(o);
251
- if (o && typeof o.length === "number")
252
- return {
253
- next: function () {
254
- if (o && i >= o.length)
255
- o = void 0;
256
- return { value: o && o[i++], done: !o };
257
- }
258
- };
259
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
260
- }
261
- function __read(o, n) {
262
- var m = typeof Symbol === "function" && o[Symbol.iterator];
263
- if (!m)
264
- return o;
265
- var i = m.call(o), r, ar = [], e;
266
- try {
267
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
268
- ar.push(r.value);
269
- }
270
- catch (error) {
271
- e = { error: error };
272
- }
273
- finally {
274
- try {
275
- if (r && !r.done && (m = i["return"]))
276
- m.call(i);
277
- }
278
- finally {
279
- if (e)
280
- throw e.error;
281
- }
282
- }
283
- return ar;
284
- }
285
- /** @deprecated */
286
- function __spread() {
287
- for (var ar = [], i = 0; i < arguments.length; i++)
288
- ar = ar.concat(__read(arguments[i]));
289
- return ar;
290
- }
291
- /** @deprecated */
292
- function __spreadArrays() {
293
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
294
- s += arguments[i].length;
295
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
296
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
297
- r[k] = a[j];
298
- return r;
299
- }
300
- function __spreadArray(to, from, pack) {
301
- if (pack || arguments.length === 2)
302
- for (var i = 0, l = from.length, ar; i < l; i++) {
303
- if (ar || !(i in from)) {
304
- if (!ar)
305
- ar = Array.prototype.slice.call(from, 0, i);
306
- ar[i] = from[i];
307
- }
308
- }
309
- return to.concat(ar || Array.prototype.slice.call(from));
310
- }
311
- function __await(v) {
312
- return this instanceof __await ? (this.v = v, this) : new __await(v);
313
- }
314
- function __asyncGenerator(thisArg, _arguments, generator) {
315
- if (!Symbol.asyncIterator)
316
- throw new TypeError("Symbol.asyncIterator is not defined.");
317
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
318
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
319
- function verb(n) { if (g[n])
320
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
321
- function resume(n, v) { try {
322
- step(g[n](v));
323
- }
324
- catch (e) {
325
- settle(q[0][3], e);
326
- } }
327
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
328
- function fulfill(value) { resume("next", value); }
329
- function reject(value) { resume("throw", value); }
330
- function settle(f, v) { if (f(v), q.shift(), q.length)
331
- resume(q[0][0], q[0][1]); }
332
- }
333
- function __asyncDelegator(o) {
334
- var i, p;
335
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
336
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
337
- }
338
- function __asyncValues(o) {
339
- if (!Symbol.asyncIterator)
340
- throw new TypeError("Symbol.asyncIterator is not defined.");
341
- var m = o[Symbol.asyncIterator], i;
342
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
343
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
344
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
345
- }
346
- function __makeTemplateObject(cooked, raw) {
347
- if (Object.defineProperty) {
348
- Object.defineProperty(cooked, "raw", { value: raw });
349
- }
350
- else {
351
- cooked.raw = raw;
352
- }
353
- return cooked;
354
- }
355
- ;
356
- var __setModuleDefault = Object.create ? (function (o, v) {
357
- Object.defineProperty(o, "default", { enumerable: true, value: v });
358
- }) : function (o, v) {
359
- o["default"] = v;
360
- };
361
- function __importStar(mod) {
362
- if (mod && mod.__esModule)
363
- return mod;
364
- var result = {};
365
- if (mod != null)
366
- for (var k in mod)
367
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
368
- __createBinding(result, mod, k);
369
- __setModuleDefault(result, mod);
370
- return result;
371
- }
372
- function __importDefault(mod) {
373
- return (mod && mod.__esModule) ? mod : { default: mod };
374
- }
375
- function __classPrivateFieldGet(receiver, state, kind, f) {
376
- if (kind === "a" && !f)
377
- throw new TypeError("Private accessor was defined without a getter");
378
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
379
- throw new TypeError("Cannot read private member from an object whose class did not declare it");
380
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
381
- }
382
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
383
- if (kind === "m")
384
- throw new TypeError("Private method is not writable");
385
- if (kind === "a" && !f)
386
- throw new TypeError("Private accessor was defined without a setter");
387
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
388
- throw new TypeError("Cannot write private member to an object whose class did not declare it");
389
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
390
- }
391
-
392
- var GenericDataSource = /** @class */ (function (_super) {
393
- __extends(GenericDataSource, _super);
394
- function GenericDataSource(httpClient, endpoint) {
395
- var _this = _super.call(this) || this;
396
- // Data.
397
- _this._items$ = new rxjs.BehaviorSubject([]);
398
- _this._fn = function (data) { return data; };
399
- _this.formatResponse = function (data) {
400
- return {
401
- pageSize: data === null || data === void 0 ? void 0 : data['page_size'],
402
- pageNumber: data === null || data === void 0 ? void 0 : data['page_number'],
403
- totalPages: data === null || data === void 0 ? void 0 : data['total_pages'],
404
- totalEntries: data === null || data === void 0 ? void 0 : data['total_entries'],
405
- data: data === null || data === void 0 ? void 0 : data['data']
406
- };
407
- };
408
- _this.formatParams = function (data) {
409
- var _a, _b, _c, _d, _e, _f, _g;
410
- var params = {};
411
- params['page'] = "" + ((_a = data === null || data === void 0 ? void 0 : data.pageNumber) !== null && _a !== void 0 ? _a : 1);
412
- params['page_size'] = "" + ((_b = data === null || data === void 0 ? void 0 : data.pageSize) !== null && _b !== void 0 ? _b : 25);
413
- var sort = ((_c = data === null || data === void 0 ? void 0 : data.sort) !== null && _c !== void 0 ? _c : [])
414
- .map(function (_h) {
415
- var name = _h.name;
416
- return name;
417
- })
418
- .filter(function (name) { return !!name; })
419
- .join(',');
420
- var sortDirection = ((_d = data === null || data === void 0 ? void 0 : data.sort) !== null && _d !== void 0 ? _d : [])
421
- .map(function (_h) {
422
- var direction = _h.direction;
423
- return direction;
424
- })
425
- .filter(function (direction) { return !!direction; })
426
- .join(',');
427
- if ((sort === null || sort === void 0 ? void 0 : sort.length) > 0 && (sortDirection === null || sortDirection === void 0 ? void 0 : sortDirection.length) > 0) {
428
- params['sort'] = sort;
429
- params['sort_direction'] = sortDirection;
430
- }
431
- if ((data === null || data === void 0 ? void 0 : data.query) && ((_e = data === null || data === void 0 ? void 0 : data.query) === null || _e === void 0 ? void 0 : _e.length) > 0 && (data === null || data === void 0 ? void 0 : data.queryFields) && ((_f = data === null || data === void 0 ? void 0 : data.queryFields) === null || _f === void 0 ? void 0 : _f.length) > 0) {
432
- params['query'] = data === null || data === void 0 ? void 0 : data.query;
433
- params['query_fields'] = (_g = data === null || data === void 0 ? void 0 : data.queryFields) === null || _g === void 0 ? void 0 : _g.join(',');
434
- }
435
- return params;
436
- };
437
- _this._httpClient = httpClient;
438
- _this._endpoint$ = typeof endpoint === 'string'
439
- ? rxjs.of(endpoint)
440
- : endpoint;
441
- return _this;
442
- }
443
- GenericDataSource.prototype.append = function (item) {
444
- var currentValue = this._items$.getValue();
445
- var newValue = __spreadArray(__spreadArray([], __read(currentValue)), [item]);
446
- this._items$.next(newValue);
447
- return this;
448
- };
449
- GenericDataSource.prototype.data = function (fn) {
450
- this._fn = fn;
451
- return this;
452
- };
453
- GenericDataSource.prototype.handle = function (request) {
454
- var _this = this;
455
- var extraParams$ = this._items$.pipe(operators.switchMap(function (items) { return (items === null || items === void 0 ? void 0 : items.length) <= 0 ? rxjs.of([]) : rxjs.combineLatest(items); }), operators.map(function (items) { return items.reduce(function (previous, current) { return (Object.assign(Object.assign({}, previous), (current !== null && current !== void 0 ? current : {}))); }, {}); }));
456
- return rxjs.combineLatest([request.when, this._endpoint$, extraParams$]).pipe(operators.switchMap(function (_h) {
457
- var _j = __read(_h, 3), params = _j[0], endpoint = _j[1], extraParams = _j[2];
458
- // Start the loading.
459
- request.startLoading();
460
- var formattedParams = _this.formatParams(params);
461
- var combinedParams = Object.assign(Object.assign({}, formattedParams), extraParams);
462
- return _this._httpClient.get(endpoint, {
463
- params: combinedParams
464
- }).pipe(operators.map(function (data) { return _this.formatResponse(data); }), operators.map(function (result) {
465
- var _a;
466
- return (Object.assign(Object.assign({}, result), { data: _this._fn((_a = result === null || result === void 0 ? void 0 : result.data) !== null && _a !== void 0 ? _a : []) }));
467
- }));
468
- }), operators.share());
469
- };
470
- return GenericDataSource;
471
- }(DataSource));
472
-
473
- var BbTablePagerBase = /** @class */ (function () {
474
- function BbTablePagerBase() {
475
- }
476
- return BbTablePagerBase;
477
- }());
478
- var BbTablePagerMixinBase = bbFoundation.mixinDisabled(BbTablePagerBase);
479
- var BbTablePager = /** @class */ (function (_super) {
480
- __extends(BbTablePager, _super);
481
- function BbTablePager() {
482
- var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
483
- // Inputs.
484
- _this.amountOfButtons = 5;
485
- _this.showArrowButtons = true;
486
- // Methods.
487
- _this.onChange = function () { return ({}); };
488
- _this.onTouched = function () { return ({}); };
489
- _this.trackByIndex = function (_, item) { return item.page; };
490
- // Data.
491
- _this._totalPages$ = new rxjs.BehaviorSubject(1);
492
- _this._pageNumber$ = new rxjs.BehaviorSubject(1);
493
- return _this;
494
- }
495
- BbTablePager.prototype.ngOnInit = function () {
496
- var _this = this;
497
- // Validate the previous button is disabled.
498
- this.isPreviousDisabled$ = this._pageNumber$.pipe(operators.map(function (pageNumber) { return pageNumber === 1; }));
499
- // Validate the next button is disabled.
500
- this.isNextDisabled$ = rxjs.combineLatest([this._pageNumber$, this._totalPages$]).pipe(operators.map(function (_a) {
501
- var _b = __read(_a, 2), pageNumber = _b[0], totalPages = _b[1];
502
- return pageNumber === totalPages;
503
- }));
504
- // Create the list with page numbers.
505
- this.list$ = rxjs.combineLatest([this._pageNumber$, this._totalPages$]).pipe(operators.map(function (_a) {
506
- var _b = __read(_a, 2), pageNumber = _b[0], totalPages = _b[1];
507
- return _this.filterActivePages(pageNumber, totalPages);
508
- }), operators.share());
509
- };
510
- Object.defineProperty(BbTablePager.prototype, "pageNumber", {
511
- get: function () {
512
- return this._pageNumber$.getValue();
513
- },
514
- set: function (newValue) {
515
- this.update(newValue);
516
- },
517
- enumerable: false,
518
- configurable: true
519
- });
520
- Object.defineProperty(BbTablePager.prototype, "totalPages", {
521
- get: function () {
522
- return this._totalPages$.getValue();
523
- },
524
- set: function (newValue) {
525
- var newTotalPages = Math.max(1, newValue);
526
- this._totalPages$.next(newTotalPages);
527
- },
528
- enumerable: false,
529
- configurable: true
530
- });
531
- BbTablePager.prototype.registerOnChange = function (fn) {
532
- this.onChange = fn;
533
- };
534
- BbTablePager.prototype.registerOnTouched = function (fn) {
535
- this.onTouched = fn;
536
- };
537
- BbTablePager.prototype.setDisabledState = function (isDisabled) {
538
- this.disabled = isDisabled;
539
- };
540
- BbTablePager.prototype.writeValue = function (newValue) {
541
- this.update(newValue, false);
542
- };
543
- BbTablePager.prototype.goToPrevious = function () {
544
- var newValue = this._pageNumber$.getValue() - 1;
545
- return this.update(newValue);
546
- };
547
- BbTablePager.prototype.goToNext = function () {
548
- var newValue = this._pageNumber$.getValue() + 1;
549
- return this.update(newValue);
550
- };
551
- BbTablePager.prototype.goToIndex = function (index) {
552
- return this.update(index);
553
- };
554
- BbTablePager.prototype.update = function (pageNumber, notify) {
555
- if (notify === void 0) { notify = true; }
556
- // You can only update when not disabled.
557
- if (this.disabled) {
558
- return;
559
- }
560
- // Calculate the new value.
561
- var newValue = Math.min(this.totalPages, Math.max(1, pageNumber));
562
- // Don't do anything if the page number is the same.
563
- if (this._pageNumber$.getValue() === newValue) {
564
- return;
565
- }
566
- // Push the new value.
567
- this._pageNumber$.next(newValue);
568
- if (notify) {
569
- return this.onChange(pageNumber);
570
- }
571
- };
572
- BbTablePager.prototype.calculatePages = function (pageNumber) {
573
- var min = 1;
574
- var max = this.totalPages;
575
- var amount = Math.max(1, this.amountOfButtons);
576
- var data = Array(amount)
577
- .fill(0)
578
- .map(function (_, index) { return pageNumber + (index - 1); });
579
- // Validate if the minimum value less than
580
- // the first value.
581
- if (data[0] < min) {
582
- return data.map(function (item) { return item + 1; });
583
- }
584
- // Calculate the difference with the max
585
- // if this value is higher than 0 we should minus it.
586
- var lastValueInArray = data[data.length - 1];
587
- var differenceWithMax = lastValueInArray - max;
588
- if (differenceWithMax > 0) {
589
- return data.map(function (item) { return item - differenceWithMax; });
590
- }
591
- // Just return the default data.
592
- return data;
593
- };
594
- BbTablePager.prototype.filterActivePages = function (pageNumber, totalPages) {
595
- return this.calculatePages(pageNumber)
596
- .filter(function (page) { return page > 0 && page <= totalPages; })
597
- .map(function (page) { return ({ page: page, active: pageNumber === page }); });
598
- };
599
- return BbTablePager;
600
- }(BbTablePagerMixinBase));
601
- BbTablePager.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTablePager, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
602
- BbTablePager.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.11", type: BbTablePager, selector: "bb-table-pager", inputs: { disabled: "disabled", amountOfButtons: "amountOfButtons", showArrowButtons: "showArrowButtons", pageNumber: "pageNumber", totalPages: "totalPages" }, host: { properties: { "class.disabled": "disabled" }, classAttribute: "bb-table-pager" }, providers: [
603
- { provide: i4.NG_VALUE_ACCESSOR, useExisting: i0.forwardRef(function () { return BbTablePager; }), multi: true }
604
- ], usesInheritance: true, ngImport: i0__namespace, template: "<ul class=\"bb-pager-list\">\n <!-- The previous page arrow button. -->\n <li *ngIf=\"showArrowButtons\"\n class=\"bb-pager-list-item\"\n title=\"Previous page\">\n <button [disabled]=\"isPreviousDisabled$ | async\"\n (click)=\"goToPrevious()\"\n class=\"bb-pager-list-button\"\n type=\"button\">\n <bb-icon src=\"material:keyboard_arrow_left\"></bb-icon>\n </button>\n </li>\n\n <!-- The list of number buttons to navigate through the list. -->\n <ng-container *ngIf=\"list$ | async as list\">\n <li *ngFor=\"let item of list; trackBy: trackByIndex\"\n [title]=\"'Page ' + item?.page\"\n class=\"bb-pager-list-item\">\n <button (click)=\"goToIndex(item?.page)\"\n [class.active]=\"item?.active\"\n class=\"bb-pager-list-button\"\n type=\"button\">\n {{ item?.page }}\n </button>\n </li>\n </ng-container>\n\n <!-- The next page arrow button. -->\n <li *ngIf=\"showArrowButtons\"\n class=\"bb-pager-list-item\"\n title=\"Next page\">\n <button [disabled]=\"isNextDisabled$ | async\"\n (click)=\"goToNext()\"\n class=\"bb-pager-list-button\"\n type=\"button\">\n <bb-icon src=\"material:keyboard_arrow_right\"></bb-icon>\n </button>\n </li>\n</ul>\n", styles: [".bb-table-pager{flex:1;display:flex;align-items:center;justify-content:flex-end}.bb-table-pager.disabled{opacity:.5;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.bb-pager-list{display:flex}.bb-pager-list-item{margin-left:8px}.bb-pager-list-button{padding:0;color:#3d464d;line-height:1;min-width:32px;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:500;min-height:32px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:4px;align-items:center;display:inline-flex;justify-content:center;border:1px solid #b6bbc1;transition-duration:.2s;background-color:transparent;transition-timing-function:cubic-bezier(0,0,.2,1);transition-property:color,border-color,opacity,background-color;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-pager-list-button:hover,.bb-pager-list-button:focus{background-color:#0000000a}.bb-pager-list-button.active,.bb-pager-list-button.active:hover{color:#2196f3;cursor:default;border-color:#2196f3;background-color:transparent}.bb-pager-list-button:disabled{opacity:.35;cursor:default;pointer-events:none}\n"], components: [{ type: i1__namespace.BbIcon, selector: "bb-icon", inputs: ["alt", "size", "src", "ariaHidden"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i3__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
605
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTablePager, decorators: [{
606
- type: i0.Component,
607
- args: [{
608
- selector: 'bb-table-pager',
609
- templateUrl: './table-pager.component.html',
610
- styleUrls: ['./table-pager.component.scss'],
611
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
612
- host: {
613
- 'class': 'bb-table-pager',
614
- '[class.disabled]': 'disabled'
615
- },
616
- inputs: ['disabled'],
617
- encapsulation: i0.ViewEncapsulation.None,
618
- preserveWhitespaces: false,
619
- providers: [
620
- { provide: i4.NG_VALUE_ACCESSOR, useExisting: i0.forwardRef(function () { return BbTablePager; }), multi: true }
621
- ]
622
- }]
623
- }], propDecorators: { amountOfButtons: [{
624
- type: i0.Input
625
- }], showArrowButtons: [{
626
- type: i0.Input
627
- }], pageNumber: [{
628
- type: i0.Input
629
- }], totalPages: [{
630
- type: i0.Input
631
- }] } });
632
-
633
- var BbTableColumnDef = /** @class */ (function () {
634
- function BbTableColumnDef() {
635
- }
636
- return BbTableColumnDef;
637
- }());
638
- BbTableColumnDef.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTableColumnDef, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
639
- BbTableColumnDef.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.11", type: BbTableColumnDef, selector: "[bbTableColumnDef]", ngImport: i0__namespace });
640
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTableColumnDef, decorators: [{
641
- type: i0.Directive,
642
- args: [{
643
- selector: '[bbTableColumnDef]'
644
- }]
645
- }] });
646
- var BbTableRowDef = /** @class */ (function () {
647
- function BbTableRowDef() {
648
- }
649
- return BbTableRowDef;
650
- }());
651
- BbTableRowDef.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTableRowDef, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
652
- BbTableRowDef.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.11", type: BbTableRowDef, selector: "[bbTableRowDef]", ngImport: i0__namespace });
653
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTableRowDef, decorators: [{
654
- type: i0.Directive,
655
- args: [{
656
- selector: '[bbTableRowDef]'
657
- }]
658
- }] });
659
- var BbTable = /** @class */ (function () {
660
- function BbTable() {
661
- var _this = this;
662
- // Inputs.
663
- this.identifier = null;
664
- this.queryFields = [];
665
- this.sortingStrategy = 'single';
666
- this.header = true;
667
- this.footer = true;
668
- // Sizes.
669
- this._sizes = [25, 50, 75, 100];
670
- // Optimizations.
671
- this.trackByFn = function (index, item) { return _this.identifier ? item[_this.identifier] : index; };
672
- this.trackByValue = function (_, item) { return item; };
673
- this.queryControl = new i4.FormControl('');
674
- }
675
- Object.defineProperty(BbTable.prototype, "sizes", {
676
- get: function () {
677
- return this._sizes;
678
- },
679
- set: function (newValue) {
680
- this.updateSizes(newValue);
681
- },
682
- enumerable: false,
683
- configurable: true
684
- });
685
- BbTable.prototype.ngOnInit = function () {
686
- this.composeForm();
687
- this.watchDataChanges();
688
- };
689
- BbTable.prototype.ngOnDestroy = function () {
690
- var _a;
691
- (_a = this._subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
692
- };
693
- Object.defineProperty(BbTable.prototype, "sortControl", {
694
- get: function () {
695
- var _a;
696
- return (_a = this.form) === null || _a === void 0 ? void 0 : _a.get('sort');
697
- },
698
- enumerable: false,
699
- configurable: true
700
- });
701
- Object.defineProperty(BbTable.prototype, "pageNumberControl", {
702
- get: function () {
703
- var _a;
704
- return (_a = this.form) === null || _a === void 0 ? void 0 : _a.get('pageNumber');
705
- },
706
- enumerable: false,
707
- configurable: true
708
- });
709
- Object.defineProperty(BbTable.prototype, "pageSizeControl", {
710
- get: function () {
711
- var _a;
712
- return (_a = this.form) === null || _a === void 0 ? void 0 : _a.get('pageSize');
713
- },
714
- enumerable: false,
715
- configurable: true
716
- });
717
- BbTable.prototype.refresh = function () {
718
- return this.request.update();
719
- };
720
- BbTable.prototype.updateSizes = function (newValue) {
721
- // Validate the sizes has at least one value.
722
- if (newValue.length <= 0) {
723
- throw new Error('Cannot set an empty array as the sizes.');
724
- }
725
- // Set the new size.
726
- this._sizes = newValue;
727
- // Validate that the form exists already.
728
- if (!this.form) {
729
- return;
730
- }
731
- // Check if the current selected value is
732
- // in the new sizes array.
733
- var pageSizeControl = this.form.get('pageSize');
734
- if (this._sizes.includes(pageSizeControl.value)) {
735
- return;
736
- }
737
- // Set the first value in the array as
738
- // the new value.
739
- var firstValue = this._sizes[0];
740
- pageSizeControl.setValue(firstValue);
741
- };
742
- BbTable.prototype.composeForm = function () {
743
- // Setup the form.
744
- this.form = new i4.FormGroup({
745
- pageSize: new i4.FormControl(this._sizes[0]),
746
- pageNumber: new i4.FormControl(1),
747
- sort: new i4.FormGroup({})
748
- });
749
- };
750
- BbTable.prototype.watchDataChanges = function () {
751
- var _this = this;
752
- // Create a new request.
753
- this.request = new DataSourceRequest();
754
- this.isLoading$ = this.request.loading;
755
- if (!this.dataSource) {
756
- this.data$ = rxjs.of({ state: 'error_datasource' }).pipe(operators.tap(function () { return _this.request.stopLoading(); }));
757
- return;
758
- }
759
- // Pass the request to the data source.
760
- this.data$ = this.dataSource.handle(this.request).pipe(operators.tap(function () { return _this.request.stopLoading(); }), operators.map(function (result) {
761
- var count = (result && result.data && result.data.length) || 0;
762
- if (count <= 0) {
763
- return { state: 'empty', result: result };
764
- }
765
- return { state: 'success', result: result };
766
- }), operators.catchError(function (error) {
767
- var _a, _b;
768
- _this.request.stopLoading();
769
- var statusCode = (_a = error === null || error === void 0 ? void 0 : error.status) !== null && _a !== void 0 ? _a : null;
770
- var states = {
771
- 0: 'error_down',
772
- 401: 'error_unauthorized',
773
- 403: 'error_forbidden',
774
- 404: 'error_not_found',
775
- 500: 'error_server'
776
- };
777
- return rxjs.of({ state: (_b = states === null || states === void 0 ? void 0 : states[statusCode]) !== null && _b !== void 0 ? _b : 'error_unknown', statusCode: statusCode });
778
- }));
779
- // Subscribe to the data changes.
780
- this.subscribeToChanges();
781
- };
782
- BbTable.prototype.subscribeToChanges = function () {
783
- var _this = this;
784
- var form$ = this.getFormChanges();
785
- var query$ = this.getQueryChanges();
786
- this._subscription = rxjs.combineLatest([form$, query$]).subscribe(function (_c) {
787
- var _d = __read(_c, 2), form = _d[0], query = _d[1];
788
- var pageNumber = form.pageNumber, pageSize = form.pageSize;
789
- var sort = Object.keys(form.sort)
790
- .map(function (name) { return ({ name: name, direction: form.sort[name] }); })
791
- .filter(function (item) { return ['asc', 'desc'].includes(item.direction); });
792
- _this.request.startLoading();
793
- return _this.request.update({
794
- sort: sort,
795
- query: query,
796
- pageSize: pageSize,
797
- pageNumber: pageNumber,
798
- queryFields: _this.queryFields
799
- });
800
- });
801
- };
802
- BbTable.prototype.getQueryChanges = function () {
803
- return this.queryControl.valueChanges.pipe(operators.debounceTime(400), operators.distinctUntilChanged(), operators.startWith(this.queryControl.value));
804
- };
805
- BbTable.prototype.getFormChanges = function () {
806
- return this.form.valueChanges.pipe(operators.startWith(this.form.value));
807
- };
808
- return BbTable;
809
- }());
810
- BbTable.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTable, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
811
- BbTable.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.11", type: BbTable, selector: "bb-table", inputs: { identifier: "identifier", dataSource: "dataSource", queryFields: "queryFields", sortingStrategy: "sortingStrategy", header: "header", footer: "footer", sizes: "sizes" }, host: { classAttribute: "bb-table" }, queries: [{ propertyName: "tableRowTemplate", first: true, predicate: BbTableRowDef, descendants: true, read: i0.TemplateRef }, { propertyName: "tableColumnTemplates", predicate: BbTableColumnDef, read: i0.TemplateRef }], ngImport: i0__namespace, template: "<!--\n This is the header of the table. It can be a user\n defined custom header or just the default header.\n-->\n\n<header *ngIf=\"(header === true ? headerTemplate : header) as template\"\n class=\"bb-table-top-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</header>\n\n<!--\n This is the table that contains the\n rows and columns.\n-->\n\n<div class=\"bb-table-wrapper\">\n <div *ngIf=\"isLoading$ | async\"\n class=\"bb-table-progress\">\n <div class=\"bb-table-indeterminate\"></div>\n </div>\n <table class=\"bb-table-container\">\n <thead>\n <tr>\n <ng-content select=\"bb-table-header-cell\"></ng-content>\n </tr>\n </thead>\n <tbody *ngIf=\"data$ | async as data; else isLoadingTemplate\"\n [ngSwitch]=\"data?.state\">\n <ng-container *ngSwitchCase=\"'success'\">\n <ng-container *ngIf=\"!!tableRowTemplate\">\n <ng-container\n *ngTemplateOutlet=\"tableRowTemplate; context: {data: data?.result?.data || []}\"></ng-container>\n </ng-container>\n\n <tr *ngFor=\"let item of data?.result?.data; trackBy: trackByFn\">\n <ng-container *ngFor=\"let template of tableColumnTemplates\">\n <ng-container *ngTemplateOutlet=\"template; context: {item: item}\"></ng-container>\n </ng-container>\n </tr>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'empty'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_datasource'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_not_found'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_server'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error_down'\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-container\n *ngTemplateOutlet=\"errorTemplate; context: data\"></ng-container>\n </ng-container>\n </tbody>\n </table>\n</div>\n\n<footer *ngIf=\"(footer === true ? footerTemplate : footer) as template\"\n class=\"bb-table-bottom-actions\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</footer>\n\n<ng-template #isLoadingTemplate>\n <tr>\n <td [attr.colspan]=\"tableColumnTemplates?.length\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n {{ 'tables.loading' | bbLocalize }}\n </div>\n </td>\n </tr>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom header template.\n-->\n\n<ng-template #headerTemplate>\n <ng-content></ng-content>\n <bb-form-control>\n <input [formControl]=\"queryControl\"\n [placeholder]=\"'tables.search' | bbLocalize\"\n bbInput\n autocomplete=\"off\">\n <bb-icon *ngIf=\"queryControl?.value?.length <= 0; else closeButtonTemplate\"\n bbSuffix\n src=\"material:search\">\n </bb-icon>\n </bb-form-control>\n</ng-template>\n\n<!--\n This is the template that will be used when the user has not\n supplied a custom footer template.\n-->\n\n<ng-template #footerTemplate>\n <bb-form-control *ngIf=\"sizes?.length > 1\">\n <select [formControl]=\"pageSizeControl\"\n bbInput\n title=\"Sizes\">\n <option *ngFor=\"let item of sizes; trackBy: trackByValue\"\n [ngValue]=\"item\">\n {{ item }} / {{ 'tables.page' | bbLocalize }}\n </option>\n </select>\n </bb-form-control>\n\n <bb-table-pager [totalPages]=\"(data$ | async)?.result?.totalPages\"\n [formControl]=\"pageNumberControl\">\n </bb-table-pager>\n</ng-template>\n\n<!--\n This the template that will be used when the user\n has filled in some data in the query control.\n-->\n\n<ng-template #closeButtonTemplate>\n <button bbSuffix\n (click)=\"queryControl?.patchValue('')\"\n type=\"button\"\n class=\"bb-table-progress-close-query\">\n <bb-icon src=\"material:close\"></bb-icon>\n </button>\n</ng-template>\n\n<ng-template #errorTemplate let-state=\"state\" let-status=\"statusCode\">\n <tr>\n <td [attr.colspan]=\"tableColumnTemplates?.length\"\n class=\"bb-table-template\">\n <div class=\"bb-table-template-content\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"64\" height=\"41\">\n <g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(0 1)\">\n <ellipse cx=\"32\" cy=\"33\" fill=\"#F5F5F5\" rx=\"32\" ry=\"7\"></ellipse>\n <g fill-rule=\"nonzero\" stroke=\"#D9D9D9\">\n <path\n d=\"M55 12.7605604L44.8543047 1.25739633C44.3674414.47382661 43.6558789 0 42.9067617 0H21.0932383c-.7491172 0-1.4606797.47395025-1.947543 1.25739633L9 12.7605604V22h46v-9.2394396z\"></path>\n <path fill=\"#FAFAFA\"\n d=\"M41.6132813 15.9315c0-1.6056489.9936718-2.931266 2.2264179-2.9315H55v18.1371277C55 33.2589574 53.6793867 35 52.0504297 35H11.94957031C10.32052344 35 9 33.2588404 9 31.1371277V13h11.1603008c1.2327461 0 2.226418 1.3228085 2.226418 2.9284574v.0211809c0 1.6056489 1.0049921 2.9015426 2.2377382 2.9015426h14.751086c1.2327461 0 2.2377383-1.3078298 2.2377383-2.9134788V15.9315z\"></path>\n </g>\n </g>\n </svg>\n <span *ngIf=\"state as stateLabel\">{{ ('tables.' + stateLabel) | bbLocalize }}</span>\n <span *ngIf=\"status as statusCode\"\n class=\"bb-table-template-content-code\">(HTTP {{ statusCode }})</span>\n </div>\n </td>\n </tr>\n</ng-template>\n", styles: [".bb-table{width:100%;display:block;box-shadow:0 6px 6px -6px #0000001a}.bb-table.plain{box-shadow:none}.bb-table.plain>.bb-table-wrapper{border-top-left-radius:0;border-top-right-radius:0}.bb-table-wrapper{overflow-x:auto;position:relative;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px}.bb-table-container{width:100%}.bb-table-container td{border-bottom:1px solid #d8d8d8}.bb-table-top-actions{display:flex;flex-wrap:wrap;flex-direction:column;padding:20px 20px 10px;background-color:#fff;justify-content:flex-end;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-table-top-actions>*{margin-left:0;margin-bottom:10px}.bb-table-top-actions+.bb-table-wrapper{border-radius:0}.bb-table-bottom-actions{height:60px;display:flex;padding:0 20px;overflow-x:auto;align-items:center;background-color:#fff;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.bb-table-template{border:none;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-template-content{padding:20px;display:flex;color:#3d464d;font-size:14px;line-height:1.2;font-weight:400;min-height:140px;text-align:center;align-items:center;flex-direction:column;justify-content:center}.bb-table-template-content>svg{margin-bottom:12px}.bb-table-template-content-code{opacity:.5;margin-top:5px;display:inline-block}.bb-table-progress{top:0;left:0;right:0;opacity:0;width:100%;height:4px;display:block;overflow:hidden;position:absolute;background-color:#2f408b4d;-webkit-animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards;animation:fadeIn .25s cubic-bezier(0,0,.2,1) .1s forwards}.bb-table-progress .bb-table-indeterminate{background-color:#2f408b}.bb-table-progress .bb-table-indeterminate:before{top:0;left:0;bottom:0;content:\"\";position:absolute;will-change:left,right;background-color:inherit;-webkit-animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite}.bb-table-progress .bb-table-indeterminate:after{top:0;left:0;bottom:0;content:\"\";position:absolute;-webkit-animation-delay:1.15s;animation-delay:1.15s;will-change:left,right;background-color:inherit;-webkit-animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite}.bb-table-progress-close-query{padding:0;border:none;border-radius:4px;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-table-progress-close-query:hover{background-color:#00000014}.bb-table-progress-close-query:focus{background-color:#0000001f}.bb-table-progress-close-query:active{background-color:#00000029}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}to{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}to{left:107%;right:-8%}}@media only screen and (min-width: 768px){.bb-table-top-actions{flex-direction:row}.bb-table-top-actions>*:not(:first-child){margin-left:10px;margin-bottom:10px}}\n"], components: [{ type: i1__namespace.BbFormControl, selector: "bb-form-control", inputs: ["grouped", "hideErrors", "label", "hint"] }, { type: i1__namespace.BbIcon, selector: "bb-icon", inputs: ["alt", "size", "src", "ariaHidden"] }, { type: BbTablePager, selector: "bb-table-pager", inputs: ["disabled", "amountOfButtons", "showArrowButtons", "pageNumber", "totalPages"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1__namespace.BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: ["readonly"] }, { type: i4__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1__namespace.BbSuffix, selector: "[bbSuffix]" }, { type: i1__namespace.BbSelect, selector: "select[bbInput]", inputs: ["disabled", "required"] }, { type: i4__namespace.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i4__namespace.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i4__namespace.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], pipes: { "async": i3__namespace.AsyncPipe, "bbLocalize": i5__namespace.BbLocalize }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
812
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTable, decorators: [{
813
- type: i0.Component,
814
- args: [{
815
- selector: 'bb-table',
816
- templateUrl: './table.component.html',
817
- styleUrls: ['./table.component.scss'],
818
- host: { 'class': 'bb-table' },
819
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
820
- encapsulation: i0.ViewEncapsulation.None,
821
- preserveWhitespaces: false
822
- }]
823
- }], propDecorators: { tableColumnTemplates: [{
824
- type: i0.ContentChildren,
825
- args: [BbTableColumnDef, { read: i0.TemplateRef }]
826
- }], tableRowTemplate: [{
827
- type: i0.ContentChild,
828
- args: [BbTableRowDef, { read: i0.TemplateRef, static: false }]
829
- }], identifier: [{
830
- type: i0.Input
831
- }], dataSource: [{
832
- type: i0.Input
833
- }], queryFields: [{
834
- type: i0.Input
835
- }], sortingStrategy: [{
836
- type: i0.Input
837
- }], header: [{
838
- type: i0.Input
839
- }], footer: [{
840
- type: i0.Input
841
- }], sizes: [{
842
- type: i0.Input
843
- }] } });
844
-
845
- var BbTableCell = /** @class */ (function () {
846
- function BbTableCell() {
847
- }
848
- return BbTableCell;
849
- }());
850
- BbTableCell.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTableCell, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
851
- BbTableCell.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.11", type: BbTableCell, selector: "bb-table-cell", host: { classAttribute: "bb-table-cell" }, ngImport: i0__namespace, template: "<div>\n <ng-content></ng-content>\n</div>", styles: [".bb-table-cell{color:#848f99;font-size:14px;text-align:left;line-height:1.2;font-weight:400;padding:12px 20px;display:table-cell;word-wrap:break-word;vertical-align:middle;background-color:#f5f5f5;border-bottom:1px solid #d8d8d8}.bb-table-cell:not(:last-child){border-right:1px solid #d8d8d8}.bb-table-cell.fit{width:1%;white-space:nowrap}.bb-table-cell.left{text-align:left}.bb-table-cell.center{text-align:center}.bb-table-cell.right{text-align:right}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
852
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTableCell, decorators: [{
853
- type: i0.Component,
854
- args: [{
855
- selector: 'bb-table-cell',
856
- templateUrl: './table-cell.component.html',
857
- styleUrls: ['./table-cell.component.scss'],
858
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
859
- host: { 'class': 'bb-table-cell' },
860
- encapsulation: i0.ViewEncapsulation.None,
861
- preserveWhitespaces: false
862
- }]
863
- }] });
864
-
865
- var BbTableHeaderCellBase = /** @class */ (function () {
866
- function BbTableHeaderCellBase() {
867
- }
868
- return BbTableHeaderCellBase;
869
- }());
870
- var BbTableHeaderCellMixinBase = bbFoundation.mixinDisabled(BbTableHeaderCellBase);
871
- var BbTableHeaderCell = /** @class */ (function (_super) {
872
- __extends(BbTableHeaderCell, _super);
873
- function BbTableHeaderCell(_table, _name) {
874
- var _this = _super.call(this) || this;
875
- _this._table = _table;
876
- _this._name = _name;
877
- // Constants.
878
- _this._sortDirections = ['none', 'asc', 'desc'];
879
- _this._control = new i4.FormControl(_this._sortDirections[0]);
880
- _this.logWarning = function (message) {
881
- console && console.warn && console.warn(message);
882
- };
883
- return _this;
884
- }
885
- Object.defineProperty(BbTableHeaderCell.prototype, "sort", {
886
- get: function () {
887
- return this._control.value;
888
- },
889
- // Sort.
890
- set: function (value) {
891
- // Check if the new value is a valid value.
892
- if (!this._sortDirections.includes(value)) {
893
- return;
894
- }
895
- // Set the value.
896
- this._control.setValue(value);
897
- },
898
- enumerable: false,
899
- configurable: true
900
- });
901
- BbTableHeaderCell.prototype.ngOnInit = function () {
902
- var _a, _b;
903
- // Validate that the name and table are set.
904
- if (!this._table || !this._name) {
905
- return;
906
- }
907
- // Check if the control already exists in the table.
908
- if ((_a = this._table.sortControl) === null || _a === void 0 ? void 0 : _a.contains(this._name)) {
909
- this.disabled = true;
910
- return this.logWarning("BbTableHeaderCell: The name \"" + this._name + "\" is not unique in the table; Control was not registered.");
911
- }
912
- // Register the header cell with the table.
913
- (_b = this._table.sortControl) === null || _b === void 0 ? void 0 : _b.addControl(this._name, this._control);
914
- // Get all the value changes.
915
- this.valueChanges$ = this._control.valueChanges.pipe(operators.startWith(this._control.value));
916
- };
917
- BbTableHeaderCell.prototype.ngOnDestroy = function () {
918
- var _a, _b, _c, _d;
919
- // Validate that the name and table are set.
920
- if (!this._table || !this._name) {
921
- return;
922
- }
923
- // Un-register the header cell with the table.
924
- if ((_b = (_a = this._table) === null || _a === void 0 ? void 0 : _a.sortControl) === null || _b === void 0 ? void 0 : _b.contains(this._name)) {
925
- (_d = (_c = this._table) === null || _c === void 0 ? void 0 : _c.sortControl) === null || _d === void 0 ? void 0 : _d.removeControl(this._name);
926
- }
927
- };
928
- Object.defineProperty(BbTableHeaderCell.prototype, "isDisabled", {
929
- get: function () {
930
- return this.disabled || !this._name;
931
- },
932
- enumerable: false,
933
- configurable: true
934
- });
935
- BbTableHeaderCell.prototype.onClick = function () {
936
- var _this = this;
937
- // Check if the header cell is disabled.
938
- if (this.isDisabled) {
939
- return;
940
- }
941
- // Find the index of the current sort and
942
- // create the new index.
943
- var index = this._sortDirections.findIndex(function (item) { return item === _this._control.value; });
944
- var newIndex = (index + 1) % this._sortDirections.length;
945
- var newSort = this._sortDirections[newIndex];
946
- // Set the new sort.
947
- return this.updateTableAndHeaderCell(newSort);
948
- };
949
- BbTableHeaderCell.prototype.updateTableAndHeaderCell = function (value) {
950
- // Check if the new value is a valid value.
951
- if (!this._sortDirections.includes(value)) {
952
- return;
953
- }
954
- // Validate the table exists.
955
- if (!this._table) {
956
- return this._control.setValue(value);
957
- }
958
- // Handle the single sorting strategy.
959
- if (this._table.sortingStrategy === 'single') {
960
- return this.handleSingleSortingStrategy(value);
961
- }
962
- // Default case when no other strategy
963
- // is used.
964
- return this._control.setValue(value);
965
- };
966
- BbTableHeaderCell.prototype.handleSingleSortingStrategy = function (value) {
967
- var _this = this;
968
- var _a, _b;
969
- // Get the sort control.
970
- var control = this._table.sortControl;
971
- // Set each value to false since we only want to
972
- // sort on one property at a time with this strategy.
973
- var newValue = Object.keys(control.controls).reduce(function (previous, current) {
974
- previous[current] = current === _this._name ? value : 'none';
975
- return previous;
976
- }, {});
977
- // Patch the entire sort value.
978
- (_b = (_a = this._table) === null || _a === void 0 ? void 0 : _a.sortControl) === null || _b === void 0 ? void 0 : _b.patchValue(newValue);
979
- };
980
- return BbTableHeaderCell;
981
- }(BbTableHeaderCellMixinBase));
982
- BbTableHeaderCell.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTableHeaderCell, deps: [{ token: BbTable, host: true, optional: true }, { token: 'name', attribute: true, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
983
- BbTableHeaderCell.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.11", type: BbTableHeaderCell, selector: "bb-table-header-cell", inputs: { disabled: "disabled", sort: "sort" }, host: { listeners: { "click": "onClick()" }, properties: { "class.disabled": "isDisabled" }, classAttribute: "bb-table-header-cell" }, usesInheritance: true, ngImport: i0__namespace, template: "<!-- The content. -->\n<ng-content></ng-content>\n\n<!-- The indicator for the sort direction. -->\n<ng-container *ngIf=\"valueChanges$ | async as value\">\n <button *ngIf=\"!isDisabled\"\n [class.asc]=\"value === 'asc'\"\n [class.desc]=\"value === 'desc'\"\n class=\"bb-table-header-cell-toggle\"\n type=\"button\"></button>\n</ng-container>\n", styles: [".bb-table-header-cell{height:50px;color:#212529;cursor:pointer;font-size:16px;font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:10px 20px;position:relative;display:table-cell;vertical-align:middle;border-bottom:1px solid #d8d8d8}.bb-table-header-cell:active>.bb-table-header-cell-toggle{background-color:#00000014}.bb-table-header-cell:not(.disabled){padding-right:52px}.bb-table-header-cell.fit{width:1%;white-space:nowrap}.bb-table-header-cell.left{text-align:left}.bb-table-header-cell.center{text-align:center}.bb-table-header-cell.right{text-align:right}.bb-table-header-cell.disabled{cursor:default;pointer-events:none}.bb-table-header-cell-toggle{top:50%;right:14px;width:22px;border:none;height:22px;margin-left:auto;position:absolute;border-radius:4px;transform:translateY(-50%);background-position:center;background-repeat:no-repeat;background-color:transparent;transition:background-color .2s cubic-bezier(0,0,.2,1);background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-table-header-cell-toggle.desc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"black\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}.bb-table-header-cell-toggle.asc{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 9 15\" width=\"9\" height=\"15\"%3E%3Cpath fill=\"black\" d=\"M4.5 0L0 7h9z\"%3E%3C/path%3E%3Cpath fill=\"%23dcdcdc\" d=\"M4.5 15L9 8H0z\"%3E%3C/path%3E%3C/svg%3E')}\n"], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
984
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: BbTableHeaderCell, decorators: [{
985
- type: i0.Component,
986
- args: [{
987
- selector: 'bb-table-header-cell',
988
- templateUrl: './table-header-cell.component.html',
989
- styleUrls: ['./table-header-cell.component.scss'],
990
- changeDetection: i0.ChangeDetectionStrategy.OnPush,
991
- host: {
992
- 'class': 'bb-table-header-cell',
993
- '[class.disabled]': 'isDisabled'
994
- },
995
- inputs: ['disabled'],
996
- encapsulation: i0.ViewEncapsulation.None,
997
- preserveWhitespaces: false
998
- }]
999
- }], ctorParameters: function () {
1000
- return [{ type: BbTable, decorators: [{
1001
- type: i0.Optional
1002
- }, {
1003
- type: i0.Host
1004
- }] }, { type: undefined, decorators: [{
1005
- type: i0.Optional
1006
- }, {
1007
- type: i0.Attribute,
1008
- args: ['name']
1009
- }] }];
1010
- }, propDecorators: { sort: [{
1011
- type: i0.Input
1012
- }], onClick: [{
1013
- type: i0.HostListener,
1014
- args: ['click']
1015
- }] } });
1016
-
1017
- var DECLARATIONS_EXPORTS = [
1018
- BbTable,
1019
- BbTableColumnDef,
1020
- BbTableRowDef,
1021
- BbTableHeaderCell,
1022
- BbTableCell,
1023
- BbTablePager
1024
- ];
1025
- var TableModule = /** @class */ (function () {
1026
- function TableModule() {
1027
- }
1028
- return TableModule;
1029
- }());
1030
- TableModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: TableModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1031
- TableModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: TableModule, declarations: [BbTable,
1032
- BbTableColumnDef,
1033
- BbTableRowDef,
1034
- BbTableHeaderCell,
1035
- BbTableCell,
1036
- BbTablePager], imports: [i3.CommonModule, i4.ReactiveFormsModule, i1.ElementsModule, i5.LocalizeModule], exports: [BbTable,
1037
- BbTableColumnDef,
1038
- BbTableRowDef,
1039
- BbTableHeaderCell,
1040
- BbTableCell,
1041
- BbTablePager] });
1042
- TableModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: TableModule, imports: [[i3.CommonModule, i4.ReactiveFormsModule, i1.ElementsModule, i5.LocalizeModule]] });
1043
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.11", ngImport: i0__namespace, type: TableModule, decorators: [{
1044
- type: i0.NgModule,
1045
- args: [{
1046
- imports: [i3.CommonModule, i4.ReactiveFormsModule, i1.ElementsModule, i5.LocalizeModule],
1047
- declarations: __spreadArray([], __read(DECLARATIONS_EXPORTS)),
1048
- exports: __spreadArray([], __read(DECLARATIONS_EXPORTS))
1049
- }]
1050
- }] });
1051
-
1052
- /**
1053
- * Generated bundle index. Do not edit.
1054
- */
1055
-
1056
- exports.BbTable = BbTable;
1057
- exports.BbTableCell = BbTableCell;
1058
- exports.BbTableColumnDef = BbTableColumnDef;
1059
- exports.BbTableHeaderCell = BbTableHeaderCell;
1060
- exports.BbTablePager = BbTablePager;
1061
- exports.BbTableRowDef = BbTableRowDef;
1062
- exports.DataSource = DataSource;
1063
- exports.DataSourceRequest = DataSourceRequest;
1064
- exports.GenericDataSource = GenericDataSource;
1065
- exports.TableModule = TableModule;
1066
-
1067
- Object.defineProperty(exports, '__esModule', { value: true });
1068
-
1069
- }));
1070
- //# sourceMappingURL=bravobit-bb-foundation-table.umd.js.map