@wavemaker/app-ng-runtime 12.0.0-next.45752 → 12.0.0-next.46502

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +53 -45
  2. app-ng-runtime/build-task/esm2022/basic/default/anchor/anchor.build.mjs +2 -2
  3. app-ng-runtime/build-task/esm2022/basic/default/html/html.build.mjs +2 -2
  4. app-ng-runtime/build-task/esm2022/basic/default/icon/icon.build.mjs +2 -2
  5. app-ng-runtime/build-task/esm2022/basic/default/label/label.build.mjs +2 -2
  6. app-ng-runtime/build-task/esm2022/basic/default/picture/picture.build.mjs +2 -2
  7. app-ng-runtime/build-task/esm2022/basic/default/spinner/spinner.build.mjs +2 -2
  8. app-ng-runtime/build-task/esm2022/basic/progress/progress-circle/progress-circle.build.mjs +7 -2
  9. app-ng-runtime/build-task/esm2022/basic/rich-text-editor/rich-text-editor.build.mjs +2 -2
  10. app-ng-runtime/build-task/esm2022/containers/accordion/accordion-pane/accordion-pane.build.mjs +2 -2
  11. app-ng-runtime/build-task/esm2022/containers/accordion/accordion.build.mjs +3 -3
  12. app-ng-runtime/build-task/esm2022/containers/tile/tile.build.mjs +2 -2
  13. app-ng-runtime/build-task/esm2022/containers/wizard/wizard.build.mjs +2 -2
  14. app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +4 -4
  15. app-ng-runtime/build-task/esm2022/device/barcode-scanner/barcode-scanner.build.mjs +2 -2
  16. app-ng-runtime/build-task/esm2022/device/camera/camera.build.mjs +2 -2
  17. app-ng-runtime/build-task/esm2022/dialogs/alert-dialog/alert-dialog.build.mjs +2 -2
  18. app-ng-runtime/build-task/esm2022/input/calendar/calendar.build.mjs +2 -2
  19. app-ng-runtime/build-task/esm2022/input/chips/chips.build.mjs +2 -2
  20. app-ng-runtime/build-task/esm2022/input/color-picker/color-picker.build.mjs +3 -3
  21. app-ng-runtime/build-task/esm2022/input/currency/currency.build.mjs +3 -3
  22. app-ng-runtime/build-task/esm2022/input/default/button/button.build.mjs +2 -2
  23. app-ng-runtime/build-task/esm2022/input/default/button-group/button-group.build.mjs +2 -2
  24. app-ng-runtime/build-task/esm2022/input/default/switch/switch.build.mjs +2 -2
  25. app-ng-runtime/build-task/esm2022/input/file-upload/file-upload.build.mjs +6 -2
  26. app-ng-runtime/build-task/esm2022/page/footer/footer.build.mjs +2 -2
  27. app-ng-runtime/build-task/esm2022/page/header/header.build.mjs +2 -2
  28. app-ng-runtime/build-task/esm2022/page/layout.build.mjs +2 -2
  29. app-ng-runtime/build-task/esm2022/page/left-panel/left-panel.build.mjs +2 -2
  30. app-ng-runtime/build-task/esm2022/page/page.build.mjs +2 -2
  31. app-ng-runtime/build-task/esm2022/page/right-panel/right-panel.build.mjs +2 -2
  32. app-ng-runtime/build-task/esm2022/page/top-nav/top-nav.build.mjs +2 -2
  33. app-ng-runtime/build-task/fesm2022/index.mjs +53 -45
  34. app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
  35. app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +1 -1
  36. app-ng-runtime/components/advanced/carousel/esm2022/carousel.animator.mjs +2 -2
  37. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs +1 -1
  38. app-ng-runtime/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  39. app-ng-runtime/components/base/bundles/index.umd.js +1 -6
  40. app-ng-runtime/components/base/esm2022/pipes/custom-pipes.mjs +3 -3
  41. app-ng-runtime/components/base/esm2022/widgets/common/base/base.component.mjs +1 -6
  42. app-ng-runtime/components/base/fesm2022/index.mjs +1 -6
  43. app-ng-runtime/components/base/fesm2022/index.mjs.map +1 -1
  44. app-ng-runtime/components/base/pipes/custom-pipes.d.ts +1 -1
  45. app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +1 -0
  46. app-ng-runtime/components/basic/default/audio/audio.component.d.ts +3 -0
  47. app-ng-runtime/components/basic/default/bundles/index.umd.js +39 -19
  48. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.component.mjs +4 -4
  49. app-ng-runtime/components/basic/default/esm2022/anchor/anchor.props.mjs +2 -1
  50. app-ng-runtime/components/basic/default/esm2022/audio/audio.component.mjs +14 -6
  51. app-ng-runtime/components/basic/default/esm2022/audio/audio.props.mjs +2 -1
  52. app-ng-runtime/components/basic/default/esm2022/html/html.props.mjs +2 -1
  53. app-ng-runtime/components/basic/default/esm2022/icon/icon.component.mjs +6 -7
  54. app-ng-runtime/components/basic/default/esm2022/icon/icon.props.mjs +2 -1
  55. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.component.mjs +3 -3
  56. app-ng-runtime/components/basic/default/esm2022/iframe/iframe.props.mjs +3 -2
  57. app-ng-runtime/components/basic/default/esm2022/label/label.props.mjs +1 -1
  58. app-ng-runtime/components/basic/default/esm2022/picture/picture.directive.mjs +2 -2
  59. app-ng-runtime/components/basic/default/esm2022/picture/picture.props.mjs +3 -1
  60. app-ng-runtime/components/basic/default/esm2022/spinner/spinner.props.mjs +3 -2
  61. app-ng-runtime/components/basic/default/esm2022/video/video.component.mjs +8 -4
  62. app-ng-runtime/components/basic/default/esm2022/video/video.props.mjs +2 -1
  63. app-ng-runtime/components/basic/default/fesm2022/index.mjs +39 -19
  64. app-ng-runtime/components/basic/default/fesm2022/index.mjs.map +1 -1
  65. app-ng-runtime/components/basic/default/icon/icon.component.d.ts +1 -0
  66. app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +1 -0
  67. app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -1
  68. app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -0
  69. app-ng-runtime/components/basic/progress/bundles/index.umd.js +17 -9
  70. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +9 -5
  71. app-ng-runtime/components/basic/progress/esm2022/progress-bar/progress-bar.props.mjs +2 -1
  72. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.component.mjs +8 -6
  73. app-ng-runtime/components/basic/progress/esm2022/progress-circle/progress-circle.props.mjs +2 -1
  74. app-ng-runtime/components/basic/progress/fesm2022/index.mjs +17 -9
  75. app-ng-runtime/components/basic/progress/fesm2022/index.mjs.map +1 -1
  76. app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -0
  77. app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -1
  78. app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +2 -0
  79. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +2 -1
  80. app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.props.mjs +2 -1
  81. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +2 -0
  82. app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
  83. app-ng-runtime/components/basic/search/bundles/index.umd.js +16 -9
  84. app-ng-runtime/components/basic/search/esm2022/search.component.mjs +19 -13
  85. app-ng-runtime/components/basic/search/esm2022/search.props.mjs +2 -1
  86. app-ng-runtime/components/basic/search/fesm2022/index.mjs +16 -9
  87. app-ng-runtime/components/basic/search/fesm2022/index.mjs.map +1 -1
  88. app-ng-runtime/components/basic/search/search.component.d.ts +4 -2
  89. app-ng-runtime/components/chart/bundles/index.umd.js +1 -0
  90. app-ng-runtime/components/chart/esm2022/chart.utils.mjs +2 -1
  91. app-ng-runtime/components/chart/fesm2022/index.mjs +1 -0
  92. app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
  93. app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +1 -0
  94. app-ng-runtime/components/containers/accordion/bundles/index.umd.js +15 -9
  95. app-ng-runtime/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +13 -10
  96. app-ng-runtime/components/containers/accordion/esm2022/accordion.directive.mjs +4 -1
  97. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs +15 -9
  98. app-ng-runtime/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  99. app-ng-runtime/components/containers/panel/bundles/index.umd.js +14 -14
  100. app-ng-runtime/components/containers/panel/esm2022/panel.component.mjs +15 -15
  101. app-ng-runtime/components/containers/panel/fesm2022/index.mjs +14 -14
  102. app-ng-runtime/components/containers/panel/fesm2022/index.mjs.map +1 -1
  103. app-ng-runtime/components/containers/tabs/bundles/index.umd.js +2 -2
  104. app-ng-runtime/components/containers/tabs/esm2022/tabs.component.mjs +3 -3
  105. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs +2 -2
  106. app-ng-runtime/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  107. app-ng-runtime/components/containers/wizard/bundles/index.umd.js +6 -6
  108. app-ng-runtime/components/containers/wizard/esm2022/wizard.component.mjs +7 -7
  109. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs +6 -6
  110. app-ng-runtime/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  111. app-ng-runtime/components/data/list/bundles/index.umd.js +19 -11
  112. app-ng-runtime/components/data/list/esm2022/list-item.directive.mjs +10 -1
  113. app-ng-runtime/components/data/list/esm2022/list.component.mjs +12 -12
  114. app-ng-runtime/components/data/list/fesm2022/index.mjs +20 -12
  115. app-ng-runtime/components/data/list/fesm2022/index.mjs.map +1 -1
  116. app-ng-runtime/components/data/live-table/bundles/index.umd.js +2 -2
  117. app-ng-runtime/components/data/live-table/esm2022/live-table.component.mjs +3 -3
  118. app-ng-runtime/components/data/live-table/fesm2022/index.mjs +2 -2
  119. app-ng-runtime/components/data/live-table/fesm2022/index.mjs.map +1 -1
  120. app-ng-runtime/components/data/pagination/bundles/index.umd.js +2 -0
  121. app-ng-runtime/components/data/pagination/esm2022/pagination.component.mjs +3 -1
  122. app-ng-runtime/components/data/pagination/fesm2022/index.mjs +2 -0
  123. app-ng-runtime/components/data/pagination/fesm2022/index.mjs.map +1 -1
  124. app-ng-runtime/components/data/table/bundles/index.umd.js +42 -8
  125. app-ng-runtime/components/data/table/esm2022/table-column/table-column.directive.mjs +14 -5
  126. app-ng-runtime/components/data/table/esm2022/table.component.mjs +28 -5
  127. app-ng-runtime/components/data/table/esm2022/table.props.mjs +3 -1
  128. app-ng-runtime/components/data/table/fesm2022/index.mjs +43 -9
  129. app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
  130. app-ng-runtime/components/data/table/table.component.d.ts +7 -0
  131. app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +6 -4
  132. app-ng-runtime/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +7 -5
  133. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs +6 -4
  134. app-ng-runtime/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  135. app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +8 -5
  136. app-ng-runtime/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +9 -6
  137. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs +8 -5
  138. app-ng-runtime/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  139. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +9 -3
  140. app-ng-runtime/components/dialogs/default/dialog-header/dialog-header.component.d.ts +2 -1
  141. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +2 -1
  142. app-ng-runtime/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +9 -4
  143. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +9 -3
  144. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  145. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +4 -4
  146. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +5 -5
  147. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +4 -4
  148. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  149. app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +9 -5
  150. app-ng-runtime/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +10 -6
  151. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs +9 -5
  152. app-ng-runtime/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  153. app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +9 -5
  154. app-ng-runtime/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +10 -6
  155. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs +9 -5
  156. app-ng-runtime/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  157. app-ng-runtime/components/input/calendar/bundles/index.umd.js +2 -4
  158. app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +3 -5
  159. app-ng-runtime/components/input/calendar/fesm2022/index.mjs +2 -4
  160. app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
  161. app-ng-runtime/components/input/chips/bundles/index.umd.js +25 -7
  162. app-ng-runtime/components/input/chips/esm2022/chips.component.mjs +25 -8
  163. app-ng-runtime/components/input/chips/esm2022/chips.props.mjs +2 -1
  164. app-ng-runtime/components/input/chips/fesm2022/index.mjs +25 -7
  165. app-ng-runtime/components/input/chips/fesm2022/index.mjs.map +1 -1
  166. app-ng-runtime/components/input/color-picker/bundles/index.umd.js +5 -3
  167. app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +1 -0
  168. app-ng-runtime/components/input/color-picker/esm2022/color-picker.component.mjs +6 -5
  169. app-ng-runtime/components/input/color-picker/esm2022/color-picker.props.mjs +2 -1
  170. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs +5 -3
  171. app-ng-runtime/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  172. app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -3
  173. app-ng-runtime/components/input/currency/currency.component.d.ts +1 -0
  174. app-ng-runtime/components/input/currency/esm2022/currency.component.mjs +6 -6
  175. app-ng-runtime/components/input/currency/esm2022/currency.props.mjs +2 -1
  176. app-ng-runtime/components/input/currency/fesm2022/index.mjs +4 -3
  177. app-ng-runtime/components/input/currency/fesm2022/index.mjs.map +1 -1
  178. app-ng-runtime/components/input/default/bundles/index.umd.js +171 -94
  179. app-ng-runtime/components/input/default/button/button.component.d.ts +1 -0
  180. app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +1 -0
  181. app-ng-runtime/components/input/default/esm2022/base-form.component.mjs +3 -3
  182. app-ng-runtime/components/input/default/esm2022/button/button.component.mjs +1 -1
  183. app-ng-runtime/components/input/default/esm2022/button/button.props.mjs +2 -1
  184. app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +8 -7
  185. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.component.mjs +7 -7
  186. app-ng-runtime/components/input/default/esm2022/checkbox/checkbox.props.mjs +2 -1
  187. app-ng-runtime/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +21 -16
  188. app-ng-runtime/components/input/default/esm2022/number/number.component.mjs +5 -5
  189. app-ng-runtime/components/input/default/esm2022/number/number.props.mjs +3 -1
  190. app-ng-runtime/components/input/default/esm2022/radioset/radioset.component.mjs +28 -23
  191. app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +7 -7
  192. app-ng-runtime/components/input/default/esm2022/select/select.props.mjs +2 -1
  193. app-ng-runtime/components/input/default/esm2022/switch/switch.component.mjs +6 -5
  194. app-ng-runtime/components/input/default/esm2022/switch/switch.props.mjs +2 -1
  195. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.component.mjs +5 -5
  196. app-ng-runtime/components/input/default/esm2022/text/calendar/input-calendar.props.mjs +2 -1
  197. app-ng-runtime/components/input/default/esm2022/text/color/input-color.component.mjs +5 -5
  198. app-ng-runtime/components/input/default/esm2022/text/color/input-color.props.mjs +2 -1
  199. app-ng-runtime/components/input/default/esm2022/text/email/input-email.component.mjs +5 -5
  200. app-ng-runtime/components/input/default/esm2022/text/email/input-email.props.mjs +2 -1
  201. app-ng-runtime/components/input/default/esm2022/text/locale/number-locale.mjs +66 -13
  202. app-ng-runtime/components/input/default/esm2022/text/number/input-number.component.mjs +5 -5
  203. app-ng-runtime/components/input/default/esm2022/text/number/input-number.props.mjs +2 -1
  204. app-ng-runtime/components/input/default/esm2022/text/text/input-text.component.mjs +5 -5
  205. app-ng-runtime/components/input/default/esm2022/text/text/input-text.props.mjs +2 -1
  206. app-ng-runtime/components/input/default/esm2022/textarea/textarea.component.mjs +6 -6
  207. app-ng-runtime/components/input/default/esm2022/textarea/textarea.props.mjs +2 -1
  208. app-ng-runtime/components/input/default/fesm2022/index.mjs +171 -94
  209. app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
  210. app-ng-runtime/components/input/default/number/number.component.d.ts +1 -0
  211. app-ng-runtime/components/input/default/select/select.component.d.ts +2 -0
  212. app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +1 -0
  213. app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +1 -0
  214. app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +1 -0
  215. app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +1 -0
  216. app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +1 -0
  217. app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +1 -0
  218. app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +1 -0
  219. app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +2 -1
  220. app-ng-runtime/components/input/epoch/bundles/index.umd.js +28 -21
  221. app-ng-runtime/components/input/epoch/date/date.component.d.ts +1 -0
  222. app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +2 -1
  223. app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +10 -6
  224. app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +8 -8
  225. app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +2 -1
  226. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +9 -9
  227. app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.props.mjs +2 -1
  228. app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +7 -7
  229. app-ng-runtime/components/input/epoch/esm2022/time/time.props.mjs +2 -1
  230. app-ng-runtime/components/input/epoch/fesm2022/index.mjs +25 -18
  231. app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
  232. app-ng-runtime/components/input/epoch/time/time.component.d.ts +1 -0
  233. app-ng-runtime/components/input/file-upload/bundles/index.umd.js +224 -121
  234. app-ng-runtime/components/input/file-upload/esm2022/file-upload.component.mjs +220 -123
  235. app-ng-runtime/components/input/file-upload/esm2022/file-upload.props.mjs +7 -1
  236. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs +225 -122
  237. app-ng-runtime/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  238. app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +18 -11
  239. app-ng-runtime/components/input/rating/bundles/index.umd.js +2 -2
  240. app-ng-runtime/components/input/rating/esm2022/rating.component.mjs +3 -3
  241. app-ng-runtime/components/input/rating/fesm2022/index.mjs +2 -2
  242. app-ng-runtime/components/input/rating/fesm2022/index.mjs.map +1 -1
  243. app-ng-runtime/components/input/slider/bundles/index.umd.js +5 -6
  244. app-ng-runtime/components/input/slider/esm2022/slider.component.mjs +6 -8
  245. app-ng-runtime/components/input/slider/esm2022/slider.props.mjs +2 -1
  246. app-ng-runtime/components/input/slider/fesm2022/index.mjs +5 -6
  247. app-ng-runtime/components/input/slider/fesm2022/index.mjs.map +1 -1
  248. app-ng-runtime/components/input/slider/slider.component.d.ts +1 -0
  249. app-ng-runtime/components/navigation/breadcrumb/bundles/index.umd.js +6 -6
  250. app-ng-runtime/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +7 -7
  251. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs +6 -6
  252. app-ng-runtime/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
  253. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +8 -6
  254. app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +8 -7
  255. app-ng-runtime/components/navigation/menu/esm2022/menu.props.mjs +2 -1
  256. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +8 -6
  257. app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  258. app-ng-runtime/components/navigation/menu/menu.component.d.ts +1 -0
  259. app-ng-runtime/components/navigation/popover/bundles/index.umd.js +121 -13
  260. app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +122 -15
  261. app-ng-runtime/components/navigation/popover/esm2022/popover.props.mjs +2 -1
  262. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +121 -13
  263. app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  264. app-ng-runtime/components/navigation/popover/popover.component.d.ts +15 -3
  265. app-ng-runtime/components/page/default/bundles/index.umd.js +2 -1
  266. app-ng-runtime/components/page/default/esm2022/page.props.mjs +4 -3
  267. app-ng-runtime/components/page/default/fesm2022/index.mjs +2 -1
  268. app-ng-runtime/components/page/default/fesm2022/index.mjs.map +1 -1
  269. app-ng-runtime/components/page/footer/bundles/index.umd.js +2 -1
  270. app-ng-runtime/components/page/footer/esm2022/footer.props.mjs +3 -2
  271. app-ng-runtime/components/page/footer/fesm2022/index.mjs +2 -1
  272. app-ng-runtime/components/page/footer/fesm2022/index.mjs.map +1 -1
  273. app-ng-runtime/components/page/header/bundles/index.umd.js +2 -1
  274. app-ng-runtime/components/page/header/esm2022/header.props.mjs +3 -2
  275. app-ng-runtime/components/page/header/fesm2022/index.mjs +2 -1
  276. app-ng-runtime/components/page/header/fesm2022/index.mjs.map +1 -1
  277. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +2 -1
  278. app-ng-runtime/components/page/left-panel/esm2022/left-panel.props.mjs +3 -2
  279. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +2 -1
  280. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  281. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +2 -1
  282. app-ng-runtime/components/page/right-panel/esm2022/right-panel.props.mjs +3 -2
  283. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +2 -1
  284. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  285. app-ng-runtime/components/page/top-nav/bundles/index.umd.js +2 -1
  286. app-ng-runtime/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  287. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs +2 -1
  288. app-ng-runtime/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  289. app-ng-runtime/core/bundles/index.umd.js +15 -13
  290. app-ng-runtime/core/esm2022/public_api.mjs +2 -2
  291. app-ng-runtime/core/esm2022/utils/build-utils.mjs +7 -7
  292. app-ng-runtime/core/esm2022/utils/utils.mjs +4 -5
  293. app-ng-runtime/core/fesm2022/index.mjs +11 -11
  294. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  295. app-ng-runtime/core/public_api.d.ts +1 -1
  296. app-ng-runtime/core/utils/utils.d.ts +1 -1
  297. app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +2 -1
  298. app-ng-runtime/mobile/components/device/barcode-scanner/esm2022/barcode-scanner.props.mjs +3 -2
  299. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs +2 -1
  300. app-ng-runtime/mobile/components/device/barcode-scanner/fesm2022/index.mjs.map +1 -1
  301. app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +2 -1
  302. app-ng-runtime/mobile/components/device/camera/esm2022/camera.props.mjs +3 -2
  303. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs +2 -1
  304. app-ng-runtime/mobile/components/device/camera/fesm2022/index.mjs.map +1 -1
  305. app-ng-runtime/package.json +1 -1
  306. app-ng-runtime/runtime/base/bundles/index.umd.js +6 -4
  307. app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +2 -3
  308. app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +5 -5
  309. app-ng-runtime/runtime/base/esm2022/guards/can-deactivate-page.guard.mjs +5 -4
  310. app-ng-runtime/runtime/base/fesm2022/index.mjs +6 -4
  311. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  312. app-ng-runtime/runtime/base/guards/can-deactivate-page.guard.d.ts +2 -1
  313. app-ng-runtime/scripts/datatable/datatable.js +32 -31
  314. app-ng-runtime/variables/bundles/index.umd.js +34 -16
  315. app-ng-runtime/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +35 -17
  316. app-ng-runtime/variables/fesm2022/index.mjs +34 -16
  317. app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
  318. app-ng-runtime/variables/manager/variable/web-socket-variable.manager.d.ts +0 -4
