@pepperi-addons/ngx-lib 0.4.2-beta.31 → 0.4.2-beta.310

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 (408) hide show
  1. package/README.md +35 -0
  2. package/address/address.component.d.ts +9 -2
  3. package/attachment/attachment.component.d.ts +3 -1
  4. package/carousel/carousel.component.d.ts +3 -2
  5. package/checkbox/checkbox.component.d.ts +8 -1
  6. package/chips/chips.component.d.ts +4 -7
  7. package/chips/chips.service.d.ts +0 -3
  8. package/core/common/directives/base-destroyer.directive.d.ts +10 -0
  9. package/core/common/directives/public-api.d.ts +1 -0
  10. package/core/common/pipes/common-pipes.d.ts +5 -2
  11. package/core/common/services/addon.service.d.ts +6 -4
  12. package/core/common/services/file.service.d.ts +7 -2
  13. package/core/common/services/session.service.d.ts +2 -0
  14. package/core/common/services/utilities.service.d.ts +4 -4
  15. package/core/customization/customization.model.d.ts +4 -1
  16. package/core/customization/customization.service.d.ts +4 -0
  17. package/date/date.component.d.ts +4 -2
  18. package/draggable-items/draggable-item/draggable-item.component.d.ts +16 -2
  19. package/draggable-items/draggable-items.component.d.ts +3 -6
  20. package/draggable-items/draggable-items.module.d.ts +4 -3
  21. package/elements/README.md +256 -0
  22. package/esm2020/address/address.component.mjs +93 -5
  23. package/esm2020/assets/i18n/ar.ngx-lib.json +180 -0
  24. package/esm2020/assets/i18n/de.ngx-lib.json +180 -0
  25. package/esm2020/assets/i18n/en.ngx-lib.json +186 -0
  26. package/esm2020/assets/i18n/es.ngx-lib.json +180 -0
  27. package/esm2020/assets/i18n/fr.ngx-lib.json +180 -0
  28. package/esm2020/assets/i18n/he.ngx-lib.json +180 -0
  29. package/esm2020/assets/i18n/hu.ngx-lib.json +79 -0
  30. package/esm2020/assets/i18n/it.ngx-lib.json +180 -0
  31. package/esm2020/assets/i18n/ja.ngx-lib.json +180 -0
  32. package/esm2020/assets/i18n/nl.ngx-lib.json +79 -0
  33. package/esm2020/assets/i18n/pl.ngx-lib.json +180 -0
  34. package/esm2020/assets/i18n/pt.ngx-lib.json +180 -0
  35. package/esm2020/assets/i18n/ru.ngx-lib.json +79 -0
  36. package/esm2020/assets/i18n/sr.ngx-lib.json +180 -0
  37. package/esm2020/assets/i18n/zh.ngx-lib.json +180 -0
  38. package/esm2020/attachment/attachment.component.mjs +16 -6
  39. package/esm2020/carousel/carousel.component.mjs +14 -4
  40. package/esm2020/checkbox/checkbox.component.mjs +37 -3
  41. package/esm2020/chips/chips.component.mjs +11 -16
  42. package/esm2020/chips/chips.service.mjs +2 -11
  43. package/esm2020/color/color-picker.component.mjs +3 -3
  44. package/esm2020/color/color.component.mjs +3 -3
  45. package/esm2020/core/common/directives/base-destroyer.directive.mjs +22 -0
  46. package/esm2020/core/common/directives/public-api.mjs +2 -1
  47. package/esm2020/core/common/pipes/common-pipes.mjs +18 -8
  48. package/esm2020/core/common/services/addon.service.mjs +31 -7
  49. package/esm2020/core/common/services/data-convertor.service.mjs +3 -3
  50. package/esm2020/core/common/services/file.service.mjs +57 -20
  51. package/esm2020/core/common/services/session.service.mjs +5 -1
  52. package/esm2020/core/common/services/utilities.service.mjs +7 -7
  53. package/esm2020/core/customization/customization.model.mjs +46 -10
  54. package/esm2020/core/customization/customization.service.mjs +29 -1
  55. package/esm2020/core/http/services/http.service.mjs +17 -8
  56. package/esm2020/core/http/services/loader.service.mjs +3 -3
  57. package/esm2020/date/date.component.mjs +35 -13
  58. package/esm2020/dialog/dialog.component.mjs +3 -3
  59. package/esm2020/draggable-items/draggable-item/draggable-item.component.mjs +44 -4
  60. package/esm2020/draggable-items/draggable-items.component.mjs +7 -15
  61. package/esm2020/draggable-items/draggable-items.module.mjs +5 -1
  62. package/esm2020/field-title/field-title.component.mjs +6 -3
  63. package/esm2020/files-uploader/files-uploader.component.mjs +23 -32
  64. package/esm2020/form/field-generator.component.mjs +3 -3
  65. package/esm2020/form/form.component.mjs +7 -4
  66. package/esm2020/form/internal-button.component.mjs +2 -2
  67. package/esm2020/form/internal-carusel.component.mjs +10 -6
  68. package/esm2020/form/internal-field-generator.component.mjs +3 -3
  69. package/esm2020/form/internal-form.component.mjs +5 -3
  70. package/esm2020/form/internal-list.component.mjs +2 -2
  71. package/esm2020/form/internal-menu.component.mjs +4 -6
  72. package/esm2020/form/internal-page.component.mjs +3 -4
  73. package/esm2020/group-buttons/group-buttons.component.mjs +2 -2
  74. package/esm2020/icon/icon.component.mjs +36 -6
  75. package/esm2020/icon/icon.service.mjs +5 -1
  76. package/esm2020/image/image.component.mjs +15 -3
  77. package/esm2020/image/image.service.mjs +2 -4
  78. package/esm2020/images-filmstrip/images-filmstrip.component.mjs +99 -25
  79. package/esm2020/json-editor/json-editor.component.mjs +288 -0
  80. package/esm2020/json-editor/json-editor.module.mjs +83 -0
  81. package/esm2020/json-editor/json-tree-node.component.mjs +32 -0
  82. package/esm2020/json-editor/pepperi-addons-ngx-lib-json-editor.mjs +5 -0
  83. package/esm2020/json-editor/public-api.mjs +6 -0
  84. package/esm2020/lib/i18n/embedded-i18n.mjs +33 -0
  85. package/esm2020/link/link.component.mjs +25 -4
  86. package/esm2020/list/list-actions.component.mjs +1 -1
  87. package/esm2020/list/list-chooser.component.mjs +1 -1
  88. package/esm2020/list/list-pager.component.mjs +1 -1
  89. package/esm2020/list/list-sorting.component.mjs +1 -1
  90. package/esm2020/list/list-total.component.mjs +6 -3
  91. package/esm2020/list/list-views.component.mjs +1 -1
  92. package/esm2020/list/list.component.mjs +230 -37
  93. package/esm2020/list/list.model.mjs +1 -1
  94. package/esm2020/menu/menu-item.component.mjs +3 -3
  95. package/esm2020/menu/menu.component.mjs +6 -3
  96. package/esm2020/menu/menu.model.mjs +2 -1
  97. package/esm2020/page-layout/page-layout.component.mjs +28 -7
  98. package/esm2020/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +1 -1
  99. package/esm2020/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +25 -9
  100. package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +58 -26
  101. package/esm2020/profile-data-views-list/profile-data-views-list.model.mjs +1 -1
  102. package/esm2020/public-api.mjs +2 -1
  103. package/esm2020/quantity-selector/quantity-selector.component.mjs +67 -33
  104. package/esm2020/query-builder/common/model/legacy.mjs +1 -1
  105. package/esm2020/query-builder/common/model/operator.mjs +73 -63
  106. package/esm2020/query-builder/common/services/output-query.service.mjs +5 -3
  107. package/esm2020/query-builder/common/services/query-structure.service.mjs +34 -2
  108. package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +14 -12
  109. package/esm2020/query-builder/query-builder-section/query-builder-section.component.mjs +3 -3
  110. package/esm2020/query-builder/query-builder.module.mjs +14 -3
  111. package/esm2020/query-builder/query-builder.service.mjs +2 -2
  112. package/esm2020/remote-loader/addon-block-loader.component.mjs +26 -16
  113. package/esm2020/remote-loader/addon-block-loader.service.mjs +5 -2
  114. package/esm2020/remote-loader/remote-loader-element.component.mjs +81 -27
  115. package/esm2020/remote-loader/remote-loader.component.mjs +1 -3
  116. package/esm2020/remote-loader/remote-loader.model.mjs +1 -1
  117. package/esm2020/remote-loader/remote-loader.service.mjs +49 -26
  118. package/esm2020/reset-configuration-field/pepperi-addons-ngx-lib-reset-configuration-field.mjs +5 -0
  119. package/esm2020/reset-configuration-field/public-api.mjs +3 -0
  120. package/esm2020/reset-configuration-field/reset-configuration-field.component.mjs +55 -0
  121. package/esm2020/reset-configuration-field/reset-configuration-field.module.mjs +36 -0
  122. package/esm2020/rich-html-textarea/rich-html-textarea.component.mjs +19 -3
  123. package/esm2020/search/search.component.mjs +43 -16
  124. package/esm2020/select/select.component.mjs +124 -53
  125. package/esm2020/select-panel/select-panel.component.mjs +4 -6
  126. package/esm2020/side-bar/side-bar.component.mjs +18 -4
  127. package/esm2020/signature/public-api.mjs +2 -1
  128. package/esm2020/signature/signature-dialog.component.mjs +79 -0
  129. package/esm2020/signature/signature.component.mjs +84 -68
  130. package/esm2020/signature/signature.module.mjs +6 -5
  131. package/esm2020/size-detector/size-detector.component.mjs +16 -6
  132. package/esm2020/skeleton-loader/public-api.mjs +2 -2
  133. package/esm2020/skeleton-loader/skeleton-loader.component.mjs +33 -9
  134. package/esm2020/slider/slider.component.mjs +2 -2
  135. package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +1 -1
  136. package/esm2020/smart-filters/common/model/base-filter-component.mjs +5 -11
  137. package/esm2020/smart-filters/common/model/operator.mjs +15 -6
  138. package/esm2020/smart-filters/common/model/type.mjs +1 -1
  139. package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
  140. package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +3 -3
  141. package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
  142. package/esm2020/smart-filters/smart-filters.component.mjs +2 -2
  143. package/esm2020/smart-filters/text-filter/text-filter.component.mjs +27 -7
  144. package/esm2020/snack-bar/snack-bar.component.mjs +19 -4
  145. package/esm2020/textarea/textarea.component.mjs +12 -3
  146. package/esm2020/textbox/textbox-validation.directive.mjs +2 -4
  147. package/esm2020/textbox/textbox.component.mjs +85 -10
  148. package/esm2020/textbox-icon/textbox-icon.component.mjs +3 -3
  149. package/esm2020/top-bar/top-bar.component.mjs +26 -15
  150. package/fesm2015/pepperi-addons-ngx-lib-address.mjs +92 -5
  151. package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  152. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +15 -5
  153. package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  154. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs +13 -3
  155. package/fesm2015/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  156. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs +37 -2
  157. package/fesm2015/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  158. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +11 -25
  159. package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  160. package/fesm2015/pepperi-addons-ngx-lib-color.mjs +4 -4
  161. package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  162. package/fesm2015/pepperi-addons-ngx-lib-date.mjs +35 -12
  163. package/fesm2015/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  164. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +2 -2
  165. package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  166. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +54 -19
  167. package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  168. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  169. package/fesm2015/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  170. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +22 -31
  171. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  172. package/fesm2015/pepperi-addons-ngx-lib-form.mjs +31 -25
  173. package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  174. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs +2 -2
  175. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  176. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs +40 -5
  177. package/fesm2015/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  178. package/fesm2015/pepperi-addons-ngx-lib-image.mjs +15 -5
  179. package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  180. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +101 -24
  181. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  182. package/fesm2015/pepperi-addons-ngx-lib-json-editor.mjs +407 -0
  183. package/fesm2015/pepperi-addons-ngx-lib-json-editor.mjs.map +1 -0
  184. package/fesm2015/pepperi-addons-ngx-lib-link.mjs +24 -3
  185. package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  186. package/fesm2015/pepperi-addons-ngx-lib-list.mjs +241 -43
  187. package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  188. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +8 -4
  189. package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  190. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs +27 -6
  191. package/fesm2015/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  192. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +81 -33
  193. package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  194. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +66 -31
  195. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  196. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +140 -81
  197. package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  198. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs +169 -83
  199. package/fesm2015/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  200. package/fesm2015/pepperi-addons-ngx-lib-reset-configuration-field.mjs +95 -0
  201. package/fesm2015/pepperi-addons-ngx-lib-reset-configuration-field.mjs.map +1 -0
  202. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs +18 -2
  203. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  204. package/fesm2015/pepperi-addons-ngx-lib-search.mjs +45 -15
  205. package/fesm2015/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  206. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +3 -5
  207. package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  208. package/fesm2015/pepperi-addons-ngx-lib-select.mjs +123 -51
  209. package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  210. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs +17 -3
  211. package/fesm2015/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  212. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +173 -81
  213. package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  214. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs +15 -5
  215. package/fesm2015/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  216. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +33 -9
  217. package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  218. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs +2 -2
  219. package/fesm2015/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  220. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +53 -30
  221. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  222. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs +18 -3
  223. package/fesm2015/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  224. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs +11 -2
  225. package/fesm2015/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  226. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs +2 -2
  227. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  228. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +87 -12
  229. package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  230. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +26 -15
  231. package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  232. package/fesm2015/pepperi-addons-ngx-lib.mjs +3420 -577
  233. package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
  234. package/fesm2020/pepperi-addons-ngx-lib-address.mjs +92 -5
  235. package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  236. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +15 -5
  237. package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  238. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs +13 -3
  239. package/fesm2020/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  240. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs +36 -2
  241. package/fesm2020/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  242. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +11 -25
  243. package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  244. package/fesm2020/pepperi-addons-ngx-lib-color.mjs +4 -4
  245. package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  246. package/fesm2020/pepperi-addons-ngx-lib-date.mjs +34 -12
  247. package/fesm2020/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  248. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +2 -2
  249. package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  250. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +54 -19
  251. package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  252. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs +5 -2
  253. package/fesm2020/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  254. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +22 -31
  255. package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  256. package/fesm2020/pepperi-addons-ngx-lib-form.mjs +31 -25
  257. package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  258. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs +2 -2
  259. package/fesm2020/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  260. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs +39 -5
  261. package/fesm2020/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  262. package/fesm2020/pepperi-addons-ngx-lib-image.mjs +15 -5
  263. package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  264. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +98 -24
  265. package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  266. package/fesm2020/pepperi-addons-ngx-lib-json-editor.mjs +403 -0
  267. package/fesm2020/pepperi-addons-ngx-lib-json-editor.mjs.map +1 -0
  268. package/fesm2020/pepperi-addons-ngx-lib-link.mjs +24 -3
  269. package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  270. package/fesm2020/pepperi-addons-ngx-lib-list.mjs +238 -42
  271. package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  272. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +8 -4
  273. package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  274. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs +27 -6
  275. package/fesm2020/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  276. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +81 -33
  277. package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  278. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +65 -31
  279. package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  280. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +136 -80
  281. package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  282. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs +157 -69
  283. package/fesm2020/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  284. package/fesm2020/pepperi-addons-ngx-lib-reset-configuration-field.mjs +95 -0
  285. package/fesm2020/pepperi-addons-ngx-lib-reset-configuration-field.mjs.map +1 -0
  286. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs +18 -2
  287. package/fesm2020/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  288. package/fesm2020/pepperi-addons-ngx-lib-search.mjs +42 -15
  289. package/fesm2020/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  290. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +3 -5
  291. package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  292. package/fesm2020/pepperi-addons-ngx-lib-select.mjs +122 -51
  293. package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  294. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs +17 -3
  295. package/fesm2020/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  296. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +169 -81
  297. package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  298. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs +15 -5
  299. package/fesm2020/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  300. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +33 -9
  301. package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  302. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs +2 -2
  303. package/fesm2020/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  304. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +53 -30
  305. package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  306. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs +18 -3
  307. package/fesm2020/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  308. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs +11 -2
  309. package/fesm2020/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  310. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs +2 -2
  311. package/fesm2020/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  312. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +85 -12
  313. package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  314. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +25 -14
  315. package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  316. package/fesm2020/pepperi-addons-ngx-lib.mjs +3416 -574
  317. package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
  318. package/field-title/field-title.component.d.ts +2 -1
  319. package/files-uploader/files-uploader.component.d.ts +4 -2
  320. package/form/internal-carusel.component.d.ts +1 -0
  321. package/form/internal-menu.component.d.ts +1 -2
  322. package/icon/icon.component.d.ts +4 -0
  323. package/image/image.component.d.ts +3 -1
  324. package/images-filmstrip/images-filmstrip.component.d.ts +24 -8
  325. package/json-editor/index.d.ts +5 -0
  326. package/json-editor/json-editor.component.d.ts +75 -0
  327. package/json-editor/json-editor.component.theme.scss +5 -0
  328. package/json-editor/json-editor.module.d.ts +24 -0
  329. package/json-editor/json-tree-node.component.d.ts +18 -0
  330. package/json-editor/public-api.d.ts +2 -0
  331. package/lib/i18n/embedded-i18n.d.ts +1 -0
  332. package/link/link.component.d.ts +7 -2
  333. package/list/list-total.component.d.ts +2 -1
  334. package/list/list.component.d.ts +21 -5
  335. package/list/list.model.d.ts +2 -1
  336. package/menu/menu.component.d.ts +2 -1
  337. package/menu/menu.model.d.ts +1 -0
  338. package/package.json +18 -2
  339. package/page-layout/page-layout.component.d.ts +8 -2
  340. package/profile-data-views-list/profile-data-view/profile-data-view.component.d.ts +3 -3
  341. package/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.d.ts +5 -4
  342. package/profile-data-views-list/profile-data-views-list.component.d.ts +13 -10
  343. package/profile-data-views-list/profile-data-views-list.model.d.ts +8 -0
  344. package/public-api.d.ts +1 -0
  345. package/quantity-selector/quantity-selector.component.d.ts +9 -9
  346. package/query-builder/common/model/legacy.d.ts +2 -0
  347. package/query-builder/common/model/operator.d.ts +11 -1
  348. package/query-builder/common/services/query-structure.service.d.ts +1 -0
  349. package/query-builder/query-builder-item/query-builder-item.component.d.ts +3 -1
  350. package/query-builder/query-builder.module.d.ts +7 -3
  351. package/remote-loader/addon-block-loader.component.d.ts +4 -2
  352. package/remote-loader/remote-loader-element.component.d.ts +8 -1
  353. package/remote-loader/remote-loader.model.d.ts +1 -0
  354. package/remote-loader/remote-loader.service.d.ts +3 -1
  355. package/reset-configuration-field/index.d.ts +5 -0
  356. package/reset-configuration-field/public-api.d.ts +2 -0
  357. package/reset-configuration-field/reset-configuration-field.component.d.ts +23 -0
  358. package/reset-configuration-field/reset-configuration-field.module.d.ts +12 -0
  359. package/rich-html-textarea/rich-html-textarea.component.d.ts +4 -1
  360. package/rich-html-textarea/rich-html-textarea.component.theme.scss +4 -2
  361. package/search/search.component.d.ts +9 -3
  362. package/select/select.component.d.ts +18 -2
  363. package/select-panel/select-panel.component.d.ts +1 -2
  364. package/side-bar/side-bar.component.d.ts +4 -1
  365. package/signature/public-api.d.ts +1 -0
  366. package/signature/signature-dialog.component.d.ts +29 -0
  367. package/signature/signature.component.d.ts +3 -13
  368. package/signature/signature.module.d.ts +16 -15
  369. package/size-detector/size-detector.component.d.ts +6 -3
  370. package/skeleton-loader/skeleton-loader.component.d.ts +15 -7
  371. package/slider/slider.component.theme.scss +4 -0
  372. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +3 -0
  373. package/smart-filters/common/model/base-filter-component.d.ts +2 -4
  374. package/smart-filters/common/model/operator.d.ts +3 -0
  375. package/smart-filters/common/model/type.d.ts +1 -1
  376. package/smart-filters/date-filter/date-filter.component.d.ts +3 -0
  377. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +3 -0
  378. package/smart-filters/number-filter/number-filter.component.d.ts +3 -0
  379. package/smart-filters/text-filter/text-filter.component.d.ts +4 -0
  380. package/snack-bar/snack-bar.component.d.ts +9 -4
  381. package/src/assets/i18n/ar.ngx-lib.json +180 -0
  382. package/src/assets/i18n/de.ngx-lib.json +106 -4
  383. package/src/assets/i18n/en.ngx-lib.json +14 -3
  384. package/src/assets/i18n/es.ngx-lib.json +113 -11
  385. package/src/assets/i18n/fr.ngx-lib.json +105 -4
  386. package/src/assets/i18n/he.ngx-lib.json +105 -4
  387. package/src/assets/i18n/it.ngx-lib.json +114 -13
  388. package/src/assets/i18n/ja.ngx-lib.json +105 -4
  389. package/src/assets/i18n/pl.ngx-lib.json +105 -4
  390. package/src/assets/i18n/pt.ngx-lib.json +105 -4
  391. package/src/assets/i18n/sr.ngx-lib.json +180 -0
  392. package/src/assets/i18n/zh.ngx-lib.json +105 -2
  393. package/src/core/style/abstracts/mixins.scss +135 -26
  394. package/src/core/style/abstracts/variables.scss +10 -1
  395. package/src/core/style/base/Spacing.stories.mdx +22 -22
  396. package/src/core/style/base/base.scss +16 -14
  397. package/src/core/style/base/typography.scss +2 -1
  398. package/src/core/style/components/button.scss +11 -0
  399. package/src/core/style/components/checkbox.scss +13 -63
  400. package/src/core/style/components/file.scss +4 -4
  401. package/src/core/style/components/general.scss +27 -9
  402. package/src/core/style/components/textarea.scss +13 -0
  403. package/textarea/textarea.component.d.ts +2 -1
  404. package/textbox/textbox.component.d.ts +10 -3
  405. package/theming.scss +5 -1
  406. package/top-bar/top-bar.component.d.ts +2 -0
  407. package/src/assets/images/sail-away.jpg +0 -0
  408. package/src/core/style/abstracts/AbstractsIntro.stories.mdx +0 -7
