tnx-shared 5.2.17 → 5.2.18

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 (452) hide show
  1. package/classes/base/component-base.d.ts +1 -1
  2. package/classes/base/data-form-base.d.ts +1 -1
  3. package/classes/base/data-list-base.d.ts +1 -1
  4. package/classes/base/list-base.d.ts +1 -1
  5. package/classes/base/tree-list-base.d.ts +1 -1
  6. package/classes/public-function.d.ts +3 -2
  7. package/components/access-denied-component/access-denied-v1/access-denied-v1.component.d.ts +1 -1
  8. package/components/access-denied-component/access-denied.component.d.ts +1 -1
  9. package/components/add-news/add-news.component.d.ts +1 -1
  10. package/components/address/address.component.d.ts +1 -1
  11. package/components/after-view-checked/after-view-checked.component.d.ts +1 -1
  12. package/components/autocomplete-datasource/autocomplete-datasource.component.d.ts +1 -1
  13. package/components/autocomplete-picker/autocomplete-picker.component.d.ts +1 -1
  14. package/components/avatar-uploader/avatar-uploader.component.d.ts +1 -1
  15. package/components/chat/chat-box/chat-box.component.d.ts +1 -1
  16. package/components/chat/chat-send-message-box/chat-send-message-box.component.d.ts +1 -1
  17. package/components/check-box-list/check-box-list.component.d.ts +1 -1
  18. package/components/cocautochuc/cocautochuc-picker/cocautochuc-picker.component.d.ts +1 -1
  19. package/components/cocautochuc/cocautochuc-picker-list/cocautochuc-picker-list.component.d.ts +1 -1
  20. package/components/common-app-component/app-root-menu/app-root-menu.component.d.ts +1 -1
  21. package/components/common-app-component/app-topbar-v1/app-topbar-v1.component.d.ts +1 -1
  22. package/components/common-app-component/app-topbar-v2/app-topbar-v2.component.d.ts +1 -1
  23. package/components/common-app-component/app.footer.component.d.ts +1 -1
  24. package/components/common-app-component/app.menu.component.d.ts +2 -2
  25. package/components/common-app-component/app.profile.component.d.ts +1 -1
  26. package/components/common-app-component/app.topbar.component.d.ts +1 -1
  27. package/components/common-app-component/common-app-component.d.ts +1 -1
  28. package/components/common-app-component/default-setting-form/default-data-settings.component.d.ts +1 -1
  29. package/components/common-dashboard/common-dashboard.component.d.ts +1 -1
  30. package/components/congviec-picker/congviec-picker.component.d.ts +1 -1
  31. package/components/crud/advance-search/advance-search.component.d.ts +1 -1
  32. package/components/crud/check-ready/check-ready.component.d.ts +1 -1
  33. package/components/crud/crud-form/crud-form.component.d.ts +1 -1
  34. package/components/crud/crud-list/crud-list.component.d.ts +1 -1
  35. package/components/crud/table-detail-form/table-detail-form.component.d.ts +1 -1
  36. package/components/crud/tn-table.component.d.ts +1 -1
  37. package/components/crud/tree-table/tree-table.component.d.ts +1 -1
  38. package/components/datetime-picker/datetime-picker.component.d.ts +1 -1
  39. package/components/datetime-picker-range/datetime-picker-range.component.d.ts +1 -1
  40. package/components/dropdown/dropdown.component.d.ts +1 -1
  41. package/components/dropdown/quick-add-form/quick-add-form.component.d.ts +1 -1
  42. package/components/entity-permission/entity-permission.component.d.ts +1 -1
  43. package/components/entity-picker/entity-picker-box/entity-picker-box.component.d.ts +1 -1
  44. package/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.d.ts +1 -1
  45. package/components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.d.ts +1 -1
  46. package/components/entity-picker/entity-picker-dialog/entity-picker-dialog.component.d.ts +1 -1
  47. package/components/entity-picker/entity-picker.component.d.ts +1 -1
  48. package/components/equation-editor/equation-editor.component.d.ts +1 -1
  49. package/components/file-explorer/file-explorer.component.d.ts +1 -1
  50. package/components/file-explorer/file-form/file-form.component.d.ts +1 -1
  51. package/components/file-explorer/file-ky-so-sim/file-ky-so-sim.component.d.ts +1 -1
  52. package/components/file-explorer/file-manager/file-manager.component.d.ts +1 -1
  53. package/components/file-explorer/file-picker-dialog/file-picker-dialog.component.d.ts +1 -1
  54. package/components/file-explorer/file-tai-lieu/file-tai-lieu.component.d.ts +1 -1
  55. package/components/file-explorer/file-tai-lieu/khaithac-tailieu-dungchung/khaithac-tailieu-dungchung.component.d.ts +1 -1
  56. package/components/file-explorer/file-tai-lieu/tailieu-cuatoi/tailieu-cuatoi.component.d.ts +1 -1
  57. package/components/file-explorer/file-version-list/file-version-list.component.d.ts +1 -1
  58. package/components/file-explorer/file-viewer/file-viewer.component.d.ts +1 -1
  59. package/components/file-explorer/folder-form/folder-form.component.d.ts +1 -1
  60. package/components/file-explorer/ky-so-sim-danh-sach-chu-ky/ky-so-sim-danh-sach-chu-ky.component.d.ts +1 -1
  61. package/components/file-explorer/signature-detail/signature-detail.component.d.ts +1 -1
  62. package/components/file-upload/file-upload.component.d.ts +1 -1
  63. package/components/key-value/key-value.component.d.ts +1 -1
  64. package/components/mask/mask.component.d.ts +1 -1
  65. package/components/not-found/not-found.component.d.ts +1 -1
  66. package/components/number-picker-range/number-picker-range.component.d.ts +1 -1
  67. package/components/paging-next-back-only/paging-next-back-only.component.d.ts +1 -1
  68. package/components/permission-utils/permission-utils.component.d.ts +1 -1
  69. package/components/qr-code-generator/qr-code-generator.component.d.ts +1 -1
  70. package/components/query-builders/query-builder/query-builder.component.d.ts +1 -1
  71. package/components/query-builders/query-builder-group/query-builder-group.component.d.ts +1 -1
  72. package/components/query-builders/query-builder-rule/query-builder-rule.component.d.ts +1 -1
  73. package/components/radio-button-list/radio-button-list.component.d.ts +1 -1
  74. package/components/report-queue/report-queue.component.d.ts +1 -1
  75. package/components/service-file-upload/service-file-upload.component.d.ts +1 -1
  76. package/components/settings/settings-row/settings-row.component.d.ts +1 -1
  77. package/components/settings/settings-workflow/settings-workflow-no1/settings-workflow-no1.component.d.ts +1 -1
  78. package/components/settings/settings-workflow/settings-workflow.component.d.ts +1 -1
  79. package/components/settings/settings.component.d.ts +1 -1
  80. package/components/share-link-by-permission/share-link-by-permission.component.d.ts +1 -1
  81. package/components/splash-component/splash-component-v1/splash-component-v1.component.d.ts +1 -1
  82. package/components/splash-component/splash-component-v2/splash-component-v2.component.d.ts +1 -1
  83. package/components/splash-component/splash-component.component.d.ts +1 -1
  84. package/components/statemachines/dynamic-node/dynamic-node.component.d.ts +1 -1
  85. package/components/statemachines/state/state.component.d.ts +1 -1
  86. package/components/statemachines/state-metadata/state-metadata.component.d.ts +1 -1
  87. package/components/statemachines/statemachines-connection-metadata/statemachines-connection-metadata.component.d.ts +1 -1
  88. package/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.d.ts +1 -1
  89. package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.d.ts +1 -1
  90. package/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.d.ts +1 -1
  91. package/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.d.ts +1 -1
  92. package/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.d.ts +1 -1
  93. package/components/statemachines/statemachines-connection-receiver-user/statemachines-connection-receiver-user.component.d.ts +1 -1
  94. package/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.d.ts +1 -1
  95. package/components/statemachines/statemachines-designer/statemachines-designer.component.d.ts +1 -1
  96. package/components/tn-app-help/helper-current-page/helper-current-page.component.d.ts +1 -1
  97. package/components/tn-app-help/tn-app-help.component.d.ts +1 -1
  98. package/components/tn-app-notification/tn-app-notification-list/tn-app-notification-list.component.d.ts +1 -1
  99. package/components/tn-app-notification/tn-app-notification.component.d.ts +1 -1
  100. package/components/tn-checkbox/tn-checkbox.component.d.ts +1 -1
  101. package/components/tn-color-picker/tn-color-picker.component.d.ts +1 -1
  102. package/components/tn-custom-scrollbar/tn-custom-scrollbar.component.d.ts +1 -1
  103. package/components/tn-dialog/tn-dialog.component.d.ts +1 -1
  104. package/components/tn-tabview/tn-tabview.component.d.ts +1 -1
  105. package/components/tn-template/tn-template.component.d.ts +1 -1
  106. package/components/tn-tinymce/tn-tinymce.component.d.ts +1 -1
  107. package/components/universal-link-processor/universal-link-processor.component.d.ts +1 -1
  108. package/components/user-picker/user-picker-box/user-picker-box.component.d.ts +1 -1
  109. package/components/user-picker/user-picker-dialog/user-picker-dialog.component.d.ts +1 -1
  110. package/components/user-picker/user-picker.component.d.ts +1 -1
  111. package/components/vanban-picker/vanban-den-picker/vanban-den-picker.component.d.ts +1 -1
  112. package/components/vanban-picker/vanban-di-picker/vanban-di-picker.component.d.ts +1 -1
  113. package/components/vanban-picker/vanban-picker-dialog/vanban-picker-dialog.component.d.ts +1 -1
  114. package/components/vanban-picker/vanban-picker.component.d.ts +1 -1
  115. package/components/workflow/cho-y-kien-form/cho-y-kien-form.component.d.ts +1 -1
  116. package/components/workflow/permission-sharing/permission-sharing.component.d.ts +1 -1
  117. package/components/workflow/process-workflow-form/process-workflow-form.component.d.ts +1 -1
  118. package/components/workflow/process-workflow-target/process-workflow-target.component.d.ts +1 -1
  119. package/components/workflow/simple-workflow-form/simple-workflow-form.component.d.ts +1 -1
  120. package/components/workflow/start-workflow/start-workflow.component.d.ts +1 -1
  121. package/components/workflow/workflow-history/workflow-history.component.d.ts +1 -1
  122. package/components/workflow/workflow-history-dialog/workflow-history-dialog.component.d.ts +1 -1
  123. package/components/workflow/workflow-history-new/workflow-history-new.component.d.ts +1 -1
  124. package/components/workflow/workflow-permission/workflow-permission.component.d.ts +1 -1
  125. package/components/workflow/workflow-permission-form/workflow-permission-form.component.d.ts +1 -1
  126. package/components/workflow/workflow-picker/workflow-picker.component.d.ts +1 -1
  127. package/components/workflow/workflow-setting/workflow-setting.component.d.ts +1 -1
  128. package/components/workflow/workflow-setting-dialog/workflow-setting-dialog.component.d.ts +1 -1
  129. package/components/workflow/workflow-setting-new/workflow-setting-new.component.d.ts +1 -1
  130. package/congviec/cauhinh-workflow/cauhinh-workflow-detail/cauhinh-workflow-detail.component.d.ts +1 -1
  131. package/congviec/cauhinh-workflow/cauhinh-workflow.component.d.ts +1 -1
  132. package/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.d.ts +1 -1
  133. package/congviec/congviec/congviec-dinhkem-form/congviec-dinhkem-form.component.d.ts +1 -1
  134. package/congviec/congviec/congviec-form/congviec-form.component.d.ts +1 -1
  135. package/congviec/congviec/congviec-next-first-step/congviec-next-first-step.component.d.ts +1 -1
  136. package/congviec/congviec/congviec.component.d.ts +1 -1
  137. package/congviec/congviec-test/congviec.component.d.ts +1 -1
  138. package/congviec/dm-linhvuc-congviec/dm-linhvuc-congviec-form/dm-linhvuc-congviec-form.component.d.ts +1 -1
  139. package/congviec/dm-linhvuc-congviec/dm-linhvuc-congviec.component.d.ts +1 -1
  140. package/congviec/dm-loai-congviec/dm-loai-congviec-form/dm-loai-congviec-form.component.d.ts +1 -1
  141. package/congviec/dm-loai-congviec/dm-loai-congviec.component.d.ts +1 -1
  142. package/congviec/dm-priority/dm-priority-form/dm-priority-form.component.d.ts +1 -1
  143. package/congviec/dm-priority/dm-priority.component.d.ts +1 -1
  144. package/directives/authorize.directive.d.ts +1 -1
  145. package/directives/prevent-shift-tab.directive.d.ts +1 -1
  146. package/directives/primeng/tn-table.directive.d.ts +5 -5
  147. package/directives/tn-template.directive.d.ts +1 -1
  148. package/esm2020/app-context/application-context.service.mjs +3 -3
  149. package/esm2020/app-context/component-context.service.mjs +3 -3
  150. package/esm2020/classes/base/component-base.mjs +3 -3
  151. package/esm2020/classes/base/data-form-base.mjs +3 -3
  152. package/esm2020/classes/base/data-list-base.mjs +3 -3
  153. package/esm2020/classes/base/list-base.mjs +3 -3
  154. package/esm2020/classes/base/tree-list-base.mjs +3 -3
  155. package/esm2020/components/access-denied-component/access-denied-v1/access-denied-v1.component.mjs +3 -3
  156. package/esm2020/components/access-denied-component/access-denied.component.mjs +6 -6
  157. package/esm2020/components/add-news/add-news.component.mjs +6 -6
  158. package/esm2020/components/address/address.component.mjs +5 -5
  159. package/esm2020/components/address/services/address.service.mjs +3 -3
  160. package/esm2020/components/after-view-checked/after-view-checked.component.mjs +4 -4
  161. package/esm2020/components/autocomplete-datasource/autocomplete-datasource.component.mjs +7 -7
  162. package/esm2020/components/autocomplete-picker/autocomplete-picker.component.mjs +11 -11
  163. package/esm2020/components/avatar-uploader/avatar-uploader.component.mjs +6 -6
  164. package/esm2020/components/chat/chat-box/chat-box.component.mjs +7 -7
  165. package/esm2020/components/chat/chat-send-message-box/chat-send-message-box.component.mjs +10 -10
  166. package/esm2020/components/chat/services/chat.service.mjs +3 -3
  167. package/esm2020/components/chat/services/content.service.mjs +3 -3
  168. package/esm2020/components/chat/services/message-board.service.mjs +3 -3
  169. package/esm2020/components/chat/services/status.service.mjs +3 -3
  170. package/esm2020/components/check-box-list/check-box-list.component.mjs +8 -8
  171. package/esm2020/components/cocautochuc/cocautochuc-picker/cocautochuc-picker.component.mjs +7 -7
  172. package/esm2020/components/cocautochuc/cocautochuc-picker-list/cocautochuc-picker-list.component.mjs +6 -6
  173. package/esm2020/components/cocautochuc/services/cocautochuc.service.mjs +3 -3
  174. package/esm2020/components/common-app-component/app-root-menu/app-root-menu.component.mjs +4 -4
  175. package/esm2020/components/common-app-component/app-topbar-v1/app-topbar-v1.component.mjs +11 -11
  176. package/esm2020/components/common-app-component/app-topbar-v2/app-topbar-v2.component.mjs +9 -9
  177. package/esm2020/components/common-app-component/app.footer.component.mjs +3 -3
  178. package/esm2020/components/common-app-component/app.menu.component.mjs +11 -17
  179. package/esm2020/components/common-app-component/app.profile.component.mjs +5 -5
  180. package/esm2020/components/common-app-component/app.topbar.component.mjs +11 -11
  181. package/esm2020/components/common-app-component/common-app-component.mjs +15 -15
  182. package/esm2020/components/common-app-component/default-setting-form/default-data-settings.component.mjs +7 -7
  183. package/esm2020/components/common-dashboard/common-dashboard.component.mjs +3 -3
  184. package/esm2020/components/congviec-picker/congviec-picker.component.mjs +7 -7
  185. package/esm2020/components/congviec-picker/services/congviec.service.mjs +3 -3
  186. package/esm2020/components/congviec-picker/services/taskworkflowhistories.service.mjs +3 -3
  187. package/esm2020/components/crud/advance-search/advance-search.component.mjs +14 -14
  188. package/esm2020/components/crud/check-ready/check-ready.component.mjs +4 -4
  189. package/esm2020/components/crud/crud-form/crud-form.component.mjs +26 -26
  190. package/esm2020/components/crud/crud-list/crud-list.component.mjs +25 -25
  191. package/esm2020/components/crud/table-detail-form/table-detail-form.component.mjs +6 -6
  192. package/esm2020/components/crud/tn-table.component.mjs +3 -3
  193. package/esm2020/components/crud/tree-table/tree-table.component.mjs +23 -23
  194. package/esm2020/components/datetime-picker/datetime-picker.component.mjs +7 -7
  195. package/esm2020/components/datetime-picker-range/datetime-picker-range.component.mjs +6 -6
  196. package/esm2020/components/dropdown/dropdown.component.mjs +11 -11
  197. package/esm2020/components/dropdown/quick-add-form/quick-add-form.component.mjs +6 -6
  198. package/esm2020/components/dropdown/services/dropdown.service.mjs +3 -3
  199. package/esm2020/components/entity-permission/entity-permission.component.mjs +9 -9
  200. package/esm2020/components/entity-permission/services.cs/entity-permission.service.mjs +3 -3
  201. package/esm2020/components/entity-picker/entity-picker-box/entity-picker-box.component.mjs +7 -7
  202. package/esm2020/components/entity-picker/entity-picker-dialog/components/entity-picker-data/entity-picker-data.component.mjs +7 -7
  203. package/esm2020/components/entity-picker/entity-picker-dialog/components/entity-picker-selected/entity-picker-selected.component.mjs +7 -7
  204. package/esm2020/components/entity-picker/entity-picker-dialog/entity-picker-dialog.component.mjs +7 -7
  205. package/esm2020/components/entity-picker/entity-picker.component.mjs +10 -10
  206. package/esm2020/components/equation-editor/equation-editor.component.mjs +6 -6
  207. package/esm2020/components/file-explorer/file-explorer.component.mjs +6 -6
  208. package/esm2020/components/file-explorer/file-form/file-form.component.mjs +7 -7
  209. package/esm2020/components/file-explorer/file-ky-so-sim/file-ky-so-sim.component.mjs +8 -8
  210. package/esm2020/components/file-explorer/file-manager/file-manager.component.mjs +22 -22
  211. package/esm2020/components/file-explorer/file-picker-dialog/file-picker-dialog.component.mjs +7 -7
  212. package/esm2020/components/file-explorer/file-tai-lieu/file-tai-lieu.component.mjs +9 -9
  213. package/esm2020/components/file-explorer/file-tai-lieu/khaithac-tailieu-dungchung/khaithac-tailieu-dungchung.component.mjs +4 -4
  214. package/esm2020/components/file-explorer/file-tai-lieu/tailieu-cuatoi/tailieu-cuatoi.component.mjs +4 -4
  215. package/esm2020/components/file-explorer/file-version-list/file-version-list.component.mjs +9 -9
  216. package/esm2020/components/file-explorer/file-viewer/file-viewer.component.mjs +9 -9
  217. package/esm2020/components/file-explorer/folder-form/folder-form.component.mjs +7 -7
  218. package/esm2020/components/file-explorer/ky-so-sim-danh-sach-chu-ky/ky-so-sim-danh-sach-chu-ky.component.mjs +6 -6
  219. package/esm2020/components/file-explorer/services/danhmuc-dungchung.service.mjs +3 -3
  220. package/esm2020/components/file-explorer/services/download-link.service.mjs +3 -3
  221. package/esm2020/components/file-explorer/services/file-data.service.mjs +3 -3
  222. package/esm2020/components/file-explorer/services/file-explorer-new.service.mjs +3 -3
  223. package/esm2020/components/file-explorer/services/file-explorer.service.mjs +3 -3
  224. package/esm2020/components/file-explorer/services/file-object.service.mjs +3 -3
  225. package/esm2020/components/file-explorer/services/file-version.service.mjs +3 -3
  226. package/esm2020/components/file-explorer/services/folder.service.mjs +3 -3
  227. package/esm2020/components/file-explorer/services/ky-so-sim-chu-ky-user.service.mjs +3 -3
  228. package/esm2020/components/file-explorer/services/ky-so-sim-signPDF.service.mjs +3 -3
  229. package/esm2020/components/file-explorer/services/my-drive.service.mjs +3 -3
  230. package/esm2020/components/file-explorer/signature-detail/signature-detail.component.mjs +3 -3
  231. package/esm2020/components/file-upload/file-upload.component.mjs +9 -9
  232. package/esm2020/components/key-value/key-value.component.mjs +3 -3
  233. package/esm2020/components/mask/mask.component.mjs +7 -7
  234. package/esm2020/components/not-found/not-found.component.mjs +3 -3
  235. package/esm2020/components/number-picker-range/number-picker-range.component.mjs +7 -7
  236. package/esm2020/components/paging-next-back-only/paging-next-back-only.component.mjs +8 -8
  237. package/esm2020/components/permission-utils/permission-utils.component.mjs +9 -9
  238. package/esm2020/components/qr-code-generator/qr-code-generator.component.mjs +4 -4
  239. package/esm2020/components/query-builders/query-builder/query-builder.component.mjs +8 -8
  240. package/esm2020/components/query-builders/query-builder-group/query-builder-group.component.mjs +10 -10
  241. package/esm2020/components/query-builders/query-builder-rule/query-builder-rule.component.mjs +18 -18
  242. package/esm2020/components/query-builders/services/dm-chucvu.service.mjs +3 -3
  243. package/esm2020/components/radio-button-list/radio-button-list.component.mjs +6 -6
  244. package/esm2020/components/report-queue/report-queue.component.mjs +8 -8
  245. package/esm2020/components/service-file-upload/service-file-upload.component.mjs +10 -10
  246. package/esm2020/components/settings/settings-row/settings-row.component.mjs +8 -8
  247. package/esm2020/components/settings/settings-workflow/settings-workflow-no1/settings-workflow-no1.component.mjs +4 -4
  248. package/esm2020/components/settings/settings-workflow/settings-workflow.component.mjs +9 -9
  249. package/esm2020/components/settings/settings.component.mjs +14 -14
  250. package/esm2020/components/share-link-by-permission/share-link-by-permission.component.mjs +7 -7
  251. package/esm2020/components/splash-component/splash-component-v1/splash-component-v1.component.mjs +7 -7
  252. package/esm2020/components/splash-component/splash-component-v2/splash-component-v2.component.mjs +7 -7
  253. package/esm2020/components/splash-component/splash-component.component.mjs +9 -9
  254. package/esm2020/components/statemachines/dynamic-node/dynamic-node.component.mjs +3 -3
  255. package/esm2020/components/statemachines/services/node.service.mjs +3 -3
  256. package/esm2020/components/statemachines/services/statemachines.service.mjs +3 -3
  257. package/esm2020/components/statemachines/state/state.component.mjs +4 -4
  258. package/esm2020/components/statemachines/state-metadata/state-metadata.component.mjs +7 -7
  259. package/esm2020/components/statemachines/statemachines-connection-metadata/statemachines-connection-metadata.component.mjs +9 -9
  260. package/esm2020/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.mjs +7 -7
  261. package/esm2020/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.mjs +3 -3
  262. package/esm2020/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.mjs +3 -3
  263. package/esm2020/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.mjs +3 -3
  264. package/esm2020/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.mjs +3 -3
  265. package/esm2020/components/statemachines/statemachines-connection-receiver-user/statemachines-connection-receiver-user.component.mjs +3 -3
  266. package/esm2020/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.mjs +3 -3
  267. package/esm2020/components/statemachines/statemachines-designer/statemachines-designer.component.mjs +13 -13
  268. package/esm2020/components/tn-app-help/helper-current-page/helper-current-page.component.mjs +3 -3
  269. package/esm2020/components/tn-app-help/services/path-name.service.mjs +3 -3
  270. package/esm2020/components/tn-app-help/tn-app-help.component.mjs +7 -7
  271. package/esm2020/components/tn-app-notification/tn-app-notification-list/tn-app-notification-list.component.mjs +4 -4
  272. package/esm2020/components/tn-app-notification/tn-app-notification.component.mjs +5 -5
  273. package/esm2020/components/tn-checkbox/tn-checkbox.component.mjs +6 -6
  274. package/esm2020/components/tn-color-picker/tn-color-picker.component.mjs +7 -7
  275. package/esm2020/components/tn-custom-scrollbar/tn-custom-scrollbar.component.mjs +6 -6
  276. package/esm2020/components/tn-dialog/tn-dialog.component.mjs +8 -8
  277. package/esm2020/components/tn-tabview/tn-tabview.component.mjs +6 -6
  278. package/esm2020/components/tn-template/tn-template.component.mjs +4 -4
  279. package/esm2020/components/tn-tinymce/tn-tinymce.component.mjs +9 -9
  280. package/esm2020/components/universal-link-processor/universal-link-processor.component.mjs +4 -4
  281. package/esm2020/components/user-picker/user-picker-box/user-picker-box.component.mjs +9 -9
  282. package/esm2020/components/user-picker/user-picker-dialog/user-picker-dialog.component.mjs +4 -4
  283. package/esm2020/components/user-picker/user-picker.component.mjs +12 -12
  284. package/esm2020/components/vanban-picker/services/vanban-den.service.mjs +3 -3
  285. package/esm2020/components/vanban-picker/services/vanban-di.service.mjs +3 -3
  286. package/esm2020/components/vanban-picker/vanban-den-picker/vanban-den-picker.component.mjs +10 -10
  287. package/esm2020/components/vanban-picker/vanban-di-picker/vanban-di-picker.component.mjs +10 -10
  288. package/esm2020/components/vanban-picker/vanban-picker-dialog/vanban-picker-dialog.component.mjs +6 -6
  289. package/esm2020/components/vanban-picker/vanban-picker.component.mjs +10 -10
  290. package/esm2020/components/workflow/cho-y-kien-form/cho-y-kien-form.component.mjs +7 -7
  291. package/esm2020/components/workflow/permission-sharing/permission-sharing.component.mjs +7 -7
  292. package/esm2020/components/workflow/process-workflow-form/process-workflow-form.component.mjs +9 -9
  293. package/esm2020/components/workflow/process-workflow-target/process-workflow-target.component.mjs +4 -4
  294. package/esm2020/components/workflow/services/canbo-hoso.service.mjs +3 -3
  295. package/esm2020/components/workflow/services/dm-loai-congviec.service.mjs +3 -3
  296. package/esm2020/components/workflow/services/entity-workflow-history.service.mjs +3 -3
  297. package/esm2020/components/workflow/services/entity-workflow-setting.service.mjs +3 -3
  298. package/esm2020/components/workflow/services/workflow-history.service.mjs +3 -3
  299. package/esm2020/components/workflow/services/workflow-permission-detail.service.mjs +3 -3
  300. package/esm2020/components/workflow/services/workflow-permission.service.mjs +3 -3
  301. package/esm2020/components/workflow/services/workflow-settings.service.mjs +3 -3
  302. package/esm2020/components/workflow/simple-workflow-form/simple-workflow-form.component.mjs +7 -7
  303. package/esm2020/components/workflow/start-workflow/start-workflow.component.mjs +8 -8
  304. package/esm2020/components/workflow/workflow-history/workflow-history.component.mjs +6 -6
  305. package/esm2020/components/workflow/workflow-history-dialog/workflow-history-dialog.component.mjs +4 -4
  306. package/esm2020/components/workflow/workflow-history-new/workflow-history-new.component.mjs +10 -10
  307. package/esm2020/components/workflow/workflow-permission/workflow-permission.component.mjs +8 -8
  308. package/esm2020/components/workflow/workflow-permission-form/workflow-permission-form.component.mjs +7 -7
  309. package/esm2020/components/workflow/workflow-picker/workflow-picker.component.mjs +8 -8
  310. package/esm2020/components/workflow/workflow-setting/workflow-setting.component.mjs +5 -5
  311. package/esm2020/components/workflow/workflow-setting-dialog/workflow-setting-dialog.component.mjs +4 -4
  312. package/esm2020/components/workflow/workflow-setting-new/workflow-setting-new.component.mjs +7 -7
  313. package/esm2020/congviec/cauhinh-workflow/cauhinh-workflow-detail/cauhinh-workflow-detail.component.mjs +5 -5
  314. package/esm2020/congviec/cauhinh-workflow/cauhinh-workflow.component.mjs +3 -3
  315. package/esm2020/congviec/cauhinh-workflow/cauhinh-workflow.module.mjs +10 -12
  316. package/esm2020/congviec/cauhinh-workflow/services/cauhinh-workflow.service.mjs +3 -3
  317. package/esm2020/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.mjs +14 -14
  318. package/esm2020/congviec/congviec/congviec-dinhkem-form/congviec-dinhkem-form.component.mjs +4 -4
  319. package/esm2020/congviec/congviec/congviec-form/congviec-form.component.mjs +9 -9
  320. package/esm2020/congviec/congviec/congviec-next-first-step/congviec-next-first-step.component.mjs +9 -9
  321. package/esm2020/congviec/congviec/congviec.component.mjs +11 -11
  322. package/esm2020/congviec/congviec/services/congviec-dinhkem.service.mjs +3 -3
  323. package/esm2020/congviec/congviec/services/congviec.service.mjs +3 -3
  324. package/esm2020/congviec/congviec/services/congvieclienquan.service.mjs +3 -3
  325. package/esm2020/congviec/congviec-test/congviec.component.mjs +3 -3
  326. package/esm2020/congviec/dm-linhvuc-congviec/dm-linhvuc-congviec-form/dm-linhvuc-congviec-form.component.mjs +7 -7
  327. package/esm2020/congviec/dm-linhvuc-congviec/dm-linhvuc-congviec.component.mjs +6 -6
  328. package/esm2020/congviec/dm-linhvuc-congviec/services/dm-linhvuc-congviec.service.mjs +3 -3
  329. package/esm2020/congviec/dm-loai-congviec/dm-loai-congviec-form/dm-loai-congviec-form.component.mjs +7 -7
  330. package/esm2020/congviec/dm-loai-congviec/dm-loai-congviec.component.mjs +6 -6
  331. package/esm2020/congviec/dm-loai-congviec/services/dm-loai-congviec.service.mjs +3 -3
  332. package/esm2020/congviec/dm-priority/dm-priority-form/dm-priority-form.component.mjs +4 -4
  333. package/esm2020/congviec/dm-priority/dm-priority.component.mjs +5 -5
  334. package/esm2020/congviec/dm-priority/dm-priority.module.mjs +9 -9
  335. package/esm2020/congviec/dm-priority/services/dm-priority.service.mjs +3 -3
  336. package/esm2020/directives/authorize.directive.mjs +3 -3
  337. package/esm2020/directives/prevent-shift-tab.directive.mjs +3 -3
  338. package/esm2020/directives/primeng/tn-table.directive.mjs +17 -17
  339. package/esm2020/directives/tn-template.directive.mjs +3 -3
  340. package/esm2020/dynamic-components/dynamic-component.service.mjs +3 -3
  341. package/esm2020/intercepters/log.interceptor.mjs +3 -3
  342. package/esm2020/intercepters/permission-utils.interceptor.mjs +3 -3
  343. package/esm2020/intercepters/send-access-token.interceptor.mjs +3 -3
  344. package/esm2020/intercepters/trace.interceptor.mjs +3 -3
  345. package/esm2020/pipes/approval.pipe.mjs +3 -3
  346. package/esm2020/pipes/boolean-format.pipe.mjs +3 -3
  347. package/esm2020/pipes/convertMoneyToWord.pipe.mjs +3 -3
  348. package/esm2020/pipes/file-icon.pipe.mjs +3 -3
  349. package/esm2020/pipes/file-size.pipe.mjs +3 -3
  350. package/esm2020/pipes/highlight.pipe.mjs +3 -3
  351. package/esm2020/pipes/html-format.pipe.mjs +3 -3
  352. package/esm2020/pipes/masterData.pipe.mjs +3 -3
  353. package/esm2020/pipes/multiple-reference-data-format.pipe.mjs +3 -3
  354. package/esm2020/pipes/organization-format.pipe.mjs +3 -3
  355. package/esm2020/pipes/organization-name-format.pipe.mjs +3 -3
  356. package/esm2020/pipes/organizations-format.pipe.mjs +3 -3
  357. package/esm2020/pipes/reference-data-format.pipe.mjs +3 -3
  358. package/esm2020/pipes/safe-html.pipe.mjs +3 -3
  359. package/esm2020/pipes/safe-style.pipe.mjs +3 -3
  360. package/esm2020/pipes/safe-url.pipe.mjs +3 -3
  361. package/esm2020/pipes/secure.pipe.mjs +3 -3
  362. package/esm2020/pipes/string-format.pipe.mjs +3 -3
  363. package/esm2020/pipes/summary.pipe.mjs +3 -3
  364. package/esm2020/pipes/tn-date.pipe.mjs +3 -3
  365. package/esm2020/pipes/user-format.pipe.mjs +3 -3
  366. package/esm2020/pipes/users-format.pipe.mjs +3 -3
  367. package/esm2020/services/app-list.service.mjs +3 -3
  368. package/esm2020/services/article.service.mjs +3 -3
  369. package/esm2020/services/authen.service.mjs +3 -3
  370. package/esm2020/services/calculation-engine.service.mjs +3 -3
  371. package/esm2020/services/canbo-hoso.service.mjs +3 -3
  372. package/esm2020/services/check-control-visible.service.mjs +3 -3
  373. package/esm2020/services/common.service.mjs +3 -3
  374. package/esm2020/services/conditional-builder.service.mjs +3 -3
  375. package/esm2020/services/crud.service.mjs +3 -3
  376. package/esm2020/services/custom-router.service.mjs +3 -3
  377. package/esm2020/services/customize-ui.service.mjs +3 -3
  378. package/esm2020/services/danhmuc-api.service.mjs +3 -3
  379. package/esm2020/services/dhvinh-guard.service.mjs +3 -3
  380. package/esm2020/services/dm-chucvu.service.mjs +3 -3
  381. package/esm2020/services/dom.service.mjs +3 -3
  382. package/esm2020/services/eform.service.mjs +3 -3
  383. package/esm2020/services/entity-metadata.service.mjs +3 -3
  384. package/esm2020/services/entity-picker.service.mjs +3 -3
  385. package/esm2020/services/environment.service.mjs +3 -3
  386. package/esm2020/services/exception-handler.service.mjs +3 -3
  387. package/esm2020/services/export.service.mjs +3 -3
  388. package/esm2020/services/file-manager.service.mjs +3 -3
  389. package/esm2020/services/file-object-v4.service.mjs +3 -3
  390. package/esm2020/services/generic-guard-child.service.mjs +3 -3
  391. package/esm2020/services/generic-guard.service.mjs +3 -3
  392. package/esm2020/services/global.service.mjs +3 -3
  393. package/esm2020/services/guard-sv.service.mjs +3 -3
  394. package/esm2020/services/guard.service.mjs +3 -3
  395. package/esm2020/services/high-performance.service.mjs +3 -3
  396. package/esm2020/services/image.service.mjs +3 -3
  397. package/esm2020/services/list-helper.service.mjs +3 -3
  398. package/esm2020/services/localCache.service.mjs +3 -3
  399. package/esm2020/services/master-data.service.mjs +3 -3
  400. package/esm2020/services/menu.service.mjs +3 -3
  401. package/esm2020/services/newscategory.service.mjs +3 -3
  402. package/esm2020/services/notification.service.mjs +3 -3
  403. package/esm2020/services/notifier.service.mjs +3 -3
  404. package/esm2020/services/organization.service.mjs +3 -3
  405. package/esm2020/services/permission.service.mjs +3 -3
  406. package/esm2020/services/position.service.mjs +3 -3
  407. package/esm2020/services/print.service.mjs +3 -3
  408. package/esm2020/services/random-data.service.mjs +3 -3
  409. package/esm2020/services/role.service.mjs +3 -3
  410. package/esm2020/services/signalr.service.mjs +3 -3
  411. package/esm2020/services/storage-updated.service.mjs +3 -3
  412. package/esm2020/services/storage.service.mjs +3 -3
  413. package/esm2020/services/template-text-v4.service.mjs +3 -3
  414. package/esm2020/services/template-v4.service.mjs +3 -3
  415. package/esm2020/services/template.service.mjs +3 -3
  416. package/esm2020/services/templateinstance.service.mjs +3 -3
  417. package/esm2020/services/tn-client.service.mjs +3 -3
  418. package/esm2020/services/unique-number.service.mjs +3 -3
  419. package/esm2020/services/user-group-real.service.mjs +3 -3
  420. package/esm2020/services/user-group.service.mjs +3 -3
  421. package/esm2020/services/user-v5.service.mjs +3 -3
  422. package/esm2020/services/user.service.mjs +3 -3
  423. package/esm2020/services/virtual-base.service.mjs +3 -3
  424. package/esm2020/tnx-shared.module.mjs +6 -6
  425. package/fesm2015/tnx-shared.mjs +7269 -7277
  426. package/fesm2015/tnx-shared.mjs.map +1 -1
  427. package/fesm2020/tnx-shared.mjs +9215 -9223
  428. package/fesm2020/tnx-shared.mjs.map +1 -1
  429. package/{tnx-shared.d.ts → index.d.ts} +0 -0
  430. package/package.json +4 -4
  431. package/pipes/approval.pipe.d.ts +1 -1
  432. package/pipes/boolean-format.pipe.d.ts +1 -1
  433. package/pipes/convertMoneyToWord.pipe.d.ts +1 -1
  434. package/pipes/file-icon.pipe.d.ts +1 -1
  435. package/pipes/file-size.pipe.d.ts +1 -1
  436. package/pipes/highlight.pipe.d.ts +1 -1
  437. package/pipes/html-format.pipe.d.ts +1 -1
  438. package/pipes/masterData.pipe.d.ts +1 -1
  439. package/pipes/multiple-reference-data-format.pipe.d.ts +1 -1
  440. package/pipes/organization-format.pipe.d.ts +1 -1
  441. package/pipes/organization-name-format.pipe.d.ts +1 -1
  442. package/pipes/organizations-format.pipe.d.ts +1 -1
  443. package/pipes/reference-data-format.pipe.d.ts +1 -1
  444. package/pipes/safe-html.pipe.d.ts +1 -1
  445. package/pipes/safe-style.pipe.d.ts +1 -1
  446. package/pipes/safe-url.pipe.d.ts +1 -1
  447. package/pipes/secure.pipe.d.ts +1 -1
  448. package/pipes/string-format.pipe.d.ts +1 -1
  449. package/pipes/summary.pipe.d.ts +1 -1
  450. package/pipes/tn-date.pipe.d.ts +1 -1
  451. package/pipes/user-format.pipe.d.ts +1 -1
  452. package/pipes/users-format.pipe.d.ts +1 -1