@@ -6,13 +6,15 @@ import * as i3 from '@wm/components/base';
6
6
  import { PROP_STRING, PROP_NUMBER, PROP_BOOLEAN, register, registerFormWidget, StylableComponent, styler, provideAsWidgetRef, WmComponentsModule } from '@wm/components/base';
7
7
  import { Subject } from 'rxjs';
8
8
  import * as i1 from '@wm/core';
9
- import { FormWidgetType, isImageFile, isAudioFile, isVideoFile, DataSource, getWmProjectProperties } from '@wm/core';
9
+ import { FormWidgetType, isImageFile, isAudioFile, isVideoFile, DataSource, getWmProjectProperties, IDGenerator } from '@wm/core';
10
10
  import { toLower, includes, forEach, isEmpty } from 'lodash-es';
11
11
 
12
12
  const registerProps = () => {
13
13
  register('wm-fileupload', new Map([
14
14
  ['caption', PROP_STRING],
15
15
  ['name', PROP_STRING],
16
+ ['hint', PROP_STRING],
17
+ ['arialabel', PROP_STRING],
16
18
  ['tabindex', PROP_NUMBER],
17
19
  ['multiple', PROP_BOOLEAN],
18
20
  ['fileuploadmessage', PROP_STRING],
@@ -29,6 +31,10 @@ const registerProps = () => {
29
31
  ['selectedFiles', PROP_STRING],
30
32
  ['destination', PROP_STRING],
31
33
  ['filelistheight', PROP_NUMBER],
34
+ ['width', { value: 'auto', ...PROP_STRING }],
35
+ ['showprogressbar', PROP_BOOLEAN],
36
+ ['showprogressbarpercentage', PROP_BOOLEAN],
37
+ ['deleteiconhint', { value: 'Delete', ...PROP_STRING }]
32
38
  ]));
33
39
  registerFormWidget(FormWidgetType.UPLOAD, new Map([
34
40
  ['disabled', PROP_BOOLEAN],
@@ -46,7 +52,7 @@ const _c2 = (a0, a1) => ({ height: a0, overflow: a1 });
46
52
  const _c3 = a0 => ({ width: a0 });
47
53
  function FileUploadComponent_div_1_input_6_Template(rf, ctx) { if (rf & 1) {
48
54
  const _r3 = i0.ɵɵgetCurrentView();
49
- i0.ɵɵelementStart(0, "input", 13);
55
+ i0.ɵɵelementStart(0, "input", 15);
50
56
  i0.ɵɵlistener("click", function FileUploadComponent_div_1_input_6_Template_input_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileElemClick($event)); })("change", function FileUploadComponent_div_1_input_6_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileSelect($event, $event.target.files)); });
51
57
  i0.ɵɵelementEnd();
52
58
  } if (rf & 2) {
@@ -54,6 +60,23 @@ function FileUploadComponent_div_1_input_6_Template(rf, ctx) { if (rf & 1) {
54
60
  i0.ɵɵproperty("disabled", ctx_r1.disabled)("accept", ctx_r1.chooseFilter);
55
61
  i0.ɵɵattribute("aria-label", ctx_r1.hint || "File selection field");
56
62
  } }
63
+ function FileUploadComponent_div_1_label_9_Template(rf, ctx) { if (rf & 1) {
64
+ i0.ɵɵelement(0, "label", 16);
65
+ } if (rf & 2) {
66
+ const ctx_r1 = i0.ɵɵnextContext(2);
67
+ i0.ɵɵproperty("innerHtml", ctx_r1.chooseFilter + " only ", i0.ɵɵsanitizeHtml);
68
+ } }
69
+ function FileUploadComponent_div_1_span_10_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵelementStart(0, "span", 17);
71
+ i0.ɵɵtext(1, " . ");
72
+ i0.ɵɵelementEnd();
73
+ } }
74
+ function FileUploadComponent_div_1_label_11_Template(rf, ctx) { if (rf & 1) {
75
+ i0.ɵɵelement(0, "label", 16);
76
+ } if (rf & 2) {
77
+ const ctx_r1 = i0.ɵɵnextContext(2);
78
+ i0.ɵɵproperty("innerHtml", ctx_r1.maxfilesize + "MB max", i0.ɵɵsanitizeHtml);
79
+ } }
57
80
  function FileUploadComponent_div_1_Template(rf, ctx) { if (rf & 1) {
58
81
  const _r1 = i0.ɵɵgetCurrentView();
59
82
  i0.ɵɵelementStart(0, "div", 6)(1, "div", 7);
@@ -65,11 +88,13 @@ function FileUploadComponent_div_1_Template(rf, ctx) { if (rf & 1) {
65
88
  i0.ɵɵtemplate(6, FileUploadComponent_div_1_input_6_Template, 1, 3, "input", 11);
66
89
  i0.ɵɵelementStart(7, "a", 12);
67
90
  i0.ɵɵtext(8);
68
- i0.ɵɵelementEnd()()()()();
91
+ i0.ɵɵelementEnd()();
92
+ i0.ɵɵtemplate(9, FileUploadComponent_div_1_label_9_Template, 1, 1, "label", 13)(10, FileUploadComponent_div_1_span_10_Template, 2, 0, "span", 14)(11, FileUploadComponent_div_1_label_11_Template, 1, 1, "label", 13);
93
+ i0.ɵɵelementEnd()()();
69
94
  } if (rf & 2) {
70
95
  const ctx_r1 = i0.ɵɵnextContext();
71
96
  i0.ɵɵadvance();
72
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c1, ctx_r1.highlightDropArea));
97
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(11, _c1, ctx_r1.highlightDropArea));
73
98
  i0.ɵɵadvance();
74
99
  i0.ɵɵclassMap(ctx_r1.iconclass);
75
100
  i0.ɵɵadvance(2);
@@ -80,34 +105,40 @@ function FileUploadComponent_div_1_Template(rf, ctx) { if (rf & 1) {
80
105
  i0.ɵɵproperty("ngIf", ctx_r1.multiple);
81
106
  i0.ɵɵadvance(2);
82
107
  i0.ɵɵtextInterpolate(ctx_r1.fileUploadMessage);
108
+ i0.ɵɵadvance();
109
+ i0.ɵɵproperty("ngIf", ctx_r1.chooseFilter);
110
+ i0.ɵɵadvance();
111
+ i0.ɵɵproperty("ngIf", ctx_r1.chooseFilter && ctx_r1.maxfilesize);
112
+ i0.ɵɵadvance();
113
+ i0.ɵɵproperty("ngIf", ctx_r1.maxfilesize);
83
114
  } }
84
115
  function FileUploadComponent_div_2_input_3_Template(rf, ctx) { if (rf & 1) {
85
116
  const _r4 = i0.ɵɵgetCurrentView();
86
- i0.ɵɵelementStart(0, "input", 13);
87
- i0.ɵɵlistener("click", function FileUploadComponent_div_2_input_3_Template_input_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileElemClick($event)); })("change", function FileUploadComponent_div_2_input_3_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileSelect($event, $event.target.files)); });
117
+ i0.ɵɵelementStart(0, "input", 26);
118
+ i0.ɵɵlistener("change", function FileUploadComponent_div_2_input_3_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileSelect($event, $event.target.files)); })("click", function FileUploadComponent_div_2_input_3_Template_input_click_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileElemClick($event)); });
88
119
  i0.ɵɵelementEnd();