@@ -1202,7 +1202,7 @@ class PepListPagerComponent {
1202
1202
  }
1203
1203
  }
1204
1204
  PepListPagerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListPagerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.PepLayoutService }], target: i0.ɵɵFactoryTarget.Component });
1205
- PepListPagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListPagerComponent, selector: "pep-list-pager", inputs: { disabled: "disabled", pageIndex: "pageIndex", length: "length", pageSize: "pageSize" }, outputs: { pagerChange: "pagerChange" }, ngImport: i0, template: "<div class=\"pager-container body-sm\">\n <span class=\"pep-spacing-element\">{{ 'LIST.PAGER_PAGE' | translate }}</span>\n <pep-textbox pepAutoWidth class=\"page-index pep-spacing-element\" [key]=\"'pageIndex'\" [type]=\"'int'\"\n [disabled]=\"disabled\" [xAlignment]=\"'center'\" [renderTitle]=\"false\" [renderError]=\"false\" [renderSymbol]=\"false\"\n [value]=\"pageIndex + 1\" [minValue]=\"1\" [maxValue]=\"this.getNumberOfPages()\"\n [maxFieldCharacters]=\"6\" [mandatory]=\"true\" (valueChange)=\"onValueChange($event)\">\n </pep-textbox>\n <span class=\"pep-spacing-element\">{{ 'LIST.PAGER_OUT_OF' | translate }}</span>\n <span class=\"pep-spacing-element\">{{ getNumberOfPages() }}</span>\n <button mat-button [disabled]=\"disabled || _previousButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _previousButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"previousPage()\"\n [title]=\"('LIST.PAGER_PREVIOUS' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_right' : 'arrow_left'\"></pep-icon>\n </mat-icon>\n </button>\n <button mat-button [disabled]=\"disabled || _nextButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _nextButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"nextPage()\"\n [title]=\"('LIST.PAGER_NEXT' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_left' : 'arrow_right'\"></pep-icon>\n </mat-icon>\n </button>\n</div>", styles: [".pager-container{display:flex;justify-content:center;align-items:center;height:calc(2rem + calc(var(--pep-spacing-sm, .5rem) * 2));padding:var(--pep-spacing-sm, .5rem)}.pager-container .page-index{min-height:unset;margin-bottom:0}.pager-container .page-index ::ng-deep .mat-form-field-flex{padding:0 .5rem;min-height:2rem}.pager-container .page-index ::ng-deep .mat-form-field-flex .mat-input-element{min-width:1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepInputAutoWidthDirective, selector: "[pepAutoWidth]", inputs: ["includePadding"] }, { kind: "directive", type: i1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i6.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
1205
+ PepListPagerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListPagerComponent, selector: "pep-list-pager", inputs: { disabled: "disabled", pageIndex: "pageIndex", length: "length", pageSize: "pageSize" }, outputs: { pagerChange: "pagerChange" }, ngImport: i0, template: "<div class=\"pager-container body-sm\">\n <span class=\"pep-spacing-element\">{{ 'LIST.PAGER_PAGE' | translate }}</span>\n <pep-textbox pepAutoWidth class=\"page-index pep-spacing-element\" [key]=\"'pageIndex'\" [type]=\"'int'\"\n [disabled]=\"disabled\" [xAlignment]=\"'center'\" [renderTitle]=\"false\" [renderError]=\"false\" [renderSymbol]=\"false\"\n [value]=\"pageIndex + 1\" [minValue]=\"1\" [maxValue]=\"this.getNumberOfPages()\"\n [maxFieldCharacters]=\"6\" [mandatory]=\"true\" (valueChange)=\"onValueChange($event)\">\n </pep-textbox>\n <span class=\"pep-spacing-element\">{{ 'LIST.PAGER_OUT_OF' | translate }}</span>\n <span class=\"pep-spacing-element\">{{ getNumberOfPages() }}</span>\n <button mat-button [disabled]=\"disabled || _previousButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _previousButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"previousPage()\"\n [title]=\"('LIST.PAGER_PREVIOUS' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_right' : 'arrow_left'\"></pep-icon>\n </mat-icon>\n </button>\n <button mat-button [disabled]=\"disabled || _nextButtonsDisabled()\"\n [ngClass]=\"{ disabled: disabled || _nextButtonsDisabled() }\"\n class=\"pep-button icon-button pep-spacing-element sm weak\" pepRtlDirection pepMenuBlur (click)=\"nextPage()\"\n [title]=\"('LIST.PAGER_NEXT' | translate)\">\n <mat-icon>\n <pep-icon [name]=\"layoutService.isRtl() ? 'arrow_left' : 'arrow_right'\"></pep-icon>\n </mat-icon>\n </button>\n</div>", styles: [".pager-container{display:flex;justify-content:center;align-items:center;height:calc(2rem + calc(var(--pep-spacing-sm, .5rem) * 2));padding:var(--pep-spacing-sm, .5rem)}.pager-container .page-index{min-height:unset;margin-bottom:0}.pager-container .page-index ::ng-deep .mat-form-field-flex{padding:0 .5rem;min-height:2rem}.pager-container .page-index ::ng-deep .mat-form-field-flex .mat-input-element{min-width:1.25rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepInputAutoWidthDirective, selector: "[pepAutoWidth]", inputs: ["includePadding"] }, { kind: "directive", type: i1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i6.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup", "validationChange"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
1206
1206
  PepListPagerComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListPagerComponent });
1207
1207
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListPagerComponent, decorators: [{
1208
1208
  type: Component,
@@ -1229,6 +1229,7 @@ class PepListComponent {
1229
1229
  this.cd = cd;
1230
1230
  this.renderer = renderer;
1231
1231
  this.zone = zone;
1232
+ this.cacheSize = -1;
1232
1233
  this.noDataFoundMsg = null;
1233
1234
  this.selectionTypeForActions = 'multi';
1234
1235
  this.showCardSelection = false;
@@ -1238,6 +1239,7 @@ class PepListComponent {
1238
1239
  this._viewType = '';
1239
1240
  this.firstFieldAsLink = false;
1240
1241
  this.supportSorting = true;
1242
+ this.supportSortingFields = undefined;
1241
1243
  this.supportResizing = true;
1242
1244
  this._parentScroll = null;
1243
1245
  this.disabled = false;
@@ -1255,6 +1257,7 @@ class PepListComponent {
1255
1257
  this.scrollAnimationTime = 500;
1256
1258
  this.scrollDebounceTime = 0;
1257
1259
  this.scrollThrottlingTime = 0;
1260
+ this.SEPARATOR = ',';
1258
1261
  this._useAsWebComponent = false;
1259
1262
  this.itemClick = new EventEmitter();
1260
1263
  this.fieldClick = new EventEmitter();
@@ -1275,7 +1278,6 @@ class PepListComponent {
1275
1278
  this.hasColumnWidthOfTypePercentage = true;
1276
1279
  this._items = null;
1277
1280
  this.itemsCounter = 0;
1278
- this.SEPARATOR = ',';
1279
1281
  this.isAllSelected = false;
1280
1282
  this.selectedItems = new Map();
1281
1283
  this.unSelectedItems = new Map();
@@ -1287,11 +1289,13 @@ class PepListComponent {
1287
1289
  this.deviceHasMouse = false;
1288
1290
  // For resize
1289
1291
  this.pressedColumn = '';
1292
+ this.pressedColumnIndex = -1;
1290
1293
  this.startX = 0;
1291
1294
  this.startWidth = 0;
1292
1295
  this.tableStartWidth = 0;
1296
+ this.lastColumnsWidth = [];
1293
1297
  // For sorting
1294
- this.isAsc = true;
1298
+ this.isAsc = false;
1295
1299
  this.sortBy = '';
1296
1300
  this.isUserSelected = false;
1297
1301
  this.checkForChanges = null;
@@ -1304,6 +1308,16 @@ class PepListComponent {
1304
1308
  this.deviceHasMouse = deviceHasMouse;
1305
1309
  });
1306
1310
  }
1311
+ set sorting(value) {
1312
+ this.sortBy = (value === null || value === void 0 ? void 0 : value.sortBy) || '';
1313
+ this.isAsc = (value === null || value === void 0 ? void 0 : value.sortBy.length) > 0 ? value.isAsc : this.isAsc;
1314
+ }
1315
+ get sorting() {
1316
+ return {
1317
+ sortBy: this.sortBy,
1318
+ isAsc: this.isAsc
1319
+ };
1320
+ }
1307
1321
  set viewType(value) {
1308
1322
  this._viewType = value;
1309
1323
  this.isTable = value === 'table';
@@ -1380,6 +1394,9 @@ class PepListComponent {
1380
1394
  // }
1381
1395
  this.saveSortingToSession();
1382
1396
  }
1397
+ getCachedItemsNumber() {
1398
+ return this.cacheSize >= 0 ? this.cacheSize : PepListComponent.TOP_ITEMS_ARRAY;
1399
+ }
1383
1400
  getScrollingElement() {
1384
1401
  var _a;
1385
1402
  return this.parentScroll ? this.parentScroll : (_a = this.virtualScroller) === null || _a === void 0 ? void 0 : _a.contentElementRef.nativeElement.parentElement;
@@ -1436,11 +1453,13 @@ class PepListComponent {
1436
1453
  }
1437
1454
  }
1438
1455
  }
1456
+ getSelectionCheckBoxWidth() {
1457
+ return this.selectionTypeForActions === 'multi' ? 44 : (this.selectionTypeForActions === 'single' ? 44 : 0);
1458
+ }
1439
1459
  setContainerWidth() {
1440
1460
  if (!this.hostElement.nativeElement.parentElement) {
1441
1461
  return;
1442
1462
  }
1443
- const selectionCheckBoxWidth = this.selectionTypeForActions === 'multi' ? 44 : 0;
1444
1463
  const rowHeight = 40; // the table row height (2.5rem * 16font-size).
1445
1464
  const style = getComputedStyle(this.hostElement.nativeElement.parentElement);
1446
1465
  // The container-fluid class padding left + right + border
@@ -1453,7 +1472,7 @@ class PepListComponent {
1453
1472
  ? this.layoutService.getScrollbarWidth()
1454
1473
  : 0;
1455
1474
  // The selectionCheckBoxWidth width + containerFluidSpacing + this.tableScrollWidth.
1456
- const rowHeaderWidthToSub = containerFluidSpacing + selectionCheckBoxWidth + this.tableScrollWidth;
1475
+ const rowHeaderWidthToSub = containerFluidSpacing + this.getSelectionCheckBoxWidth() + this.tableScrollWidth;
1457
1476
  this.containerWidth = parentContainer.offsetWidth - rowHeaderWidthToSub;
1458
1477
  }
1459
1478
  saveSortingToSession() {
@@ -1466,11 +1485,16 @@ class PepListComponent {
1466
1485
  : PepListComponent.TOP_ITEMS_THUMBNAILS;
1467
1486
  }
1468
1487
  disableScroll(disable) {
1488
+ var _a, _b;
1489
+ const hostParentElement = (_b = (_a = this.hostElement) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.parentElement;
1490
+ if (!hostParentElement) {
1491
+ return;
1492
+ }
1469
1493
  if (disable) {
1470
- this.renderer.addClass(this.hostElement.nativeElement.parentElement, 'lock-events');
1494
+ this.renderer.addClass(hostParentElement, 'lock-events');
1471
1495
  }
1472
1496
  else {
1473
- this.renderer.removeClass(this.hostElement.nativeElement.parentElement, 'lock-events');
1497
+ this.renderer.removeClass(hostParentElement, 'lock-events');
1474
1498
  }
1475
1499
  }
1476
1500
  toggleLoadingItemsFropApi(loadingItemsFromApi) {
@@ -1534,17 +1558,74 @@ class PepListComponent {
1534
1558
  if (!this.cd['destroyed']) {
1535
1559
  this.cd.detectChanges();
1536
1560
  }
1537
- // Set the columns width.
1561
+ // Set the container width.
1538
1562
  if (this.containerWidth <= 0) {
1539
1563
  this.setContainerWidth();
1540
1564
  }
1541
- this.calcColumnsWidth();
1565
+ const isLastColumnsWidthSet = this.setLastColumnsWidth();
1566
+ // Set the layout only if the last columns width couldn't set.
1567
+ if (!isLastColumnsWidthSet) {
1568
+ this.calcColumnsWidth();
1569
+ }
1542
1570
  this.checkForChanges = new Date().getTime();
1543
1571
  }
1572
+ setLastColumnsWidth() {
1573
+ let res = false;
1574
+ let totalCalcColsWidth = 0;
1575
+ let widthToSet = 'inherit';
1576
+ if (this.lastColumnsWidth.length > 0) {
1577
+ // Check if this is the same UI control for table.
1578
+ if (this.lastColumnsWidth.length === this._layout.ControlFields.length) {
1579
+ let uiControlsAreTheSame = true;
1580
+ for (let index = 0; index < this._layout.ControlFields.length; index++) {
1581
+ const uiControlField = this._layout.ControlFields[index];
1582
+ if (uiControlField.ApiName !== this.lastColumnsWidth[index].columnAPIName) {
1583
+ uiControlsAreTheSame = false;
1584
+ break;
1585
+ }
1586
+ }
1587
+ if (uiControlsAreTheSame) {
1588
+ for (let index = 0; index < this._layout.ControlFields.length; index++) {
1589
+ const uiControlField = this._layout.ControlFields[index];
1590
+ uiControlField.calcColumnWidth = this.lastColumnsWidth[index].calcColumnWidth;
1591
+ uiControlField.calcTitleColumnWidthString = this.lastColumnsWidth[index].calcTitleColumnWidthString;
1592
+ uiControlField.calcColumnWidthString = this.lastColumnsWidth[index].calcColumnWidthString;
1593
+ totalCalcColsWidth += this.lastColumnsWidth[index].calcColumnWidth;
1594
+ }
1595
+ widthToSet = (totalCalcColsWidth + this.getSelectionCheckBoxWidth()) + 'px';
1596
+ console.log(`setLastColumnsWidth -> widthToSet: ${widthToSet} *** totalCalcColsWidth: ${totalCalcColsWidth}`);
1597
+ this.setColumnsWidth(widthToSet);
1598
+ res = true;
1599
+ }
1600
+ }
1601
+ }
1602
+ return res;
1603
+ }
1604
+ setVirtualScrollWidth(widthToSet) {
1605
+ if (this.virtualScroller) {
1606
+ this.renderer.setStyle(this.virtualScroller.contentElementRef.nativeElement, 'width', widthToSet === 'inherit' ? '100%' : widthToSet);
1607
+ }
1608
+ }
1609
+ setColumnsWidth(widthToSet) {
1610
+ // this.renderer.setStyle(
1611
+ // this.hostElement.nativeElement,
1612
+ // 'width',
1613
+ // widthToSet
1614
+ // );
1615
+ this.renderer.setStyle(this.listContainerResizableElementRef.nativeElement, 'width', widthToSet);
1616
+ if (this.isTable) {
1617
+ this.setVirtualScrollWidth(widthToSet);
1618
+ }
1619
+ else {
1620
+ // Do this only after UI is change cause the property isTable is Input and can refresh after this thread.
1621
+ setTimeout(() => {
1622
+ this.setVirtualScrollWidth(widthToSet);
1623
+ }, 0);
1624
+ }
1625
+ }
1544
1626
  calcColumnsWidth() {
1545
1627
  const fixedMultiple = 3.78; // for converting em to pixel.
1546
1628
  const length = this._layout.ControlFields.length;
1547
- const selectionCheckBoxWidth = this.selectionTypeForActions === 'multi' ? 44 : 0;
1548
1629
  // Is table AND there is at least one column of width type of percentage.
1549
1630
  if (this.isTable) {
1550
1631
  if (this._layout && this._layout.ControlFields) {
@@ -1560,6 +1641,7 @@ class PepListComponent {
1560
1641
  }
1561
1642
  }
1562
1643
  let totalCalcColsWidth = 0;
1644
+ let widthToSet = 'inherit';
1563
1645
  // Calc by percentage
1564
1646
  if (this.hasColumnWidthOfTypePercentage) {
1565
1647
  const totalColsWidth = this._layout.ControlFields.map((cf) => cf.ColumnWidth).reduce((sum, current) => sum + current);
@@ -1575,7 +1657,6 @@ class PepListComponent {
1575
1657
  totalCalcColsWidth += uiControlField.calcColumnWidth;
1576
1658
  }
1577
1659
  }
1578
- this.renderer.setStyle(this.hostElement.nativeElement, 'width', 'inherit');
1579
1660
  }
1580
1661
  else {
1581
1662
  for (let index = 0; index < length; index++) {
@@ -1583,16 +1664,17 @@ class PepListComponent {
1583
1664
  .ControlFields[index];
1584
1665
  const currentFixedWidth = Math.floor(uiControlField.ColumnWidth * fixedMultiple);
1585
1666
  if (index === length - 1) {
1586
- uiControlField.calcTitleColumnWidthString = currentFixedWidth + 'px';
1587
- uiControlField.calcColumnWidthString = currentFixedWidth + 'px';
1667
+ uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString = currentFixedWidth + 'px';
1588
1668
  }
1589
1669
  else {
1590
1670
  uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString = currentFixedWidth + 'px';
1591
1671
  }
1592
1672
  totalCalcColsWidth += currentFixedWidth;
1593
1673
  }
1594
- this.renderer.setStyle(this.hostElement.nativeElement, 'width', totalCalcColsWidth + selectionCheckBoxWidth + 'px');
1674
+ widthToSet = (totalCalcColsWidth + this.getSelectionCheckBoxWidth()) + 'px';
1595
1675
  }
1676
+ console.log(`calcColumnsWidth -> widthToSet: ${widthToSet} *** totalCalcColsWidth: ${totalCalcColsWidth}`);
1677
+ this.setColumnsWidth(widthToSet);
1596
1678
  }
1597
1679
  calcObjectHeight() {
1598
1680
  setTimeout(() => {
@@ -1613,6 +1695,7 @@ class PepListComponent {
1613
1695
  this.startWidth = 0;
1614
1696
  this.tableStartWidth = 0;
1615
1697
  this.pressedColumn = '';
1698
+ this.pressedColumnIndex = -1;
1616
1699
  }
1617
1700
  getParent(el, parentSelector) {
1618
1701
  // If no parentSelector defined will bubble up all the way to *document*
@@ -1669,7 +1752,9 @@ class PepListComponent {
1669
1752
  }
1670
1753
  const isAllSelected = this.sessionService.getObject(PepListComponent.ALL_SELECTED_STATE_KEY);
1671
1754
  if (isAllSelected != null) {
1672
- this.isAllSelected = isAllSelected && this.getIsAllSelected(items);
1755
+ // Comment this in version 0.4.2-beta.103, I don't know why we need this (&& this.getIsAllSelected(items))
1756
+ // this.isAllSelected = isAllSelected && this.getIsAllSelected(items);
1757
+ this.isAllSelected = isAllSelected;
1673
1758
  this.sessionService.removeObject(PepListComponent.ALL_SELECTED_STATE_KEY);
1674
1759
  }
1675
1760
  else {
@@ -1873,7 +1958,8 @@ class PepListComponent {
1873
1958
  this.selectedItemId = this.getUniqItemId(itemId, itemType);
1874
1959
  isChecked = true;
1875
1960
  }
1876
- if (this.isTable) {
1961
+ // TODO - need to check what we want to do line view
1962
+ if (this.isTable || this.viewType === 'cards') {
1877
1963
  if (this.selectionTypeForActions === 'single') {
1878
1964
  this.setItemClicked(itemId, item.IsSelectableForActions, itemType, isChecked);
1879
1965
  }
@@ -1899,6 +1985,51 @@ class PepListComponent {
1899
1985
  onTableRowMouseLeave(event, itemId, itemType) {
1900
1986
  this.hoveredItemId = '';
1901
1987
  }
1988
+ onTabKeydown(event, itemId, itemType) {
1989
+ const keyboardEvent = event;
1990
+ if (keyboardEvent.key === 'Tab') {
1991
+ const jumpToNextRow = !keyboardEvent.shiftKey;
1992
+ const eventTarget = event.target || event.srcElement;
1993
+ const isLastColumn = this.isLastColunm(eventTarget, 'table-cell', jumpToNextRow);
1994
+ // If the last column then go to the next row.
1995
+ if (isLastColumn) {
1996
+ const currentRowEL = this.getParentByClass(eventTarget, 'table-row');
1997
+ const nextRow = jumpToNextRow ? currentRowEL === null || currentRowEL === void 0 ? void 0 : currentRowEL.nextElementSibling : currentRowEL === null || currentRowEL === void 0 ? void 0 : currentRowEL.previousElementSibling;
1998
+ if (nextRow !== null) {
1999
+ // Remove the highlight from the current row.
2000
+ this.renderer.removeClass(nextRow, 'highlighted');
2001
+ // Highlight the next row.
2002
+ this.renderer.addClass(nextRow, 'highlighted');
2003
+ // Click on the first cell of the next row.
2004
+ const indexOfFocusCell = jumpToNextRow ? 0 : nextRow.querySelectorAll('.table-cell').length - 1;
2005
+ nextRow.querySelectorAll('.table-cell')[indexOfFocusCell].click();
2006
+ setTimeout(() => {
2007
+ nextRow.querySelectorAll('.table-cell')[indexOfFocusCell].focus();
2008
+ }, 100);
2009
+ }
2010
+ }
2011
+ }
2012
+ }
2013
+ isLastColunm(el, parentSelector, isNext = true) {
2014
+ const parent = this.getParentByClass(el, parentSelector);
2015
+ // check if last column or if shifr pressed and it's the first column
2016
+ return isNext ? (parent === null || parent === void 0 ? void 0 : parent.nextElementSibling) === null : ((parent === null || parent === void 0 ? void 0 : parent.previousElementSibling) === null);
2017
+ }
2018
+ getParentByClass(el, parentSelector /* optional */) {
2019
+ var _a;
2020
+ // If no parentSelector defined will bubble up all the way to *document*
2021
+ if (parentSelector === undefined) {
2022
+ parentSelector = document;
2023
+ }
2024
+ let p = el.parentNode;
2025
+ while (p &&
2026
+ !((_a = p === null || p === void 0 ? void 0 : p.classList) === null || _a === void 0 ? void 0 : _a.contains(parentSelector)) &&
2027
+ parentSelector !== document) {
2028
+ const o = p;
2029
+ p = (o === null || o === void 0 ? void 0 : o.parentNode) || null;
2030
+ }
2031
+ return (p === null || p === void 0 ? void 0 : p.className.indexOf(parentSelector)) > -1 ? p : null;
2032
+ }
1902
2033
  onCardMouseEnter(event, itemId, itemType) {
1903
2034
  if (!this.deviceHasMouse) {
1904
2035
  return;
@@ -1952,18 +2083,28 @@ class PepListComponent {
1952
2083
  }
1953
2084
  this.sessionService.setObject(PepListComponent.ALL_SELECTED_STATE_KEY, this.isAllSelected);
1954
2085
  }
1955
- initListData(layout, totalRows, items) {
2086
+ initListData(layout, totalRows, items, selectionTypeForActions = undefined) {
1956
2087
  this.initVariablesFromSession(items);
1957
- const currentList = this.isAllSelected
2088
+ const selectedItemsList = this.isAllSelected
1958
2089
  ? this.unSelectedItems
1959
2090
  : this.selectedItems;
1960
2091
  const currentListCount = this.isAllSelected
1961
- ? this.totalRows - currentList.size
1962
- : currentList.size;
2092
+ ? this.totalRows - selectedItemsList.size
2093
+ : selectedItemsList.size;
1963
2094
  this.selectedItemsChange.emit(currentListCount);
1964
2095
  this._layout = layout;
1965
2096
  this.selectedItemId = '';
1966
2097
  this.totalRows = totalRows;
2098
+ // Added to handle if the selectionTypeForActions is set in the html then the input this.selectedItemId will no set cause this function happens before.
2099
+ if (selectionTypeForActions) {
2100
+ this.selectionTypeForActions = selectionTypeForActions;
2101
+ }
2102
+ // If is all selected is false && the size of the selected items is 1 && selectionTypeForActions is 'single' then set it as the selected item id.
2103
+ // We need this in setTimeout cause the selectionTypeForActions is input that can set after this function.
2104
+ if (!this.isAllSelected && this.selectedItems.size === 1 && this.selectionTypeForActions === 'single') {
2105
+ const [firstValue] = this.selectedItems.values();
2106
+ this.selectedItemId = firstValue;
2107
+ }
1967
2108
  this.scrollToTop(false);
1968
2109
  this.cleanItems();
1969
2110
  this.disableScroll(true);
@@ -1997,6 +2138,9 @@ class PepListComponent {
1997
2138
  }
1998
2139
  }
1999
2140
  }
2141
+ if (!this.isTable) {
2142
+ this.lastColumnsWidth = [];
2143
+ }
2000
2144
  this.setLayout();
2001
2145
  // setTimeout(() => {
2002
2146
  this.onListLoad();
@@ -2008,7 +2152,7 @@ class PepListComponent {
2008
2152
  return; // Event isn't supplied.
2009
2153
  }
2010
2154
  // Clean array
2011
- if (this.itemsCounter + items.length > PepListComponent.TOP_ITEMS_ARRAY) {
2155
+ if (this.itemsCounter + items.length > this.getCachedItemsNumber()) {
2012
2156
  this.cleanItems();
2013
2157
  }
2014
2158
  const startIndex = (_a = event.fromIndex) !== null && _a !== void 0 ? _a : 0;
@@ -2025,7 +2169,7 @@ class PepListComponent {
2025
2169
  return; // Event isn't supplied.
2026
2170
  }
2027
2171
  // Clean array
2028
- if (this.itemsCounter + items.length > PepListComponent.TOP_ITEMS_ARRAY) {
2172
+ if (this.itemsCounter + items.length > this.getCachedItemsNumber()) {
2029
2173
  this.cleanItems();
2030
2174
  }
2031
2175
  // const loadInChunks = this.itemsCounter === 0;
@@ -2124,17 +2268,21 @@ class PepListComponent {
2124
2268
  onWinResize(e) {
2125
2269
  this.refresh();
2126
2270
  this.containerWidth = 0;
2271
+ this.lastColumnsWidth = [];
2127
2272
  this.setLayout();
2128
2273
  }
2129
- onListResizeStart(event, columnKey) {
2130
- var _a;
2274
+ onListResizeStart(event, columnKey, columnIndex) {
2131
2275
  this.pressedColumn = columnKey;
2276
+ this.pressedColumnIndex = columnIndex;
2132
2277
  this.startX = event.x;
2133
2278
  this.startWidth = event.target.closest('.header-column').offsetWidth;
2134
- this.tableStartWidth = (_a = this.virtualScroller) === null || _a === void 0 ? void 0 : _a.contentElementRef.nativeElement.offsetWidth;
2279
+ // this.tableStartWidth = this.hostElement.nativeElement.offsetWidth; // this.virtualScroller?.contentElementRef.nativeElement.offsetWidth;
2280
+ this.tableStartWidth = this.listContainerResizableElementRef.nativeElement.offsetWidth; // this.virtualScroller?.contentElementRef.nativeElement.offsetWidth;
2281
+ console.log(`tableStartWidth - ${this.tableStartWidth}`);
2135
2282
  }
2136
2283
  onListResize(event) {
2137
- if (this.pressedColumn.length > 0) {
2284
+ // if (this.pressedColumn.length > 0) {
2285
+ if (this.pressedColumnIndex >= 0) {
2138
2286
  let widthToAdd = this.layoutService.isRtl() ? this.startX - event.x : event.x - this.startX;
2139
2287
  // Set the width of the column and the container of the whole columns.
2140
2288
  if (this.startWidth + widthToAdd >= PepListComponent.MINIMUM_COLUMN_WIDTH || widthToAdd > 0) {
@@ -2151,26 +2299,31 @@ class PepListComponent {
2151
2299
  uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString = 'calc(100% - ' + (totalCalcColsWidth + scrollWidth) + 'px)'; // For 100%
2152
2300
  }
2153
2301
  else {
2154
- if (uiControlField.ApiName === this.pressedColumn) {
2302
+ // if (uiControlField.ApiName === this.pressedColumn) {
2303
+ if (index === this.pressedColumnIndex) {
2155
2304
  uiControlField.calcColumnWidth = this.startWidth + widthToAdd;
2156
2305
  uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidth + 'px';
2157
2306
  uiControlField.calcColumnWidthString = uiControlField.calcColumnWidth + 'px';
2158
2307
  }
2159
2308
  }
2309
+ // } else if (uiControlField.ApiName === this.pressedColumn) {
2160
2310
  }
2161
- else if (uiControlField.ApiName === this.pressedColumn) {
2311
+ else if (index === this.pressedColumnIndex) {
2162
2312
  uiControlField.calcColumnWidth = this.startWidth + widthToAdd;
2163
2313
  uiControlField.calcTitleColumnWidthString = uiControlField.calcColumnWidthString = uiControlField.calcColumnWidth + 'px';
2164
2314
  }
2165
2315
  totalCalcColsWidth += uiControlField.calcColumnWidth;
2166
2316
  }
2167
- this.renderer.setStyle(this.hostElement.nativeElement, 'width', this.tableStartWidth + widthToAdd + 'px');
2317
+ const widthToSet = (this.tableStartWidth + widthToAdd) + 'px';
2318
+ console.log(`onListResize -> widthToSet: ${widthToSet} *** widthToAdd: ${widthToAdd}`);
2319
+ this.setColumnsWidth(widthToSet);
2320
+ this.checkForChanges = new Date().getTime();
2168
2321
  }
2169
- this.checkForChanges = new Date().getTime();
2170
2322
  }
2171
2323
  }
2172
2324
  onListResizeEnd(event) {
2173
- if (this.pressedColumn.length > 0) {
2325
+ // if (this.pressedColumn.length > 0) {
2326
+ if (this.pressedColumnIndex >= 0) {
2174
2327
  if (event &&
2175
2328
  this.getParent(event.srcElement, 'resize-box').length > 0) {
2176
2329
  this.initResizeData();
@@ -2181,11 +2334,24 @@ class PepListComponent {
2181
2334
  this.initResizeData();
2182
2335
  }, 0);
2183
2336
  }
2337
+ this.lastColumnsWidth = [];
2338
+ // Set the last columns width
2339
+ for (let index = 0; index < this._layout.ControlFields.length; index++) {
2340
+ const uiControlField = this._layout.ControlFields[index];
2341
+ this.lastColumnsWidth.push({
2342
+ columnAPIName: uiControlField.ApiName,
2343
+ calcColumnWidth: uiControlField.calcColumnWidth,
2344
+ calcTitleColumnWidthString: uiControlField.calcTitleColumnWidthString,
2345
+ calcColumnWidthString: uiControlField.calcColumnWidthString
2346
+ });
2347
+ }
2184
2348
  event.stopPropagation();
2185
2349
  }
2186
2350
  }
2187
2351
  onListSortingChange(sortBy, isAsc, event = null) {
2188
- if (this.pressedColumn.length > 0 ||
2352
+ if (
2353
+ // this.pressedColumn.length > 0 ||
2354
+ this.pressedColumnIndex >= 0 ||
2189
2355
  (event && this.getParent(event.srcElement, 'resize-box').length > 0)) {
2190
2356
  return;
2191
2357
  }
@@ -2207,7 +2373,7 @@ class PepListComponent {
2207
2373
  onPagerChange(event) {
2208
2374
  this.pageIndex = event.pageIndex;
2209
2375
  // Scroll to top.
2210
- this.scrollToTop();
2376
+ //this.scrollToTop();
2211
2377
  const startIndex = event.pageIndex * event.pageSize;
2212
2378
  const endIndex = Math.min(startIndex + event.pageSize, this.totalRows);
2213
2379
  let shouldGetItemsFromApi = false;
@@ -2226,11 +2392,13 @@ class PepListComponent {
2226
2392
  pageIndex: event.pageIndex,
2227
2393
  pageSize: event.pageSize,
2228
2394
  });
2395
+ this.scrollToTop();
2229
2396
  }
2230
2397
  }
2231
2398
  else {
2232
2399
  setTimeout(() => {
2233
2400
  this.updateCurrentPageItems(startIndex, endIndex);
2401
+ this.scrollToTop();
2234
2402
  }, this.scrollAnimationTime);
2235
2403
  }
2236
2404
  }
@@ -2306,6 +2474,22 @@ class PepListComponent {
2306
2474
  }
2307
2475
  this.fieldClick.emit(customizeFieldClickedData);
2308
2476
  }
2477
+ //added to handle sorting by specific columns----
2478
+ isSortableColumn(apiName) {
2479
+ var _a;
2480
+ //case 1 - supportSorting = true and array exists
2481
+ if (this.supportSorting) {
2482
+ if ((_a = this.supportSortingFields) === null || _a === void 0 ? void 0 : _a.length) {
2483
+ return this.supportSortingFields.includes(apiName);
2484
+ //case 2 - supportSorting = true and array does not exist
2485
+ }
2486
+ else if (this.supportSortingFields === undefined) {
2487
+ return true;
2488
+ } // case 3 supportSorting = false
2489
+ }
2490
+ else
2491
+ return false;
2492
+ }
2309
2493
  }
2310
2494
  PepListComponent.TOP_ITEMS_DEFAULT = 100;
2311
2495
  PepListComponent.TOP_ITEMS_TABLE = 100;
@@ -2316,15 +2500,22 @@ PepListComponent.UN_SELECTED_ITEMS_STATE_KEY = 'UnSelectedItems';
2316
2500
  PepListComponent.ALL_SELECTED_STATE_KEY = 'AllSelected';
2317
2501
  PepListComponent.SORT_BY_STATE_KEY = 'SortBy';
2318
2502
  PepListComponent.ASCENDING_STATE_KEY = 'IsAscending';
2319
- PepListComponent.MINIMUM_COLUMN_WIDTH = 48;
2503
+ PepListComponent.MINIMUM_COLUMN_WIDTH = 72;
2320
2504
  PepListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListComponent, deps: [{ token: i0.ElementRef }, { token: i1.PepLayoutService }, { token: i1.PepSessionService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
2321
- PepListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListComponent, selector: "pep-list", inputs: { noDataFoundMsg: "noDataFoundMsg", selectionTypeForActions: "selectionTypeForActions", showCardSelection: "showCardSelection", hideAllSelectionInMulti: "hideAllSelectionInMulti", cardSize: "cardSize", tableViewType: "tableViewType", viewType: "viewType", firstFieldAsLink: "firstFieldAsLink", supportSorting: "supportSorting", supportResizing: "supportResizing", parentScroll: "parentScroll", disabled: "disabled", lockEvents: "lockEvents", lockItemInnerEvents: "lockItemInnerEvents", printMode: "printMode", isReport: "isReport", zebraStripes: "zebraStripes", totalsRow: "totalsRow", pagerType: "pagerType", pageSize: "pageSize", pageIndex: "pageIndex", bufferAmount: "bufferAmount", scrollAnimationTime: "scrollAnimationTime", scrollDebounceTime: "scrollDebounceTime", scrollThrottlingTime: "scrollThrottlingTime", useAsWebComponent: "useAsWebComponent" }, outputs: { itemClick: "itemClick", fieldClick: "fieldClick", valueChange: "valueChange", sortingChange: "sortingChange", selectedItemsChange: "selectedItemsChange", selectedItemChange: "selectedItemChange", selectAllClick: "selectAllClick", listLoad: "listLoad", loadItems: "loadItems", loadPage: "loadPage", startIndexChange: "startIndexChange" }, host: { listeners: { "window:resize": "onWinResize($event)" } }, viewQueries: [{ propertyName: "virtualScroller", first: true, predicate: VirtualScrollerComponent, descendants: true }, { propertyName: "selectAllCB", first: true, predicate: ["selectAllCB"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"totalRows == 0\">\n <ng-container *ngIf=\"noDataFoundMsg; then noDataMsgInputBlock; else noDataMsgDefaultBlock\"></ng-container>\n <ng-template #noDataMsgInputBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ noDataFoundMsg }}\n </p>\n </div>\n </ng-template>\n <ng-template #noDataMsgDefaultBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ 'LIST.NO_DATA_FOUND' | translate}}\n </p>\n </div>\n <div class=\"no-data-suggestions\">\n <p class=\"suggestions-title title-lg\">\n {{ 'LIST.NO_DATA_FOUND_SUGGESTIONS_TITLE' | translate}}\n </p>\n <ul class=\"suggestions-list body-lg\" [innerHtml]=\"'LIST.NO_DATA_FOUND_SUGGESTIONS_LIST' | translate\"></ul>\n </div>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"totalRows > 0\">\n <ng-container *ngTemplateOutlet=\"tableHeader\"></ng-container>\n\n <!-- (vsChildRectChange)=\"onChildRectChange($event)\" -->\n <virtual-scroller #scroller [items]=\"pagerType === 'pages' ? currentPageItems : items\"\n [scrollDebounceTime]=\"scrollDebounceTime\" [scrollThrottlingTime]=\"scrollThrottlingTime\"\n [bufferAmount]=\"printMode ? totalRows : bufferAmount\" [parentScroll]=\"parentScroll\" [disable]=\"loadingItemsFromApi\"\n class=\"virtual-scroller\" [ngClass]=\"{ 'table-body': isTable, 'cards-body': !isTable }\"\n (vsChange)=\"onVirtualScrollerChange($event)\" >\n <ng-container *ngFor=\"let item of scroller.viewPortItems; let index = index; let isFirst = first;\">\n <ng-container *ngTemplateOutlet=\"listData; context: {item: item, index:index}\"></ng-container>\n </ng-container>\n </virtual-scroller>\n\n <pep-list-pager *ngIf=\"pagerType === 'pages'\" class=\" list-pager\" [disabled]=\"loadingItemsFromApi\"\n [length]=\"totalRows\" [pageSize]=\"pageSize\" [pageIndex]=\"pageIndex\" (pagerChange)=\"onPagerChange($event)\">\n </pep-list-pager>\n\n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n</ng-container>\n\n<ng-template #listData let-item=\"item\" let-index=\"index\">\n <ng-container *ngIf=\"isTable\">\n <!-- getIsItemSelected(item) -> item | isItemSelected: selectionTypeForActions : selectedItemId : isAllSelected : selectedItems : unSelectedItems -->\n <div class=\"table-row\" (mouseenter)=\"onTableRowMouseEnter($event, item?.UID, item?.Type)\" \n (mouseleave)=\"onTableRowMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n even: zebraStripes && index % 2 !== 0,\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId}\" [ngStyle]=\"{ visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <fieldset class=\"table-row-fieldset\" [ngStyle]=\"{ 'background-color': item?.BackgroundColor }\">\n <mat-checkbox *ngIf=\"selectionTypeForActions == 'multi'\" type=\"checkbox\"\n class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"getisItemDisabled(item)\" [ngStyle]=\"{\n visibility: !deviceHasMouse ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId || isAllSelected || selectedItems.size > 0 ? 'visible' : 'hidden'\n }\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <mat-radio-button *ngIf=\"selectionTypeForActions == 'single'\" name=\"selection\"\n class=\"pull-left flip row-selection pep-radio-button\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"getisItemDisabled(item)\"\n [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-radio-button>\n <pep-form [layoutType]=\"'table'\" [checkForChanges]=\"checkForChanges\" [layout]=\"layout\"\n [firstFieldAsLink]=\"firstFieldAsLink\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isReport]=\"isReport\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!isTable\">\n <div (mouseenter)=\"onCardMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onCardMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId,\n 'line-view': viewType === 'lines',\n 'card-view': viewType === 'cards',\n 'small-card': cardSize === 'sm'\n }\" class=\"pull-left flip\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <mat-checkbox *ngIf=\"showCardSelection\" class=\"pull-left flip card-selection\"\n [disabled]=\"getisItemDisabled(item)\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <pep-form [layoutType]=\"'card'\" [firstFieldAsLink]=\"firstFieldAsLink\" [checkForChanges]=\"checkForChanges\"\n [layout]=\"layout\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tableHeader>\n <div *ngIf=\"isTable\" class=\"table-header\" (mouseup)=\"onListResizeEnd($event)\"\n (mouseenter)=\"onListHeaderMouseEnter($event)\" (mouseleave)=\"onListHeaderMouseLeave($event)\"\n (mousemove)=\"onListResize($event)\">\n\n <div class=\"table-header-padding-top\"></div>\n <fieldset class=\"table-header-fieldset\">\n <mat-checkbox *ngIf=\"selectionTypeForActions !== 'none'\" #selectAllCB class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n type=\"checkbox\" [ngStyle]=\"{\n visibility:\n selectionTypeForActions == 'single' || \n (selectionTypeForActions == 'multi' && hideAllSelectionInMulti) ? 'hidden' : 'visible'\n }\"\n [indeterminate]=\"isAllSelected ? unSelectedItems.size > 0 && unSelectedItems.size < totalRows : (selectedItems.size > 0 && !getIsAllSelectedForActions())\"\n [disabled]=\"disabled || selectionTypeForActions === 'single'\" [checked]=\"getIsAllSelectedForActions()\"\n (change)=\"selectAllItemsForActions($event)\"></mat-checkbox>\n <fieldset>\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"header-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n 'support-sorting': supportSorting,\n 'has-sorting': field.ApiName === sortBy,\n 'is-resizing': field.ApiName === pressedColumn,\n 'is-first': j === 0 && selectionTypeForActions !== 'multi',\n 'is-last': j === layout?.ControlFields?.length - 1\n }\"\n (click)=\"supportSorting ? (onListSortingChange(field.ApiName, sortBy !== null && sortBy != field.ApiName ? true : !isAsc, $event)) : false\">\n\n <label id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip text-align-{{ field.Layout.XAlignment }}\"\n title=\"{{ field.Title }}\">\n <span *ngIf=\"field.Mandatory\" class=\"mandatory\">\n <pep-icon name=\"system_must\"></pep-icon>\n </span>\n {{ field.Title != '' ? field.Title : ' '}}\n </label>\n\n <div *ngIf=\"supportResizing\" class=\"resize-box pull-right flip\"\n (mousedown)=\"onListResizeStart($event, field.ApiName)\">\n <div class=\"splitter\"></div>\n </div>\n\n <div *ngIf=\"supportSorting\" class=\"sorting-box pull-left flip\"\n [ngClass]=\"{ 'has-sorting': field.ApiName === sortBy }\">\n <mat-icon *ngIf=\"field.ApiName !== sortBy\">\n <pep-icon name=\"arrow_either\" class=\"asc\"></pep-icon>\n </mat-icon>\n <ng-container *ngIf=\"field.ApiName === sortBy\">\n <mat-icon *ngIf=\"!isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && isAsc }\"\n title=\"{{ 'LIST.SORT_ASC' | translate }}\">\n <pep-icon name=\"arrow_up\" class=\"asc\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && !isAsc }\"\n title=\"{{ 'LIST.SORT_DESC' | translate }}\">\n <pep-icon name=\"arrow_down\" class=\"desc\"></pep-icon>\n </mat-icon>\n </ng-container>\n </div>\n </div>\n </fieldset>\n </fieldset>\n </div>\n</ng-template>\n\n<ng-template #tableTotal>\n <div *ngIf=\"isTable && totalsRow?.length > 0 && totalsRow.length <= layout?.ControlFields.length\"\n class=\"table-total\">\n <fieldset class=\"table-header-fieldset\">\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"total-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\">\n <label class=\"total-label body-sm text-align-{{ field.Layout.XAlignment }}\">\n {{ totalsRow[j] }}\n </label>\n </div>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:flex;flex-direction:column}.no-data{margin:var(--pep-spacing-2xl, 2rem) 0}.no-data-suggestions .suggestions-title{margin:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem)}.no-data-suggestions .suggestions-list{margin:0;padding:0;padding-inline-start:var(--pep-spacing-2xl, 2rem)}.virtual-scroller{min-height:5rem;height:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4$1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i7.PepFormComponent, selector: "pep-form", inputs: ["isInternal", "isReport", "layout", "lockEvents", "canEditObject", "data", "lockFields", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "fieldClick", "internalFormFieldClick", "internalFormFieldChange"] }, { kind: "component", type: VirtualScrollerComponent, selector: "virtual-scroller,[virtualScroller]", inputs: ["disable", "executeRefreshOutsideAngularZone", "enableUnequalChildrenSizes", "RTL", "useMarginInsteadOfTranslate", "modifyOverflowStyleOfParentScroll", "stripedTable", "scrollbarWidth", "scrollbarHeight", "childWidth", "childHeight", "ssrChildWidth", "ssrChildHeight", "ssrViewportWidth", "ssrViewportHeight", "bufferAmount", "scrollAnimationTime", "resizeBypassRefreshThreshold", "scrollThrottlingTime", "scrollDebounceTime", "checkResizeInterval", "items", "compareItems", "horizontal", "parentScroll"], outputs: ["vsChildRectChange", "vsUpdate", "vsChange", "vsStart", "vsEnd"], exportAs: ["virtualScroller"] }, { kind: "component", type: PepListPagerComponent, selector: "pep-list-pager", inputs: ["disabled", "pageIndex", "length", "pageSize"], outputs: ["pagerChange"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
2505
+ PepListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListComponent, selector: "pep-list", inputs: { sorting: "sorting", cacheSize: "cacheSize", noDataFoundMsg: "noDataFoundMsg", selectionTypeForActions: "selectionTypeForActions", showCardSelection: "showCardSelection", hideAllSelectionInMulti: "hideAllSelectionInMulti", cardSize: "cardSize", tableViewType: "tableViewType", viewType: "viewType", firstFieldAsLink: "firstFieldAsLink", supportSorting: "supportSorting", supportSortingFields: "supportSortingFields", supportResizing: "supportResizing", parentScroll: "parentScroll", disabled: "disabled", lockEvents: "lockEvents", lockItemInnerEvents: "lockItemInnerEvents", printMode: "printMode", isReport: "isReport", zebraStripes: "zebraStripes", totalsRow: "totalsRow", pagerType: "pagerType", pageSize: "pageSize", pageIndex: "pageIndex", bufferAmount: "bufferAmount", scrollAnimationTime: "scrollAnimationTime", scrollDebounceTime: "scrollDebounceTime", scrollThrottlingTime: "scrollThrottlingTime", SEPARATOR: "SEPARATOR", useAsWebComponent: "useAsWebComponent" }, outputs: { itemClick: "itemClick", fieldClick: "fieldClick", valueChange: "valueChange", sortingChange: "sortingChange", selectedItemsChange: "selectedItemsChange", selectedItemChange: "selectedItemChange", selectAllClick: "selectAllClick", listLoad: "listLoad", loadItems: "loadItems", loadPage: "loadPage", startIndexChange: "startIndexChange" }, host: { listeners: { "window:resize": "onWinResize($event)" } }, viewQueries: [{ propertyName: "listContainerResizableElementRef", first: true, predicate: ["listContainerResizable"], descendants: true, read: ElementRef }, { propertyName: "virtualScroller", first: true, predicate: VirtualScrollerComponent, descendants: true }, { propertyName: "selectAllCB", first: true, predicate: ["selectAllCB"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"totalRows == 0\">\n <ng-container *ngIf=\"noDataFoundMsg; then noDataMsgInputBlock; else noDataMsgDefaultBlock\"></ng-container>\n <ng-template #noDataMsgInputBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ noDataFoundMsg }}\n </p>\n </div>\n </ng-template>\n <ng-template #noDataMsgDefaultBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ 'LIST.NO_DATA_FOUND' | translate}}\n </p>\n </div>\n <div class=\"no-data-suggestions\">\n <p class=\"suggestions-title title-lg\">\n {{ 'LIST.NO_DATA_FOUND_SUGGESTIONS_TITLE' | translate}}\n </p>\n <ul class=\"suggestions-list body-lg\" [innerHtml]=\"'LIST.NO_DATA_FOUND_SUGGESTIONS_LIST' | translate\"></ul>\n </div>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"totalRows > 0\">\n <div class=\"list-container\">\n <div #listContainerResizable class=\"list-container-resizable\">\n <ng-container *ngTemplateOutlet=\"tableHeader\"></ng-container>\n\n <!-- (vsChildRectChange)=\"onChildRectChange($event)\" -->\n <virtual-scroller #scroller [items]=\"pagerType === 'pages' ? currentPageItems : items\"\n [scrollDebounceTime]=\"scrollDebounceTime\" [scrollThrottlingTime]=\"scrollThrottlingTime\"\n [bufferAmount]=\"printMode ? totalRows : bufferAmount\" [parentScroll]=\"parentScroll\" [disable]=\"loadingItemsFromApi\"\n class=\"virtual-scroller\" [ngClass]=\"{ 'table-body': isTable, 'cards-body': !isTable }\"\n (vsChange)=\"onVirtualScrollerChange($event)\" >\n <ng-container *ngFor=\"let item of scroller.viewPortItems; let index = index; let isFirst = first;\">\n <ng-container *ngTemplateOutlet=\"listData; context: {item: item, index:index}\"></ng-container>\n </ng-container>\n </virtual-scroller>\n \n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n </div>\n </div>\n <pep-list-pager *ngIf=\"pagerType === 'pages'\" class=\" list-pager\" [disabled]=\"loadingItemsFromApi\"\n [length]=\"totalRows\" [pageSize]=\"pageSize\" [pageIndex]=\"pageIndex\" (pagerChange)=\"onPagerChange($event)\">\n </pep-list-pager>\n</ng-container>\n\n<ng-template #listData let-item=\"item\" let-index=\"index\">\n <ng-container *ngIf=\"isTable\">\n <!-- getIsItemSelected(item) -> item | isItemSelected: selectionTypeForActions : selectedItemId : isAllSelected : selectedItems : unSelectedItems -->\n <div class=\"table-row\" (mouseenter)=\"onTableRowMouseEnter($event, item?.UID, item?.Type)\" (keydown)=\"onTabKeydown($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onTableRowMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n even: zebraStripes && index % 2 !== 0,\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId}\" [ngStyle]=\"{ visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <fieldset class=\"table-row-fieldset\" [ngStyle]=\"{ 'background-color': item?.BackgroundColor }\">\n <mat-checkbox *ngIf=\"selectionTypeForActions == 'multi'\" type=\"checkbox\"\n class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"false && getisItemDisabled(item)\" [ngStyle]=\"{\n visibility: !deviceHasMouse ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId || isAllSelected || selectedItems.size > 0 ? 'visible' : 'hidden'\n }\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <mat-radio-button *ngIf=\"selectionTypeForActions == 'single'\" name=\"selection\"\n class=\"pull-left flip row-selection pep-radio-button\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"getisItemDisabled(item)\"\n [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-radio-button>\n <pep-form [layoutType]=\"'table'\" [checkForChanges]=\"checkForChanges\" [layout]=\"layout\"\n [firstFieldAsLink]=\"firstFieldAsLink\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isReport]=\"isReport\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!isTable\">\n <div (mouseenter)=\"onCardMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onCardMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId,\n 'line-view': viewType === 'lines',\n 'card-view': viewType === 'cards',\n 'small-card': cardSize === 'sm'\n }\" class=\"pull-left flip\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <mat-checkbox *ngIf=\"showCardSelection\" class=\"pull-left flip card-selection\"\n [disabled]=\"getisItemDisabled(item)\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <pep-form [layoutType]=\"'card'\" [firstFieldAsLink]=\"firstFieldAsLink\" [checkForChanges]=\"checkForChanges\"\n [layout]=\"layout\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tableHeader>\n <div *ngIf=\"isTable\" class=\"table-header\" (mouseup)=\"onListResizeEnd($event)\"\n (mouseenter)=\"onListHeaderMouseEnter($event)\" (mouseleave)=\"onListHeaderMouseLeave($event)\"\n (mousemove)=\"onListResize($event)\">\n\n <div class=\"table-header-padding-top\"></div>\n <fieldset class=\"table-header-fieldset\">\n <mat-checkbox *ngIf=\"selectionTypeForActions !== 'none'\" #selectAllCB class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n type=\"checkbox\" [ngStyle]=\"{\n visibility:\n selectionTypeForActions == 'single' || \n (selectionTypeForActions == 'multi' && hideAllSelectionInMulti) ? 'hidden' : 'visible'\n }\"\n [indeterminate]=\"isAllSelected ? unSelectedItems.size > 0 && unSelectedItems.size < totalRows : (selectedItems.size > 0 && !getIsAllSelectedForActions())\"\n [disabled]=\"disabled || selectionTypeForActions === 'single'\" [checked]=\"getIsAllSelectedForActions()\"\n (change)=\"selectAllItemsForActions($event)\"></mat-checkbox>\n <fieldset>\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"header-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n 'support-sorting': isSortableColumn(field.ApiName),\n 'has-sorting': field.ApiName === sortBy,\n 'is-resizing': field.ApiName === pressedColumn,\n 'is-first': j === 0 && selectionTypeForActions !== 'multi',\n 'is-last': j === layout?.ControlFields?.length - 1\n }\"\n (click)=\"isSortableColumn(field.ApiName) ? (onListSortingChange(field.ApiName, sortBy !== null && sortBy != field.ApiName ? true : !isAsc, $event)) : false\">\n\n <label id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip text-align-{{ field.Layout.XAlignment }}\"\n title=\"{{ field.Title }}\">\n <span *ngIf=\"field.Mandatory\" class=\"mandatory\">\n <pep-icon name=\"system_must\"></pep-icon>\n </span>\n {{ field.Title != '' ? field.Title : ' '}}\n </label>\n\n <div *ngIf=\"supportResizing\" class=\"resize-box pull-right flip\"\n (mousedown)=\"onListResizeStart($event, field.ApiName, j)\">\n <div class=\"splitter\"></div>\n </div>\n\n <div *ngIf=\"isSortableColumn(field.ApiName)\" class=\"sorting-box pull-left flip\"\n [ngClass]=\"{ 'has-sorting': field.ApiName === sortBy }\">\n <mat-icon *ngIf=\"field.ApiName !== sortBy\">\n <pep-icon name=\"arrow_either\" class=\"asc\"></pep-icon>\n </mat-icon>\n <ng-container *ngIf=\"field.ApiName === sortBy\">\n <mat-icon *ngIf=\"!isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && isAsc }\"\n title=\"{{ 'LIST.SORT_ASC' | translate }}\">\n <pep-icon name=\"arrow_up\" class=\"asc\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && !isAsc }\"\n title=\"{{ 'LIST.SORT_DESC' | translate }}\">\n <pep-icon name=\"arrow_down\" class=\"desc\"></pep-icon>\n </mat-icon>\n </ng-container>\n </div>\n </div>\n </fieldset>\n </fieldset>\n </div>\n</ng-template>\n\n<ng-template #tableTotal>\n <div *ngIf=\"isTable && totalsRow?.length > 0 && totalsRow.length <= layout?.ControlFields.length\"\n class=\"table-total\">\n <fieldset class=\"table-header-fieldset\">\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"total-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\">\n <label class=\"total-label body-sm text-align-{{ field.Layout.XAlignment }}\">\n {{ totalsRow[j] }}\n </label>\n </div>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{width:100%;height:inherit;display:flex;flex-direction:column}:host .list-container{display:flex;flex-direction:column;height:inherit;width:100%;overflow:auto}:host .list-container .list-container-resizable{display:flex;flex-direction:column;height:inherit}.no-data{margin:var(--pep-spacing-2xl, 2rem) 0}.no-data-suggestions .suggestions-title{margin:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem)}.no-data-suggestions .suggestions-list{margin:0;padding:0;padding-inline-start:var(--pep-spacing-2xl, 2rem)}.virtual-scroller{min-height:5rem;height:inherit}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4$1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i7.PepFormComponent, selector: "pep-form", inputs: ["isInternal", "isReport", "layout", "lockEvents", "canEditObject", "data", "lockFields", "isActive", "layoutType", "objectId", "parentId", "searchCode", "showTitle", "firstFieldAsLink", "checkForChanges"], outputs: ["valueChange", "formValidationChange", "fieldClick", "internalFormFieldClick", "internalFormFieldChange"] }, { kind: "component", type: VirtualScrollerComponent, selector: "virtual-scroller,[virtualScroller]", inputs: ["disable", "executeRefreshOutsideAngularZone", "enableUnequalChildrenSizes", "RTL", "useMarginInsteadOfTranslate", "modifyOverflowStyleOfParentScroll", "stripedTable", "scrollbarWidth", "scrollbarHeight", "childWidth", "childHeight", "ssrChildWidth", "ssrChildHeight", "ssrViewportWidth", "ssrViewportHeight", "bufferAmount", "scrollAnimationTime", "resizeBypassRefreshThreshold", "scrollThrottlingTime", "scrollDebounceTime", "checkResizeInterval", "items", "compareItems", "horizontal", "parentScroll"], outputs: ["vsChildRectChange", "vsUpdate", "vsChange", "vsStart", "vsEnd"], exportAs: ["virtualScroller"] }, { kind: "component", type: PepListPagerComponent, selector: "pep-list-pager", inputs: ["disabled", "pageIndex", "length", "pageSize"], outputs: ["pagerChange"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
2322
2506
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListComponent, decorators: [{
2323
2507
  type: Component,
2324
2508
  args: [{ selector: 'pep-list', host: {
2325
2509
  '(window:resize)': 'onWinResize($event)',
2326
- }, template: "<ng-container *ngIf=\"totalRows == 0\">\n <ng-container *ngIf=\"noDataFoundMsg; then noDataMsgInputBlock; else noDataMsgDefaultBlock\"></ng-container>\n <ng-template #noDataMsgInputBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ noDataFoundMsg }}\n </p>\n </div>\n </ng-template>\n <ng-template #noDataMsgDefaultBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ 'LIST.NO_DATA_FOUND' | translate}}\n </p>\n </div>\n <div class=\"no-data-suggestions\">\n <p class=\"suggestions-title title-lg\">\n {{ 'LIST.NO_DATA_FOUND_SUGGESTIONS_TITLE' | translate}}\n </p>\n <ul class=\"suggestions-list body-lg\" [innerHtml]=\"'LIST.NO_DATA_FOUND_SUGGESTIONS_LIST' | translate\"></ul>\n </div>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"totalRows > 0\">\n <ng-container *ngTemplateOutlet=\"tableHeader\"></ng-container>\n\n <!-- (vsChildRectChange)=\"onChildRectChange($event)\" -->\n <virtual-scroller #scroller [items]=\"pagerType === 'pages' ? currentPageItems : items\"\n [scrollDebounceTime]=\"scrollDebounceTime\" [scrollThrottlingTime]=\"scrollThrottlingTime\"\n [bufferAmount]=\"printMode ? totalRows : bufferAmount\" [parentScroll]=\"parentScroll\" [disable]=\"loadingItemsFromApi\"\n class=\"virtual-scroller\" [ngClass]=\"{ 'table-body': isTable, 'cards-body': !isTable }\"\n (vsChange)=\"onVirtualScrollerChange($event)\" >\n <ng-container *ngFor=\"let item of scroller.viewPortItems; let index = index; let isFirst = first;\">\n <ng-container *ngTemplateOutlet=\"listData; context: {item: item, index:index}\"></ng-container>\n </ng-container>\n </virtual-scroller>\n\n <pep-list-pager *ngIf=\"pagerType === 'pages'\" class=\" list-pager\" [disabled]=\"loadingItemsFromApi\"\n [length]=\"totalRows\" [pageSize]=\"pageSize\" [pageIndex]=\"pageIndex\" (pagerChange)=\"onPagerChange($event)\">\n </pep-list-pager>\n\n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n</ng-container>\n\n<ng-template #listData let-item=\"item\" let-index=\"index\">\n <ng-container *ngIf=\"isTable\">\n <!-- getIsItemSelected(item) -> item | isItemSelected: selectionTypeForActions : selectedItemId : isAllSelected : selectedItems : unSelectedItems -->\n <div class=\"table-row\" (mouseenter)=\"onTableRowMouseEnter($event, item?.UID, item?.Type)\" \n (mouseleave)=\"onTableRowMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n even: zebraStripes && index % 2 !== 0,\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId}\" [ngStyle]=\"{ visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <fieldset class=\"table-row-fieldset\" [ngStyle]=\"{ 'background-color': item?.BackgroundColor }\">\n <mat-checkbox *ngIf=\"selectionTypeForActions == 'multi'\" type=\"checkbox\"\n class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"getisItemDisabled(item)\" [ngStyle]=\"{\n visibility: !deviceHasMouse ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId || isAllSelected || selectedItems.size > 0 ? 'visible' : 'hidden'\n }\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <mat-radio-button *ngIf=\"selectionTypeForActions == 'single'\" name=\"selection\"\n class=\"pull-left flip row-selection pep-radio-button\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"getisItemDisabled(item)\"\n [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-radio-button>\n <pep-form [layoutType]=\"'table'\" [checkForChanges]=\"checkForChanges\" [layout]=\"layout\"\n [firstFieldAsLink]=\"firstFieldAsLink\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isReport]=\"isReport\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!isTable\">\n <div (mouseenter)=\"onCardMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onCardMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId,\n 'line-view': viewType === 'lines',\n 'card-view': viewType === 'cards',\n 'small-card': cardSize === 'sm'\n }\" class=\"pull-left flip\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <mat-checkbox *ngIf=\"showCardSelection\" class=\"pull-left flip card-selection\"\n [disabled]=\"getisItemDisabled(item)\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <pep-form [layoutType]=\"'card'\" [firstFieldAsLink]=\"firstFieldAsLink\" [checkForChanges]=\"checkForChanges\"\n [layout]=\"layout\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tableHeader>\n <div *ngIf=\"isTable\" class=\"table-header\" (mouseup)=\"onListResizeEnd($event)\"\n (mouseenter)=\"onListHeaderMouseEnter($event)\" (mouseleave)=\"onListHeaderMouseLeave($event)\"\n (mousemove)=\"onListResize($event)\">\n\n <div class=\"table-header-padding-top\"></div>\n <fieldset class=\"table-header-fieldset\">\n <mat-checkbox *ngIf=\"selectionTypeForActions !== 'none'\" #selectAllCB class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n type=\"checkbox\" [ngStyle]=\"{\n visibility:\n selectionTypeForActions == 'single' || \n (selectionTypeForActions == 'multi' && hideAllSelectionInMulti) ? 'hidden' : 'visible'\n }\"\n [indeterminate]=\"isAllSelected ? unSelectedItems.size > 0 && unSelectedItems.size < totalRows : (selectedItems.size > 0 && !getIsAllSelectedForActions())\"\n [disabled]=\"disabled || selectionTypeForActions === 'single'\" [checked]=\"getIsAllSelectedForActions()\"\n (change)=\"selectAllItemsForActions($event)\"></mat-checkbox>\n <fieldset>\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"header-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n 'support-sorting': supportSorting,\n 'has-sorting': field.ApiName === sortBy,\n 'is-resizing': field.ApiName === pressedColumn,\n 'is-first': j === 0 && selectionTypeForActions !== 'multi',\n 'is-last': j === layout?.ControlFields?.length - 1\n }\"\n (click)=\"supportSorting ? (onListSortingChange(field.ApiName, sortBy !== null && sortBy != field.ApiName ? true : !isAsc, $event)) : false\">\n\n <label id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip text-align-{{ field.Layout.XAlignment }}\"\n title=\"{{ field.Title }}\">\n <span *ngIf=\"field.Mandatory\" class=\"mandatory\">\n <pep-icon name=\"system_must\"></pep-icon>\n </span>\n {{ field.Title != '' ? field.Title : ' '}}\n </label>\n\n <div *ngIf=\"supportResizing\" class=\"resize-box pull-right flip\"\n (mousedown)=\"onListResizeStart($event, field.ApiName)\">\n <div class=\"splitter\"></div>\n </div>\n\n <div *ngIf=\"supportSorting\" class=\"sorting-box pull-left flip\"\n [ngClass]=\"{ 'has-sorting': field.ApiName === sortBy }\">\n <mat-icon *ngIf=\"field.ApiName !== sortBy\">\n <pep-icon name=\"arrow_either\" class=\"asc\"></pep-icon>\n </mat-icon>\n <ng-container *ngIf=\"field.ApiName === sortBy\">\n <mat-icon *ngIf=\"!isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && isAsc }\"\n title=\"{{ 'LIST.SORT_ASC' | translate }}\">\n <pep-icon name=\"arrow_up\" class=\"asc\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && !isAsc }\"\n title=\"{{ 'LIST.SORT_DESC' | translate }}\">\n <pep-icon name=\"arrow_down\" class=\"desc\"></pep-icon>\n </mat-icon>\n </ng-container>\n </div>\n </div>\n </fieldset>\n </fieldset>\n </div>\n</ng-template>\n\n<ng-template #tableTotal>\n <div *ngIf=\"isTable && totalsRow?.length > 0 && totalsRow.length <= layout?.ControlFields.length\"\n class=\"table-total\">\n <fieldset class=\"table-header-fieldset\">\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"total-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\">\n <label class=\"total-label body-sm text-align-{{ field.Layout.XAlignment }}\">\n {{ totalsRow[j] }}\n </label>\n </div>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{height:inherit;display:flex;flex-direction:column}.no-data{margin:var(--pep-spacing-2xl, 2rem) 0}.no-data-suggestions .suggestions-title{margin:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem)}.no-data-suggestions .suggestions-list{margin:0;padding:0;padding-inline-start:var(--pep-spacing-2xl, 2rem)}.virtual-scroller{min-height:5rem;height:inherit}\n"] }]
2327
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PepLayoutService }, { type: i1.PepSessionService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { noDataFoundMsg: [{
2510
+ }, template: "<ng-container *ngIf=\"totalRows == 0\">\n <ng-container *ngIf=\"noDataFoundMsg; then noDataMsgInputBlock; else noDataMsgDefaultBlock\"></ng-container>\n <ng-template #noDataMsgInputBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ noDataFoundMsg }}\n </p>\n </div>\n </ng-template>\n <ng-template #noDataMsgDefaultBlock>\n <div class=\"pep-border-bottom\">\n <p class=\"title-xl no-data\">\n {{ 'LIST.NO_DATA_FOUND' | translate}}\n </p>\n </div>\n <div class=\"no-data-suggestions\">\n <p class=\"suggestions-title title-lg\">\n {{ 'LIST.NO_DATA_FOUND_SUGGESTIONS_TITLE' | translate}}\n </p>\n <ul class=\"suggestions-list body-lg\" [innerHtml]=\"'LIST.NO_DATA_FOUND_SUGGESTIONS_LIST' | translate\"></ul>\n </div>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"totalRows > 0\">\n <div class=\"list-container\">\n <div #listContainerResizable class=\"list-container-resizable\">\n <ng-container *ngTemplateOutlet=\"tableHeader\"></ng-container>\n\n <!-- (vsChildRectChange)=\"onChildRectChange($event)\" -->\n <virtual-scroller #scroller [items]=\"pagerType === 'pages' ? currentPageItems : items\"\n [scrollDebounceTime]=\"scrollDebounceTime\" [scrollThrottlingTime]=\"scrollThrottlingTime\"\n [bufferAmount]=\"printMode ? totalRows : bufferAmount\" [parentScroll]=\"parentScroll\" [disable]=\"loadingItemsFromApi\"\n class=\"virtual-scroller\" [ngClass]=\"{ 'table-body': isTable, 'cards-body': !isTable }\"\n (vsChange)=\"onVirtualScrollerChange($event)\" >\n <ng-container *ngFor=\"let item of scroller.viewPortItems; let index = index; let isFirst = first;\">\n <ng-container *ngTemplateOutlet=\"listData; context: {item: item, index:index}\"></ng-container>\n </ng-container>\n </virtual-scroller>\n \n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n </div>\n </div>\n <pep-list-pager *ngIf=\"pagerType === 'pages'\" class=\" list-pager\" [disabled]=\"loadingItemsFromApi\"\n [length]=\"totalRows\" [pageSize]=\"pageSize\" [pageIndex]=\"pageIndex\" (pagerChange)=\"onPagerChange($event)\">\n </pep-list-pager>\n</ng-container>\n\n<ng-template #listData let-item=\"item\" let-index=\"index\">\n <ng-container *ngIf=\"isTable\">\n <!-- getIsItemSelected(item) -> item | isItemSelected: selectionTypeForActions : selectedItemId : isAllSelected : selectedItems : unSelectedItems -->\n <div class=\"table-row\" (mouseenter)=\"onTableRowMouseEnter($event, item?.UID, item?.Type)\" (keydown)=\"onTabKeydown($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onTableRowMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n even: zebraStripes && index % 2 !== 0,\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId}\" [ngStyle]=\"{ visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <fieldset class=\"table-row-fieldset\" [ngStyle]=\"{ 'background-color': item?.BackgroundColor }\">\n <mat-checkbox *ngIf=\"selectionTypeForActions == 'multi'\" type=\"checkbox\"\n class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"false && getisItemDisabled(item)\" [ngStyle]=\"{\n visibility: !deviceHasMouse ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId || isAllSelected || selectedItems.size > 0 ? 'visible' : 'hidden'\n }\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <mat-radio-button *ngIf=\"selectionTypeForActions == 'single'\" name=\"selection\"\n class=\"pull-left flip row-selection pep-radio-button\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n [disabled]=\"getisItemDisabled(item)\"\n [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-radio-button>\n <pep-form [layoutType]=\"'table'\" [checkForChanges]=\"checkForChanges\" [layout]=\"layout\"\n [firstFieldAsLink]=\"firstFieldAsLink\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isReport]=\"isReport\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </fieldset>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!isTable\">\n <div (mouseenter)=\"onCardMouseEnter($event, item?.UID, item?.Type)\"\n (mouseleave)=\"onCardMouseLeave($event, item?.UID, item?.Type)\" [ngClass]=\"{\n selected: getIsItemSelected(item),\n highlighted: item?.UID + SEPARATOR + item?.Type === selectedItemId,\n 'line-view': viewType === 'lines',\n 'card-view': viewType === 'cards',\n 'small-card': cardSize === 'sm'\n }\" class=\"pull-left flip\"\n [ngStyle]=\"{ height: calculatedObjectHeight, visibility: !loadingItemsFromApi || item ? 'visible' : 'hidden' }\">\n <mat-checkbox *ngIf=\"showCardSelection\" class=\"pull-left flip card-selection\"\n [disabled]=\"getisItemDisabled(item)\" [checked]=\"getIsItemSelected(item)\"\n (change)=\"selectItemForActions($event, item?.UID, item?.IsSelectableForActions, item?.Type)\">\n </mat-checkbox>\n <pep-form [layoutType]=\"'card'\" [firstFieldAsLink]=\"firstFieldAsLink\" [checkForChanges]=\"checkForChanges\"\n [layout]=\"layout\" [data]=\"item\" [canEditObject]=\"!disabled\"\n [lockEvents]=\"lockItemInnerEvents || printMode\" [isActive]=\"\n (item?.UID + SEPARATOR + item?.Type === selectedItemId ||\n item?.UID + SEPARATOR + item?.Type === hoveredItemId) && deviceHasMouse\n \" (valueChange)=\"onValueChanged($event)\" (fieldClick)=\"onCustomizeFieldClick($event)\"\n (click)=\"itemClicked($event, item)\">\n </pep-form>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #tableHeader>\n <div *ngIf=\"isTable\" class=\"table-header\" (mouseup)=\"onListResizeEnd($event)\"\n (mouseenter)=\"onListHeaderMouseEnter($event)\" (mouseleave)=\"onListHeaderMouseLeave($event)\"\n (mousemove)=\"onListResize($event)\">\n\n <div class=\"table-header-padding-top\"></div>\n <fieldset class=\"table-header-fieldset\">\n <mat-checkbox *ngIf=\"selectionTypeForActions !== 'none'\" #selectAllCB class=\"pull-left flip row-selection\" [ngClass]=\"{ 'md': tableViewType === 'compact' }\"\n type=\"checkbox\" [ngStyle]=\"{\n visibility:\n selectionTypeForActions == 'single' || \n (selectionTypeForActions == 'multi' && hideAllSelectionInMulti) ? 'hidden' : 'visible'\n }\"\n [indeterminate]=\"isAllSelected ? unSelectedItems.size > 0 && unSelectedItems.size < totalRows : (selectedItems.size > 0 && !getIsAllSelectedForActions())\"\n [disabled]=\"disabled || selectionTypeForActions === 'single'\" [checked]=\"getIsAllSelectedForActions()\"\n (change)=\"selectAllItemsForActions($event)\"></mat-checkbox>\n <fieldset>\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"header-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\" [ngClass]=\"{\n 'compact-view': tableViewType === 'compact',\n 'support-sorting': isSortableColumn(field.ApiName),\n 'has-sorting': field.ApiName === sortBy,\n 'is-resizing': field.ApiName === pressedColumn,\n 'is-first': j === 0 && selectionTypeForActions !== 'multi',\n 'is-last': j === layout?.ControlFields?.length - 1\n }\"\n (click)=\"isSortableColumn(field.ApiName) ? (onListSortingChange(field.ApiName, sortBy !== null && sortBy != field.ApiName ? true : !isAsc, $event)) : false\">\n\n <label id=\"{{ field.ApiName }}\"\n class=\"header-label body-sm pull-left flip text-align-{{ field.Layout.XAlignment }}\"\n title=\"{{ field.Title }}\">\n <span *ngIf=\"field.Mandatory\" class=\"mandatory\">\n <pep-icon name=\"system_must\"></pep-icon>\n </span>\n {{ field.Title != '' ? field.Title : ' '}}\n </label>\n\n <div *ngIf=\"supportResizing\" class=\"resize-box pull-right flip\"\n (mousedown)=\"onListResizeStart($event, field.ApiName, j)\">\n <div class=\"splitter\"></div>\n </div>\n\n <div *ngIf=\"isSortableColumn(field.ApiName)\" class=\"sorting-box pull-left flip\"\n [ngClass]=\"{ 'has-sorting': field.ApiName === sortBy }\">\n <mat-icon *ngIf=\"field.ApiName !== sortBy\">\n <pep-icon name=\"arrow_either\" class=\"asc\"></pep-icon>\n </mat-icon>\n <ng-container *ngIf=\"field.ApiName === sortBy\">\n <mat-icon *ngIf=\"!isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && isAsc }\"\n title=\"{{ 'LIST.SORT_ASC' | translate }}\">\n <pep-icon name=\"arrow_up\" class=\"asc\"></pep-icon>\n </mat-icon>\n <mat-icon *ngIf=\"isAsc\" [ngClass]=\"{ 'sort-by': field.ApiName === sortBy && !isAsc }\"\n title=\"{{ 'LIST.SORT_DESC' | translate }}\">\n <pep-icon name=\"arrow_down\" class=\"desc\"></pep-icon>\n </mat-icon>\n </ng-container>\n </div>\n </div>\n </fieldset>\n </fieldset>\n </div>\n</ng-template>\n\n<ng-template #tableTotal>\n <div *ngIf=\"isTable && totalsRow?.length > 0 && totalsRow.length <= layout?.ControlFields.length\"\n class=\"table-total\">\n <fieldset class=\"table-header-fieldset\">\n <div *ngFor=\"let field of layout?.ControlFields; let j = index\" class=\"total-column pull-left flip\"\n [ngStyle]=\"{ width: field.calcTitleColumnWidthString }\">\n <label class=\"total-label body-sm text-align-{{ field.Layout.XAlignment }}\">\n {{ totalsRow[j] }}\n </label>\n </div>\n </fieldset>\n </div>\n</ng-template>", styles: [":host{width:100%;height:inherit;display:flex;flex-direction:column}:host .list-container{display:flex;flex-direction:column;height:inherit;width:100%;overflow:auto}:host .list-container .list-container-resizable{display:flex;flex-direction:column;height:inherit}.no-data{margin:var(--pep-spacing-2xl, 2rem) 0}.no-data-suggestions .suggestions-title{margin:var(--pep-spacing-lg, 1rem) 0 var(--pep-spacing-sm, .5rem)}.no-data-suggestions .suggestions-list{margin:0;padding:0;padding-inline-start:var(--pep-spacing-2xl, 2rem)}.virtual-scroller{min-height:5rem;height:inherit}\n"] }]
2511
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PepLayoutService }, { type: i1.PepSessionService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; }, propDecorators: { listContainerResizableElementRef: [{
2512
+ type: ViewChild,
2513
+ args: ['listContainerResizable', { read: ElementRef }]
2514
+ }], sorting: [{
2515
+ type: Input
2516
+ }], cacheSize: [{
2517
+ type: Input
2518
+ }], noDataFoundMsg: [{
2328
2519
  type: Input
2329
2520
  }], selectionTypeForActions: [{
2330
2521
  type: Input
@@ -2342,6 +2533,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
2342
2533
  type: Input
2343
2534
  }], supportSorting: [{
2344
2535
  type: Input
2536
+ }], supportSortingFields: [{
2537
+ type: Input
2345
2538
  }], supportResizing: [{
2346
2539
  type: Input
2347
2540
  }], parentScroll: [{
@@ -2374,6 +2567,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
2374
2567
  type: Input
2375
2568
  }], scrollThrottlingTime: [{
2376
2569
  type: Input
2570
+ }], SEPARATOR: [{
2571
+ type: Input
2377
2572
  }], useAsWebComponent: [{
2378
2573
  type: Input
2379
2574
  }], itemClick: [{
@@ -2424,7 +2619,7 @@ class PepListActionsComponent {
2424
2619
  }
2425
2620
  }
2426
2621
  PepListActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2427
- PepListActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListActionsComponent, selector: "pep-list-actions", inputs: { actions: "actions", sizeType: "sizeType", xPosition: "xPosition", hidden: "hidden" }, outputs: { actionClick: "actionClick", stateChange: "stateChange", menuClick: "menuClick" }, ngImport: i0, template: "<pep-menu [xPosition]=\"xPosition\" [styleType]=\"'strong'\" [sizeType]=\"sizeType\" [items]=\"!hidden ? actions : null\"\n [hideOnEmptyItems]=\"true\" [iconName]=\"'system_edit'\" (menuItemClick)=\"onActionClicked($event)\"\n (stateChange)=\"onStateChanged($event)\" (menuClick)=\"menuClick.emit();\">\n</pep-menu>\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }] });
2622
+ PepListActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListActionsComponent, selector: "pep-list-actions", inputs: { actions: "actions", sizeType: "sizeType", xPosition: "xPosition", hidden: "hidden" }, outputs: { actionClick: "actionClick", stateChange: "stateChange", menuClick: "menuClick" }, ngImport: i0, template: "<pep-menu [xPosition]=\"xPosition\" [styleType]=\"'strong'\" [sizeType]=\"sizeType\" [items]=\"!hidden ? actions : null\"\n [hideOnEmptyItems]=\"true\" [iconName]=\"'system_edit'\" (menuItemClick)=\"onActionClicked($event)\"\n (stateChange)=\"onStateChanged($event)\" (menuClick)=\"menuClick.emit();\">\n</pep-menu>\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "iconPosition", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }] });
2428
2623
  PepListActionsComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListActionsComponent });
2429
2624
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListActionsComponent, decorators: [{
2430
2625
  type: Component,
@@ -2587,7 +2782,7 @@ class PepListChooserComponent {
2587
2782
  }
2588
2783
  }
2589
2784
  PepListChooserComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListChooserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2590
- PepListChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListChooserComponent, selector: "pep-list-chooser", inputs: { options: "options", currentList: "currentList", sizeType: "sizeType" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngIf=\"menuItems?.length > 1\">\n <pep-menu [type]=\"'select'\" [sizeType]=\"sizeType\" [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"'arrow_down'\" (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</ng-container>\n<ng-container *ngIf=\"menuItems?.length == 1\">\n <pep-bread-crumbs [items]=\"breadCrumbsItems\" [addSpacing]=\"true\"></pep-bread-crumbs>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["items", "displayType", "addSpacing"], outputs: ["itemClick"] }, { kind: "component", type: i1$1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }] });
2785
+ PepListChooserComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListChooserComponent, selector: "pep-list-chooser", inputs: { options: "options", currentList: "currentList", sizeType: "sizeType" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngIf=\"menuItems?.length > 1\">\n <pep-menu [type]=\"'select'\" [sizeType]=\"sizeType\" [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"'arrow_down'\" (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</ng-container>\n<ng-container *ngIf=\"menuItems?.length == 1\">\n <pep-bread-crumbs [items]=\"breadCrumbsItems\" [addSpacing]=\"true\"></pep-bread-crumbs>\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.PepBreadCrumbsComponent, selector: "pep-bread-crumbs", inputs: ["items", "displayType", "addSpacing"], outputs: ["itemClick"] }, { kind: "component", type: i1$1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "iconPosition", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }] });
2591
2786
  PepListChooserComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListChooserComponent });
2592
2787
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListChooserComponent, decorators: [{
2593
2788
  type: Component,
@@ -2644,7 +2839,7 @@ class PepListSortingComponent {
2644
2839
  }
2645
2840
  }
2646
2841
  PepListSortingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListSortingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2647
- PepListSortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListSortingComponent, selector: "pep-list-sorting", inputs: { options: "options", currentSorting: "currentSorting", sizeType: "sizeType" }, outputs: { change: "change" }, ngImport: i0, template: "<div class=\"sorting-container\">\n <div class=\"body-xs sort-by\">\n <span>{{ 'LIST.SORT_BY' | translate }}</span>\n </div>\n <pep-menu [type]=\"'select'\" [sizeType]=\"sizeType\" [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"'arrow_down'\" (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</div>", styles: [".sorting-container{display:flex;align-items:center}.sorting-container .sort-by{margin-inline-end:var(--pep-spacing-sm, .5rem)}\n"], dependencies: [{ kind: "component", type: i1$1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
2842
+ PepListSortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListSortingComponent, selector: "pep-list-sorting", inputs: { options: "options", currentSorting: "currentSorting", sizeType: "sizeType" }, outputs: { change: "change" }, ngImport: i0, template: "<div class=\"sorting-container\">\n <div class=\"body-xs sort-by\">\n <span>{{ 'LIST.SORT_BY' | translate }}</span>\n </div>\n <pep-menu [type]=\"'select'\" [sizeType]=\"sizeType\" [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"'arrow_down'\" (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</div>", styles: [".sorting-container{display:flex;align-items:center}.sorting-container .sort-by{margin-inline-end:var(--pep-spacing-sm, .5rem)}\n"], dependencies: [{ kind: "component", type: i1$1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "iconPosition", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
2648
2843
  PepListSortingComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListSortingComponent });
2649
2844
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListSortingComponent, decorators: [{
2650
2845
  type: Component,
@@ -2667,14 +2862,15 @@ class PepListTotalComponent {
2667
2862
  this.totalAmount = -1;
2668
2863
  this.isMapView = false;
2669
2864
  this.sizeType = 'md';
2865
+ this.unknownCount = false;
2670
2866
  }
2671
2867
  }
2672
2868
  PepListTotalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListTotalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2673
- PepListTotalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListTotalComponent, selector: "pep-list-total", inputs: { totalRows: "totalRows", totalAmount: "totalAmount", isMapView: "isMapView", sizeType: "sizeType" }, ngImport: i0, template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows }\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>", styles: [":host{height:inherit}.total-items-container{height:100%;display:flex;align-items:center}\n", ""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
2869
+ PepListTotalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListTotalComponent, selector: "pep-list-total", inputs: { totalRows: "totalRows", totalAmount: "totalAmount", isMapView: "isMapView", sizeType: "sizeType", unknownCount: "unknownCount" }, ngImport: i0, template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows ,unknownCount: unknownCount === true ? '+' : ''}\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>", styles: [":host{height:inherit}.total-items-container{height:100%;display:flex;align-items:center}\n", ""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
2674
2870
  PepListTotalComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListTotalComponent });
2675
2871
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListTotalComponent, decorators: [{
2676
2872
  type: Component,
2677
- args: [{ selector: 'pep-list-total', template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows }\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>", styles: [":host{height:inherit}.total-items-container{height:100%;display:flex;align-items:center}\n"] }]
2873
+ args: [{ selector: 'pep-list-total', template: "<div class=\"total-items-container\">\n <ng-container *ngIf=\"isMapView; then mapTemplate; else notMapTemplate\"></ng-container>\n\n <ng-template #notMapTemplate>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT' : 'LIST.TOTAL_RESULTS') | translate: { totalRows: totalRows ,unknownCount: unknownCount === true ? '+' : ''}\">\n </div>\n </ng-container>\n <ng-container *ngIf=\"totalAmount > 0\"> {{ 'LIST.TOTAL_OF' | translate }} {{ totalAmount }} </ng-container>\n </ng-template>\n\n <ng-template #mapTemplate>\n <ng-container *ngIf=\"totalAmount >= 0\">\n </ng-container>\n <ng-container *ngIf=\"totalRows >= 0\">\n <div class=\"body-{{sizeType}} total-items color-dimmed\"\n [innerHtml]=\"(totalRows === 1 ? 'LIST.TOTAL_RESULT_OUT_OF_RESULT' : 'LIST.TOTAL_RESULTS_OUT_OF') | translate: { xRows: totalAmount, totalRows: totalRows }\">\n </div>\n </ng-container>\n </ng-template>\n</div>", styles: [":host{height:inherit}.total-items-container{height:100%;display:flex;align-items:center}\n"] }]
2678
2874
  }, {
2679
2875
  type: Injectable
2680
2876
  }], propDecorators: { totalRows: [{
@@ -2685,6 +2881,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
2685
2881
  type: Input
2686
2882
  }], sizeType: [{
2687
2883
  type: Input
2884
+ }], unknownCount: [{
2885
+ type: Input
2688
2886
  }] } });
2689
2887
 
2690
2888
  class IPepListView {
@@ -2741,7 +2939,7 @@ class PepListViewsComponent {
2741
2939
  }
2742
2940
  }
2743
2941
  PepListViewsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListViewsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2744
- PepListViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListViewsComponent, selector: "pep-list-views", inputs: { views: "views", currentView: "currentView", displayType: "displayType", styleType: "styleType", sizeType: "sizeType", classNames: "classNames" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngIf=\"displayType === 'menu' then menuTemplate else buttonsTemplate\">\n</ng-container>\n<ng-template #menuTemplate>\n <pep-menu [type]=\"'select'\" [styleType]=\"styleType\" [sizeType]=\"sizeType\" [classNames]=\"classNames\"\n [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"currentItem?.iconName ? currentItem?.iconName : 'arrow_down'\"\n (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</ng-template>\n<ng-template #buttonsTemplate>\n <div class=\"buttons-wrapper pep-spacing-element-negative\">\n <button *ngFor=\"let view of views\" mat-button [title]=\"view.title\" [disabled]=\"view.key === currentView?.key\"\n class=\"pep-button icon-button pep-spacing-element {{ sizeType }} {{ styleType }} {{ classNames }}\"\n pepRtlDirection pepMenuBlur (click)=\"onViewChanged(view)\">\n <mat-icon>\n <pep-icon name=\"{{ view?.iconName }}\"></pep-icon>\n </mat-icon>\n </button>\n </div>\n</ng-template>", styles: [".buttons-wrapper{display:flex}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i1$1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }] });
2942
+ PepListViewsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepListViewsComponent, selector: "pep-list-views", inputs: { views: "views", currentView: "currentView", displayType: "displayType", styleType: "styleType", sizeType: "sizeType", classNames: "classNames" }, outputs: { change: "change" }, ngImport: i0, template: "<ng-container *ngIf=\"displayType === 'menu' then menuTemplate else buttonsTemplate\">\n</ng-container>\n<ng-template #menuTemplate>\n <pep-menu [type]=\"'select'\" [styleType]=\"styleType\" [sizeType]=\"sizeType\" [classNames]=\"classNames\"\n [items]=\"menuItems\" [selectedItem]=\"currentItem\"\n [iconName]=\"currentItem?.iconName ? currentItem?.iconName : 'arrow_down'\"\n (menuItemClick)=\"onMenuItemClicked($event)\"></pep-menu>\n</ng-template>\n<ng-template #buttonsTemplate>\n <div class=\"buttons-wrapper pep-spacing-element-negative\">\n <button *ngFor=\"let view of views\" mat-button [title]=\"view.title\" [disabled]=\"view.key === currentView?.key\"\n class=\"pep-button icon-button pep-spacing-element {{ sizeType }} {{ styleType }} {{ classNames }}\"\n pepRtlDirection pepMenuBlur (click)=\"onViewChanged(view)\">\n <mat-icon>\n <pep-icon name=\"{{ view?.iconName }}\"></pep-icon>\n </mat-icon>\n </button>\n </div>\n</ng-template>", styles: [".buttons-wrapper{display:flex}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepMenuBlurDirective, selector: "[pepMenuBlur]" }, { kind: "directive", type: i1.PepRtlDirectionDirective, selector: "[pepRtlDirection]" }, { kind: "component", type: i5.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i1$1.PepMenuComponent, selector: "pep-menu", inputs: ["text", "iconName", "iconPosition", "type", "styleType", "sizeType", "classNames", "xPosition", "hideOnEmptyItems", "items", "selectedItem", "disabled"], outputs: ["stateChange", "menuItemClick", "menuClick"] }] });
2745
2943
  PepListViewsComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListViewsComponent });
2746
2944
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepListViewsComponent, decorators: [{
2747
2945
  type: Component,