@@ -8,11 +8,11 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "../file-explorer/services/file-object.service";
9
9
  import * as i2 from "../../services/notifier.service";
10
10
  import * as i3 from "../file-explorer/services/download-link.service";
11
- import * as i4 from "tn-custom-primeng/fileupload";
12
- import * as i5 from "tn-custom-primeng/contextmenu";
13
- import * as i6 from "@angular/common";
14
- import * as i7 from "tn-custom-primeng/tooltip";
15
- import * as i8 from "tn-custom-primeng/button";
11
+ import * as i4 from "@angular/common";
12
+ import * as i5 from "tn-custom-primeng/button";
13
+ import * as i6 from "tn-custom-primeng/tooltip";
14
+ import * as i7 from "tn-custom-primeng/contextmenu";
15
+ import * as i8 from "tn-custom-primeng/fileupload";
16
16
  export class FileUploadComponent extends ComponentBase {
17
17
  constructor(_fileObjectService, _notifierService, _downloadLinkService, _injector) {
18
18
  super(_injector);
@@ -159,16 +159,16 @@ export class FileUploadComponent extends ComponentBase {
159
159
  }
160
160
  }
161
161
  }
162
- FileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.FileObjectService }, { token: i2.NotifierService }, { token: i3.DownloadLinkService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
163
- FileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: FileUploadComponent, selector: "file-upload", inputs: { chooseLabel: "chooseLabel", readonly: "readonly", accept: "accept", maxFileSize: "maxFileSize", invalidFileSizeMessageSummary: "invalidFileSizeMessageSummary", invalidFileSizeMessageDetail: "invalidFileSizeMessageDetail", invalidFileTypeMessageSummary: "invalidFileTypeMessageSummary", invalidFileTypeMessageDetail: "invalidFileTypeMessageDetail", invalidFileLimitMessageSummary: "invalidFileLimitMessageSummary", invalidFileLimitMessageDetail: "invalidFileLimitMessageDetail", sharedFolderType: "sharedFolderType" }, outputs: { onSelect: "onSelect", onRemove: "onRemove", onChanged: "onChanged" }, providers: [
162
+ FileUploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.FileObjectService }, { token: i2.NotifierService }, { token: i3.DownloadLinkService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
163
+ FileUploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: FileUploadComponent, selector: "file-upload", inputs: { chooseLabel: "chooseLabel", readonly: "readonly", accept: "accept", maxFileSize: "maxFileSize", invalidFileSizeMessageSummary: "invalidFileSizeMessageSummary", invalidFileSizeMessageDetail: "invalidFileSizeMessageDetail", invalidFileTypeMessageSummary: "invalidFileTypeMessageSummary", invalidFileTypeMessageDetail: "invalidFileTypeMessageDetail", invalidFileLimitMessageSummary: "invalidFileLimitMessageSummary", invalidFileLimitMessageDetail: "invalidFileLimitMessageDetail", sharedFolderType: "sharedFolderType" }, outputs: { onSelect: "onSelect", onRemove: "onRemove", onChanged: "onChanged" }, providers: [
164
164
  {
165
165
  provide: NG_VALUE_ACCESSOR,
166
166
  useExisting: forwardRef(() => FileUploadComponent),
167
167
  multi: true
168
168
  },
169
169
  ComponentContextService
170
- ], viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true }, { propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"file-upload\">\r\n <div class=\"fl-icon\">\r\n <i *ngIf=\"loading\" class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\r\n <i *ngIf=\"!loading\" class=\"pi pi-file-o\" style=\"font-size: 2rem\"></i>\r\n </div>\r\n\r\n <div class=\"fl-file-name\" (click)=\"onDownloadFile()\">\r\n <span *ngIf=\"!showNoti\">{{selectedFileName}}</span>\r\n <span *ngIf=\"showNoti\"> {{notification}} </span>\r\n </div>\r\n\r\n <div class=\"fl-buttons\">\r\n <button *ngIf=\"!hasFile && !readonly\" pTooltip=\"Ch\u1ECDn file\" class=\"fl-choose\"\r\n class=\"link-or-action p-button-text p-button-rounded fl-choose\" tooltipPosition=\"top\" pButton type=\"button\"\r\n icon=\"pi pi-plus\" (click)=\"onOpenSelect()\"></button>\r\n\r\n <button *ngIf=\"hasFile && !readonly\" (click)=\"onRemoveFile()\"\r\n class=\"link-or-action p-button-text p-button-rounded p-button-danger fl-remove\" pTooltip=\"X\u00F3a file\"\r\n tooltipPosition=\"top\" pButton type=\"button\" icon=\"pi pi-trash\"></button>\r\n\r\n <button [disabled]=\"!menu || !menu.length\" type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event)\"></button>\r\n </div>\r\n\r\n <div style=\"display: none;\">\r\n <p-fileUpload #file [accept]=\"accept\" [auto]=\"false\" class=\"file-upload\" mode=\"basic\"\r\n [chooseLabel]=\"chooseLabel\" name=\"file[]\" [maxFileSize]=\"maxFileSize\" accept=\"{{accept}}\"\r\n pTooltip=\"Ch\u1ECDn t\u1EEB m\u00E1y t\u00EDnh\" toolStipPosition=\"top\" multiple=\"single\"\r\n [invalidFileSizeMessageSummary]=\"invalidFileSizeMessageSummary\"\r\n [invalidFileSizeMessageDetail]=\"invalidFileSizeMessageDetail\"\r\n [invalidFileTypeMessageSummary]=\"invalidFileTypeMessageSummary\"\r\n [invalidFileTypeMessageDetail]=\"invalidFileTypeMessageDetail\"\r\n [invalidFileLimitMessageSummary]=\"invalidFileLimitMessageSummary\"\r\n [invalidFileLimitMessageDetail]=\"invalidFileLimitMessageDetail\" (onSelect)=\"onSelectFile($event)\"\r\n (onError)=\"handleError($event)\">\r\n </p-fileUpload>\r\n </div>\r\n\r\n</div>\r\n\r\n<p-contextMenu #contextMenu [appendTo]=\"'body'\" [model]=\"menu\" styleClass=\"fm-contextMenu-panel\">\r\n</p-contextMenu>", styles: ["::ng-deep .file-upload{display:flex;border:1px solid #ced4da;border-radius:4px}::ng-deep .file-upload .fl-icon{flex:0 0 30px;display:flex;font-size:20px;justify-content:center;align-items:center;border-right:1px solid #ced4da}::ng-deep .file-upload .fl-icon>i{font-size:16px!important}::ng-deep .file-upload .fl-file-name{display:flex;align-items:center;flex-grow:1;cursor:pointer;opacity:.8;padding-left:12px;color:#109bf8;width:calc(100% - 110px)}::ng-deep .file-upload .fl-file-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .file-upload .fl-file-name:hover{opacity:1}::ng-deep .file-upload .fl-buttons{flex:0 0 80px;display:flex;border-right:1px solid #ced4da;align-items:center;justify-content:space-evenly;border-left:1px solid #ced4da}\n"], components: [{ type: i4.FileUpload, selector: "p-fileUpload", inputs: ["method", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "previewWidth", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "files", "name", "url", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "style", "styleClass", "chooseLabel", "uploadLabel", "cancelLabel", "headers", "customUpload", "fileLimit"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler"] }, { type: i5.ContextMenu, selector: "p-contextMenu", inputs: ["autoZIndex", "baseZIndex", "triggerEvent", "model", "global", "target", "style", "styleClass", "appendTo"], outputs: ["onShow", "onHide"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }, { type: i8.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "label", "icon"] }] });
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: FileUploadComponent, decorators: [{
170
+ ], viewQueries: [{ propertyName: "file", first: true, predicate: ["file"], descendants: true }, { propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"file-upload\">\r\n <div class=\"fl-icon\">\r\n <i *ngIf=\"loading\" class=\"pi pi-spin pi-spinner\" style=\"font-size: 2rem\"></i>\r\n <i *ngIf=\"!loading\" class=\"pi pi-file-o\" style=\"font-size: 2rem\"></i>\r\n </div>\r\n\r\n <div class=\"fl-file-name\" (click)=\"onDownloadFile()\">\r\n <span *ngIf=\"!showNoti\">{{selectedFileName}}</span>\r\n <span *ngIf=\"showNoti\"> {{notification}} </span>\r\n </div>\r\n\r\n <div class=\"fl-buttons\">\r\n <button *ngIf=\"!hasFile && !readonly\" pTooltip=\"Ch\u1ECDn file\" class=\"fl-choose\"\r\n class=\"link-or-action p-button-text p-button-rounded fl-choose\" tooltipPosition=\"top\" pButton type=\"button\"\r\n icon=\"pi pi-plus\" (click)=\"onOpenSelect()\"></button>\r\n\r\n <button *ngIf=\"hasFile && !readonly\" (click)=\"onRemoveFile()\"\r\n class=\"link-or-action p-button-text p-button-rounded p-button-danger fl-remove\" pTooltip=\"X\u00F3a file\"\r\n tooltipPosition=\"top\" pButton type=\"button\" icon=\"pi pi-trash\"></button>\r\n\r\n <button [disabled]=\"!menu || !menu.length\" type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event)\"></button>\r\n </div>\r\n\r\n <div style=\"display: none;\">\r\n <p-fileUpload #file [accept]=\"accept\" [auto]=\"false\" class=\"file-upload\" mode=\"basic\"\r\n [chooseLabel]=\"chooseLabel\" name=\"file[]\" [maxFileSize]=\"maxFileSize\" accept=\"{{accept}}\"\r\n pTooltip=\"Ch\u1ECDn t\u1EEB m\u00E1y t\u00EDnh\" toolStipPosition=\"top\" multiple=\"single\"\r\n [invalidFileSizeMessageSummary]=\"invalidFileSizeMessageSummary\"\r\n [invalidFileSizeMessageDetail]=\"invalidFileSizeMessageDetail\"\r\n [invalidFileTypeMessageSummary]=\"invalidFileTypeMessageSummary\"\r\n [invalidFileTypeMessageDetail]=\"invalidFileTypeMessageDetail\"\r\n [invalidFileLimitMessageSummary]=\"invalidFileLimitMessageSummary\"\r\n [invalidFileLimitMessageDetail]=\"invalidFileLimitMessageDetail\" (onSelect)=\"onSelectFile($event)\"\r\n (onError)=\"handleError($event)\">\r\n </p-fileUpload>\r\n </div>\r\n\r\n</div>\r\n\r\n<p-contextMenu #contextMenu [appendTo]=\"'body'\" [model]=\"menu\" styleClass=\"fm-contextMenu-panel\">\r\n</p-contextMenu>", styles: ["::ng-deep .file-upload{display:flex;border:1px solid #ced4da;border-radius:4px}::ng-deep .file-upload .fl-icon{flex:0 0 30px;display:flex;font-size:20px;justify-content:center;align-items:center;border-right:1px solid #ced4da}::ng-deep .file-upload .fl-icon>i{font-size:16px!important}::ng-deep .file-upload .fl-file-name{display:flex;align-items:center;flex-grow:1;cursor:pointer;opacity:.8;padding-left:12px;color:#109bf8;width:calc(100% - 110px)}::ng-deep .file-upload .fl-file-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep .file-upload .fl-file-name:hover{opacity:1}::ng-deep .file-upload .fl-buttons{flex:0 0 80px;display:flex;border-right:1px solid #ced4da;align-items:center;justify-content:space-evenly;border-left:1px solid #ced4da}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "label", "icon"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }, { kind: "component", type: i7.ContextMenu, selector: "p-contextMenu", inputs: ["autoZIndex", "baseZIndex", "triggerEvent", "model", "global", "target", "style", "styleClass", "appendTo"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i8.FileUpload, selector: "p-fileUpload", inputs: ["method", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "previewWidth", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "files", "name", "url", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "style", "styleClass", "chooseLabel", "uploadLabel", "cancelLabel", "headers", "customUpload", "fileLimit"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler"] }] });
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: FileUploadComponent, decorators: [{
172
172
  type: Component,
173
173
  args: [{ selector: 'file-upload', providers: [
174
174
  {
@@ -84,15 +84,15 @@ export class KeyValueComponent {
84
84
  this.updateNgModel();
85
85
  }
86
86
  }
87
- KeyValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: KeyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
- KeyValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: KeyValueComponent, selector: "app-key-value", inputs: { control: "control" }, outputs: { onRemoveItem: "onRemoveItem", onClear: "onClear" }, providers: [
87
+ KeyValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: KeyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
+ KeyValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: KeyValueComponent, selector: "app-key-value", inputs: { control: "control" }, outputs: { onRemoveItem: "onRemoveItem", onClear: "onClear" }, providers: [
89
89
  {
90
90
  provide: NG_VALUE_ACCESSOR,
91
91
  useExisting: forwardRef(() => KeyValueComponent),
92
92
  multi: true
93
93
  }
94
94
  ], ngImport: i0, template: "<!-- <div class=\"bottom-buffer\">\r\n <div class=\"ui-table-wrapper\">\r\n <table>\r\n <tr>\r\n <th class=\"table-col1\">Key</th>\r\n <th class=\"table-col2\">Value</th>\r\n <th></th>\r\n </tr>\r\n <ng-container *ngIf=\"dataSourceInternal\">\r\n <tr *ngFor=\"let item of dataSourceInternal;let i = index;\">\r\n <td>\r\n <input (blur)=\"blurItem(item)\" placeholder=\"Nh\u1EADp key...\" pInputText type=\"text\" [(ngModel)]=\"item.key\" />\r\n </td>\r\n <td>\r\n <input (blur)=\"blurItem(item)\" placeholder=\"Nh\u1EADp value...\" pInputText type=\"text\"\r\n [(ngModel)]=\"item.value\" />\r\n </td>\r\n <td>\r\n <a class=\"danger\" (click)=\"removeItem(i)\" pTooltip=\"X\u00F3a\"><i class=\"fas fa-remove\"></i></a>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n </div>\r\n <div class=\"button-container\">\r\n <button icon=\"fas fa-plus\" type=\"button\" label=\"Th\u00EAm\" pButton (click)=\"addEmptyItems()\"></button>\r\n </div>\r\n</div> -->", styles: [".bottom-buffer{margin-bottom:50px}.button-container{width:200px}.danger{color:red;cursor:pointer}\n"] });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: KeyValueComponent, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: KeyValueComponent, decorators: [{
96
96
  type: Component,
97
97
  args: [{ selector: 'app-key-value', providers: [
98
98
  {
@@ -3,9 +3,9 @@ import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/cor
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
- import * as i2 from "ngx-mask";
7
- import * as i3 from "@angular/forms";
8
- import * as i4 from "tn-custom-primeng/inputtext";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "tn-custom-primeng/inputtext";
8
+ import * as i4 from "ngx-mask";
9
9
  export class MaskComponent {
10
10
  constructor(_numberPipe) {
11
11
  this._numberPipe = _numberPipe;
@@ -95,16 +95,16 @@ export class MaskComponent {
95
95
  this.disabled = true;
96
96
  }
97
97
  }
98
- MaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MaskComponent, deps: [{ token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
99
- MaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: MaskComponent, selector: "tn-mask", inputs: { maskType: "maskType", placeholder: "placeholder", disabled: "disabled", suffix: "suffix", prefix: "prefix", min: "min", max: "max", decimalPlaces: "decimalPlaces", viewMode: "viewMode", inputStyleClass: "inputStyleClass" }, outputs: { onFocus: "onFocus", onBlur: "onBlur", onChanged: "onChanged" }, providers: [
98
+ MaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MaskComponent, deps: [{ token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
99
+ MaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MaskComponent, selector: "tn-mask", inputs: { maskType: "maskType", placeholder: "placeholder", disabled: "disabled", suffix: "suffix", prefix: "prefix", min: "min", max: "max", decimalPlaces: "decimalPlaces", viewMode: "viewMode", inputStyleClass: "inputStyleClass" }, outputs: { onFocus: "onFocus", onBlur: "onBlur", onChanged: "onChanged" }, providers: [
100
100
  {
101
101
  provide: NG_VALUE_ACCESSOR,
102
102
  useExisting: forwardRef(() => MaskComponent),
103
103
  multi: true
104
104
  },
105
105
  DecimalPipe
106
- ], ngImport: i0, template: "<ng-container *ngIf=\"viewMode\">\r\n <div class=\"tn-mask-viewMode\">\r\n <span *ngIf=\"prefix\">{{prefix}}</span>\r\n <span>{{model}}</span> \r\n <span *ngIf=\"suffix\">({{suffix}})</span>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"!viewMode\">\r\n <div class=\"p-inputgroup\">\r\n <span *ngIf=\"prefix\" class=\"p-inputgroup-addon\">{{prefix}}</span>\r\n <input type=\"text\" pInputText [placeholder]=\"_placeholder\" [attr.disabled]=\"disabled ? true : null\"\r\n [mask]=\"getMaskByType(maskType)\" [thousandSeparator]=\"getThousandSeperator()\" [class]=\"inputStyleClass\"\r\n [(ngModel)]=\"model\" (focus)=\"handleFocus()\" (blur)=\"handleBlur()\" (change)=\"handleChangedValue()\" />\r\n <span *ngIf=\"suffix\" class=\"p-inputgroup-addon\">({{suffix}})</span>\r\n </div>\r\n</ng-container>", styles: [".tn-mask-viewMode>span{margin-right:3px}.tn-mask-viewMode>span:last-child{margin-right:0}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.InputText, selector: "[pInputText]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: MaskComponent, decorators: [{
106
+ ], ngImport: i0, template: "<ng-container *ngIf=\"viewMode\">\r\n <div class=\"tn-mask-viewMode\">\r\n <span *ngIf=\"prefix\">{{prefix}}</span>\r\n <span>{{model}}</span> \r\n <span *ngIf=\"suffix\">({{suffix}})</span>\r\n </div>\r\n</ng-container>\r\n<ng-container *ngIf=\"!viewMode\">\r\n <div class=\"p-inputgroup\">\r\n <span *ngIf=\"prefix\" class=\"p-inputgroup-addon\">{{prefix}}</span>\r\n <input type=\"text\" pInputText [placeholder]=\"_placeholder\" [attr.disabled]=\"disabled ? true : null\"\r\n [mask]=\"getMaskByType(maskType)\" [thousandSeparator]=\"getThousandSeperator()\" [class]=\"inputStyleClass\"\r\n [(ngModel)]=\"model\" (focus)=\"handleFocus()\" (blur)=\"handleBlur()\" (change)=\"handleChangedValue()\" />\r\n <span *ngIf=\"suffix\" class=\"p-inputgroup-addon\">({{suffix}})</span>\r\n </div>\r\n</ng-container>", styles: [".tn-mask-viewMode>span{margin-right:3px}.tn-mask-viewMode>span:last-child{margin-right:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.InputText, selector: "[pInputText]" }, { kind: "directive", type: i4.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime"] }] });
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MaskComponent, decorators: [{
108
108
  type: Component,
109
109
  args: [{ selector: 'tn-mask', providers: [
110
110
  {
@@ -38,9 +38,9 @@ export class NotFoundComponent extends ComponentBase {
38
38
  this._router.navigateByUrl('/');
39
39
  }
40
40
  }
41
- NotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NotFoundComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i2.UserService }, { token: i3.EnvironmentService }, { token: i4.AuthenService }], target: i0.ɵɵFactoryTarget.Component });
42
- NotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: NotFoundComponent, selector: "app-not-found", providers: [ComponentContextService], usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"layoutNotFound\">\r\n <ng-container *ngSwitchDefault>\r\n <ng-container [ngTemplateOutlet]=\"notFoundDefault\">\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #notFoundDefault>\r\n <!-- <div style=\"display:flex; align-items:center; justify-content:center;height: calc(100vh - 60px);\">\r\n <div class=\"lds-ring\">\r\n </div>\r\n </div> -->\r\n <div class=\"modules\">\r\n <div class=\"welcome-user\">\r\n <div class=\"profile-image\">\r\n <img src=\"/assets/layout/images/male.png\" alt=\"Avatar\" />\r\n </div>\r\n\r\n <div class=\"wrp-login\">\r\n <h2>Xin ch\u00E0o!</h2>\r\n <b>{{currentUser.fullName}}</b>\r\n <div class=\"login\">\r\n <a (click)=\"goToHome()\"><i class=\"far fa-folder-open\"></i>Trang ch\u1EE7</a>\r\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\r\n xu\u1EA5t</a>\r\n </div>\r\n </div>\r\n <div class=\"clock-wrapper\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"module-warning\">\r\n <div class=\"title\">\r\n <h1>404</h1>\r\n <h2>Kh\u00F4ng t\u00ECm th\u1EA5y trang</h2>\r\n <p>Trang b\u1EA1n \u0111ang t\u00ECm ki\u1EBFm c\u00F3 th\u1EC3 \u0111\u00E3 b\u1ECB x\u00F3a ho\u1EB7c kh\u00F4ng t\u1ED3n t\u1EA1i.</p>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".lds-ring{display:inline-block;position:relative;width:80px;height:80px;border:2px solid #bcdbf5;border-top:2px solid #3192e1;box-sizing:border-box;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;background:no-repeat #eff1f6}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{background-color:#fff}.modules{position:fixed;top:0;left:0;z-index:100;display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;background-image:url(/assets/images/background-splash.png);background-repeat:no-repeat;background-position:center;background-size:cover}.modules div>span{display:inline-block;min-width:100px;height:120px;width:120px;margin:10px;box-shadow:1px 2px 9px 1px #dadada;border-radius:5px;white-space:normal}.modules div>span>a{height:100%;width:100%;display:inline-block;color:#fff;text-decoration:unset;text-align:center;position:relative;font-weight:700;cursor:pointer;border-radius:5px}.modules div>span>a>span{display:inline-block;color:#fff;text-decoration:unset;text-align:center;position:absolute;bottom:10px;width:100%;left:0px}.modules div>span.implementing{background-color:#fff;box-shadow:none}.modules div>span>a>i{font-size:3.5em;position:absolute;top:20px;width:100%;left:0px}.div1111-wrapper{overflow:auto;height:420px;margin:0 auto;max-width:700px}.div1111-wrapper .div1111{white-space:nowrap;width:100%;display:flex;flex-wrap:wrap}.div1111-wrapper .div1111 .bg-switcher{background:#fff;transition:.3s}.div1111-wrapper .div1111 .bg-switcher .app-switcher-item-icon{color:#52abff;transition:.3s}.div1111-wrapper .div1111 .bg-switcher span{color:#2f70ac;font-weight:500;text-shadow:none;transition:.3s}.div1111-wrapper .div1111 .bg-switcher:hover{background:#facb01;box-shadow:1px 2px 9px 1px #27175685}.div1111-wrapper .div1111 .bg-switcher:hover .app-switcher-item-icon,.div1111-wrapper .div1111 .bg-switcher:hover span{color:#2f70ac}.module-warning{text-align:center;color:#666;width:65%;align-self:stretch;background-color:#f9f4f4eb;display:flex;flex-direction:column;justify-content:center}.module-warning .title{padding:0 20px}.module-warning img{margin:150px auto}.module-warning h1{color:#2f70ac;font-size:35px;margin-top:0;margin-bottom:0;font-size:200px;font-weight:700;text-shadow:4px 4px 0 #00ffc0;line-height:1;display:inline-block}.module-warning h2{font-size:40px;color:#271756;margin-bottom:0;margin-top:0;text-transform:uppercase}.module-warning p{color:#271756;font-weight:400;margin-top:20px;margin-bottom:25px;font-size:20px;display:inline-block}.welcome-user{text-align:center;width:35%;align-self:stretch;background-color:#2f70aceb;display:flex;flex-direction:column}.welcome-user .wrp-login{margin:20px auto auto;color:#fff}.welcome-user .wrp-login h2{font-size:20px;margin-top:0;margin-bottom:5px;font-weight:500}.welcome-user .wrp-login b{font-size:25px;text-transform:uppercase;display:block}.welcome-user .wrp-login .login{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));grid-gap:10px;margin-top:30px}.welcome-user .wrp-login .login a{background:#fff;padding:6px;border-radius:5px;cursor:pointer;display:inline-block;color:#5d5d5d}.welcome-user .wrp-login .login a i{margin-right:10px}.welcome-user .profile-image{margin:auto auto 0}.welcome-user .profile-image img{border-radius:50%;height:200px;width:200px;object-fit:contain;box-shadow:1px 1px 11px 6px #2a659b;background:#fff}.welcome-user .clock-wrapper{color:#fff;text-align:center;margin-top:auto;margin-bottom:auto}.welcome-user .clock-wrapper h4{font-size:18px;font-weight:500;margin-top:10px}.welcome-user .clock-wrapper h1{margin-bottom:0;font-size:40px}@media (max-width: 1368px){.clock{margin:0 20px;font-size:1.5em}.data-time{margin:10px 0 20px;font-size:1em}}@media (max-width: 768px){.modules{flex-direction:column}.welcome-user{width:100%;height:25%;flex-direction:row;align-items:center}.welcome-user .profile-image{margin-bottom:auto}.welcome-user .profile-image img{height:150px;width:150px}.welcome-user .wrp-login{margin-top:auto}.welcome-user .wrp-login .login{margin-top:20px}.welcome-user .clock-wrapper{display:none}.module-warning{width:100%;height:75%}}@media (max-width: 640px){.welcome-user .wrp-login{width:50%;padding:0 20px 0 0;float:right}.welcome-user .wrp-login h2{margin-bottom:3px;font-size:14px}.welcome-user .wrp-login b{font-size:14px}.welcome-user .wrp-login .login{margin-top:10px;display:flex;flex-direction:column;padding:0 15px;text-align:left}.welcome-user .wrp-login .login a{font-size:14px}.welcome-user .profile-image{width:50%;float:left}.welcome-user .profile-image img{height:130px;width:130px;margin-left:35px;display:block}.welcome-user .clock-wrapper{clear:both;padding-top:10px;padding-right:0}.welcome-user .clock-wrapper h4{font-size:14px;margin-top:5px}.welcome-user .clock-wrapper h1{font-size:1.3em}.module-warning .div1111-wrapper{max-width:360px;margin-top:0;height:360px}.module-warning .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}.module-warning div>span{width:100px;height:100px}.module-warning div>span>a>i{font-size:2.5em;top:10px}}@media (max-width: 425px){.module-warning h2{font-size:28px}}@media (max-width: 375px){.module-warning h2{font-size:26px}}\n"], directives: [{ type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NotFoundComponent, decorators: [{
41
+ NotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: NotFoundComponent, deps: [{ token: i0.Injector }, { token: i1.Router }, { token: i2.UserService }, { token: i3.EnvironmentService }, { token: i4.AuthenService }], target: i0.ɵɵFactoryTarget.Component });
42
+ NotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: NotFoundComponent, selector: "app-not-found", providers: [ComponentContextService], usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"layoutNotFound\">\r\n <ng-container *ngSwitchDefault>\r\n <ng-container [ngTemplateOutlet]=\"notFoundDefault\">\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #notFoundDefault>\r\n <!-- <div style=\"display:flex; align-items:center; justify-content:center;height: calc(100vh - 60px);\">\r\n <div class=\"lds-ring\">\r\n </div>\r\n </div> -->\r\n <div class=\"modules\">\r\n <div class=\"welcome-user\">\r\n <div class=\"profile-image\">\r\n <img src=\"/assets/layout/images/male.png\" alt=\"Avatar\" />\r\n </div>\r\n\r\n <div class=\"wrp-login\">\r\n <h2>Xin ch\u00E0o!</h2>\r\n <b>{{currentUser.fullName}}</b>\r\n <div class=\"login\">\r\n <a (click)=\"goToHome()\"><i class=\"far fa-folder-open\"></i>Trang ch\u1EE7</a>\r\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\r\n xu\u1EA5t</a>\r\n </div>\r\n </div>\r\n <div class=\"clock-wrapper\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"module-warning\">\r\n <div class=\"title\">\r\n <h1>404</h1>\r\n <h2>Kh\u00F4ng t\u00ECm th\u1EA5y trang</h2>\r\n <p>Trang b\u1EA1n \u0111ang t\u00ECm ki\u1EBFm c\u00F3 th\u1EC3 \u0111\u00E3 b\u1ECB x\u00F3a ho\u1EB7c kh\u00F4ng t\u1ED3n t\u1EA1i.</p>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".lds-ring{display:inline-block;position:relative;width:80px;height:80px;border:2px solid #bcdbf5;border-top:2px solid #3192e1;box-sizing:border-box;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;background:no-repeat #eff1f6}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{background-color:#fff}.modules{position:fixed;top:0;left:0;z-index:100;display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;background-image:url(/assets/images/background-splash.png);background-repeat:no-repeat;background-position:center;background-size:cover}.modules div>span{display:inline-block;min-width:100px;height:120px;width:120px;margin:10px;box-shadow:1px 2px 9px 1px #dadada;border-radius:5px;white-space:normal}.modules div>span>a{height:100%;width:100%;display:inline-block;color:#fff;text-decoration:unset;text-align:center;position:relative;font-weight:700;cursor:pointer;border-radius:5px}.modules div>span>a>span{display:inline-block;color:#fff;text-decoration:unset;text-align:center;position:absolute;bottom:10px;width:100%;left:0px}.modules div>span.implementing{background-color:#fff;box-shadow:none}.modules div>span>a>i{font-size:3.5em;position:absolute;top:20px;width:100%;left:0px}.div1111-wrapper{overflow:auto;height:420px;margin:0 auto;max-width:700px}.div1111-wrapper .div1111{white-space:nowrap;width:100%;display:flex;flex-wrap:wrap}.div1111-wrapper .div1111 .bg-switcher{background:#fff;transition:.3s}.div1111-wrapper .div1111 .bg-switcher .app-switcher-item-icon{color:#52abff;transition:.3s}.div1111-wrapper .div1111 .bg-switcher span{color:#2f70ac;font-weight:500;text-shadow:none;transition:.3s}.div1111-wrapper .div1111 .bg-switcher:hover{background:#facb01;box-shadow:1px 2px 9px 1px #27175685}.div1111-wrapper .div1111 .bg-switcher:hover .app-switcher-item-icon,.div1111-wrapper .div1111 .bg-switcher:hover span{color:#2f70ac}.module-warning{text-align:center;color:#666;width:65%;align-self:stretch;background-color:#f9f4f4eb;display:flex;flex-direction:column;justify-content:center}.module-warning .title{padding:0 20px}.module-warning img{margin:150px auto}.module-warning h1{color:#2f70ac;font-size:35px;margin-top:0;margin-bottom:0;font-size:200px;font-weight:700;text-shadow:4px 4px 0 #00ffc0;line-height:1;display:inline-block}.module-warning h2{font-size:40px;color:#271756;margin-bottom:0;margin-top:0;text-transform:uppercase}.module-warning p{color:#271756;font-weight:400;margin-top:20px;margin-bottom:25px;font-size:20px;display:inline-block}.welcome-user{text-align:center;width:35%;align-self:stretch;background-color:#2f70aceb;display:flex;flex-direction:column}.welcome-user .wrp-login{margin:20px auto auto;color:#fff}.welcome-user .wrp-login h2{font-size:20px;margin-top:0;margin-bottom:5px;font-weight:500}.welcome-user .wrp-login b{font-size:25px;text-transform:uppercase;display:block}.welcome-user .wrp-login .login{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));grid-gap:10px;margin-top:30px}.welcome-user .wrp-login .login a{background:#fff;padding:6px;border-radius:5px;cursor:pointer;display:inline-block;color:#5d5d5d}.welcome-user .wrp-login .login a i{margin-right:10px}.welcome-user .profile-image{margin:auto auto 0}.welcome-user .profile-image img{border-radius:50%;height:200px;width:200px;object-fit:contain;box-shadow:1px 1px 11px 6px #2a659b;background:#fff}.welcome-user .clock-wrapper{color:#fff;text-align:center;margin-top:auto;margin-bottom:auto}.welcome-user .clock-wrapper h4{font-size:18px;font-weight:500;margin-top:10px}.welcome-user .clock-wrapper h1{margin-bottom:0;font-size:40px}@media (max-width: 1368px){.clock{margin:0 20px;font-size:1.5em}.data-time{margin:10px 0 20px;font-size:1em}}@media (max-width: 768px){.modules{flex-direction:column}.welcome-user{width:100%;height:25%;flex-direction:row;align-items:center}.welcome-user .profile-image{margin-bottom:auto}.welcome-user .profile-image img{height:150px;width:150px}.welcome-user .wrp-login{margin-top:auto}.welcome-user .wrp-login .login{margin-top:20px}.welcome-user .clock-wrapper{display:none}.module-warning{width:100%;height:75%}}@media (max-width: 640px){.welcome-user .wrp-login{width:50%;padding:0 20px 0 0;float:right}.welcome-user .wrp-login h2{margin-bottom:3px;font-size:14px}.welcome-user .wrp-login b{font-size:14px}.welcome-user .wrp-login .login{margin-top:10px;display:flex;flex-direction:column;padding:0 15px;text-align:left}.welcome-user .wrp-login .login a{font-size:14px}.welcome-user .profile-image{width:50%;float:left}.welcome-user .profile-image img{height:130px;width:130px;margin-left:35px;display:block}.welcome-user .clock-wrapper{clear:both;padding-top:10px;padding-right:0}.welcome-user .clock-wrapper h4{font-size:14px;margin-top:5px}.welcome-user .clock-wrapper h1{font-size:1.3em}.module-warning .div1111-wrapper{max-width:360px;margin-top:0;height:360px}.module-warning .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}.module-warning div>span{width:100px;height:100px}.module-warning div>span>a>i{font-size:2.5em;top:10px}}@media (max-width: 425px){.module-warning h2{font-size:28px}}@media (max-width: 375px){.module-warning h2{font-size:26px}}\n"], dependencies: [{ kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: NotFoundComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'app-not-found', providers: [ComponentContextService], template: "<ng-container [ngSwitch]=\"layoutNotFound\">\r\n <ng-container *ngSwitchDefault>\r\n <ng-container [ngTemplateOutlet]=\"notFoundDefault\">\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>\r\n\r\n<ng-template #notFoundDefault>\r\n <!-- <div style=\"display:flex; align-items:center; justify-content:center;height: calc(100vh - 60px);\">\r\n <div class=\"lds-ring\">\r\n </div>\r\n </div> -->\r\n <div class=\"modules\">\r\n <div class=\"welcome-user\">\r\n <div class=\"profile-image\">\r\n <img src=\"/assets/layout/images/male.png\" alt=\"Avatar\" />\r\n </div>\r\n\r\n <div class=\"wrp-login\">\r\n <h2>Xin ch\u00E0o!</h2>\r\n <b>{{currentUser.fullName}}</b>\r\n <div class=\"login\">\r\n <a (click)=\"goToHome()\"><i class=\"far fa-folder-open\"></i>Trang ch\u1EE7</a>\r\n <a style=\"background: #fabc01;\" (click)=\"logout()\"><i class=\"far fa-arrow-alt-circle-right\"></i>\u0110\u0103ng\r\n xu\u1EA5t</a>\r\n </div>\r\n </div>\r\n <div class=\"clock-wrapper\">\r\n </div>\r\n </div>\r\n\r\n <div class=\"module-warning\">\r\n <div class=\"title\">\r\n <h1>404</h1>\r\n <h2>Kh\u00F4ng t\u00ECm th\u1EA5y trang</h2>\r\n <p>Trang b\u1EA1n \u0111ang t\u00ECm ki\u1EBFm c\u00F3 th\u1EC3 \u0111\u00E3 b\u1ECB x\u00F3a ho\u1EB7c kh\u00F4ng t\u1ED3n t\u1EA1i.</p>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>", styles: [".lds-ring{display:inline-block;position:relative;width:80px;height:80px;border:2px solid #bcdbf5;border-top:2px solid #3192e1;box-sizing:border-box;border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;background:no-repeat #eff1f6}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{background-color:#fff}.modules{position:fixed;top:0;left:0;z-index:100;display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;background-image:url(/assets/images/background-splash.png);background-repeat:no-repeat;background-position:center;background-size:cover}.modules div>span{display:inline-block;min-width:100px;height:120px;width:120px;margin:10px;box-shadow:1px 2px 9px 1px #dadada;border-radius:5px;white-space:normal}.modules div>span>a{height:100%;width:100%;display:inline-block;color:#fff;text-decoration:unset;text-align:center;position:relative;font-weight:700;cursor:pointer;border-radius:5px}.modules div>span>a>span{display:inline-block;color:#fff;text-decoration:unset;text-align:center;position:absolute;bottom:10px;width:100%;left:0px}.modules div>span.implementing{background-color:#fff;box-shadow:none}.modules div>span>a>i{font-size:3.5em;position:absolute;top:20px;width:100%;left:0px}.div1111-wrapper{overflow:auto;height:420px;margin:0 auto;max-width:700px}.div1111-wrapper .div1111{white-space:nowrap;width:100%;display:flex;flex-wrap:wrap}.div1111-wrapper .div1111 .bg-switcher{background:#fff;transition:.3s}.div1111-wrapper .div1111 .bg-switcher .app-switcher-item-icon{color:#52abff;transition:.3s}.div1111-wrapper .div1111 .bg-switcher span{color:#2f70ac;font-weight:500;text-shadow:none;transition:.3s}.div1111-wrapper .div1111 .bg-switcher:hover{background:#facb01;box-shadow:1px 2px 9px 1px #27175685}.div1111-wrapper .div1111 .bg-switcher:hover .app-switcher-item-icon,.div1111-wrapper .div1111 .bg-switcher:hover span{color:#2f70ac}.module-warning{text-align:center;color:#666;width:65%;align-self:stretch;background-color:#f9f4f4eb;display:flex;flex-direction:column;justify-content:center}.module-warning .title{padding:0 20px}.module-warning img{margin:150px auto}.module-warning h1{color:#2f70ac;font-size:35px;margin-top:0;margin-bottom:0;font-size:200px;font-weight:700;text-shadow:4px 4px 0 #00ffc0;line-height:1;display:inline-block}.module-warning h2{font-size:40px;color:#271756;margin-bottom:0;margin-top:0;text-transform:uppercase}.module-warning p{color:#271756;font-weight:400;margin-top:20px;margin-bottom:25px;font-size:20px;display:inline-block}.welcome-user{text-align:center;width:35%;align-self:stretch;background-color:#2f70aceb;display:flex;flex-direction:column}.welcome-user .wrp-login{margin:20px auto auto;color:#fff}.welcome-user .wrp-login h2{font-size:20px;margin-top:0;margin-bottom:5px;font-weight:500}.welcome-user .wrp-login b{font-size:25px;text-transform:uppercase;display:block}.welcome-user .wrp-login .login{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));grid-gap:10px;margin-top:30px}.welcome-user .wrp-login .login a{background:#fff;padding:6px;border-radius:5px;cursor:pointer;display:inline-block;color:#5d5d5d}.welcome-user .wrp-login .login a i{margin-right:10px}.welcome-user .profile-image{margin:auto auto 0}.welcome-user .profile-image img{border-radius:50%;height:200px;width:200px;object-fit:contain;box-shadow:1px 1px 11px 6px #2a659b;background:#fff}.welcome-user .clock-wrapper{color:#fff;text-align:center;margin-top:auto;margin-bottom:auto}.welcome-user .clock-wrapper h4{font-size:18px;font-weight:500;margin-top:10px}.welcome-user .clock-wrapper h1{margin-bottom:0;font-size:40px}@media (max-width: 1368px){.clock{margin:0 20px;font-size:1.5em}.data-time{margin:10px 0 20px;font-size:1em}}@media (max-width: 768px){.modules{flex-direction:column}.welcome-user{width:100%;height:25%;flex-direction:row;align-items:center}.welcome-user .profile-image{margin-bottom:auto}.welcome-user .profile-image img{height:150px;width:150px}.welcome-user .wrp-login{margin-top:auto}.welcome-user .wrp-login .login{margin-top:20px}.welcome-user .clock-wrapper{display:none}.module-warning{width:100%;height:75%}}@media (max-width: 640px){.welcome-user .wrp-login{width:50%;padding:0 20px 0 0;float:right}.welcome-user .wrp-login h2{margin-bottom:3px;font-size:14px}.welcome-user .wrp-login b{font-size:14px}.welcome-user .wrp-login .login{margin-top:10px;display:flex;flex-direction:column;padding:0 15px;text-align:left}.welcome-user .wrp-login .login a{font-size:14px}.welcome-user .profile-image{width:50%;float:left}.welcome-user .profile-image img{height:130px;width:130px;margin-left:35px;display:block}.welcome-user .clock-wrapper{clear:both;padding-top:10px;padding-right:0}.welcome-user .clock-wrapper h4{font-size:14px;margin-top:5px}.welcome-user .clock-wrapper h1{font-size:1.3em}.module-warning .div1111-wrapper{max-width:360px;margin-top:0;height:360px}.module-warning .div1111-wrapper .div1111 .bg-switcher span{font-size:14px}.module-warning div>span{width:100px;height:100px}.module-warning div>span>a>i{font-size:2.5em;top:10px}}@media (max-width: 425px){.module-warning h2{font-size:28px}}@media (max-width: 375px){.module-warning h2{font-size:26px}}\n"] }]
46
46
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Router }, { type: i2.UserService }, { type: i3.EnvironmentService }, { type: i4.AuthenService }]; } });
@@ -2,9 +2,9 @@ import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/cor
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
- import * as i2 from "ngx-mask";
6
- import * as i3 from "@angular/forms";
7
- import * as i4 from "tn-custom-primeng/inputtext";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "tn-custom-primeng/inputtext";
7
+ import * as i4 from "ngx-mask";
8
8
  export class NumberPickerRangeComponent {
9
9
  constructor(_numberPipe) {
10
10
  this._numberPipe = _numberPipe;
@@ -107,15 +107,15 @@ export class NumberPickerRangeComponent {
107
107
  this.change.emit(value);
108
108
  }
109
109
  }
110
- NumberPickerRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NumberPickerRangeComponent, deps: [{ token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
111
- NumberPickerRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: NumberPickerRangeComponent, selector: "tn-number-picker-range", inputs: { readonly: "readonly", maskType: "maskType", placeholder: "placeholder", disabled: "disabled", suffix: "suffix", prefix: "prefix", min: "min", max: "max", decimalPlaces: "decimalPlaces" }, outputs: { focus: "focus", enterSmart: "enterSmart", enter: "enter", blur: "blur", change: "change" }, providers: [
110
+ NumberPickerRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: NumberPickerRangeComponent, deps: [{ token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component });
111
+ NumberPickerRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: NumberPickerRangeComponent, selector: "tn-number-picker-range", inputs: { readonly: "readonly", maskType: "maskType", placeholder: "placeholder", disabled: "disabled", suffix: "suffix", prefix: "prefix", min: "min", max: "max", decimalPlaces: "decimalPlaces" }, outputs: { focus: "focus", enterSmart: "enterSmart", enter: "enter", blur: "blur", change: "change" }, providers: [
112
112
  {
113
113
  provide: NG_VALUE_ACCESSOR,
114
114
  useExisting: forwardRef(() => NumberPickerRangeComponent),
115
115
  multi: true
116
116
  }
117
- ], ngImport: i0, template: "<div class=\"tn-number-picker-range\">\r\n <input type=\"text\" [placeholder]=\"'T\u1EEB'\" [attr.disabled]=\"disabled ? true : null\" [mask]=\"getMaskByType(maskType)\"\r\n [thousandSeparator]=\"getThousandSeperator()\" pInputText [(ngModel)]=\"model[0]\" (change)=\"onChanged($event)\"\r\n (focus)=\"onFocus($event, 0)\" />\r\n <span>-</span>\r\n <input type=\"text\" [placeholder]=\"'\u0110\u1EBFn'\" [attr.disabled]=\"disabled ? true : null\" [mask]=\"getMaskByType(maskType)\"\r\n [thousandSeparator]=\"getThousandSeperator()\" pInputText [(ngModel)]=\"model[1]\" (change)=\"onChanged($event)\"\r\n (focus)=\"onFocus($event, 1)\" />\r\n</div>", styles: [".tn-number-picker-range{display:flex}.tn-number-picker-range>span{flex:0 0 16px;display:inline-flex;align-items:center;justify-content:center}::ng-deep .tn-number-picker-range .p-inputtext{flex:0 0 calc(50% - 8px);width:calc(50% - 8px)}\n"], directives: [{ type: i2.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.InputText, selector: "[pInputText]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: NumberPickerRangeComponent, decorators: [{
117
+ ], ngImport: i0, template: "<div class=\"tn-number-picker-range\">\r\n <input type=\"text\" [placeholder]=\"'T\u1EEB'\" [attr.disabled]=\"disabled ? true : null\" [mask]=\"getMaskByType(maskType)\"\r\n [thousandSeparator]=\"getThousandSeperator()\" pInputText [(ngModel)]=\"model[0]\" (change)=\"onChanged($event)\"\r\n (focus)=\"onFocus($event, 0)\" />\r\n <span>-</span>\r\n <input type=\"text\" [placeholder]=\"'\u0110\u1EBFn'\" [attr.disabled]=\"disabled ? true : null\" [mask]=\"getMaskByType(maskType)\"\r\n [thousandSeparator]=\"getThousandSeperator()\" pInputText [(ngModel)]=\"model[1]\" (change)=\"onChanged($event)\"\r\n (focus)=\"onFocus($event, 1)\" />\r\n</div>", styles: [".tn-number-picker-range{display:flex}.tn-number-picker-range>span{flex:0 0 16px;display:inline-flex;align-items:center;justify-content:center}::ng-deep .tn-number-picker-range .p-inputtext{flex:0 0 calc(50% - 8px);width:calc(50% - 8px)}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.InputText, selector: "[pInputText]" }, { kind: "directive", type: i4.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime"] }] });
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: NumberPickerRangeComponent, decorators: [{
119
119
  type: Component,
120
120
  args: [{ selector: 'tn-number-picker-range', providers: [
121
121
  {
@@ -1,10 +1,10 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../mask/mask.component";
4
- import * as i2 from "tn-custom-primeng/overlaypanel";
5
- import * as i3 from "@angular/common";
6
- import * as i4 from "tn-custom-primeng/tooltip";
7
- import * as i5 from "@angular/forms";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "tn-custom-primeng/tooltip";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "tn-custom-primeng/overlaypanel";
7
+ import * as i5 from "../mask/mask.component";
8
8
  import * as i6 from "@ngx-translate/core";
9
9
  export class PagingNextBackOnlyComponent {
10
10
  constructor() {
@@ -87,9 +87,9 @@ export class PagingNextBackOnlyComponent {
87
87
  refresh(event) {
88
88
  }
89
89
  }
90
- PagingNextBackOnlyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PagingNextBackOnlyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
91
- PagingNextBackOnlyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: PagingNextBackOnlyComponent, selector: "paging-next-back-only", inputs: { model: "model", setting: "setting", ngClass: "ngClass" }, outputs: { onNext: "onNext", onPrev: "onPrev", onLatest: "onLatest", onRefresh: "onRefresh", onOldest: "onOldest", onChangeLimitPage: "onChangeLimitPage", onChanged: "onChanged" }, viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"paging-container\" [ngClass]=\"ngClass\">\r\n <div class=\"paging-info\">\r\n <ng-container>\r\n <div *ngIf=\"getFirstIndex()<=model.total && !setting.hiddenTextPage\" #targetOverlay\r\n class=\"paging-item paging-info-detail\" (click)=\"op.toggle($event)\">\r\n {{getFirstIndex()}} -\r\n {{getLastIndex()}}\r\n trong {{model.total}}\r\n </div>\r\n <div *ngIf=\"(getFirstIndex()>model.total || model.total == 0) && !setting.hiddenTextPage\"\r\n class=\"paging-item paging-info-detail\">\r\n Kh\u00F4ng t\u00ECm th\u1EA5y d\u1EEF li\u1EC7u\r\n </div>\r\n <div class=\"paging-item text\" [class.disabled]=\"model.loading\" (click)=\"goPrev($event)\"\r\n style=\"margin-right: 5px;\" pTooltip=\"{{'Trang tr\u01B0\u1EDBc' | translate}}\" tooltipPosition=\"top\"\r\n [class.disabled]=\"isFirst()\">\r\n <a href=\"javascript:\" tabindex=\"{{isFirst()?'-1':''}}\"><i class=\"pi pi-chevron-left\"></i></a>\r\n </div>\r\n <div class=\"block-page-size\">\r\n <tn-mask [maskType]=\"'int'\" [min]=\"1\" [max]=\"1000\" [disabled]=\"model.loading ? true : null\"\r\n [(ngModel)]=\"setting.pageSetting.pageSize\" (onChanged)=\"saveChangeHandle()\"\r\n (keyup.enter)=\"saveChangeHandle()\">\r\n </tn-mask>\r\n </div>\r\n <div class=\"paging-item text\" [class.disabled]=\"model.loading\" (click)=\"goNext($event)\"\r\n style=\"margin-left: 5px;\" pTooltip=\"{{'Trang sau' | translate}}\" tooltipPosition=\"left\"\r\n [class.disabled]=\"isLast()\">\r\n <a href=\"javascript:\" tabindex=\"{{isLast()?'-1':''}}\"><i class=\"pi pi-chevron-right\"></i></a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op [styleClass]=\"'paging-advance-overlay'\" [appendTo]=\"'body'\"\r\n (onShow)=\"handleOverlayShow($event, targetOverlay)\">\r\n <ul class=\"paging-advance\">\r\n <li [class.disabled]=\"isFirst()\" (click)=\"goLatest($event)\">Trang \u0111\u1EA7u ti\u00EAn</li>\r\n <li [class.disabled]=\"isLast()\" (click)=\"goOldest($event)\">Trang cu\u1ED1i c\u00F9ng</li>\r\n </ul>\r\n</p-overlayPanel>", styles: [".paging-item a{color:#495057}.paging-item:hover{cursor:pointer}.paging-item:hover a{color:#333}.paging-item.disabled a{color:#bdbdbd}.paging-info-detail{padding:2px .5rem 0;text-align:center;line-height:30px;border-radius:7px;min-width:100px;font-size:.9em}.paging-item.text{line-height:32px;border-radius:50%;width:32px;height:32px;text-align:center;position:relative;display:inline-block;transform:perspective(1px);overflow:hidden}.paging-item.text:before{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:#e6e6e6;z-index:-1;transform:scale(0);transition:all cubic-bezier(.4,.34,.01,.97) .3s;border-radius:50%}.paging-item.text:hover:before{transform:scale(1)}.paging-item.text>a{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.paging-info-detail{border-radius:5px;position:relative;display:inline-block;transform:perspective(1px);overflow:hidden}.paging-info-detail:before{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:#e6e6e6;z-index:-1;transform:scale(0);transition:all cubic-bezier(.4,.34,.01,.97) .3s;border-radius:5px}.paging-info-detail:hover:before{transform:scale(1)}.paging-item.disabled:hover:before{content:none}.paging-item.disabled:hover{background-color:#fff;cursor:default}.paging-item.disabled:hover a{cursor:default}.paging-info{display:flex;justify-content:flex-end;align-items:center}.item-setting{font-size:18px}.item-setting a{color:#555}.item-setting a:hover{color:#333}.paging-advance{list-style:none;padding-left:0;margin:3px 0}.paging-advance li{width:150px;padding-left:15px;line-height:30px}.paging-advance li.disabled{color:#bdbdbd;outline:none}.paging-advance li.disabled:hover{cursor:default;background:none}.paging-advance li:hover{cursor:pointer;background:#e6e6e6}::ng-deep .paging-advance-overlay{margin-left:30px}::ng-deep .paging-advance-overlay .p-overlaypanel-content{padding:0}::ng-deep paging-next-back-only .block-page-size{display:inline-block;width:60px}::ng-deep paging-next-back-only .block-page-size .p-inputtext{width:100%;text-align:center;padding-left:5px;padding-right:5px}::ng-deep paging-next-back-only .tn-mask-disabled{padding:5px;border:1px solid #ddd;border-radius:4px;display:flex;justify-content:center;line-height:20px}\n"], components: [{ type: i1.MaskComponent, selector: "tn-mask", inputs: ["maskType", "placeholder", "disabled", "suffix", "prefix", "min", "max", "decimalPlaces", "viewMode", "inputStyleClass"], outputs: ["onFocus", "onBlur", "onChanged"] }, { type: i2.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "autoZIndex", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions", "showCloseIcon", "style", "styleClass", "appendTo", "ariaCloseLabel"], outputs: ["onShow", "onHide"] }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i6.TranslatePipe } });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PagingNextBackOnlyComponent, decorators: [{
90
+ PagingNextBackOnlyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: PagingNextBackOnlyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
91
+ PagingNextBackOnlyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: PagingNextBackOnlyComponent, selector: "paging-next-back-only", inputs: { model: "model", setting: "setting", ngClass: "ngClass" }, outputs: { onNext: "onNext", onPrev: "onPrev", onLatest: "onLatest", onRefresh: "onRefresh", onOldest: "onOldest", onChangeLimitPage: "onChangeLimitPage", onChanged: "onChanged" }, viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"paging-container\" [ngClass]=\"ngClass\">\r\n <div class=\"paging-info\">\r\n <ng-container>\r\n <div *ngIf=\"getFirstIndex()<=model.total && !setting.hiddenTextPage\" #targetOverlay\r\n class=\"paging-item paging-info-detail\" (click)=\"op.toggle($event)\">\r\n {{getFirstIndex()}} -\r\n {{getLastIndex()}}\r\n trong {{model.total}}\r\n </div>\r\n <div *ngIf=\"(getFirstIndex()>model.total || model.total == 0) && !setting.hiddenTextPage\"\r\n class=\"paging-item paging-info-detail\">\r\n Kh\u00F4ng t\u00ECm th\u1EA5y d\u1EEF li\u1EC7u\r\n </div>\r\n <div class=\"paging-item text\" [class.disabled]=\"model.loading\" (click)=\"goPrev($event)\"\r\n style=\"margin-right: 5px;\" pTooltip=\"{{'Trang tr\u01B0\u1EDBc' | translate}}\" tooltipPosition=\"top\"\r\n [class.disabled]=\"isFirst()\">\r\n <a href=\"javascript:\" tabindex=\"{{isFirst()?'-1':''}}\"><i class=\"pi pi-chevron-left\"></i></a>\r\n </div>\r\n <div class=\"block-page-size\">\r\n <tn-mask [maskType]=\"'int'\" [min]=\"1\" [max]=\"1000\" [disabled]=\"model.loading ? true : null\"\r\n [(ngModel)]=\"setting.pageSetting.pageSize\" (onChanged)=\"saveChangeHandle()\"\r\n (keyup.enter)=\"saveChangeHandle()\">\r\n </tn-mask>\r\n </div>\r\n <div class=\"paging-item text\" [class.disabled]=\"model.loading\" (click)=\"goNext($event)\"\r\n style=\"margin-left: 5px;\" pTooltip=\"{{'Trang sau' | translate}}\" tooltipPosition=\"left\"\r\n [class.disabled]=\"isLast()\">\r\n <a href=\"javascript:\" tabindex=\"{{isLast()?'-1':''}}\"><i class=\"pi pi-chevron-right\"></i></a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op [styleClass]=\"'paging-advance-overlay'\" [appendTo]=\"'body'\"\r\n (onShow)=\"handleOverlayShow($event, targetOverlay)\">\r\n <ul class=\"paging-advance\">\r\n <li [class.disabled]=\"isFirst()\" (click)=\"goLatest($event)\">Trang \u0111\u1EA7u ti\u00EAn</li>\r\n <li [class.disabled]=\"isLast()\" (click)=\"goOldest($event)\">Trang cu\u1ED1i c\u00F9ng</li>\r\n </ul>\r\n</p-overlayPanel>", styles: [".paging-item a{color:#495057}.paging-item:hover{cursor:pointer}.paging-item:hover a{color:#333}.paging-item.disabled a{color:#bdbdbd}.paging-info-detail{padding:2px .5rem 0;text-align:center;line-height:30px;border-radius:7px;min-width:100px;font-size:.9em}.paging-item.text{line-height:32px;border-radius:50%;width:32px;height:32px;text-align:center;position:relative;display:inline-block;transform:perspective(1px);overflow:hidden}.paging-item.text:before{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:#e6e6e6;z-index:-1;transform:scale(0);transition:all cubic-bezier(.4,.34,.01,.97) .3s;border-radius:50%}.paging-item.text:hover:before{transform:scale(1)}.paging-item.text>a{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.paging-info-detail{border-radius:5px;position:relative;display:inline-block;transform:perspective(1px);overflow:hidden}.paging-info-detail:before{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:#e6e6e6;z-index:-1;transform:scale(0);transition:all cubic-bezier(.4,.34,.01,.97) .3s;border-radius:5px}.paging-info-detail:hover:before{transform:scale(1)}.paging-item.disabled:hover:before{content:none}.paging-item.disabled:hover{background-color:#fff;cursor:default}.paging-item.disabled:hover a{cursor:default}.paging-info{display:flex;justify-content:flex-end;align-items:center}.item-setting{font-size:18px}.item-setting a{color:#555}.item-setting a:hover{color:#333}.paging-advance{list-style:none;padding-left:0;margin:3px 0}.paging-advance li{width:150px;padding-left:15px;line-height:30px}.paging-advance li.disabled{color:#bdbdbd;outline:none}.paging-advance li.disabled:hover{cursor:default;background:none}.paging-advance li:hover{cursor:pointer;background:#e6e6e6}::ng-deep .paging-advance-overlay{margin-left:30px}::ng-deep .paging-advance-overlay .p-overlaypanel-content{padding:0}::ng-deep paging-next-back-only .block-page-size{display:inline-block;width:60px}::ng-deep paging-next-back-only .block-page-size .p-inputtext{width:100%;text-align:center;padding-left:5px;padding-right:5px}::ng-deep paging-next-back-only .tn-mask-disabled{padding:5px;border:1px solid #ddd;border-radius:4px;display:flex;justify-content:center;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "autoZIndex", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions", "showCloseIcon", "style", "styleClass", "appendTo", "ariaCloseLabel"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i5.MaskComponent, selector: "tn-mask", inputs: ["maskType", "placeholder", "disabled", "suffix", "prefix", "min", "max", "decimalPlaces", "viewMode", "inputStyleClass"], outputs: ["onFocus", "onBlur", "onChanged"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: PagingNextBackOnlyComponent, decorators: [{
93
93
  type: Component,
94
94
  args: [{ selector: 'paging-next-back-only', template: "<div class=\"paging-container\" [ngClass]=\"ngClass\">\r\n <div class=\"paging-info\">\r\n <ng-container>\r\n <div *ngIf=\"getFirstIndex()<=model.total && !setting.hiddenTextPage\" #targetOverlay\r\n class=\"paging-item paging-info-detail\" (click)=\"op.toggle($event)\">\r\n {{getFirstIndex()}} -\r\n {{getLastIndex()}}\r\n trong {{model.total}}\r\n </div>\r\n <div *ngIf=\"(getFirstIndex()>model.total || model.total == 0) && !setting.hiddenTextPage\"\r\n class=\"paging-item paging-info-detail\">\r\n Kh\u00F4ng t\u00ECm th\u1EA5y d\u1EEF li\u1EC7u\r\n </div>\r\n <div class=\"paging-item text\" [class.disabled]=\"model.loading\" (click)=\"goPrev($event)\"\r\n style=\"margin-right: 5px;\" pTooltip=\"{{'Trang tr\u01B0\u1EDBc' | translate}}\" tooltipPosition=\"top\"\r\n [class.disabled]=\"isFirst()\">\r\n <a href=\"javascript:\" tabindex=\"{{isFirst()?'-1':''}}\"><i class=\"pi pi-chevron-left\"></i></a>\r\n </div>\r\n <div class=\"block-page-size\">\r\n <tn-mask [maskType]=\"'int'\" [min]=\"1\" [max]=\"1000\" [disabled]=\"model.loading ? true : null\"\r\n [(ngModel)]=\"setting.pageSetting.pageSize\" (onChanged)=\"saveChangeHandle()\"\r\n (keyup.enter)=\"saveChangeHandle()\">\r\n </tn-mask>\r\n </div>\r\n <div class=\"paging-item text\" [class.disabled]=\"model.loading\" (click)=\"goNext($event)\"\r\n style=\"margin-left: 5px;\" pTooltip=\"{{'Trang sau' | translate}}\" tooltipPosition=\"left\"\r\n [class.disabled]=\"isLast()\">\r\n <a href=\"javascript:\" tabindex=\"{{isLast()?'-1':''}}\"><i class=\"pi pi-chevron-right\"></i></a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #op [styleClass]=\"'paging-advance-overlay'\" [appendTo]=\"'body'\"\r\n (onShow)=\"handleOverlayShow($event, targetOverlay)\">\r\n <ul class=\"paging-advance\">\r\n <li [class.disabled]=\"isFirst()\" (click)=\"goLatest($event)\">Trang \u0111\u1EA7u ti\u00EAn</li>\r\n <li [class.disabled]=\"isLast()\" (click)=\"goOldest($event)\">Trang cu\u1ED1i c\u00F9ng</li>\r\n </ul>\r\n</p-overlayPanel>", styles: [".paging-item a{color:#495057}.paging-item:hover{cursor:pointer}.paging-item:hover a{color:#333}.paging-item.disabled a{color:#bdbdbd}.paging-info-detail{padding:2px .5rem 0;text-align:center;line-height:30px;border-radius:7px;min-width:100px;font-size:.9em}.paging-item.text{line-height:32px;border-radius:50%;width:32px;height:32px;text-align:center;position:relative;display:inline-block;transform:perspective(1px);overflow:hidden}.paging-item.text:before{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:#e6e6e6;z-index:-1;transform:scale(0);transition:all cubic-bezier(.4,.34,.01,.97) .3s;border-radius:50%}.paging-item.text:hover:before{transform:scale(1)}.paging-item.text>a{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.paging-info-detail{border-radius:5px;position:relative;display:inline-block;transform:perspective(1px);overflow:hidden}.paging-info-detail:before{content:\"\";position:absolute;top:0;left:0;bottom:0;right:0;background:#e6e6e6;z-index:-1;transform:scale(0);transition:all cubic-bezier(.4,.34,.01,.97) .3s;border-radius:5px}.paging-info-detail:hover:before{transform:scale(1)}.paging-item.disabled:hover:before{content:none}.paging-item.disabled:hover{background-color:#fff;cursor:default}.paging-item.disabled:hover a{cursor:default}.paging-info{display:flex;justify-content:flex-end;align-items:center}.item-setting{font-size:18px}.item-setting a{color:#555}.item-setting a:hover{color:#333}.paging-advance{list-style:none;padding-left:0;margin:3px 0}.paging-advance li{width:150px;padding-left:15px;line-height:30px}.paging-advance li.disabled{color:#bdbdbd;outline:none}.paging-advance li.disabled:hover{cursor:default;background:none}.paging-advance li:hover{cursor:pointer;background:#e6e6e6}::ng-deep .paging-advance-overlay{margin-left:30px}::ng-deep .paging-advance-overlay .p-overlaypanel-content{padding:0}::ng-deep paging-next-back-only .block-page-size{display:inline-block;width:60px}::ng-deep paging-next-back-only .block-page-size .p-inputtext{width:100%;text-align:center;padding-left:5px;padding-right:5px}::ng-deep paging-next-back-only .tn-mask-disabled{padding:5px;border:1px solid #ddd;border-radius:4px;display:flex;justify-content:center;line-height:20px}\n"] }]
95
95
  }], ctorParameters: function () { return []; }, propDecorators: { op: [{
@@ -5,11 +5,11 @@ import { PopupSize } from '../../classes/base/models';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "../../services/notifier.service";
7
7
  import * as i2 from "../../services/environment.service";
8
- import * as i3 from "../tn-dialog/tn-dialog.component";
9
- import * as i4 from "tn-custom-primeng/table";
10
- import * as i5 from "@angular/forms";
11
- import * as i6 from "tn-custom-primeng/api";
12
- import * as i7 from "tn-custom-primeng/button";
8
+ import * as i3 from "tn-custom-primeng/api";
9
+ import * as i4 from "tn-custom-primeng/button";
10
+ import * as i5 from "tn-custom-primeng/table";
11
+ import * as i6 from "@angular/forms";
12
+ import * as i7 from "../tn-dialog/tn-dialog.component";
13
13
  import * as i8 from "@ngx-translate/core";
14
14
  export class PermissionUtilsComponent extends ComponentBase {
15
15
  constructor(_injector, _notifierService, _environmentService) {
@@ -87,10 +87,10 @@ export class PermissionUtilsComponent extends ComponentBase {
87
87
  this._notifierService.showSuccess('Đã copy toàn bộ quyền cơ bản vào clipboard');
88
88
  }
89
89
  }
90
- PermissionUtilsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PermissionUtilsComponent, deps: [{ token: i0.Injector }, { token: i1.NotifierService }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
91
- PermissionUtilsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: PermissionUtilsComponent, selector: "permission-utils", providers: [ComponentContextService], usesInheritance: true, ngImport: i0, template: "<tn-dialog #dialog styleClass=\"entity-picker-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"title | translate\" [popupSize]=\"popupSize\" styleClass=\"entity-picker-dialog\" (onHide)=\"cancel()\"\r\n (visibleChange)=\"visibleChanged($event)\">\r\n <textarea style=\"width:100%\" rows=\"20\" [(ngModel)]=\"basePermissionText\"></textarea>\r\n <p-table [value]=\"dataSource\">\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th style=\"width:10%\">Ph\u01B0\u01A1ng th\u1EE9c</th>\r\n <th>Url</th>\r\n <th style=\"width:40%\">Quy\u1EC1n c\u01A1 b\u1EA3n</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <td>{{rowData.method}}</td>\r\n <td>{{rowData.url}}</td>\r\n <td>{{rowData.basePermission}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n <ng-template #footer>\r\n <button pButton class=\"ui-button-secondary\" type=\"button\" (click)=\"cancel()\" [label]=\"'\u0110\u00F3ng' | translate\"\r\n icon=\"fas fa-check\"></button>\r\n </ng-template>\r\n</tn-dialog>", styles: [""], components: [{ type: i3.TnDialogComponent, selector: "tn-dialog", inputs: ["maskClass", "styleClass", "scrollBarStyleClass", "useDefaultScrollBar", "visible", "disabledButton", "modal", "header", "popupSize", "closeOnEscape", "showFooter", "positionTop", "minY", "hiddenSave", "maximizable"], outputs: ["onSave", "onCancel", "onShow", "onHide"] }, { type: i4.Table, selector: "p-table", inputs: ["pageLinks", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "contextMenuSelectionMode", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "filterDelay", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "virtualScrollDelay", "virtualRowHeight", "columnResizeMode", "loadingIcon", "showLoader", "stateStorage", "editMode", "totalRecords", "value", "columns", "first", "rows", "sortField", "sortOrder", "multiSortMeta", "selection", "contextMenuSelection", "frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "rowsPerPageOptions", "paginatorDropdownAppendTo", "showCurrentPageReport", "showJumpToPageDropdown", "selectionMode", "dataKey", "metaKeySelection", "globalFilterFields", "filterLocale", "scrollable", "scrollHeight", "virtualScroll", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "reorderableColumns", "loading", "rowHover", "customSort", "autoLayout", "exportFunction", "stateKey", "minBufferPx", "maxBufferPx"], outputs: ["selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }], directives: [{ type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "label", "icon"] }], pipes: { "translate": i8.TranslatePipe } });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: PermissionUtilsComponent, decorators: [{
90
+ PermissionUtilsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: PermissionUtilsComponent, deps: [{ token: i0.Injector }, { token: i1.NotifierService }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
91
+ PermissionUtilsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: PermissionUtilsComponent, selector: "permission-utils", providers: [ComponentContextService], usesInheritance: true, ngImport: i0, template: "<tn-dialog #dialog styleClass=\"entity-picker-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"title | translate\" [popupSize]=\"popupSize\" styleClass=\"entity-picker-dialog\" (onHide)=\"cancel()\"\r\n (visibleChange)=\"visibleChanged($event)\">\r\n <textarea style=\"width:100%\" rows=\"20\" [(ngModel)]=\"basePermissionText\"></textarea>\r\n <p-table [value]=\"dataSource\">\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th style=\"width:10%\">Ph\u01B0\u01A1ng th\u1EE9c</th>\r\n <th>Url</th>\r\n <th style=\"width:40%\">Quy\u1EC1n c\u01A1 b\u1EA3n</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <td>{{rowData.method}}</td>\r\n <td>{{rowData.url}}</td>\r\n <td>{{rowData.basePermission}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n <ng-template #footer>\r\n <button pButton class=\"ui-button-secondary\" type=\"button\" (click)=\"cancel()\" [label]=\"'\u0110\u00F3ng' | translate\"\r\n icon=\"fas fa-check\"></button>\r\n </ng-template>\r\n</tn-dialog>", styles: [""], dependencies: [{ kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "label", "icon"] }, { kind: "component", type: i5.Table, selector: "p-table", inputs: ["pageLinks", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "contextMenuSelectionMode", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "filterDelay", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "virtualScrollDelay", "virtualRowHeight", "columnResizeMode", "loadingIcon", "showLoader", "stateStorage", "editMode", "totalRecords", "value", "columns", "first", "rows", "sortField", "sortOrder", "multiSortMeta", "selection", "contextMenuSelection", "frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "rowsPerPageOptions", "paginatorDropdownAppendTo", "showCurrentPageReport", "showJumpToPageDropdown", "selectionMode", "dataKey", "metaKeySelection", "globalFilterFields", "filterLocale", "scrollable", "scrollHeight", "virtualScroll", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "reorderableColumns", "loading", "rowHover", "customSort", "autoLayout", "exportFunction", "stateKey", "minBufferPx", "maxBufferPx"], outputs: ["selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.TnDialogComponent, selector: "tn-dialog", inputs: ["maskClass", "styleClass", "scrollBarStyleClass", "useDefaultScrollBar", "visible", "disabledButton", "modal", "header", "popupSize", "closeOnEscape", "showFooter", "positionTop", "minY", "hiddenSave", "maximizable"], outputs: ["onSave", "onCancel", "onShow", "onHide"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: PermissionUtilsComponent, decorators: [{
93
93
  type: Component,
94
- args: [{ selector: 'permission-utils', providers: [ComponentContextService], template: "<tn-dialog #dialog styleClass=\"entity-picker-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"title | translate\" [popupSize]=\"popupSize\" styleClass=\"entity-picker-dialog\" (onHide)=\"cancel()\"\r\n (visibleChange)=\"visibleChanged($event)\">\r\n <textarea style=\"width:100%\" rows=\"20\" [(ngModel)]=\"basePermissionText\"></textarea>\r\n <p-table [value]=\"dataSource\">\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th style=\"width:10%\">Ph\u01B0\u01A1ng th\u1EE9c</th>\r\n <th>Url</th>\r\n <th style=\"width:40%\">Quy\u1EC1n c\u01A1 b\u1EA3n</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <td>{{rowData.method}}</td>\r\n <td>{{rowData.url}}</td>\r\n <td>{{rowData.basePermission}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n <ng-template #footer>\r\n <button pButton class=\"ui-button-secondary\" type=\"button\" (click)=\"cancel()\" [label]=\"'\u0110\u00F3ng' | translate\"\r\n icon=\"fas fa-check\"></button>\r\n </ng-template>\r\n</tn-dialog>", styles: [""] }]
94
+ args: [{ selector: 'permission-utils', providers: [ComponentContextService], template: "<tn-dialog #dialog styleClass=\"entity-picker-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"title | translate\" [popupSize]=\"popupSize\" styleClass=\"entity-picker-dialog\" (onHide)=\"cancel()\"\r\n (visibleChange)=\"visibleChanged($event)\">\r\n <textarea style=\"width:100%\" rows=\"20\" [(ngModel)]=\"basePermissionText\"></textarea>\r\n <p-table [value]=\"dataSource\">\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th style=\"width:10%\">Ph\u01B0\u01A1ng th\u1EE9c</th>\r\n <th>Url</th>\r\n <th style=\"width:40%\">Quy\u1EC1n c\u01A1 b\u1EA3n</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData>\r\n <tr>\r\n <td>{{rowData.method}}</td>\r\n <td>{{rowData.url}}</td>\r\n <td>{{rowData.basePermission}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n <ng-template #footer>\r\n <button pButton class=\"ui-button-secondary\" type=\"button\" (click)=\"cancel()\" [label]=\"'\u0110\u00F3ng' | translate\"\r\n icon=\"fas fa-check\"></button>\r\n </ng-template>\r\n</tn-dialog>" }]
95
95
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.NotifierService }, { type: i2.EnvironmentService }]; } });
96
96
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi11dGlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb24tdXRpbHMvcGVybWlzc2lvbi11dGlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb24tdXRpbHMvcGVybWlzc2lvbi11dGlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFZLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7O0FBV3RELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxhQUFhO0lBYXZELFlBQ2MsU0FBbUIsRUFDckIsZ0JBQWlDLEVBQ2pDLG1CQUF1QztRQUUvQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFKUCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQWZuRCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLDBCQUFxQixHQUFHO1lBQ3BCLHNDQUFzQztZQUN0QyxhQUFhO1lBQ2IsTUFBTTtZQUNOLDJDQUEyQztTQUM5QyxDQUFDO1FBQ0YsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBV3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDM0IsS0FBSyxFQUFFLEdBQUc7WUFDVixNQUFNLEVBQUUsR0FBRztTQUNkLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzFDLHFCQUFxQjtnQkFDckIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7b0JBQ2pDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7d0JBQy9CLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUN2QjtpQkFDSjtnQkFFRCxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUU7b0JBQ1gsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQ3hDO2dCQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNwRSxJQUFJLGNBQWMsRUFBRTtvQkFDaEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNwRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO3dCQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNuRDtnQkFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFFNUQsOEJBQThCO2dCQUM5QixJQUFJLFNBQVMsRUFBRSxFQUFFO29CQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDaEU7Z0JBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQzt1QkFDMUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsRUFBRTtvQkFDcEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzlCO2dCQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNqRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDM0QsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUNJO1lBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFHO1FBQ2QsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1NBQzlDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUMvQyxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFJO1FBQ0EsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7O3FIQXhGUSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwyQ0FIdEIsQ0FBQyx1QkFBdUIsQ0FBQyxpRENYeEMsd21DQXdCWTsyRkRWQyx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0ksa0JBQWtCLGFBR2pCLENBQUMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBpc0Rldk1vZGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL2FwcC1jb250ZXh0L2NvbXBvbmVudC1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9iYXNlL2NvbXBvbmVudC1iYXNlJztcclxuaW1wb3J0IHsgUG9wdXBTaXplIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9iYXNlL21vZGVscyc7XHJcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmllci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdwZXJtaXNzaW9uLXV0aWxzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9uLXV0aWxzLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Blcm1pc3Npb24tdXRpbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW0NvbXBvbmVudENvbnRleHRTZXJ2aWNlXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25VdGlsc0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgZGF0YVNvdXJjZSA9IFtdO1xyXG4gICAgZXhjbHVkZUJhc2VQZXJtaXNzaW9uID0gW1xyXG4gICAgICAgICcuV0VMTC1LTk9XTi9PUEVOSUQtQ09ORklHVVJBVElPTi9HRVQnLFxyXG4gICAgICAgICdWTi5KU09OL0dFVCcsXHJcbiAgICAgICAgJy9HRVQnLFxyXG4gICAgICAgICcuV0VMTC1LTk9XTi9PUEVOSUQtQ09ORklHVVJBVElPTi9KV0tTL0dFVCdcclxuICAgIF07XHJcbiAgICBiYXNlUGVybWlzc2lvblRleHQgPSAnJztcclxuICAgIHBvcHVwU2l6ZTogUG9wdXBTaXplO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBfbm90aWZpZXJTZXJ2aWNlOiBOb3RpZmllclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfZW52aXJvbm1lbnRTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF9pbmplY3Rvcik7XHJcbiAgICAgICAgdGhpcy50aXRsZSA9ICdRdXnDqsyAbic7XHJcbiAgICAgICAgdGhpcy5wb3B1cFNpemUgPSBuZXcgUG9wdXBTaXplKHtcclxuICAgICAgICAgICAgd2lkdGg6IDk1MCxcclxuICAgICAgICAgICAgaGVpZ2h0OiA2NTBcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5yb290TW9kZWwuaHR0cFJlcXVlc3RMaXN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMucm9vdE1vZGVsLmh0dHBSZXF1ZXN0TGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gcmVtb3ZlIHF1ZXJ5c3RyaW5nXHJcbiAgICAgICAgICAgICAgICBsZXQgdGVtcCA9IGl0ZW0udXJsLnNwbGl0KCc/JylbMF07XHJcbiAgICAgICAgICAgICAgICB0ZW1wID0gdGVtcC5zcGxpdCgnIycpWzBdO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYXJyID0gdGVtcC5zcGxpdCgnLycpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHVybCA9ICcnO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDM7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYXJyW2ldICYmIGFycltpXS50cmltKCkgIT0gJycpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsICs9ICcvJyArIGFycltpXTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHVybCAhPSAnJykge1xyXG4gICAgICAgICAgICAgICAgICAgIHVybCA9IHVybC5zdWJzdHJpbmcoMSkudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBnYXRld2F5U3VicGF0aCA9IHRoaXMuX2Vudmlyb25tZW50U2VydmljZS5nZXRHYXRld2F5U3VicGF0aCgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGdhdGV3YXlTdWJwYXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdXJsID0gdXJsLnJlcGxhY2UoZ2F0ZXdheVN1YnBhdGgudG9VcHBlckNhc2UoKSwgJycpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh1cmwuc3RhcnRzV2l0aCgnLycpKSB1cmwgPSB1cmwuc3Vic3RyaW5nKDEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGl0ZW0uYmFzZVBlcm1pc3Npb24gPSB1cmwgKyAnLycgKyBpdGVtLm1ldGhvZC50b1VwcGVyQ2FzZSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIEPDoWkgbsOgeSDEkeG7gyBkZWJ1ZyBkxrDhu5tpIGxvY2FsXHJcbiAgICAgICAgICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtLmJhc2VQZXJtaXNzaW9uID0gYEFVVEhPUklaQVRJT04vJHtpdGVtLmJhc2VQZXJtaXNzaW9ufWA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5maW5kSW5kZXgoeCA9PiB4LmJhc2VQZXJtaXNzaW9uID09IGl0ZW0uYmFzZVBlcm1pc3Npb24pID09IC0xXHJcbiAgICAgICAgICAgICAgICAgICAgJiYgIXRoaXMuZXhjbHVkZUJhc2VQZXJtaXNzaW9uLmZpbmQoeCA9PiBpdGVtLmJhc2VQZXJtaXNzaW9uID09IHgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLl9jb21tb25TZXJ2aWNlLm9yZGVyQnkodGhpcy5kYXRhU291cmNlLCAnYmFzZVBlcm1pc3Npb24nKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYmFzZVBlcm1pc3Npb25UZXh0ID0gdGhpcy5nZXRCYXNlUGVybWlzc2lvblRleHQoKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJvb3RNb2RlbC5odHRwUmVxdWVzdExpc3QgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdmlzaWJsZUNoYW5nZWQoZXZ0KSB7XHJcbiAgICAgICAgaWYgKCFldnQpIHtcclxuICAgICAgICAgICAgdGhpcy5yb290TW9kZWwuc2hvd1Blcm1pc3Npb25VdGlscyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjYW5jZWwoKSB7XHJcbiAgICAgICAgdGhpcy5yb290TW9kZWwuc2hvd1Blcm1pc3Npb25VdGlscyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEJhc2VQZXJtaXNzaW9uVGV4dCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRhU291cmNlLm1hcCh4ID0+IHguYmFzZVBlcm1pc3Npb24pLmpvaW4oJ1xcbicpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvcHkoKSB7XHJcbiAgICAgICAgY29uc3QgdGV4dCA9IHRoaXMuZ2V0QmFzZVBlcm1pc3Npb25UZXh0KCk7XHJcbiAgICAgICAgdGhpcy5fY29tbW9uU2VydmljZS5jb3B5TWVzc2FnZSh0ZXh0KTtcclxuICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1N1Y2Nlc3MoJ8SQw6MgY29weSB0b8OgbiBi4buZIHF1eeG7gW4gY8ahIGLhuqNuIHbDoG8gY2xpcGJvYXJkJyk7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjx0bi1kaWFsb2cgI2RpYWxvZyBzdHlsZUNsYXNzPVwiZW50aXR5LXBpY2tlci1kaWFsb2cgbm8tcGFkZGluZ1wiIFt1c2VEZWZhdWx0U2Nyb2xsQmFyXT1cInRydWVcIlxyXG4gIFtoZWFkZXJdPVwidGl0bGUgfCB0cmFuc2xhdGVcIiBbcG9wdXBTaXplXT1cInBvcHVwU2l6ZVwiIHN0eWxlQ2xhc3M9XCJlbnRpdHktcGlja2VyLWRpYWxvZ1wiIChvbkhpZGUpPVwiY2FuY2VsKClcIlxyXG4gICh2aXNpYmxlQ2hhbmdlKT1cInZpc2libGVDaGFuZ2VkKCRldmVudClcIj5cclxuICA8dGV4dGFyZWEgc3R5bGU9XCJ3aWR0aDoxMDAlXCIgcm93cz1cIjIwXCIgWyhuZ01vZGVsKV09XCJiYXNlUGVybWlzc2lvblRleHRcIj48L3RleHRhcmVhPlxyXG4gIDxwLXRhYmxlIFt2YWx1ZV09XCJkYXRhU291cmNlXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgIDx0cj5cclxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDoxMCVcIj5QaMawxqFuZyB0aOG7qWM8L3RoPlxyXG4gICAgICAgIDx0aD5Vcmw8L3RoPlxyXG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOjQwJVwiPlF1eeG7gW4gY8ahIGLhuqNuPC90aD5cclxuICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1yb3dEYXRhPlxyXG4gICAgICA8dHI+XHJcbiAgICAgICAgPHRkPnt7cm93RGF0YS5tZXRob2R9fTwvdGQ+XHJcbiAgICAgICAgPHRkPnt7cm93RGF0YS51cmx9fTwvdGQ+XHJcbiAgICAgICAgPHRkPnt7cm93RGF0YS5iYXNlUGVybWlzc2lvbn19PC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9wLXRhYmxlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjZm9vdGVyPlxyXG4gICAgPGJ1dHRvbiBwQnV0dG9uIGNsYXNzPVwidWktYnV0dG9uLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2FuY2VsKClcIiBbbGFiZWxdPVwiJ8SQw7NuZycgfCB0cmFuc2xhdGVcIlxyXG4gICAgICBpY29uPVwiZmFzIGZhLWNoZWNrXCI+PC9idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC90bi1kaWFsb2c+Il19
@@ -33,11 +33,11 @@ export class QrCodeGeneratorComponent {
33
33
  link.remove();
34
34
  }
35
35
  }
36
- QrCodeGeneratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QrCodeGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- QrCodeGeneratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: QrCodeGeneratorComponent, selector: "app-qr-code-generator", inputs: { width: "width", data: "data" }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["canvasElement"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"qr-code-generator\" [style.width.px]=\"width\" [style.height.px]=\"width\">\r\n <canvas #canvasElement width=\"100%\" height=\"100%\"></canvas>\r\n <div class=\"mask\">\r\n <span class=\"icon-download fa fa-download\" pTooltip=\"B\u1EA5m \u0111\u1EC3 t\u1EA3i v\u1EC1\" tooltipPosition=\"top\"\r\n (click)=\"download()\"></span>\r\n </div>\r\n</div>", styles: [".qr-code-generator{position:relative}.qr-code-generator .mask{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:#808080d6;border-radius:3px}.qr-code-generator .mask .icon-download{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer;color:#00ff2b;font-size:2rem}.qr-code-generator:hover .mask{display:initial}\n"], directives: [{ type: i1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QrCodeGeneratorComponent, decorators: [{
36
+ QrCodeGeneratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: QrCodeGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ QrCodeGeneratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: QrCodeGeneratorComponent, selector: "app-qr-code-generator", inputs: { width: "width", data: "data" }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["canvasElement"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"qr-code-generator\" [style.width.px]=\"width\" [style.height.px]=\"width\">\r\n <canvas #canvasElement width=\"100%\" height=\"100%\"></canvas>\r\n <div class=\"mask\">\r\n <span class=\"icon-download fa fa-download\" pTooltip=\"B\u1EA5m \u0111\u1EC3 t\u1EA3i v\u1EC1\" tooltipPosition=\"top\"\r\n (click)=\"download()\"></span>\r\n </div>\r\n</div>", styles: [".qr-code-generator{position:relative}.qr-code-generator .mask{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(128,128,128,.8392156863);border-radius:3px}.qr-code-generator .mask .icon-download{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer;color:#00ff2b;font-size:2rem}.qr-code-generator:hover .mask{display:initial}\n"], dependencies: [{ kind: "directive", type: i1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: QrCodeGeneratorComponent, decorators: [{
39
39
  type: Component,
40
- args: [{ selector: 'app-qr-code-generator', template: "<div class=\"qr-code-generator\" [style.width.px]=\"width\" [style.height.px]=\"width\">\r\n <canvas #canvasElement width=\"100%\" height=\"100%\"></canvas>\r\n <div class=\"mask\">\r\n <span class=\"icon-download fa fa-download\" pTooltip=\"B\u1EA5m \u0111\u1EC3 t\u1EA3i v\u1EC1\" tooltipPosition=\"top\"\r\n (click)=\"download()\"></span>\r\n </div>\r\n</div>", styles: [".qr-code-generator{position:relative}.qr-code-generator .mask{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:#808080d6;border-radius:3px}.qr-code-generator .mask .icon-download{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer;color:#00ff2b;font-size:2rem}.qr-code-generator:hover .mask{display:initial}\n"] }]
40
+ args: [{ selector: 'app-qr-code-generator', template: "<div class=\"qr-code-generator\" [style.width.px]=\"width\" [style.height.px]=\"width\">\r\n <canvas #canvasElement width=\"100%\" height=\"100%\"></canvas>\r\n <div class=\"mask\">\r\n <span class=\"icon-download fa fa-download\" pTooltip=\"B\u1EA5m \u0111\u1EC3 t\u1EA3i v\u1EC1\" tooltipPosition=\"top\"\r\n (click)=\"download()\"></span>\r\n </div>\r\n</div>", styles: [".qr-code-generator{position:relative}.qr-code-generator .mask{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(128,128,128,.8392156863);border-radius:3px}.qr-code-generator .mask .icon-download{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);cursor:pointer;color:#00ff2b;font-size:2rem}.qr-code-generator:hover .mask{display:initial}\n"] }]
41
41
  }], ctorParameters: function () { return []; }, propDecorators: { canvasElement: [{
42
42
  type: ViewChild,
43
43
  args: ['canvasElement', { static: true }]
@@ -11,11 +11,11 @@ import * as i0 from "@angular/core";
11
11
  import * as i1 from "../services/dm-chucvu.service";
12
12
  import * as i2 from "../../../services/role.service";
13
13
  import * as i3 from "../../../services/user-group-real.service";
14
- import * as i4 from "../../tn-custom-scrollbar/tn-custom-scrollbar.component";
15
- import * as i5 from "../query-builder-group/query-builder-group.component";
16
- import * as i6 from "@angular/common";
17
- import * as i7 from "tn-custom-primeng/button";
18
- import * as i8 from "tn-custom-primeng/tooltip";
14
+ import * as i4 from "@angular/common";
15
+ import * as i5 from "tn-custom-primeng/button";
16
+ import * as i6 from "tn-custom-primeng/tooltip";
17
+ import * as i7 from "../../tn-custom-scrollbar/tn-custom-scrollbar.component";
18
+ import * as i8 from "../query-builder-group/query-builder-group.component";
19
19
  import * as i9 from "@ngx-translate/core";
20
20
  export class QueryBuilderComponent {
21
21
  constructor(_dm_ChucVuService, _roleService, _userGroupService) {
@@ -301,9 +301,9 @@ export class QueryBuilderComponent {
301
301
  this.onDeleteSave.emit();
302
302
  }
303
303
  }
304
- QueryBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QueryBuilderComponent, deps: [{ token: i1.DM_ChucVuService }, { token: i2.RoleService }, { token: i3.UserGroupRealService }], target: i0.ɵɵFactoryTarget.Component });
305
- QueryBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.6", type: QueryBuilderComponent, selector: "query-builder", inputs: { searchSchema: "searchSchema", filters: "filters", style: "style", styleClass: "styleClass", useScrollBar: "useScrollBar", hiddenButtons: "hiddenButtons" }, outputs: { onSearch: "onSearch", onSave: "onSave", onDeleteSave: "onDeleteSave" }, ngImport: i0, template: "<tn-custom-scrollbar *ngIf=\"useScrollBar\" #scrollbar [style]=\"style\">\r\n <div [class]=\"styleClass\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n</tn-custom-scrollbar>\r\n<ng-container *ngIf=\"!useScrollBar\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</ng-container>\r\n<ng-template #content>\r\n <query-builder-group [dataSourceFields]=\"_dataSourceFields\" [query]=\"query\" [isRoot]=\"true\">\r\n </query-builder-group>\r\n</ng-template>\r\n<div *ngIf=\"!hiddenButtons\" class=\"footer-search\">\r\n <div class=\"footer-search-buttons-group\">\r\n <div>\r\n <button type=\"button\" pButton icon=\"pi pi-save\" class=\"p-button-text p-button-success\"\r\n [pTooltip]=\"'L\u01B0u b\u1ED9 l\u1ECDc hi\u1EC7n t\u1EA1i' | translate\" tooltipPosition=\"top\" (click)=\"saveFilter()\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\"\r\n [pTooltip]=\"'X\u00F3a b\u1ED9 l\u1ECDc \u0111\u00E3 l\u01B0u' | translate\" tooltipPosition=\"top\" (click)=\"deleteSave()\"></button>\r\n </div>\r\n <div>\r\n <button type=\"button\" pButton icon=\"pi pi-search\" class=\"p-button-text p-button-info\"\r\n [label]=\"'T\u00ECm ki\u1EBFm' | translate\" (click)=\"search()\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-undo\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'X\u00F3a t\u00ECm ki\u1EBFm' | translate\" (click)=\"clearFilter()\"></button>\r\n </div>\r\n </div>\r\n</div>", styles: [".footer-search{background:#f7f7f7;border-top:1px solid #dee2e6;padding:10px 20px 10px 10px;position:sticky;bottom:0}.footer-search-buttons-group{display:flex}.footer-search-buttons-group>div:first-child{flex:1 1;text-align:left}@media (max-width: 640px){.footer-search-buttons-group{white-space:nowrap}}\n"], components: [{ type: i4.TnCustomScrollbarComponent, selector: "tn-custom-scrollbar", inputs: ["style", "useDefaultScrollBar", "autoMode", "class", "config", "whiteBackGround", "showScrollHorizontal"], outputs: ["scrollY", "scrollUp", "scrollDown", "scrollLeft", "scrollRight", "scrollYReachEnd", "scrollYReachStart", "scrollXReachEnd", "scrollXReachStart"] }, { type: i5.QueryBuilderGroupComponent, selector: "query-builder-group", inputs: ["dataSourceFields", "operators", "controlValue", "query", "canRemove", "isRoot", "templateFieldPicker"], outputs: ["onRemove"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "label", "icon"] }, { type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }], pipes: { "translate": i9.TranslatePipe } });
306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: QueryBuilderComponent, decorators: [{
304
+ QueryBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: QueryBuilderComponent, deps: [{ token: i1.DM_ChucVuService }, { token: i2.RoleService }, { token: i3.UserGroupRealService }], target: i0.ɵɵFactoryTarget.Component });
305
+ QueryBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: QueryBuilderComponent, selector: "query-builder", inputs: { searchSchema: "searchSchema", filters: "filters", style: "style", styleClass: "styleClass", useScrollBar: "useScrollBar", hiddenButtons: "hiddenButtons" }, outputs: { onSearch: "onSearch", onSave: "onSave", onDeleteSave: "onDeleteSave" }, ngImport: i0, template: "<tn-custom-scrollbar *ngIf=\"useScrollBar\" #scrollbar [style]=\"style\">\r\n <div [class]=\"styleClass\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n</tn-custom-scrollbar>\r\n<ng-container *ngIf=\"!useScrollBar\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</ng-container>\r\n<ng-template #content>\r\n <query-builder-group [dataSourceFields]=\"_dataSourceFields\" [query]=\"query\" [isRoot]=\"true\">\r\n </query-builder-group>\r\n</ng-template>\r\n<div *ngIf=\"!hiddenButtons\" class=\"footer-search\">\r\n <div class=\"footer-search-buttons-group\">\r\n <div>\r\n <button type=\"button\" pButton icon=\"pi pi-save\" class=\"p-button-text p-button-success\"\r\n [pTooltip]=\"'L\u01B0u b\u1ED9 l\u1ECDc hi\u1EC7n t\u1EA1i' | translate\" tooltipPosition=\"top\" (click)=\"saveFilter()\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\"\r\n [pTooltip]=\"'X\u00F3a b\u1ED9 l\u1ECDc \u0111\u00E3 l\u01B0u' | translate\" tooltipPosition=\"top\" (click)=\"deleteSave()\"></button>\r\n </div>\r\n <div>\r\n <button type=\"button\" pButton icon=\"pi pi-search\" class=\"p-button-text p-button-info\"\r\n [label]=\"'T\u00ECm ki\u1EBFm' | translate\" (click)=\"search()\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-undo\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'X\u00F3a t\u00ECm ki\u1EBFm' | translate\" (click)=\"clearFilter()\"></button>\r\n </div>\r\n </div>\r\n</div>", styles: [".footer-search{background:#f7f7f7;border-top:1px solid #dee2e6;padding:10px 20px 10px 10px;position:sticky;bottom:0}.footer-search-buttons-group{display:flex}.footer-search-buttons-group>div:first-child{flex:1 1;text-align:left}@media (max-width: 640px){.footer-search-buttons-group{white-space:nowrap}}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "label", "icon"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }, { kind: "component", type: i7.TnCustomScrollbarComponent, selector: "tn-custom-scrollbar", inputs: ["style", "useDefaultScrollBar", "autoMode", "class", "config", "whiteBackGround", "showScrollHorizontal"], outputs: ["scrollY", "scrollUp", "scrollDown", "scrollLeft", "scrollRight", "scrollYReachEnd", "scrollYReachStart", "scrollXReachEnd", "scrollXReachStart"] }, { kind: "component", type: i8.QueryBuilderGroupComponent, selector: "query-builder-group", inputs: ["dataSourceFields", "operators", "controlValue", "query", "canRemove", "isRoot", "templateFieldPicker"], outputs: ["onRemove"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
306
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: QueryBuilderComponent, decorators: [{
307
307
  type: Component,
308
308
  args: [{ selector: 'query-builder', template: "<tn-custom-scrollbar *ngIf=\"useScrollBar\" #scrollbar [style]=\"style\">\r\n <div [class]=\"styleClass\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n </div>\r\n</tn-custom-scrollbar>\r\n<ng-container *ngIf=\"!useScrollBar\">\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n</ng-container>\r\n<ng-template #content>\r\n <query-builder-group [dataSourceFields]=\"_dataSourceFields\" [query]=\"query\" [isRoot]=\"true\">\r\n </query-builder-group>\r\n</ng-template>\r\n<div *ngIf=\"!hiddenButtons\" class=\"footer-search\">\r\n <div class=\"footer-search-buttons-group\">\r\n <div>\r\n <button type=\"button\" pButton icon=\"pi pi-save\" class=\"p-button-text p-button-success\"\r\n [pTooltip]=\"'L\u01B0u b\u1ED9 l\u1ECDc hi\u1EC7n t\u1EA1i' | translate\" tooltipPosition=\"top\" (click)=\"saveFilter()\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\"\r\n [pTooltip]=\"'X\u00F3a b\u1ED9 l\u1ECDc \u0111\u00E3 l\u01B0u' | translate\" tooltipPosition=\"top\" (click)=\"deleteSave()\"></button>\r\n </div>\r\n <div>\r\n <button type=\"button\" pButton icon=\"pi pi-search\" class=\"p-button-text p-button-info\"\r\n [label]=\"'T\u00ECm ki\u1EBFm' | translate\" (click)=\"search()\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-undo\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'X\u00F3a t\u00ECm ki\u1EBFm' | translate\" (click)=\"clearFilter()\"></button>\r\n </div>\r\n </div>\r\n</div>", styles: [".footer-search{background:#f7f7f7;border-top:1px solid #dee2e6;padding:10px 20px 10px 10px;position:sticky;bottom:0}.footer-search-buttons-group{display:flex}.footer-search-buttons-group>div:first-child{flex:1 1;text-align:left}@media (max-width: 640px){.footer-search-buttons-group{white-space:nowrap}}\n"] }]
309
309
  }], ctorParameters: function () { return [{ type: i1.DM_ChucVuService }, { type: i2.RoleService }, { type: i3.UserGroupRealService }]; }, propDecorators: { searchSchema: [{