89
120
  } if (rf & 2) {
90
121
  const ctx_r1 = i0.ɵɵnextContext(2);
91
- i0.ɵɵproperty("disabled", ctx_r1.disabled)("accept", ctx_r1.chooseFilter);
92
- i0.ɵɵattribute("aria-label", ctx_r1.hint || "File selection field");
122
+ i0.ɵɵproperty("accept", ctx_r1.chooseFilter)("disabled", ctx_r1.disabled);
123
+ i0.ɵɵattribute("aria-label", ctx_r1.arialabel || "File selection field");
93
124
  } }
94
125
  function FileUploadComponent_div_2_input_4_Template(rf, ctx) { if (rf & 1) {
95
126
  const _r5 = i0.ɵɵgetCurrentView();
96
- i0.ɵɵelementStart(0, "input", 21);
97
- i0.ɵɵlistener("click", function FileUploadComponent_div_2_input_4_Template_input_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileElemClick($event)); })("change", function FileUploadComponent_div_2_input_4_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileSelect($event, $event.target.files)); });
127
+ i0.ɵɵelementStart(0, "input", 27);
128
+ i0.ɵɵlistener("change", function FileUploadComponent_div_2_input_4_Template_input_change_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileSelect($event, $event.target.files)); })("click", function FileUploadComponent_div_2_input_4_Template_input_click_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileElemClick($event)); });
98
129
  i0.ɵɵelementEnd();
99
130
  } if (rf & 2) {
100
131
  const ctx_r1 = i0.ɵɵnextContext(2);
101
- i0.ɵɵproperty("disabled", ctx_r1.disabled)("accept", ctx_r1.chooseFilter);
102
- i0.ɵɵattribute("aria-label", ctx_r1.hint || "File selection field");
132
+ i0.ɵɵproperty("accept", ctx_r1.chooseFilter)("disabled", ctx_r1.disabled);
133
+ i0.ɵɵattribute("aria-label", ctx_r1.arialabel || "File selection field");
103
134
  } }
104
135
  function FileUploadComponent_div_2_Template(rf, ctx) { if (rf & 1) {
105
- i0.ɵɵelementStart(0, "div", 14)(1, "div", 15)(2, "form", 10);
106
- i0.ɵɵtemplate(3, FileUploadComponent_div_2_input_3_Template, 1, 3, "input", 11)(4, FileUploadComponent_div_2_input_4_Template, 1, 3, "input", 16);
107
- i0.ɵɵelementStart(5, "button", 17);
108
- i0.ɵɵelement(6, "i", 18)(7, "span", 19);
136
+ i0.ɵɵelementStart(0, "div", 18)(1, "div", 19)(2, "form", 10);
137
+ i0.ɵɵtemplate(3, FileUploadComponent_div_2_input_3_Template, 1, 3, "input", 20)(4, FileUploadComponent_div_2_input_4_Template, 1, 3, "input", 21);
138
+ i0.ɵɵelementStart(5, "button", 22);
139
+ i0.ɵɵelement(6, "i", 23)(7, "span", 24);
109
140
  i0.ɵɵelementEnd()()();
110
- i0.ɵɵelement(8, "div", 20);
141
+ i0.ɵɵelement(8, "div", 25);
111
142
  i0.ɵɵelementEnd();
112
143
  } if (rf & 2) {
113
144
  const ctx_r1 = i0.ɵɵnextContext();
@@ -126,9 +157,9 @@ function FileUploadComponent_div_2_Template(rf, ctx) { if (rf & 1) {
126
157
  } }
127
158
  function FileUploadComponent_button_3_Template(rf, ctx) { if (rf & 1) {
128
159
  const _r6 = i0.ɵɵgetCurrentView();
129
- i0.ɵɵelementStart(0, "button", 22);
160
+ i0.ɵɵelementStart(0, "button", 28);
130
161
  i0.ɵɵlistener("click", function FileUploadComponent_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openFileSelector()); });
131
- i0.ɵɵelement(1, "i")(2, "span", 19);
162
+ i0.ɵɵelement(1, "i")(2, "span", 24);
132
163
  i0.ɵɵelementEnd();
133
164
  } if (rf & 2) {
134
165
  const ctx_r1 = i0.ɵɵnextContext();
@@ -138,8 +169,15 @@ function FileUploadComponent_button_3_Template(rf, ctx) { if (rf & 1) {
138
169
  i0.ɵɵadvance();
139
170
  i0.ɵɵproperty("innerHTML", ctx_r1.caption, i0.ɵɵsanitizeHtml);
140
171
  } }
141
- function FileUploadComponent_ul_4_div_1_li_1_span_9_Template(rf, ctx) { if (rf & 1) {
142
- i0.ɵɵelementStart(0, "span", 36);
172
+ function FileUploadComponent_ul_4_ng_container_1_li_1_span_8_Template(rf, ctx) { if (rf & 1) {
173
+ i0.ɵɵelement(0, "span");
174
+ i0.ɵɵpipe(1, "stateClass");
175
+ } if (rf & 2) {
176
+ const ft_r7 = i0.ɵɵnextContext(2).$implicit;
177
+ i0.ɵɵclassMapInterpolate1("status-icon ", i0.ɵɵpipeBind1(1, 3, ft_r7.status), "");
178
+ } }
179
+ function FileUploadComponent_ul_4_ng_container_1_li_1_span_10_Template(rf, ctx) { if (rf & 1) {
180
+ i0.ɵɵelementStart(0, "span", 47);
143
181
  i0.ɵɵtext(1);
144
182
  i0.ɵɵpipe(2, "filesize");
145
183
  i0.ɵɵelementEnd();
@@ -148,130 +186,152 @@ function FileUploadComponent_ul_4_div_1_li_1_span_9_Template(rf, ctx) { if (rf &
148
186
  i0.ɵɵadvance();
149
187
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(2, 1, ft_r7.size, 0));
150
188
  } }
151
- function FileUploadComponent_ul_4_div_1_li_1_div_10_Template(rf, ctx) { if (rf & 1) {
152
- i0.ɵɵelementStart(0, "div", 37);
153
- i0.ɵɵelement(1, "div", 38);
189
+ function FileUploadComponent_ul_4_ng_container_1_li_1_span_11_Template(rf, ctx) { if (rf & 1) {
190
+ i0.ɵɵelement(0, "span", 34);
191
+ i0.ɵɵpipe(1, "stateClass");
192
+ } if (rf & 2) {
193
+ const ft_r7 = i0.ɵɵnextContext(2).$implicit;
194
+ const ctx_r1 = i0.ɵɵnextContext(2);
195
+ i0.ɵɵclassMapInterpolate1("status-icon ", i0.ɵɵpipeBind1(1, 4, ft_r7.status), "");
196
+ i0.ɵɵpropertyInterpolate("title", ft_r7.errMsg || ctx_r1.appLocale.MESSAGE_FILE_UPLOAD_FAILED);
197
+ } }
198
+ function FileUploadComponent_ul_4_ng_container_1_li_1_span_12_Template(rf, ctx) { if (rf & 1) {
199
+ i0.ɵɵelementStart(0, "span", 48);
200
+ i0.ɵɵtext(1, "Upload Failed");
201
+ i0.ɵɵelementEnd();
202
+ } }
203
+ function FileUploadComponent_ul_4_ng_container_1_li_1_div_13_Template(rf, ctx) { if (rf & 1) {
204
+ i0.ɵɵelementStart(0, "div", 49);
205
+ i0.ɵɵelement(1, "div", 50);
154
206
  i0.ɵɵelementEnd();
155
207
  } if (rf & 2) {
156
208
  const ft_r7 = i0.ɵɵnextContext(2).$implicit;
157
209
  i0.ɵɵadvance();
158
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(1, _c3, ft_r7.progress + "%"));
210
+ i0.ɵɵproperty("ngClass", ft_r7.status === "error" ? "progress-bar-danger" : "progress-bar-info")("ngStyle", i0.ɵɵpureFunction1(2, _c3, ft_r7.progress + "%"));
159
211
  } }
160
- function FileUploadComponent_ul_4_div_1_li_1_div_11_Template(rf, ctx) { if (rf & 1) {
161
- const _r8 = i0.ɵɵgetCurrentView();
162
- i0.ɵɵelementStart(0, "div", 39)(1, "a", 40);
163
- i0.ɵɵlistener("click", function FileUploadComponent_ul_4_div_1_li_1_div_11_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r8); const ft_r7 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.abortFileUpload(ft_r7)); });
164
- i0.ɵɵelement(2, "i", 41);
165
- i0.ɵɵelementEnd()();
166
- } }
167
- function FileUploadComponent_ul_4_div_1_li_1_div_12_Template(rf, ctx) { if (rf & 1) {
168
- i0.ɵɵelementStart(0, "div", 39);
169
- i0.ɵɵelement(1, "span");
170
- i0.ɵɵpipe(2, "stateClass");
212
+ function FileUploadComponent_ul_4_ng_container_1_li_1_div_14_Template(rf, ctx) { if (rf & 1) {
213
+ i0.ɵɵelementStart(0, "div", 51);
214
+ i0.ɵɵtext(1);
171
215
  i0.ɵɵelementEnd();
172
216
  } if (rf & 2) {
173
217
  const ft_r7 = i0.ɵɵnextContext(2).$implicit;
174
218
  i0.ɵɵadvance();
175
- i0.ɵɵclassMapInterpolate1("status-icon ", i0.ɵɵpipeBind1(2, 3, ft_r7.status), "");
219
+ i0.ɵɵtextInterpolate1("", ft_r7.progress + "%", " ");
176
220
  } }
177
- function FileUploadComponent_ul_4_div_1_li_1_div_13_Template(rf, ctx) { if (rf & 1) {
178
- const _r9 = i0.ɵɵgetCurrentView();
179
- i0.ɵɵelementStart(0, "div", 39)(1, "a", 42);
180
- i0.ɵɵlistener("click", function FileUploadComponent_ul_4_div_1_li_1_div_13_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r9); const ft_r7 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.clear(ft_r7)); });
181
- i0.ɵɵelement(2, "i");
221
+ function FileUploadComponent_ul_4_ng_container_1_li_1_div_15_Template(rf, ctx) { if (rf & 1) {
222
+ const _r8 = i0.ɵɵgetCurrentView();
223
+ i0.ɵɵelementStart(0, "div", 45)(1, "a", 52);
224
+ i0.ɵɵlistener("click", function FileUploadComponent_ul_4_ng_container_1_li_1_div_15_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r8); const ft_r7 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.abortFileUpload(ft_r7)); });
225
+ i0.ɵɵelement(2, "i", 53);
182
226
  i0.ɵɵelementEnd()();
227
+ } }
228
+ function FileUploadComponent_ul_4_ng_container_1_li_1_a_17_Template(rf, ctx) { if (rf & 1) {
229
+ const _r9 = i0.ɵɵgetCurrentView();
230
+ i0.ɵɵelementStart(0, "a", 54);
231
+ i0.ɵɵlistener("click", function FileUploadComponent_ul_4_ng_container_1_li_1_a_17_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r9); const ft_r7 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.clear(ft_r7)); });
232
+ i0.ɵɵelement(1, "i");
233
+ i0.ɵɵelementEnd();
183
234
  } if (rf & 2) {
184
235
  const ctx_r1 = i0.ɵɵnextContext(4);
185
- i0.ɵɵadvance();
186
236
  i0.ɵɵpropertyInterpolate("title", ctx_r1.cleariconhint);
187
237
  i0.ɵɵadvance();
188
238
  i0.ɵɵclassMap(ctx_r1.cleariconclass);
189
239
  } }
190
- function FileUploadComponent_ul_4_div_1_li_1_div_14_Template(rf, ctx) { if (rf & 1) {
191
- i0.ɵɵelementStart(0, "div", 43);
192
- i0.ɵɵelement(1, "span");
193
- i0.ɵɵpipe(2, "stateClass");
194
- i0.ɵɵelementEnd();
240
+ function FileUploadComponent_ul_4_ng_container_1_li_1_div_18_Template(rf, ctx) { if (rf & 1) {
241
+ const _r10 = i0.ɵɵgetCurrentView();
242
+ i0.ɵɵelementStart(0, "div", 45)(1, "a", 54);
243
+ i0.ɵɵlistener("click", function FileUploadComponent_ul_4_ng_container_1_li_1_div_18_Template_a_click_1_listener($event) { i0.ɵɵrestoreView(_r10); const ft_r7 = i0.ɵɵnextContext(2).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFileDelete($event, ft_r7)); });
244
+ i0.ɵɵelement(2, "i", 55);
245
+ i0.ɵɵelementEnd()();
195
246
  } if (rf & 2) {
196
- const ft_r7 = i0.ɵɵnextContext(2).$implicit;
197
- const ctx_r1 = i0.ɵɵnextContext(2);
198
- i0.ɵɵpropertyInterpolate("title", ft_r7.errMsg || ctx_r1.appLocale.MESSAGE_FILE_UPLOAD_FAILED);
247
+ const ctx_r1 = i0.ɵɵnextContext(4);
199
248
  i0.ɵɵadvance();
200
- i0.ɵɵclassMapInterpolate1("status-icon ", i0.ɵɵpipeBind1(2, 4, ft_r7.status), "");
249
+ i0.ɵɵpropertyInterpolate("title", ctx_r1.deleteiconhint);
201
250
  } }
202
- function FileUploadComponent_ul_4_div_1_li_1_Template(rf, ctx) { if (rf & 1) {
203
- i0.ɵɵelementStart(0, "li", 26)(1, "div", 27);
204
- i0.ɵɵelement(2, "div", 28);
251
+ function FileUploadComponent_ul_4_ng_container_1_li_1_Template(rf, ctx) { if (rf & 1) {
252
+ i0.ɵɵelementStart(0, "li", 32)(1, "div", 33);
253
+ i0.ɵɵelement(2, "div", 34);
205
254
  i0.ɵɵpipe(3, "fileIconClass");
206
- i0.ɵɵelementStart(4, "div", 29)(5, "p", 30)(6, "label", 31);
255
+ i0.ɵɵelementStart(4, "div", 35)(5, "p", 36)(6, "span", 37);
207
256
  i0.ɵɵtext(7);
208
257
  i0.ɵɵelementEnd();
209
- i0.ɵɵelement(8, "br");
210
- i0.ɵɵtemplate(9, FileUploadComponent_ul_4_div_1_li_1_span_9_Template, 3, 4, "span", 32);
258
+ i0.ɵɵtemplate(8, FileUploadComponent_ul_4_ng_container_1_li_1_span_8_Template, 2, 5, "span", 38);
259
+ i0.ɵɵelement(9, "br");
260
+ i0.ɵɵtemplate(10, FileUploadComponent_ul_4_ng_container_1_li_1_span_10_Template, 3, 4, "span", 39)(11, FileUploadComponent_ul_4_ng_container_1_li_1_span_11_Template, 2, 6, "span", 40)(12, FileUploadComponent_ul_4_ng_container_1_li_1_span_12_Template, 2, 0, "span", 41);
211
261
  i0.ɵɵelementEnd();
212
- i0.ɵɵtemplate(10, FileUploadComponent_ul_4_div_1_li_1_div_10_Template, 2, 3, "div", 33);
262
+ i0.ɵɵtemplate(13, FileUploadComponent_ul_4_ng_container_1_li_1_div_13_Template, 2, 4, "div", 42)(14, FileUploadComponent_ul_4_ng_container_1_li_1_div_14_Template, 2, 1, "div", 43);
213
263
  i0.ɵɵelementEnd();
214
- i0.ɵɵtemplate(11, FileUploadComponent_ul_4_div_1_li_1_div_11_Template, 3, 0, "div", 34)(12, FileUploadComponent_ul_4_div_1_li_1_div_12_Template, 3, 5, "div", 34)(13, FileUploadComponent_ul_4_div_1_li_1_div_13_Template, 3, 4, "div", 34)(14, FileUploadComponent_ul_4_div_1_li_1_div_14_Template, 3, 6, "div", 35);
264
+ i0.ɵɵtemplate(15, FileUploadComponent_ul_4_ng_container_1_li_1_div_15_Template, 3, 0, "div", 44);
265
+ i0.ɵɵelementStart(16, "div", 45);
266
+ i0.ɵɵtemplate(17, FileUploadComponent_ul_4_ng_container_1_li_1_a_17_Template, 2, 4, "a", 46);
267
+ i0.ɵɵelementEnd();
268
+ i0.ɵɵtemplate(18, FileUploadComponent_ul_4_ng_container_1_li_1_div_18_Template, 3, 1, "div", 44);
215
269
  i0.ɵɵelementEnd()();
216
270
  } if (rf & 2) {
217
271
  const ft_r7 = i0.ɵɵnextContext().$implicit;
218
272
  const ctx_r1 = i0.ɵɵnextContext(2);
219
273
  i0.ɵɵadvance(2);
220
- i0.ɵɵclassMapInterpolate1("media-left media-middle file-icon ", i0.ɵɵpipeBind1(3, 11, ctx_r1.getFileExtension(ft_r7.name)), "");
274
+ i0.ɵɵclassMapInterpolate1("media-left media-middle file-icon ", i0.ɵɵpipeBind1(3, 14, ctx_r1.getFileExtension(ft_r7.name)), "");
221
275
  i0.ɵɵpropertyInterpolate("title", ctx_r1.getFileExtension(ft_r7.name));
222
276
  i0.ɵɵadvance(5);
223
- i0.ɵɵtextInterpolate(ft_r7.name);
277
+ i0.ɵɵtextInterpolate(ft_r7.storageName || ft_r7.name);
278
+ i0.ɵɵadvance();
279
+ i0.ɵɵproperty("ngIf", ft_r7.status === "success" && (!ctx_r1.datasource || ctx_r1.datasource && (ft_r7._response == null ? null : ft_r7._response.success)));
224
280
  i0.ɵɵadvance(2);
225
281
  i0.ɵɵproperty("ngIf", ft_r7.fileLength !== 0);
226
282
  i0.ɵɵadvance();
227
- i0.ɵɵproperty("ngIf", ft_r7.status === "onProgress");
283
+ i0.ɵɵproperty("ngIf", ft_r7.status === "error");
228
284
  i0.ɵɵadvance();
229
- i0.ɵɵproperty("ngIf", ft_r7.status === "onProgress" || ft_r7.status === "queued");
285
+ i0.ɵɵproperty("ngIf", ft_r7.status === "error");
230
286
  i0.ɵɵadvance();
231
- i0.ɵɵproperty("ngIf", ft_r7.status === "success");
287
+ i0.ɵɵproperty("ngIf", ft_r7.status === "onProgress" || ctx_r1.showprogressbar);
232
288
  i0.ɵɵadvance();
289
+ i0.ɵɵproperty("ngIf", (ft_r7.status === "onProgress" || ctx_r1.showprogressbar && ctx_r1.showprogressbarpercentage) && ft_r7.progress);
290
+ i0.ɵɵadvance();
291
+ i0.ɵɵproperty("ngIf", ft_r7.status === "onProgress" || ft_r7.status === "queued");
292
+ i0.ɵɵadvance(2);
233
293
  i0.ɵɵproperty("ngIf", ctx_r1.cleariconclass !== "" && ft_r7.status !== "onProgress");
234
294
  i0.ɵɵadvance();
235
- i0.ɵɵproperty("ngIf", ft_r7.status === "error");
295
+ i0.ɵɵproperty("ngIf", ft_r7.status === "success" && (!ctx_r1.datasource || ctx_r1.datasource && (ft_r7._response == null ? null : ft_r7._response.success)));
236
296
  } }
237
- function FileUploadComponent_ul_4_div_1_Template(rf, ctx) { if (rf & 1) {
238
- i0.ɵɵelementStart(0, "div");
239
- i0.ɵɵtemplate(1, FileUploadComponent_ul_4_div_1_li_1_Template, 15, 13, "li", 25);
240
- i0.ɵɵelementEnd();
297
+ function FileUploadComponent_ul_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
298
+ i0.ɵɵelementContainerStart(0);
299
+ i0.ɵɵtemplate(1, FileUploadComponent_ul_4_ng_container_1_li_1_Template, 19, 16, "li", 31);
300
+ i0.ɵɵelementContainerEnd();
241
301
  } if (rf & 2) {
242
302
  const ft_r7 = ctx.$implicit;
243
303
  i0.ɵɵadvance();
244
304
  i0.ɵɵproperty("ngIf", ft_r7.status !== "abort");
245
305
  } }
246
306
  function FileUploadComponent_ul_4_Template(rf, ctx) { if (rf & 1) {
247
- i0.ɵɵelementStart(0, "ul", 23);
248
- i0.ɵɵtemplate(1, FileUploadComponent_ul_4_div_1_Template, 2, 1, "div", 24);
307
+ i0.ɵɵelementStart(0, "ul", 29);
308
+ i0.ɵɵtemplate(1, FileUploadComponent_ul_4_ng_container_1_Template, 2, 1, "ng-container", 30);
249
309
  i0.ɵɵelementEnd();
250
310
  } if (rf & 2) {
251
311
  const ctx_r1 = i0.ɵɵnextContext();
252
312
  i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(2, _c2, ctx_r1.filelistheight, ctx_r1.overflow));
253
313
  i0.ɵɵadvance();
254
- i0.ɵɵproperty("ngForOf", ctx_r1.multiple ? ctx_r1.multipleSelectedFiles : ctx_r1.selectedFiles);
314
+ i0.ɵɵproperty("ngForOf", ctx_r1.uploadedFiles);
255
315
  } }
256
316
  function FileUploadComponent_ul_5_li_1_Template(rf, ctx) { if (rf & 1) {
257
- i0.ɵɵelementStart(0, "li", 26)(1, "div", 27);
258
- i0.ɵɵelement(2, "div", 46);
259
- i0.ɵɵelementStart(3, "div", 29)(4, "p", 30)(5, "label", 31);
317
+ i0.ɵɵelementStart(0, "li", 58)(1, "div", 33);
318
+ i0.ɵɵelement(2, "div", 59);
319
+ i0.ɵɵelementStart(3, "div", 35)(4, "p", 60)(5, "label", 37);
260
320
  i0.ɵɵtext(6);
261
321
  i0.ɵɵelementEnd();
262
322
  i0.ɵɵelement(7, "br");
263
323
  i0.ɵɵelementEnd()();
264
- i0.ɵɵelementStart(8, "div", 39);
265
- i0.ɵɵelement(9, "span", 47);
324
+ i0.ɵɵelementStart(8, "div", 45);
325
+ i0.ɵɵelement(9, "span", 61);
266
326
  i0.ɵɵelementEnd()()();
267
327
  } if (rf & 2) {
268
- const ft_r10 = ctx.$implicit;
328
+ const ft_r11 = ctx.$implicit;
269
329
  i0.ɵɵadvance(6);
270
- i0.ɵɵtextInterpolate(ft_r10.name);
330
+ i0.ɵɵtextInterpolate(ft_r11.name);
271
331
  } }
272
332
  function FileUploadComponent_ul_5_Template(rf, ctx) { if (rf & 1) {
273
- i0.ɵɵelementStart(0, "ul", 44);
274
- i0.ɵɵtemplate(1, FileUploadComponent_ul_5_li_1_Template, 10, 1, "li", 45);
333
+ i0.ɵɵelementStart(0, "ul", 56);
334
+ i0.ɵɵtemplate(1, FileUploadComponent_ul_5_li_1_Template, 10, 1, "li", 57);
275
335
  i0.ɵɵelementEnd();
276
336
  } if (rf & 2) {
277
337
  const ctx_r1 = i0.ɵɵnextContext();
@@ -388,8 +448,11 @@ class FileUploadComponent extends StylableComponent {
388
448
  * @param $files
389
449
  */
390
450
  onSelectEventCall($event, $files) {
391
- this.multipleSelectedFiles = this.multiple ? [...this.multipleSelectedFiles, ...$files] : $files;
451
+ $files.forEach(file => {
452
+ file.uniqueId = this.idGenerator.nextUid();
453
+ });
392
454
  this.selectedFiles = $files;
455
+ this.uploadedFiles = this.multiple ? [...this.uploadedFiles, ...$files] : $files;
393
456
  setTimeout(() => {
394
457
  this.invokeEventCallback('select', {
395
458
  $event: $.extend($event.$files || {}, $files),
@@ -411,12 +474,11 @@ class FileUploadComponent extends StylableComponent {
411
474
  }
412
475
  /*this function to clear the specified file. if argument is not provided, it clears the complete list */
413
476
  clear(fileObj) {
414
- if (this.multiple) {
415
- this.multipleSelectedFiles = (fileObj) ? this.multipleSelectedFiles.filter((file) => file !== fileObj) : [];
416
- }
417
- else {
418
- this.selectedFiles = (fileObj) ? this.selectedFiles.filter((file) => file !== fileObj) : [];
419
- }
477
+ this.selectedFiles = (fileObj) ? this.clearFile(this.selectedFiles, fileObj) : [];
478
+ this.uploadedFiles = (fileObj) ? this.clearFile(this.uploadedFiles, fileObj) : [];
479
+ }
480
+ clearFile(files, fileObj) {
481
+ return files.filter((file) => file?._response?.fileName !== fileObj?._response?.fileName || file?.name !== fileObj?.name || file !== fileObj);
420
482
  }
421
483
  /*this function to set the class names for clear icon */
422
484
  setClearIconClass(classValue) {
@@ -444,34 +506,36 @@ class FileUploadComponent extends StylableComponent {
444
506
  }
445
507
  // Make call if there are valid files else no call is made
446
508
  if ($files.length) {
447
- this.progressObservable = new Subject();
448
509
  // EVENT: ON_BEFORE_SELECT
449
510
  beforeSelectVal = this.invokeEventCallback('beforeselect', {
450
511
  $event: $.extend($event.$files || {}, $files),
451
512
  files: $files
452
513
  });
453
514
  if (this.datasource) {
454
- this.datasource._progressObservable = this.progressObservable;
455
- this.datasource._progressObservable.asObservable().subscribe((progressObj) => {
456
- forEach(this.selectedFiles, (file) => {
457
- if (file.name === progressObj.fileName) {
458
- file.progress = progressObj.progress;
459
- if (file.progress === 100) {
460
- file.status = 'success';
461
- }
462
- else {
463
- file.status = progressObj.status;
464
- if (progressObj.errMsg) {
465
- file.errMsg = progressObj.errMsg;
466
- this.invokeEventCallback('error', {
467
- $event,
468
- files: file
469
- });
515
+ if (!this.uploadProgressSubscription) {
516
+ this.progressObservable = new Subject();
517
+ this.datasource._progressObservable = this.progressObservable;
518
+ this.uploadProgressSubscription = this.datasource._progressObservable.asObservable().subscribe((progressObj) => {
519
+ forEach(this.uploadedFiles, (file) => {
520
+ if (file.name === progressObj.fileName && file.uniqueId === progressObj.uniqueId) {
521
+ file.progress = progressObj.progress;
522
+ if (file.progress === 100) {
523
+ file.status = 'success';
524
+ }
525
+ else {
526
+ file.status = progressObj.status;
527
+ if (progressObj.errMsg) {
528
+ file.errMsg = progressObj.errMsg;
529
+ this.invokeEventCallback('error', {
530
+ $event,
531
+ files: file
532
+ });
533
+ }
470
534
  }
471
535
  }
472
- }
536
+ });
473
537
  });
474
- });
538
+ }
475
539
  }
476
540
  else {
477
541
  this.selectedFiles = $files;
@@ -482,6 +546,43 @@ class FileUploadComponent extends StylableComponent {
482
546
  }
483
547
  }
484
548
  }
549
+ onFileDelete($event, file) {
550
+ if (!file) {
551
+ return;
552
+ }
553
+ const beforeDeleteVal = this.invokeEventCallback('beforedelete', { $event: file });
554
+ if (beforeDeleteVal !== false) {
555
+ this.dialogService.showAppConfirmDialog({
556
+ title: "Delete file",
557
+ message: "Are you sure you want to delete this file?",
558
+ oktext: "Ok",
559
+ canceltext: "Cancel",
560
+ onOk: () => {
561
+ if (this.deletedatasource) {
562
+ this.deletedatasource.setInput('file', file._response.fileName || file.name);
563
+ if (!this.deleteProgressSubscription) {
564
+ this.deleteFileObservable = new Subject();
565
+ this.deletedatasource._deleteFileObservable = this.deleteFileObservable;
566
+ this.deletedatasource._deleteFileObservable.asObservable().subscribe((response) => {
567
+ if (response.status === "success") {
568
+ this.selectedFiles = this.selectedFiles.filter((fileObj) => file !== fileObj) || [];
569
+ this.uploadedFiles = this.uploadedFiles.filter((fileObj) => file !== fileObj) || [];
570
+ }
571
+ });
572
+ }
573
+ }
574
+ this.invokeEventCallback('delete', { $event: file });
575
+ this.dialogService.closeAppConfirmDialog();
576
+ },
577
+ onCancel: () => {
578
+ this.dialogService.closeAppConfirmDialog();
579
+ },
580
+ onOpen: () => {
581
+ $('.cancel-action').focus();
582
+ }
583
+ });
584
+ }
585
+ }
485
586
  // Prevent default behavior (Prevent file from being opened)
486
587
  dragOverHandler($event) {
487
588
  $event.preventDefault();
@@ -559,12 +660,13 @@ class FileUploadComponent extends StylableComponent {
559
660
  }
560
661
  super.onPropertyChange(key, nv, ov);
561
662
  }
562
- constructor(inj, app, onSelectEvt, explicitContext) {
663
+ constructor(inj, app, onSelectEvt, dialogService, explicitContext) {
563
664
  super(inj, WIDGET_CONFIG, explicitContext);
564
665
  this.app = app;
565
666
  this.onSelectEvt = onSelectEvt;
667
+ this.dialogService = dialogService;
566
668
  this.selectedFiles = [];
567
- this.multipleSelectedFiles = [];
669
+ this.uploadedFiles = [];
568
670
  this.selectedFolders = [];
569
671
  this.fileTransfers = {};
570
672
  this.caption = 'Upload';
@@ -590,12 +692,7 @@ class FileUploadComponent extends StylableComponent {
590
692
  this.defaultAllowedExtensions = this.allowedFileUploadExtensions.split(',').map(item => item.trim()).map(item => item.endsWith('/*') ? item : `.${item}`);
591
693
  this.chooseFilter = this.defaultAllowedExtensions.includes('*/*') ? '' : this.defaultAllowedExtensions;
592
694
  this.fileUploadMessage = 'Drop your files here or click here to browse';
593
- this.uploadedFiles = {
594
- fileName: '',
595
- path: '',
596
- length: '',
597
- status: ''
598
- };
695
+ this.idGenerator = new IDGenerator('file-');
599
696
  this.uploadUrl = 'services';
600
697
  // styler(this.nativeElement, this);
601
698
  }
@@ -615,13 +712,19 @@ class FileUploadComponent extends StylableComponent {
615
712
  document.removeEventListener('drop', this.dropCb);
616
713
  document.removeEventListener('mouseleave', this.dropCb);
617
714
  super.ngOnDestroy();
715
+ const subscriptions = [this.uploadProgressSubscription, this.deleteProgressSubscription];
716
+ subscriptions.forEach(subscription => {
717
+ if (subscription) {
718
+ subscription.unsubscribe();
719
+ }
720
+ });
618
721
  }
619
- static { this.ɵfac = function FileUploadComponent_Factory(t) { return new (t || FileUploadComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.App), i0.ɵɵinjectAttribute('select.event'), i0.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
722
+ static { this.ɵfac = function FileUploadComponent_Factory(t) { return new (t || FileUploadComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.App), i0.ɵɵinjectAttribute('select.event'), i0.ɵɵdirectiveInject(i1.AbstractDialogService), i0.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
620
723
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FileUploadComponent, selectors: [["", "wmFileUpload", ""]], features: [i0.ɵɵProvidersFeature([
621
724
  provideAsWidgetRef(FileUploadComponent)
622
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 6, vars: 5, consts: [["init-widget", "", 1, "app-fileupload"], ["class", "app-multi-file-upload", 4, "ngIf"], ["class", "app-single-file-upload", 4, "ngIf"], ["focus-target", "", "class", "app-button btn btn-default", 3, "disabled", "click", 4, "ngIf"], ["class", "list-group file-upload", 3, "ngStyle", 4, "ngIf"], ["class", "list-group file-upload", 3, "ngStyle", "title", 4, "ngIf"], [1, "app-multi-file-upload"], ["id", "dropzone", 1, "drop-box", 3, "click", "dragover", "drop", "ngClass"], [1, "message"], [1, "caption", 3, "innerHtml"], [1, "form-horizontal", 3, "name"], ["class", "file-input", "type", "file", "name", "files", "multiple", "", 3, "disabled", "accept", "click", "change", 4, "ngIf"], ["href", "javascript:void(0);", 1, "app-anchor"], ["type", "file", "name", "files", "multiple", "", 1, "file-input", 3, "click", "change", "disabled", "accept"], [1, "app-single-file-upload"], [1, "app-button-wrapper"], ["class", "file-input", "type", "file", "name", "files", 3, "disabled", "accept", "click", "change", 4, "ngIf"], ["id", "dropzone", "focus-target", "", 1, "app-button", "btn", "btn-default", 3, "ngClass"], ["aria-hidden", "true"], [1, "caption", 3, "innerHTML"], [1, "app-files-upload-status", "single"], ["type", "file", "name", "files", 1, "file-input", 3, "click", "change", "disabled", "accept"], ["focus-target", "", 1, "app-button", "btn", "btn-default", 3, "click", "disabled"], [1, "list-group", "file-upload", 3, "ngStyle"], [4, "ngFor", "ngForOf"], ["class", "list-group-item file-upload-status", 4, "ngIf"], [1, "list-group-item", "file-upload-status"], [1, "media", "upload-file-list"], [3, "title"], [1, "media-body", "media-middle", "file-details"], [1, "uploaddetails"], [1, "upload-title"], ["class", "filesize", 4, "ngIf"], ["class", "progress", 4, "ngIf"], ["class", "media-right media-middle", 4, "ngIf"], ["class", "media-right media-middle", 3, "title", 4, "ngIf"], [1, "filesize"], [1, "progress"], [1, "progress-bar", "progress-bar-striped", "progress-bar-info", 3, "ngStyle"], [1, "media-right", "media-middle"], ["type", "button", 1, "btn", "btn-transparent", "file-upload-stop", 3, "click"], [1, "wi", "wi-close"], ["type", "button", 1, "btn", "btn-transparent", "btn-default", "status-icon", 3, "click", "title"], [1, "media-right", "media-middle", 3, "title"], [1, "list-group", "file-upload", 3, "ngStyle", "title"], ["class", "list-group-item file-upload-status", 4, "ngFor", "ngForOf"], [1, "media-left", "media-middle", "file-icon", "fa", "fa-folder-o"], [1, "status-icon", "wi", "wi-cancel", "text-danger"]], template: function FileUploadComponent_Template(rf, ctx) { if (rf & 1) {
725
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 6, vars: 5, consts: [["init-widget", "", 1, "app-fileupload"], ["class", "app-multi-file-upload", 4, "ngIf"], ["class", "app-single-file-upload", 4, "ngIf"], ["focus-target", "", "class", "app-button btn btn-default", 3, "disabled", "click", 4, "ngIf"], ["class", "list-group file-upload", "tabindex", "0", 3, "ngStyle", 4, "ngIf"], ["class", "list-group file-upload", 3, "ngStyle", "title", 4, "ngIf"], [1, "app-multi-file-upload"], ["id", "dropzone", 1, "drop-box", 3, "click", "dragover", "drop", "ngClass"], [1, "message"], [1, "upload-label", 3, "innerHtml"], [1, "form-horizontal", 3, "name"], ["class", "file-input", "type", "file", "name", "files", "multiple", "", 3, "disabled", "accept", "click", "change", 4, "ngIf"], ["href", "javascript:void(0);", 1, "app-anchor", "upload-label"], ["class", "upload-extensions", 3, "innerHtml", 4, "ngIf"], ["class", "upload-extensions", 4, "ngIf"], ["type", "file", "name", "files", "multiple", "", 1, "file-input", 3, "click", "change", "disabled", "accept"], [1, "upload-extensions", 3, "innerHtml"], [1, "upload-extensions"], [1, "app-single-file-upload"], [1, "app-button-wrapper"], ["class", "file-input", "multiple", "", "name", "files", "type", "file", 3, "accept", "disabled", "change", "click", 4, "ngIf"], ["class", "file-input", "name", "files", "type", "file", 3, "accept", "disabled", "change", "click", 4, "ngIf"], ["id", "dropzone", "focus-target", "", 1, "app-button", "btn", "btn-default", 3, "ngClass"], ["aria-hidden", "true"], [1, "caption", 3, "innerHTML"], [1, "app-files-upload-status", "single"], ["multiple", "", "name", "files", "type", "file", 1, "file-input", 3, "change", "click", "accept", "disabled"], ["name", "files", "type", "file", 1, "file-input", 3, "change", "click", "accept", "disabled"], ["focus-target", "", 1, "app-button", "btn", "btn-default", 3, "click", "disabled"], ["tabindex", "0", 1, "list-group", "file-upload", 3, "ngStyle"], [4, "ngFor", "ngForOf"], ["class", "list-group-item file-upload-status", "tabindex", "0", 4, "ngIf"], ["tabindex", "0", 1, "list-group-item", "file-upload-status"], [1, "media", "upload-file-list"], [3, "title"], [1, "media-body", "media-middle", "file-details"], [1, "uploaddetails", "col-md-3"], [1, "upload-title"], [3, "class", 4, "ngIf"], ["class", "filesize", 4, "ngIf"], [3, "class", "title", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["class", "progress col-md-7 upload-progress", 4, "ngIf"], ["class", "col-md-1 upload-progress-percentage", 4, "ngIf"], ["class", "media-right media-middle", 4, "ngIf"], [1, "media-right", "media-middle"], ["href", "javascript:void(0)", "class", "btn btn-transparent btn-default status-icon", "type", "button", 3, "title", "click", 4, "ngIf"], [1, "filesize"], [1, "error-message"], [1, "progress", "col-md-7", "upload-progress"], [1, "progress-bar", "progress-bar-striped", 3, "ngClass", "ngStyle"], [1, "col-md-1", "upload-progress-percentage"], ["href", "javascript:void(0)", "type", "button", 1, "btn", "btn-transparent", "file-upload-stop", 3, "click"], [1, "wi", "wi-close"], ["href", "javascript:void(0)", "type", "button", 1, "btn", "btn-transparent", "btn-default", "status-icon", 3, "click", "title"], [1, "wi", "wi-delete"], [1, "list-group", "file-upload", 3, "ngStyle", "title"], ["class", "list-group-item file-upload-status", 4, "ngFor", "ngForOf"], [1, "list-group-item", "file-upload-status"], [1, "media-left", "media-middle", "file-icon", "fa", "fa-folder-o"], [1, "uploaddetails"], [1, "status-icon", "wi", "wi-cancel", "text-danger"]], template: function FileUploadComponent_Template(rf, ctx) { if (rf & 1) {
623
726
  i0.ɵɵelementStart(0, "div", 0);
624
- i0.ɵɵtemplate(1, FileUploadComponent_div_1_Template, 9, 10, "div", 1)(2, FileUploadComponent_div_2_Template, 9, 10, "div", 2)(3, FileUploadComponent_button_3_Template, 3, 5, "button", 3)(4, FileUploadComponent_ul_4_Template, 2, 5, "ul", 4)(5, FileUploadComponent_ul_5_Template, 2, 6, "ul", 5);
727
+ i0.ɵɵtemplate(1, FileUploadComponent_div_1_Template, 12, 13, "div", 1)(2, FileUploadComponent_div_2_Template, 9, 10, "div", 2)(3, FileUploadComponent_button_3_Template, 3, 5, "button", 3)(4, FileUploadComponent_ul_4_Template, 2, 5, "ul", 4)(5, FileUploadComponent_ul_5_Template, 2, 6, "ul", 5);
625
728
  i0.ɵɵelementEnd();
626
729
  } if (rf & 2) {
627
730
  i0.ɵɵadvance();
@@ -631,7 +734,7 @@ class FileUploadComponent extends StylableComponent {
631
734
  i0.ɵɵadvance();
632
735
  i0.ɵɵproperty("ngIf", ctx._isCordova);
633
736
  i0.ɵɵadvance();
634
- i0.ɵɵproperty("ngIf", ctx.selectedFiles.length > 0);
737
+ i0.ɵɵproperty("ngIf", ctx.uploadedFiles.length > 0);
635
738
  i0.ɵɵadvance();
636
739
  i0.ɵɵproperty("ngIf", ctx.selectedFolders.length > 0);
637
740
  } }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgStyle, i3.FileIconClassPipe, i3.FileSizePipe, i3.StateClassPipe], encapsulation: 2 }); }
@@ -640,11 +743,11 @@ class FileUploadComponent extends StylableComponent {
640
743
  type: Component,
641
744
  args: [{ selector: '[wmFileUpload]', providers: [
642
745
  provideAsWidgetRef(FileUploadComponent)
643
- ], template: "<div class=\"app-fileupload\" init-widget>\n <!-- drag and drop files UI in web -->\n <div class=\"app-multi-file-upload\" *ngIf=\"!_isMobileType && multiple\">\n <div id=\"dropzone\" class=\"drop-box\" (click)=\"triggerFileSelect()\" [ngClass]=\"{'highlight-drop-box' : highlightDropArea}\" (dragover)=\"dragOverHandler($event);\" (drop)=\"onFileDrop($event);\">\n <i class=\"{{iconclass}}\"></i>\n <div class=\"message\">\n <label [innerHtml]=\"caption\" class=\"caption\"></label>\n <form class=\"form-horizontal\" name=\"{{formName}}\">\n <input class=\"file-input\" [attr.aria-label]=\"hint || 'File selection field'\" type=\"file\" name=\"files\" *ngIf=\"multiple\" [disabled]=\"disabled\" [accept]=\"chooseFilter\" (click)=\"onFileElemClick($event)\" (change)=\"onFileSelect($event, $event.target.files)\" multiple >\n <a href=\"javascript:void(0);\" class=\"app-anchor\">{{fileUploadMessage}}</a>\n </form>\n </div>\n </div>\n </div>\n <!-- single file upload in web and single , multiple file upload UI in mobile runmode -->\n <div class=\"app-single-file-upload\" *ngIf=\"!_isCordova && (!multiple || _isMobileType)\">\n <div class=\"app-button-wrapper\">\n <form class=\"form-horizontal\" name=\"{{formName}}\">\n <!-- support for file upload in Mobileapp in its runmode (Web) -->\n <input class=\"file-input\" [attr.aria-label]=\"hint || 'File selection field'\" type=\"file\" name=\"files\" *ngIf=\"multiple\" [disabled]=\"disabled\" [accept]=\"chooseFilter\" (click)=\"onFileElemClick($event)\" (change)=\"onFileSelect($event, $event.target.files)\" multiple>\n <input class=\"file-input\" [attr.aria-label]=\"hint || 'File selection field'\" type=\"file\" name=\"files\" *ngIf=\"!multiple\" [disabled]=\"disabled\" [accept]=\"chooseFilter\" (click)=\"onFileElemClick($event)\" (change)=\"onFileSelect($event, $event.target.files)\" >\n <button id=\"dropzone\" focus-target class=\"app-button btn btn-default\" [ngClass]=\"{'highlight-drop-box' : highlightDropArea}\">\n <i class=\"{{iconclass}}\" aria-hidden=\"true\"></i>\n <span class=\"caption\" [innerHTML]=\"caption\"></span>\n </button>\n </form>\n </div>\n <div class=\"app-files-upload-status single\"></div>\n </div>\n <!-- support for file upload in Mobile Application (device) -->\n <button *ngIf=\"_isCordova\" focus-target class=\"app-button btn btn-default\" (click)=\"openFileSelector()\" [disabled]=\"disabled\">\n <i class=\"{{iconclass}}\"></i>\n <span class=\"caption\" [innerHTML]=\"caption\"></span>\n </button>\n <!-- list of selectedfiles UI -->\n <ul class=\"list-group file-upload\" [ngStyle]=\"{height: filelistheight, overflow: overflow}\" *ngIf=\"selectedFiles.length > 0\" >\n <div *ngFor=\"let ft of (multiple ? multipleSelectedFiles : selectedFiles)\">\n <li class=\"list-group-item file-upload-status\" *ngIf=\"ft.status !== 'abort'\">\n <div class=\"media upload-file-list\">\n <div class=\"media-left media-middle file-icon {{getFileExtension(ft.name) | fileIconClass}}\" title=\"{{getFileExtension(ft.name)}}\"></div>\n <div class=\"media-body media-middle file-details\">\n <p class=\"uploaddetails\">\n <label class=\"upload-title\">{{ft.name}}</label><br/>\n <span class=\"filesize\" *ngIf=\"ft.fileLength !== 0\">{{ft.size | filesize:0}}</span>\n </p>\n <div class=\"progress\" *ngIf=\"ft.status === 'onProgress'\">\n <div class=\"progress-bar progress-bar-striped progress-bar-info\" [ngStyle]=\"{width: (ft.progress +'%')}\"></div>\n </div>\n </div>\n <div class=\"media-right media-middle\" *ngIf=\"ft.status === 'onProgress' || ft.status === 'queued'\">\n <a class=\"btn btn-transparent file-upload-stop\" type=\"button\" (click)=\"abortFileUpload(ft)\">\n <i class=\"wi wi-close\"></i>\n </a>\n </div>\n\n <div class=\"media-right media-middle\" *ngIf=\"ft.status === 'success'\">\n <span class=\"status-icon {{ft.status | stateClass }}\"></span>\n </div>\n <div *ngIf=\"cleariconclass !== '' && ft.status !== 'onProgress'\" class=\"media-right media-middle\">\n <a (click)=\"clear(ft)\" class=\"btn btn-transparent btn-default status-icon\" title=\"{{cleariconhint}}\" type=\"button\">\n <i class=\"{{cleariconclass}}\"></i>\n </a>\n </div>\n <div class=\"media-right media-middle\" *ngIf=\"ft.status === 'error'\" title=\"{{ft.errMsg || this.appLocale.MESSAGE_FILE_UPLOAD_FAILED}}\">\n <span class=\"status-icon {{ft.status | stateClass }}\"></span>\n </div>\n </div>\n </li>\n </div>\n </ul>\n <!-- list of selectedfolders UI to show the error in title -->\n <ul class=\"list-group file-upload\" [ngStyle]=\"{height: filelistheight, overflow: overflow}\" title=\"{{this.appLocale.MESSAGE_FOLDER_UPLOADS_NOT_ALLOWED}}\" *ngIf=\"selectedFolders.length > 0\" >\n <li *ngFor=\"let ft of selectedFolders\" class=\"list-group-item file-upload-status\">\n <div class=\"media upload-file-list\">\n <div class=\"media-left media-middle file-icon fa fa-folder-o\"></div>\n <div class=\"media-body media-middle file-details\">\n <p class=\"uploaddetails\">\n <label class=\"upload-title\">{{ft.name}}</label><br/>\n </p>\n </div>\n <div class=\"media-right media-middle\" >\n <span class=\"status-icon wi wi-cancel text-danger\"></span>\n </div>\n </div>\n </li>\n </ul>\n</div>\n" }]
746
+ ], template: "<div class=\"app-fileupload\" init-widget>\n <!-- drag and drop files UI in web -->\n <div class=\"app-multi-file-upload\" *ngIf=\"!_isMobileType && multiple\">\n <div id=\"dropzone\" class=\"drop-box\" (click)=\"triggerFileSelect()\" [ngClass]=\"{'highlight-drop-box' : highlightDropArea}\" (dragover)=\"dragOverHandler($event);\" (drop)=\"onFileDrop($event);\">\n <i class=\"{{iconclass}}\"></i>\n <div class=\"message\">\n <label [innerHtml]=\"caption\" class=\"upload-label\"></label>\n <form class=\"form-horizontal\" name=\"{{formName}}\">\n <input class=\"file-input\" [attr.aria-label]=\"hint || 'File selection field'\" type=\"file\" name=\"files\" *ngIf=\"multiple\" [disabled]=\"disabled\" [accept]=\"chooseFilter\" (click)=\"onFileElemClick($event)\" (change)=\"onFileSelect($event, $event.target.files)\" multiple >\n <a class=\"app-anchor upload-label\" href=\"javascript:void(0);\">{{ fileUploadMessage }}</a>\n </form>\n <label *ngIf=\"chooseFilter\" [innerHtml]=\"chooseFilter + ' only '\" class=\"upload-extensions\"></label>\n <span *ngIf=\"chooseFilter && maxfilesize\" class=\"upload-extensions\"> . </span>\n <label *ngIf=\"maxfilesize\" [innerHtml]=\"maxfilesize + 'MB max'\" class=\"upload-extensions\"></label>\n </div>\n </div>\n </div>\n <!-- single file upload in web and single , multiple file upload UI in mobile runmode -->\n <div class=\"app-single-file-upload\" *ngIf=\"!_isCordova && (!multiple || _isMobileType)\">\n <div class=\"app-button-wrapper\">\n <form class=\"form-horizontal\" name=\"{{formName}}\">\n <!-- support for file upload in Mobileapp in its runmode (Web) -->\n <input (change)=\"onFileSelect($event, $event.target.files)\" (click)=\"onFileElemClick($event)\" *ngIf=\"multiple\"\n [accept]=\"chooseFilter\" [attr.aria-label]=\"arialabel || 'File selection field'\" [disabled]=\"disabled\" class=\"file-input\"\n multiple name=\"files\" type=\"file\">\n <input (change)=\"onFileSelect($event, $event.target.files)\" (click)=\"onFileElemClick($event)\" *ngIf=\"!multiple\"\n [accept]=\"chooseFilter\" [attr.aria-label]=\"arialabel || 'File selection field'\" [disabled]=\"disabled\" class=\"file-input\"\n name=\"files\" type=\"file\">\n <button id=\"dropzone\" focus-target class=\"app-button btn btn-default\" [ngClass]=\"{'highlight-drop-box' : highlightDropArea}\">\n <i class=\"{{iconclass}}\" aria-hidden=\"true\"></i>\n <span class=\"caption\" [innerHTML]=\"caption\"></span>\n </button>\n </form>\n </div>\n <div class=\"app-files-upload-status single\"></div>\n </div>\n <!-- support for file upload in Mobile Application (device) -->\n <button *ngIf=\"_isCordova\" focus-target class=\"app-button btn btn-default\" (click)=\"openFileSelector()\" [disabled]=\"disabled\">\n <i class=\"{{iconclass}}\"></i>\n <span class=\"caption\" [innerHTML]=\"caption\"></span>\n </button>\n <!-- list of selectedfiles UI -->\n <ul class=\"list-group file-upload\" [ngStyle]=\"{height: filelistheight, overflow: overflow}\"\n *ngIf=\"uploadedFiles.length > 0\" tabindex=\"0\">\n <ng-container *ngFor=\"let ft of uploadedFiles\">\n <li class=\"list-group-item file-upload-status\" *ngIf=\"ft.status !== 'abort'\" tabindex=\"0\">\n <div class=\"media upload-file-list\">\n <div class=\"media-left media-middle file-icon {{getFileExtension(ft.name) | fileIconClass}}\" title=\"{{getFileExtension(ft.name)}}\"></div>\n <div class=\"media-body media-middle file-details\">\n <p class=\"uploaddetails col-md-3\">\n <span class=\"upload-title\">{{ ft.storageName || ft.name }}</span>\n <span *ngIf=\"ft.status === 'success' && (!datasource || (datasource && ft._response?.success))\"\n class=\"status-icon {{ft.status | stateClass }}\"></span>\n <br/>\n <span class=\"filesize\" *ngIf=\"ft.fileLength !== 0\">{{ft.size | filesize:0}}</span>\n <span *ngIf=\"ft.status === 'error'\"\n class=\"status-icon {{ft.status | stateClass }}\"\n title=\"{{ft.errMsg || this.appLocale.MESSAGE_FILE_UPLOAD_FAILED}}\"></span>\n <span *ngIf=\"ft.status === 'error'\" class=\"error-message\">Upload Failed</span>\n </p>\n <div *ngIf=\"ft.status === 'onProgress' || showprogressbar\"\n class=\"progress col-md-7 upload-progress\">\n <div [ngClass]=\"ft.status === 'error' ? 'progress-bar-danger' : 'progress-bar-info'\"\n [ngStyle]=\"{width: (ft.progress +'%')}\"\n class=\"progress-bar progress-bar-striped\"></div>\n </div>\n <div *ngIf=\"(ft.status === 'onProgress' || showprogressbar && showprogressbarpercentage) && ft.progress \"\n class=\"col-md-1 upload-progress-percentage\">{{ ft.progress + '%' }}\n </div>\n </div>\n <div class=\"media-right media-middle\" *ngIf=\"ft.status === 'onProgress' || ft.status === 'queued'\">\n <a href=\"javascript:void(0)\" class=\"btn btn-transparent file-upload-stop\" type=\"button\"\n (click)=\"abortFileUpload(ft)\">\n <i class=\"wi wi-close\"></i>\n </a>\n </div>\n <div class=\"media-right media-middle\">\n <a href=\"javascript:void(0)\" (click)=\"clear(ft)\"\n *ngIf=\"cleariconclass !== '' && ft.status !== 'onProgress'\"\n class=\"btn btn-transparent btn-default status-icon\" title=\"{{cleariconhint}}\" type=\"button\">\n <i class=\"{{cleariconclass}}\"></i>\n </a>\n </div>\n <div class=\"media-right media-middle\" *ngIf=\"ft.status === 'success' && (!datasource || (datasource && ft._response?.success))\">\n <a href=\"javascript:void(0)\" (click)=\"onFileDelete($event, ft)\"\n class=\"btn btn-transparent btn-default status-icon\" title=\"{{deleteiconhint}}\" type=\"button\">\n <i class=\"wi wi-delete\"></i>\n </a>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n <!-- list of selectedfolders UI to show the error in title -->\n <ul class=\"list-group file-upload\" [ngStyle]=\"{height: filelistheight, overflow: overflow}\" title=\"{{this.appLocale.MESSAGE_FOLDER_UPLOADS_NOT_ALLOWED}}\" *ngIf=\"selectedFolders.length > 0\" >\n <li *ngFor=\"let ft of selectedFolders\" class=\"list-group-item file-upload-status\">\n <div class=\"media upload-file-list\">\n <div class=\"media-left media-middle file-icon fa fa-folder-o\"></div>\n <div class=\"media-body media-middle file-details\">\n <p class=\"uploaddetails\">\n <label class=\"upload-title\">{{ft.name}}</label><br/>\n </p>\n </div>\n <div class=\"media-right media-middle\" >\n <span class=\"status-icon wi wi-cancel text-danger\"></span>\n </div>\n </div>\n </li>\n </ul>\n</div>\n" }]
644
747
  }], () => [{ type: i0.Injector }, { type: i1.App }, { type: undefined, decorators: [{
645
748
  type: Attribute,
646
749
  args: ['select.event']
647
- }] }, { type: undefined, decorators: [{
750
+ }] }, { type: i1.AbstractDialogService }, { type: undefined, decorators: [{
648
751
  type: Inject,
649
752
  args: ['EXPLICIT_CONTEXT']
650
753
  }, {