awing-library 2.1.21 → 2.1.22-stage

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 (426) hide show
  1. package/lib/ACM-AXN/AuthenticationProfile/Container.d.ts +2 -0
  2. package/lib/ACM-AXN/AuthenticationProfile/Container.js +82 -0
  3. package/lib/ACM-AXN/AuthenticationProfile/Container.test.d.ts +1 -0
  4. package/lib/ACM-AXN/AuthenticationProfile/Container.test.js +184 -0
  5. package/lib/ACM-AXN/AuthenticationProfile/Context.d.ts +3 -0
  6. package/lib/ACM-AXN/AuthenticationProfile/Context.js +5 -0
  7. package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/CreateOrEdit.test.d.ts +1 -0
  8. package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/CreateOrEdit.test.js +203 -0
  9. package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/index.d.ts +2 -0
  10. package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/index.js +129 -0
  11. package/lib/ACM-AXN/AuthenticationProfile/Hooks.d.ts +2 -0
  12. package/lib/ACM-AXN/AuthenticationProfile/Hooks.js +12 -0
  13. package/lib/ACM-AXN/AuthenticationProfile/Types.d.ts +75 -0
  14. package/lib/ACM-AXN/AuthenticationProfile/Types.js +2 -0
  15. package/lib/ACM-AXN/AuthenticationProfile/Utils.d.ts +11 -0
  16. package/lib/ACM-AXN/AuthenticationProfile/Utils.js +14 -0
  17. package/lib/ACM-AXN/AuthenticationProfile/index.d.ts +3 -0
  18. package/lib/ACM-AXN/AuthenticationProfile/index.js +40 -0
  19. package/lib/ACM-AXN/Campaign/Container.js +6 -7
  20. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +2 -0
  21. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +9 -4
  22. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +2 -2
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPermission/index.js +1 -1
  24. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/AnalyticComponent.test.d.ts +1 -0
  25. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/AnalyticComponent.test.js +80 -0
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/AnalyticContainer.test.d.ts +1 -0
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/AnalyticContainer.test.js +49 -0
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +17 -0
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +113 -0
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.test.d.ts +1 -0
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.test.js +67 -0
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.d.ts +2 -0
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +114 -0
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.test.d.ts +1 -0
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.test.js +27 -0
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/DetailGroupBy.test.d.ts +1 -0
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/DetailGroupBy.test.js +55 -0
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/RowDetail.d.ts +7 -0
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/RowDetail.js +28 -0
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/RowDetail.test.d.ts +1 -0
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/RowDetail.test.js +49 -0
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.d.ts +2 -0
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +182 -0
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +30 -0
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +464 -0
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.d.ts +14 -0
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.js +77 -0
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +15 -0
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +137 -0
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/index.d.ts +1 -0
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/index.js +8 -0
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +12 -0
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +274 -0
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.test.d.ts +1 -0
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.test.js +84 -0
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Context.d.ts +5 -0
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Context.js +13 -0
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/CustomerComponent.test.d.ts +1 -0
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/CustomerComponent.test.js +53 -0
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/CustomerContainer.test.d.ts +1 -0
  61. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/CustomerContainer.test.js +124 -0
  62. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.d.ts +14 -0
  63. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +130 -0
  64. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.d.ts +7 -0
  65. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +76 -0
  66. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/index.d.ts +1 -0
  67. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/index.js +8 -0
  68. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/EventComponent.test.d.ts +1 -0
  69. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/EventComponent.test.js +91 -0
  70. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/EventContainer.test.d.ts +1 -0
  71. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/EventContainer.test.js +48 -0
  72. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.d.ts +5 -0
  73. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +33 -0
  74. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.test.d.ts +1 -0
  75. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.test.js +30 -0
  76. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +7 -0
  77. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +81 -0
  78. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.d.ts +15 -0
  79. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +166 -0
  80. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.d.ts +10 -0
  81. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +111 -0
  82. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/index.d.ts +1 -0
  83. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/index.js +8 -0
  84. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +6 -0
  85. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +65 -0
  86. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.test.d.ts +1 -0
  87. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.test.js +26 -0
  88. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +99 -0
  89. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.js +2 -0
  90. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.d.ts +6 -0
  91. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +36 -0
  92. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +6 -0
  93. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +9 -0
  94. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.d.ts +9 -0
  95. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +36 -0
  96. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.d.ts +8 -0
  97. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +91 -0
  98. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/index.d.ts +1 -0
  99. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/index.js +8 -0
  100. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.js +1 -1
  101. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.test.js +3 -3
  102. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +18 -14
  103. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +3 -3
  104. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +6 -0
  105. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.test.js +12 -12
  106. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/Create.js +2 -3
  107. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/Create.test.js +3 -3
  108. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/Edit.test.js +2 -2
  109. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/EditExpression.test.js +9 -9
  110. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.d.ts +8 -0
  111. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.js +47 -0
  112. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitClick.test.js +1 -2
  113. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +52 -6
  114. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.test.js +1 -2
  115. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitView.test.js +1 -2
  116. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetAge.test.js +3 -3
  117. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetGender.test.js +2 -2
  118. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.d.ts +1 -0
  119. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.js +3 -1
  120. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.d.ts +4 -3
  121. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +13 -7
  122. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +9 -9
  123. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.d.ts +1 -1
  124. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +88 -54
  125. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +7 -6
  126. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +9 -9
  127. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.d.ts +2 -0
  128. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +7 -3
  129. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +10 -9
  130. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  131. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +3 -1
  132. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +35 -22
  133. package/lib/ACM-AXN/Campaign/Enum.d.ts +73 -0
  134. package/lib/ACM-AXN/Campaign/Enum.js +82 -1
  135. package/lib/ACM-AXN/Campaign/Types.d.ts +10 -127
  136. package/lib/ACM-AXN/Campaign/Types.js +0 -79
  137. package/lib/ACM-AXN/Campaign/Utils.d.ts +9 -2
  138. package/lib/ACM-AXN/Campaign/Utils.js +26 -11
  139. package/lib/ACM-AXN/Campaign/index.d.ts +2 -0
  140. package/lib/ACM-AXN/Campaign/index.js +17 -2
  141. package/lib/ACM-AXN/CampaignPlan/Container.js +25 -13
  142. package/lib/ACM-AXN/CampaignPlan/Container.test.d.ts +1 -1
  143. package/lib/ACM-AXN/CampaignPlan/Container.test.js +1 -2
  144. package/lib/ACM-AXN/CampaignPlan/Detail.js +9 -8
  145. package/lib/ACM-AXN/CampaignPlan/Detail.test.d.ts +1 -1
  146. package/lib/ACM-AXN/CampaignPlan/Detail.test.js +2 -3
  147. package/lib/ACM-AXN/CampaignPlan/Filter.js +11 -4
  148. package/lib/ACM-AXN/CampaignPlan/Filter.test.d.ts +1 -1
  149. package/lib/ACM-AXN/CampaignPlan/Filter.test.js +0 -1
  150. package/lib/ACM-AXN/CampaignPlan/Types.d.ts +6 -74
  151. package/lib/ACM-AXN/CampaignPlan/Types.js +1 -253
  152. package/lib/ACM-AXN/CampaignPlan/index.js +1 -1
  153. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.d.ts +1 -1
  154. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +28 -10
  155. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +32 -13
  156. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.js +3 -3
  157. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.js +5 -1
  158. package/lib/ACM-AXN/CampaignSchedule/DataConfig.d.ts +1 -1
  159. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +10 -5
  160. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.d.ts +1 -1
  161. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +9 -4
  162. package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +4 -0
  163. package/lib/ACM-AXN/CampaignSchedule/Enum.js +4 -0
  164. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +2 -1
  165. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +7 -2
  166. package/lib/ACM-AXN/CampaignSchedule/container.d.ts +1 -1
  167. package/lib/ACM-AXN/CampaignSchedule/container.js +6 -1
  168. package/lib/ACM-AXN/CampaignSchedule/helper.d.ts +0 -2
  169. package/lib/ACM-AXN/CampaignSchedule/helper.js +1 -24
  170. package/lib/ACM-AXN/CampaignSchedule/interface.d.ts +3 -0
  171. package/lib/ACM-AXN/{Notifications → Common}/Constant.d.ts +33 -20
  172. package/lib/ACM-AXN/{Notifications → Common}/Constant.js +35 -22
  173. package/lib/ACM-AXN/Common/Enum.d.ts +59 -0
  174. package/lib/ACM-AXN/Common/Enum.js +74 -0
  175. package/lib/ACM-AXN/Common/Types.d.ts +16 -0
  176. package/lib/ACM-AXN/Common/Types.js +2 -0
  177. package/lib/ACM-AXN/Directory/DomainDirectory/FolderDetail.js +2 -2
  178. package/lib/ACM-AXN/Directory/DomainDirectory/index.js +5 -5
  179. package/lib/ACM-AXN/Directory/MenuDirectory/index.js +2 -2
  180. package/lib/ACM-AXN/Directory/SystemDirectory/index.js +2 -2
  181. package/lib/ACM-AXN/Directory/components/Permission/Management.js +3 -3
  182. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js +3 -3
  183. package/lib/ACM-AXN/Directory/components/Permission/UserOrGroup.js +2 -2
  184. package/lib/ACM-AXN/Directory/components/Permission/index.js +2 -2
  185. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  186. package/lib/ACM-AXN/GroupUser/Container.js +3 -3
  187. package/lib/ACM-AXN/GroupUser/Container.test.js +3 -3
  188. package/lib/ACM-AXN/GroupUser/CreateOrEdit.js +3 -3
  189. package/lib/ACM-AXN/GroupUser/User/UserComponent.js +3 -3
  190. package/lib/ACM-AXN/GroupUser/index.js +3 -3
  191. package/lib/ACM-AXN/Holiday/Container.d.ts +2 -0
  192. package/lib/ACM-AXN/Holiday/Container.js +55 -0
  193. package/lib/ACM-AXN/Holiday/Container.test.d.ts +1 -0
  194. package/lib/ACM-AXN/Holiday/Container.test.js +227 -0
  195. package/lib/ACM-AXN/Holiday/Context.d.ts +3 -0
  196. package/lib/ACM-AXN/Holiday/Context.js +5 -0
  197. package/lib/ACM-AXN/Holiday/CreateOrEdit.d.ts +2 -0
  198. package/lib/ACM-AXN/Holiday/CreateOrEdit.js +62 -0
  199. package/lib/ACM-AXN/Holiday/CreateOrEdit.test.d.ts +1 -0
  200. package/lib/ACM-AXN/Holiday/CreateOrEdit.test.js +255 -0
  201. package/lib/ACM-AXN/Holiday/Detail/AddOrEditDate.d.ts +2 -0
  202. package/lib/ACM-AXN/Holiday/Detail/AddOrEditDate.js +107 -0
  203. package/lib/ACM-AXN/Holiday/Detail/AddOrEditDate.test.d.ts +1 -0
  204. package/lib/ACM-AXN/Holiday/Detail/AddOrEditDate.test.js +181 -0
  205. package/lib/ACM-AXN/Holiday/Detail/Dates.d.ts +6 -0
  206. package/lib/ACM-AXN/Holiday/Detail/Dates.js +153 -0
  207. package/lib/ACM-AXN/Holiday/Detail/Dates.test.d.ts +1 -0
  208. package/lib/ACM-AXN/Holiday/Detail/Dates.test.js +220 -0
  209. package/lib/ACM-AXN/Holiday/Detail/Form.d.ts +6 -0
  210. package/lib/ACM-AXN/Holiday/Detail/Form.js +32 -0
  211. package/lib/ACM-AXN/Holiday/Detail/Form.test.d.ts +1 -0
  212. package/lib/ACM-AXN/Holiday/Detail/Form.test.js +120 -0
  213. package/lib/ACM-AXN/Holiday/Detail.d.ts +2 -0
  214. package/lib/ACM-AXN/Holiday/Detail.js +29 -0
  215. package/lib/ACM-AXN/Holiday/FormHoliday.d.ts +9 -0
  216. package/lib/ACM-AXN/Holiday/FormHoliday.js +110 -0
  217. package/lib/ACM-AXN/Holiday/Hooks.d.ts +2 -0
  218. package/lib/ACM-AXN/Holiday/Hooks.js +12 -0
  219. package/lib/ACM-AXN/Holiday/Types.d.ts +91 -0
  220. package/lib/ACM-AXN/Holiday/Types.js +15 -0
  221. package/lib/ACM-AXN/Holiday/Utils.d.ts +13 -0
  222. package/lib/ACM-AXN/Holiday/Utils.js +34 -0
  223. package/lib/ACM-AXN/Holiday/index.d.ts +3 -0
  224. package/lib/ACM-AXN/Holiday/index.js +45 -0
  225. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.js +1 -1
  226. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.js +1 -1
  227. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.js +1 -1
  228. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.js +7 -6
  229. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.js +1 -1
  230. package/lib/ACM-AXN/Notifications/NotificationDetail/index.js +29 -26
  231. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +1 -1
  232. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -2
  233. package/lib/ACM-AXN/Page/Constant.d.ts +0 -10
  234. package/lib/ACM-AXN/Page/Constant.js +1 -11
  235. package/lib/ACM-AXN/Page/Container.js +12 -13
  236. package/lib/ACM-AXN/Page/CreateOrEdit/Components/useListPageView.js +2 -2
  237. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  238. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  239. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +12 -1
  240. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +20 -1
  241. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  242. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  243. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +48 -29
  244. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  245. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +53 -64
  246. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +26 -31
  247. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +7 -9
  248. package/lib/ACM-AXN/Page/CreateOrEdit/index.d.ts +2 -3
  249. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +99 -45
  250. package/lib/ACM-AXN/Page/Import/index.js +1 -0
  251. package/lib/ACM-AXN/Page/Types.d.ts +2 -1
  252. package/lib/ACM-AXN/Page/index.js +9 -7
  253. package/lib/ACM-AXN/Permission/Components/Management.js +1 -1
  254. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  255. package/lib/ACM-AXN/Permission/index.js +1 -1
  256. package/lib/ACM-AXN/PlaceGroup/Container.js +1 -1
  257. package/lib/ACM-AXN/PlaceGroup/Container.test.js +1 -1
  258. package/lib/ACM-AXN/PlaceGroup/Context.d.ts +0 -5
  259. package/lib/ACM-AXN/PlaceGroup/Context.js +0 -5
  260. package/lib/ACM-AXN/PlaceGroup/index.js +1 -1
  261. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +43 -28
  262. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +11 -13
  263. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +27 -22
  264. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +28 -19
  265. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.test.js +3 -3
  266. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +29 -19
  267. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.test.js +3 -3
  268. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/index.js +1 -1
  269. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  270. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +46 -59
  271. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  272. package/lib/ACM-AXN/ScheduleCompletionRate/Recoils.d.ts +7 -6
  273. package/lib/ACM-AXN/ScheduleCompletionRate/Recoils.js +6 -1
  274. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  275. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  276. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +74 -110
  277. package/lib/ACM-AXN/ScheduleCompletionRate/Types.js +21 -279
  278. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +22 -3
  279. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +64 -11
  280. package/lib/ACM-AXN/ScheduleCompletionRate/index.js +3 -3
  281. package/lib/ACM-AXN/Statistics/ControlPanel.d.ts +1 -1
  282. package/lib/ACM-AXN/Statistics/ControlPanel.js +28 -12
  283. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  284. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  285. package/lib/ACM-AXN/Statistics/container.d.ts +1 -1
  286. package/lib/ACM-AXN/Statistics/container.js +2 -2
  287. package/lib/ACM-AXN/Statistics/interface.d.ts +1 -0
  288. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +6 -5
  289. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/TableAndPieChart.js +5 -5
  290. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.d.ts +1 -1
  291. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.js +2 -2
  292. package/lib/ACM-AXN/StatisticsAudienceDemographic/interfaces.d.ts +1 -0
  293. package/lib/ACM-AXN/StatisticsByProvince/container.d.ts +1 -1
  294. package/lib/ACM-AXN/StatisticsByProvince/container.js +2 -2
  295. package/lib/ACM-AXN/StatisticsByProvince/interfaces.d.ts +1 -0
  296. package/lib/ACM-AXN/TaskScheduler/Components/CornJobInput.js +1 -2
  297. package/lib/ACM-AXN/TaskScheduler/Container.js +3 -3
  298. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +9 -10
  299. package/lib/ACM-AXN/TaskScheduler/Types.d.ts +1 -1
  300. package/lib/ACM-AXN/TaskScheduler/Utils.d.ts +5 -0
  301. package/lib/ACM-AXN/TaskScheduler/Utils.js +8 -3
  302. package/lib/ACM-AXN/TaskScheduler/index.js +3 -3
  303. package/lib/ACM-AXN/Template/Container.js +5 -5
  304. package/lib/ACM-AXN/Template/Container.test.js +6 -5
  305. package/lib/ACM-AXN/Template/CreateOrEdit/CreateOrEdit.test.js +1 -1
  306. package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.js +13 -2
  307. package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.test.js +1 -1
  308. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
  309. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
  310. package/lib/ACM-AXN/Template/CreateOrEdit/Script.js +3 -3
  311. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +3 -2
  312. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +57 -32
  313. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
  314. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
  315. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
  316. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
  317. package/lib/ACM-AXN/Template/CreateOrEdit/Template/index.js +7 -3
  318. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +11 -7
  319. package/lib/ACM-AXN/Template/Import.js +6 -3
  320. package/lib/ACM-AXN/Template/Import.test.js +2 -2
  321. package/lib/ACM-AXN/Template/Types.d.ts +9 -9
  322. package/lib/ACM-AXN/Template/index.js +4 -4
  323. package/lib/ACM-AXN/TransactionLog/Container.js +1 -1
  324. package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
  325. package/lib/ACM-AXN/TransactionLog/index.js +1 -1
  326. package/lib/ACM-AXN/User/Add.js +2 -2
  327. package/lib/ACM-AXN/User/Container.js +2 -2
  328. package/lib/ACM-AXN/User/index.js +2 -2
  329. package/lib/ACM-AXN/ViewTemplate/Enum.d.ts +1 -0
  330. package/lib/ACM-AXN/ViewTemplate/Enum.js +1 -0
  331. package/lib/ACM-AXN/ViewTemplate/Preview.js +52 -42
  332. package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.d.ts +12 -0
  333. package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.js +69 -0
  334. package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.test.d.ts +1 -0
  335. package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.test.js +84 -0
  336. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  337. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  338. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +54 -159
  339. package/lib/ACM-AXN/ViewTemplate/common.js +1 -1
  340. package/lib/ACM-AXN/ViewTemplate/constant.d.ts +1 -0
  341. package/lib/ACM-AXN/ViewTemplate/constant.js +2 -1
  342. package/lib/ACM-AXN/ViewTemplate/container.d.ts +1 -1
  343. package/lib/ACM-AXN/ViewTemplate/container.js +36 -25
  344. package/lib/ACM-AXN/ViewTemplate/interface.d.ts +3 -7
  345. package/lib/ACM-AXN/Wizard/Container.d.ts +2 -0
  346. package/lib/ACM-AXN/Wizard/Container.js +46 -0
  347. package/lib/ACM-AXN/Wizard/Container.test.d.ts +1 -0
  348. package/lib/ACM-AXN/Wizard/Container.test.js +162 -0
  349. package/lib/ACM-AXN/Wizard/Context.d.ts +3 -0
  350. package/lib/ACM-AXN/Wizard/Context.js +5 -0
  351. package/lib/ACM-AXN/Wizard/CreateOrEdit/FormInformationBasic.d.ts +11 -0
  352. package/lib/ACM-AXN/Wizard/CreateOrEdit/FormInformationBasic.js +90 -0
  353. package/lib/ACM-AXN/Wizard/CreateOrEdit/FormInformationBasic.test.d.ts +1 -0
  354. package/lib/ACM-AXN/Wizard/CreateOrEdit/FormInformationBasic.test.js +113 -0
  355. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +14 -0
  356. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +88 -0
  357. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.d.ts +1 -0
  358. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +99 -0
  359. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.d.ts +14 -0
  360. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +161 -0
  361. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.test.d.ts +1 -0
  362. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.test.js +255 -0
  363. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.d.ts +2 -0
  364. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +150 -0
  365. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.test.d.ts +1 -0
  366. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.test.js +223 -0
  367. package/lib/ACM-AXN/Wizard/Hooks.d.ts +2 -0
  368. package/lib/ACM-AXN/Wizard/Hooks.js +12 -0
  369. package/lib/ACM-AXN/Wizard/Types.d.ts +217 -0
  370. package/lib/ACM-AXN/Wizard/Types.js +22 -0
  371. package/lib/ACM-AXN/Wizard/Utils.d.ts +27 -0
  372. package/lib/ACM-AXN/Wizard/Utils.js +31 -0
  373. package/lib/ACM-AXN/Wizard/index.d.ts +3 -0
  374. package/lib/ACM-AXN/Wizard/index.js +40 -0
  375. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  376. package/lib/AWING/Chart/BarLineComponent.js +105 -9
  377. package/lib/AWING/Chart/PieComponent.js +2 -2
  378. package/lib/AWING/Chart/Styles.js +49 -16
  379. package/lib/AWING/DataForm/DataInput.js +22 -18
  380. package/lib/AWING/DataGrid/index.js +9 -1
  381. package/lib/AWING/DataGrid/interface.d.ts +39 -1
  382. package/lib/AWING/DateRangePicker/component.js +32 -14
  383. package/lib/AWING/Form/Utils/Types.d.ts +4 -0
  384. package/lib/AWING/Form/useForm.d.ts +2 -3
  385. package/lib/AWING/Form/useForm.js +6 -4
  386. package/lib/AWING/GroupTable/GroupTable.js +7 -7
  387. package/lib/AWING/Hooks/index.d.ts +1 -0
  388. package/lib/AWING/Hooks/index.js +17 -0
  389. package/lib/AWING/Hooks/useGetData.d.ts +9 -0
  390. package/lib/AWING/Hooks/useGetData.js +26 -0
  391. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  392. package/lib/AWING/NumberFormat/index.js +2 -2
  393. package/lib/AWING/ultis/validation.d.ts +1 -0
  394. package/lib/AWING/ultis/validation.js +22 -15
  395. package/lib/Commons/Components/ClassicDrawer.js +2 -2
  396. package/lib/Commons/Components/DeprecatedEnhancedDialog.js +1 -1
  397. package/lib/Commons/Hooks/usePath.js +3 -3
  398. package/lib/Utils/Helpers.d.ts +11 -3
  399. package/lib/Utils/Helpers.js +65 -4
  400. package/lib/translate/en/translation.json +84 -7
  401. package/lib/translate/vi/translation.json +86 -7
  402. package/package.json +128 -126
  403. package/lib/ACM-AXN/Campaign/Constant.d.ts +0 -38
  404. package/lib/ACM-AXN/Campaign/Constant.js +0 -41
  405. package/lib/ACM-AXN/CampaignPlan/Constant.d.ts +0 -8
  406. package/lib/ACM-AXN/CampaignPlan/Constant.js +0 -11
  407. package/lib/ACM-AXN/Directory/Constant.d.ts +0 -13
  408. package/lib/ACM-AXN/Directory/Constant.js +0 -15
  409. package/lib/ACM-AXN/GroupUser/Constants.d.ts +0 -7
  410. package/lib/ACM-AXN/GroupUser/Constants.js +0 -10
  411. package/lib/ACM-AXN/PlaceGroup/Constant.d.ts +0 -9
  412. package/lib/ACM-AXN/PlaceGroup/Constant.js +0 -12
  413. package/lib/ACM-AXN/ScheduleCompletionRate/Constant.d.ts +0 -8
  414. package/lib/ACM-AXN/ScheduleCompletionRate/Constant.js +0 -11
  415. package/lib/ACM-AXN/TaskScheduler/Constant.d.ts +0 -9
  416. package/lib/ACM-AXN/TaskScheduler/Constant.js +0 -13
  417. package/lib/ACM-AXN/TaskScheduler/Enums.d.ts +0 -4
  418. package/lib/ACM-AXN/TaskScheduler/Enums.js +0 -8
  419. package/lib/ACM-AXN/Template/Constants.d.ts +0 -0
  420. package/lib/ACM-AXN/Template/Constants.js +0 -1
  421. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Events.d.ts +0 -5
  422. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Events.js +0 -41
  423. package/lib/ACM-AXN/TransactionLog/Constant.d.ts +0 -10
  424. package/lib/ACM-AXN/TransactionLog/Constant.js +0 -13
  425. package/lib/ACM-AXN/User/Constants.d.ts +0 -2
  426. package/lib/ACM-AXN/User/Constants.js +0 -5
@@ -235,36 +235,54 @@ var DateRangePickerWrapper = function (props) {
235
235
  onDatesChange(daterange);
236
236
  // setFocusedInput(null);
237
237
  };
238
+ var getDataSet = function (moment) {
239
+ return moment.set({
240
+ hour: 0,
241
+ minute: 0,
242
+ second: 0,
243
+ millisecond: 0,
244
+ });
245
+ };
246
+ var resetDate = function () {
247
+ setStartDate(initialStartDate);
248
+ setEndDate(initialEndDate);
249
+ setInputValue("".concat(moment(initialStartDate).format('DD/MM/YYYY'), " - ").concat(moment(initialEndDate).format('DD/MM/YYYY')));
250
+ callback({
251
+ startDate: getDataSet(moment(initialStartDate, 'DD/MM/YYYY')),
252
+ endDate: getDataSet(moment(initialEndDate, 'DD/MM/YYYY')),
253
+ });
254
+ };
238
255
  var handleChangeInput = function (e) {
239
256
  var fieldValue = e.target.value;
240
257
  setInputValue(fieldValue);
241
258
  var fieldValueArr = (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.split(' - ')) || [];
242
259
  var year1900 = moment('1900-01-01');
243
260
  var momentStartDate = moment(fieldValueArr[0], 'DD/MM/YYYY');
261
+ var momentEndDate = moment(fieldValueArr[1], 'DD/MM/YYYY');
262
+ if (isDayBlocked && isDayBlocked(momentStartDate)) {
263
+ setIsValid(true);
264
+ resetDate();
265
+ return;
266
+ }
267
+ if (isDayBlocked && isDayBlocked(momentEndDate)) {
268
+ setIsValid(true);
269
+ resetDate();
270
+ return;
271
+ }
244
272
  if (momentStartDate.isValid() && momentStartDate.diff(year1900) >= 0) {
245
273
  setStartDate(momentStartDate);
246
274
  }
247
- var momentEndDate = moment(fieldValueArr[1], 'DD/MM/YYYY');
248
275
  if (momentEndDate.isValid() && momentEndDate.diff(year1900) >= 0) {
249
276
  setEndDate(momentEndDate);
250
277
  }
251
278
  if (moment(fieldValueArr[0], 'DD/MM/YYYY', true).isValid() &&
252
279
  moment(fieldValueArr[1], 'DD/MM/YYYY', true).isValid() &&
253
280
  momentEndDate.diff(momentStartDate) >= 0) {
254
- momentStartDate.set({
255
- hour: 0,
256
- minute: 0,
257
- second: 0,
258
- millisecond: 0,
259
- });
260
- momentEndDate.set({
261
- hour: 0,
262
- minute: 0,
263
- second: 0,
264
- millisecond: 0,
265
- });
266
- callback({ startDate: momentStartDate, endDate: momentEndDate });
267
281
  setIsValid(true);
282
+ callback({
283
+ startDate: getDataSet(momentStartDate),
284
+ endDate: getDataSet(momentEndDate),
285
+ });
268
286
  }
269
287
  else
270
288
  setIsValid(false);
@@ -1 +1,5 @@
1
1
  export type FieldValues = Record<string, any>;
2
+ export type FieldOptions = {
3
+ required: boolean;
4
+ onValidate: (value: any) => boolean;
5
+ };
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { FieldOptions } from './Utils/Types';
2
3
  export declare const useForm: (props: {
3
4
  defaultValue: Record<string, any>;
4
5
  }) => {
@@ -9,9 +10,7 @@ export declare const useForm: (props: {
9
10
  watch: boolean;
10
11
  };
11
12
  formValue: Record<string, any>;
12
- register: (fieldPath: string, options?: {
13
- required: boolean;
14
- }) => {
13
+ register: (fieldPath: string, options?: FieldOptions) => {
15
14
  required: boolean | undefined;
16
15
  name: string;
17
16
  value: any;
@@ -53,7 +53,8 @@ var useForm = function (props) {
53
53
  var _updateFieldArray = function (name, value) {
54
54
  (0, set_1.default)(_formControl.current, name, value);
55
55
  };
56
- var getValues = function (fieldNames) {
56
+ // eslint-disable-next-line react-hooks/exhaustive-deps
57
+ var getValues = react_1.default.useCallback(function (fieldNames) {
57
58
  var data = (0, convertToArrayPayload_1.default)(fieldNames).map(function (fieldName) {
58
59
  return (0, cloneProxy_1.default)((0, get_1.default)(_formControl.current, fieldName));
59
60
  });
@@ -61,16 +62,17 @@ var useForm = function (props) {
61
62
  return data;
62
63
  if (data.length && data.length === 1)
63
64
  return data[0];
64
- };
65
+ }, []);
65
66
  var register = function (fieldPath, options) {
66
67
  var isRequired = options === null || options === void 0 ? void 0 : options.required;
68
+ var onValidate = options === null || options === void 0 ? void 0 : options.onValidate;
67
69
  return {
68
70
  required: isRequired,
69
71
  name: fieldPath,
70
72
  value: getValues(fieldPath),
71
73
  onBlur: function (e) {
72
- if (isRequired) {
73
- if (!getValues(fieldPath)) {
74
+ if (isRequired || onValidate) {
75
+ if (!getValues(fieldPath) || (onValidate && !onValidate(getValues(fieldPath)))) {
74
76
  _formError.current.push(fieldPath);
75
77
  }
76
78
  else {
@@ -33,7 +33,7 @@ var CircularProgress_1 = __importDefault(require("../CircularProgress"));
33
33
  var CustomRow_1 = __importDefault(require("./CustomRow"));
34
34
  var NoData_1 = __importDefault(require("../NoData"));
35
35
  var constants_1 = require("../../constants");
36
- var isEqual = require("lodash/isEqual");
36
+ var lodash_1 = require("lodash");
37
37
  function GroupTable(props) {
38
38
  var headCells = props.headCells, filters = props.filters, onGetData = props.onGetData, customRow = props.customRow, onRowClicked = props.onRowClicked;
39
39
  var row = customRow || CustomRow_1.default;
@@ -41,7 +41,7 @@ function GroupTable(props) {
41
41
  var _b = (0, react_1.useState)(0), groupPageIndex = _b[0], setGroupPageIndex = _b[1];
42
42
  var _c = (0, react_1.useState)(constants_1.PAGE_SIZE_DEFAULT), groupPageSize = _c[0], setGroupPageSize = _c[1];
43
43
  var _d = (0, react_1.useState)(0), totalCount = _d[0], setTotalCount = _d[1];
44
- var _e = (0, react_1.useState)(false), loading = _e[0], setLoading = _e[1];
44
+ var _e = (0, react_1.useState)(true), loading = _e[0], setLoading = _e[1];
45
45
  var groupKeys = headCells
46
46
  .filter(function (headCell) { return headCell.isGrouping; })
47
47
  .map(function (headCell) { return headCell.field; });
@@ -50,15 +50,15 @@ function GroupTable(props) {
50
50
  }, [headCells]);
51
51
  (0, react_1.useEffect)(function () {
52
52
  handleGetGroupData();
53
- }, [headCells, groupPageSize, groupPageIndex]);
53
+ // eslint-disable-next-line react-hooks/exhaustive-deps
54
+ }, [JSON.stringify(headCells), groupPageSize, groupPageIndex]);
54
55
  var handleGetGroupData = function () {
55
56
  setLoading(true);
56
57
  onGetData(filters, groupPageIndex, groupPageSize).then(function (result) {
57
- setLoading(false);
58
- !isEqual(data, result.data) && setData(result.data);
59
- !isEqual(totalCount, result.totalCount) &&
58
+ !(0, lodash_1.isEqual)(data, result.data) && setData(result.data);
59
+ !(0, lodash_1.isEqual)(totalCount, result.totalCount) &&
60
60
  setTotalCount(result.totalCount);
61
- });
61
+ }).finally(function () { setLoading(false); });
62
62
  };
63
63
  var handleChangePage = function (newPage) {
64
64
  setGroupPageIndex(newPage);
@@ -0,0 +1 @@
1
+ export * from './useGetData';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useGetData"), exports);
@@ -0,0 +1,9 @@
1
+ type UnwrapPromise<T> = T extends Promise<infer U> ? U : T;
2
+ type Params<T extends (...args: any[]) => any> = T extends (...args: infer P) => any ? P : never;
3
+ type ReturnType<T extends (...args: any[]) => any> = T extends (...args: any[]) => infer R ? R : never;
4
+ type Fetcher<ParamsType extends any[] = any[], ReturnType = any> = (...params: ParamsType) => Promise<ReturnType>;
5
+ export declare const useGetData: <T extends Fetcher<any[], any>>(params: Params<T>, fetcher: T) => {
6
+ data: UnwrapPromise<ReturnType<T>> | undefined;
7
+ isLoading: boolean;
8
+ };
9
+ export default useGetData;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useGetData = void 0;
7
+ var lodash_1 = require("lodash");
8
+ var react_1 = __importDefault(require("react"));
9
+ var useGetData = function (params, fetcher) {
10
+ var _a = react_1.default.useState(true), isLoading = _a[0], setLoading = _a[1];
11
+ var _b = react_1.default.useState(), data = _b[0], setData = _b[1];
12
+ react_1.default.useEffect(function () {
13
+ fetchData(params);
14
+ // eslint-disable-next-line react-hooks/exhaustive-deps
15
+ }, params);
16
+ // eslint-disable-next-line react-hooks/exhaustive-deps
17
+ var fetchData = react_1.default.useCallback((0, lodash_1.debounce)(function (params) {
18
+ setLoading(true);
19
+ fetcher.apply(void 0, params).then(function (result) { return setData(result); })
20
+ .finally(function () { setLoading(false); });
21
+ // eslint-disable-next-line react-hooks/exhaustive-deps
22
+ }, 100), []);
23
+ return { data: data, isLoading: isLoading };
24
+ };
25
+ exports.useGetData = useGetData;
26
+ exports.default = exports.useGetData;
@@ -1,3 +1,5 @@
1
1
  import { TextFieldProps } from '@mui/material';
2
- export declare const NumberFormat: (props: TextFieldProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const NumberFormat: (props: TextFieldProps & {
3
+ min?: number;
4
+ }) => import("react/jsx-runtime").JSX.Element;
3
5
  export default NumberFormat;
@@ -32,7 +32,7 @@ var helper_1 = require("../helper");
32
32
  var Context_1 = __importDefault(require("../../Context"));
33
33
  var react_1 = require("react");
34
34
  var NumberFormat = function (props) {
35
- var value = props.value, onChange = props.onChange, other = __rest(props, ["value", "onChange"]);
35
+ var value = props.value, onChange = props.onChange, min = props.min, other = __rest(props, ["value", "onChange", "min"]);
36
36
  var i18next = (0, react_1.useContext)(Context_1.default).i18next;
37
37
  var handleChange = function (event) {
38
38
  var el = event.target;
@@ -65,7 +65,7 @@ var NumberFormat = function (props) {
65
65
  .replace(new RegExp(escapeRegExp(decimalSeparator), 'g'), ''));
66
66
  }
67
67
  //add negation back
68
- if (hasNegation)
68
+ if (hasNegation && min !== 0)
69
69
  num = '-' + num;
70
70
  return num;
71
71
  }
@@ -10,6 +10,7 @@ export declare function dateRangeValid(value: (Date | null | undefined)[] | null
10
10
  export declare function emailValid(value: string | null | undefined): boolean;
11
11
  export declare function numberOnlyValid(value: string | null | undefined): boolean;
12
12
  export declare function urlValid(value: string | null | undefined): boolean;
13
+ export declare function colorValid(value: string | null | undefined): boolean;
13
14
  export declare function passwordValid(value: string | null | undefined): boolean;
14
15
  export declare function containsOnlyDigits(str: string): boolean;
15
16
  export declare function logicExpressionValid(value: string | null | undefined): boolean;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.textValidation = exports.logicExpressionValid = exports.containsOnlyDigits = exports.passwordValid = exports.urlValid = exports.numberOnlyValid = exports.emailValid = exports.dateRangeValid = exports.dateValid = exports.notNullValid = exports.stringNullableValid = exports.stringNotNullValid = exports.numberNotNullValid = exports.numberPercentageNotNullValid = exports.positiveNumberNotNullValid = exports.arrayIsNotEmptyValid = void 0;
6
+ exports.textValidation = exports.logicExpressionValid = exports.containsOnlyDigits = exports.passwordValid = exports.colorValid = exports.urlValid = exports.numberOnlyValid = exports.emailValid = exports.dateRangeValid = exports.dateValid = exports.notNullValid = exports.stringNullableValid = exports.stringNotNullValid = exports.numberNotNullValid = exports.numberPercentageNotNullValid = exports.positiveNumberNotNullValid = exports.arrayIsNotEmptyValid = void 0;
7
7
  /* eslint-disable no-useless-escape */
8
8
  var i18n_1 = __importDefault(require("../../i18n"));
9
9
  var lodash_1 = __importDefault(require("lodash"));
@@ -37,12 +37,20 @@ function notNullValid(value) {
37
37
  }
38
38
  exports.notNullValid = notNullValid;
39
39
  function dateValid(value) {
40
- return Boolean(value && (0, moment_1.default)(value).isValid());
40
+ return Boolean(value && (value === null || value === void 0 ? void 0 : value.getFullYear()) > 1000 && (0, moment_1.default)(value).isValid());
41
41
  }
42
42
  exports.dateValid = dateValid;
43
43
  function dateRangeValid(value) {
44
- return value !== undefined && value !== null && value.length === 2 && dateValid(value[0]) && dateValid(value[1]) &&
45
- value[0] !== undefined && value[0] !== null && value[1] !== undefined && value[1] !== null && value[0] <= value[1];
44
+ return (value !== undefined &&
45
+ value !== null &&
46
+ value.length === 2 &&
47
+ dateValid(value[0]) &&
48
+ dateValid(value[1]) &&
49
+ value[0] !== undefined &&
50
+ value[0] !== null &&
51
+ value[1] !== undefined &&
52
+ value[1] !== null &&
53
+ value[0] <= value[1]);
46
54
  }
47
55
  exports.dateRangeValid = dateRangeValid;
48
56
  function emailValid(value) {
@@ -69,6 +77,11 @@ function urlValid(value) {
69
77
  }
70
78
  }
71
79
  exports.urlValid = urlValid;
80
+ function colorValid(value) {
81
+ var re = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
82
+ return value !== undefined && value !== null && re.test('#' + value);
83
+ }
84
+ exports.colorValid = colorValid;
72
85
  function passwordValid(value) {
73
86
  var re = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/;
74
87
  return value === undefined && value === null && re.test(value);
@@ -96,7 +109,7 @@ exports.logicExpressionValid = logicExpressionValid;
96
109
  var textValidation = function (str, length, required, pattern, invertRegex) {
97
110
  if (length === void 0) { length = 50; }
98
111
  if (required === void 0) { required = true; }
99
- if (pattern === void 0) { pattern = /^[a-zA-Z0-9\/\-_.()\[\] ]+$/g; }
112
+ if (pattern === void 0) { pattern = /^[a-zA-Z0-9đĐ\/\-_.()\[\] \u0080-\uFFFF]+$/g; }
100
113
  var validRes = {
101
114
  valid: true,
102
115
  message: [],
@@ -106,18 +119,12 @@ var textValidation = function (str, length, required, pattern, invertRegex) {
106
119
  validRes.valid = false;
107
120
  validRes.message.push(i18n_1.default.t('Common.Required'));
108
121
  }
109
- var textTransform = String(str)
110
- .normalize('NFD')
111
- .toLowerCase()
112
- .replace(/\s\s+/g, ' ')
113
- .replace(/[\u0300-\u036f]/g, '')
114
- .replace(/đ/g, 'd')
115
- .trim();
116
- if (textTransform && pattern && !pattern.test(textTransform)) {
122
+ if (str && pattern && !pattern.test(str)) {
117
123
  validRes.valid = false;
118
124
  if (invertRegex !== false) {
119
- var invertedRegex = invertRegex || new RegExp("[^".concat(pattern.source.replace(/[*+?^${}|]/g, ''), "]").replace(/\[\[|\]\]/g, ']'), 'g');
120
- validRes.message.push("".concat(i18n_1.default.t('Common.InvalidChars'), ": ").concat(Array.from(new Set(textTransform.match(invertedRegex))).join(' ')));
125
+ var invertedRegex = invertRegex ||
126
+ new RegExp("[^".concat(pattern.source.replace(/[*+?^${}|]/g, ''), "]").replace(/\[\[|\]\]/g, ']'), 'g');
127
+ validRes.message.push("".concat(i18n_1.default.t('Common.InvalidChars'), ": ").concat(Array.from(new Set(str.match(invertedRegex))).join(' ')));
121
128
  }
122
129
  }
123
130
  var byteSize = new Blob([str]).size;
@@ -52,7 +52,7 @@ var Drawer = function (props) {
52
52
  var navigate = (0, Router_1.useNavigate)();
53
53
  var location = (0, Router_1.useLocation)();
54
54
  var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
55
- var _b = react_1.default.useState(true), open = _b[0], setOpen = _b[1];
55
+ var _b = react_1.default.useState(false), open = _b[0], setOpen = _b[1];
56
56
  var _c = react_1.default.useState(false), loading = _c[0], setLoading = _c[1];
57
57
  var timer = react_1.default.useRef();
58
58
  react_1.default.useEffect(function () {
@@ -63,6 +63,7 @@ var Drawer = function (props) {
63
63
  }, []);
64
64
  var closeDrawer = function (action) {
65
65
  if (action === void 0) { action = CloseAction.Close; }
66
+ setOpen(false);
66
67
  timer.current = window.setTimeout(function () {
67
68
  var _a;
68
69
  ((_a = location.state) === null || _a === void 0 ? void 0 : _a.type) === 'history'
@@ -78,7 +79,6 @@ var Drawer = function (props) {
78
79
  .then(function (state) {
79
80
  setTimeout(function () {
80
81
  snackbar('success');
81
- console.log('success');
82
82
  }, 700);
83
83
  closeDrawer((typeof state === 'string' && state) ? state : CloseAction.Reload);
84
84
  })
@@ -74,7 +74,7 @@ var EnhancedDialog = function (props) {
74
74
  };
75
75
  return ((0, jsx_runtime_1.jsxs)(Dialog_1.default, { open: isOpen, onClose: handleClose, "aria-labelledby": "alert-dialog-title", "aria-describedby": "alert-dialog-description", maxWidth: "sm", fullWidth: true, children: [(0, jsx_runtime_1.jsx)(DialogTitle_1.default, { id: "alert-dialog-title", children: title !== null && title !== void 0 ? title : t('Dialog.Title') }), (0, jsx_runtime_1.jsxs)(DialogContent_1.default, { children: [(0, jsx_runtime_1.jsx)(DialogContentText_1.default, { id: "alert-dialog-description", sx: { marginBottom: function (theme) { return theme.spacing(1.5); } }, children: content !== null && content !== void 0 ? content : t('Dialog.Content') }), !notIncludeInput && ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({ autoFocus: true, margin: "dense", label: props.label, rows: 2, multiline: true, type: "text", name: "text", value: text, onChange: function (e) {
76
76
  setText(e.target.value);
77
- setValid((0, validation_1.textValidation)(e.target.value));
77
+ setValid((0, validation_1.textValidation)(e.target.value, 50, true, false));
78
78
  }, fullWidth: true, onKeyDown: handleKeyDown, error: !checkValid.valid, helperText: !checkValid.valid ? checkValid.message : '' }, textFieldProps)))] }), (0, jsx_runtime_1.jsxs)(DialogActions_1.default, { children: [(0, jsx_runtime_1.jsx)(Button_1.default, { onClick: handleClose, color: "secondary", children: t('Common.Cancel') }), (0, jsx_runtime_1.jsx)(Button_1.default, { disabled: !(!notIncludeInput && checkValid.valid), onClick: function () { return handleSubmit(); }, color: "primary", children: t('Common.Agree') })] })] }));
79
79
  };
80
80
  exports.default = EnhancedDialog;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var Helpers_1 = require("../../Utils/Helpers");
4
- var react_router_1 = require("react-router");
4
+ var react_router_dom_1 = require("react-router-dom");
5
5
  var usePath = function () {
6
- var location = (0, react_router_1.useLocation)();
7
- var params = (0, react_router_1.useParams)();
6
+ var location = (0, react_router_dom_1.useLocation)();
7
+ var params = (0, react_router_dom_1.useParams)();
8
8
  var path = (0, Helpers_1.getRoutePath)(location, params);
9
9
  return path;
10
10
  };
@@ -2,7 +2,7 @@ import moment from 'moment';
2
2
  import type { Params, Location } from '../AWING/Router';
3
3
  import { DataObject } from '../AWING';
4
4
  import { AnalyticDataProviderModel, FileResponse } from '../Commons/Types';
5
- import { Timestamp } from '../ACM-AXN/Campaign/Types';
5
+ import { Timestamp } from '../ACM-AXN/Common/Types';
6
6
  export declare enum TIMELINE_TYPE {
7
7
  HOUR = 0,
8
8
  DAY = 1
@@ -15,7 +15,7 @@ export declare enum TIMELINE_TYPE {
15
15
  */
16
16
  export declare function getCookie(name: string): string | undefined;
17
17
  export declare function dateToString(date: moment.MomentInput): string;
18
- export declare function formatNumber(num: number | bigint | undefined): string;
18
+ export declare function formatNumber(num: number | bigint | string | undefined): string;
19
19
  export declare function getQueryVariable(variable: string): string;
20
20
  export declare function displayLongString(str: string, maxLength: number): string;
21
21
  export declare function generateUUID(): string;
@@ -27,7 +27,7 @@ export declare function timestampToStringDDMMYYYYHHmm(date: {
27
27
  }): string | null;
28
28
  export declare const getRoutePath: (location: Location, params: Params) => string;
29
29
  export declare function calculatorDirectoryIdRoot(directoriesTree: any): number;
30
- export declare function changeToAlias(str: string): string;
30
+ export declare function changeToAlias(str?: string): string;
31
31
  export declare const offlinePaginate: (array: DataObject[], pageIndex: number, pageSize: number) => DataObject[];
32
32
  export declare function convertArrayToObject(array: any, keyName: string): any;
33
33
  export declare function roundDecimalNumber(number: any): string | null;
@@ -105,3 +105,11 @@ export interface IHeadCells {
105
105
  export declare const updateObjectFields: (originalObj: any, changedValues: any) => any;
106
106
  export declare function formatChartNumber(val: any, language: string): string;
107
107
  export declare const setObject: <O extends {}>(obj: O, arrKey: Array<keyof O>, value: unknown) => void;
108
+ export declare function fillMissingDates(data: Array<{
109
+ x: string;
110
+ y: number;
111
+ }>, startDate?: string | Date | number, endDate?: string | Date | number, format?: string | 'YYYYMMDD' | 'YYYYMMDDHH'): {
112
+ x: string;
113
+ y: number;
114
+ }[];
115
+ export declare function parseJSON(str: string): any;
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
37
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
38
  if (ar || !(i in from)) {
@@ -23,11 +46,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
46
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
47
  };
25
48
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.setObject = exports.formatChartNumber = exports.updateObjectFields = exports.validateNumber = exports.getToday = exports.convertDataSetPattern = exports.convertAnalyticModelToChartDataAdvance = exports.getStartOfDay = exports.timestampToStringDDMMYYYY = exports.dateToStringDDMMYYYY = exports.convertTimelineToDateTime = exports.dateTimeToString = exports.convertTimestampToDateTime = exports.convertDateTimeToTimestamp = exports.checkValidUrl = exports.validateAnalyticTypes = exports.stringToListAccessPoint = exports.checkValidMacAddress = exports.checkValidStringListAP = exports.convertTimeLine = exports.WMAPEcalculator = exports.roundDecimalNumber = exports.convertArrayToObject = exports.offlinePaginate = exports.changeToAlias = exports.calculatorDirectoryIdRoot = exports.getRoutePath = exports.timestampToStringDDMMYYYYHHmm = exports.dateToStringddddDDMMYYYYHHmm = exports.downloadZipFile = exports.downloadFilePattern = exports.generateUUID = exports.displayLongString = exports.getQueryVariable = exports.formatNumber = exports.dateToString = exports.getCookie = exports.TIMELINE_TYPE = void 0;
49
+ exports.parseJSON = exports.fillMissingDates = exports.setObject = exports.formatChartNumber = exports.updateObjectFields = exports.validateNumber = exports.getToday = exports.convertDataSetPattern = exports.convertAnalyticModelToChartDataAdvance = exports.getStartOfDay = exports.timestampToStringDDMMYYYY = exports.dateToStringDDMMYYYY = exports.convertTimelineToDateTime = exports.dateTimeToString = exports.convertTimestampToDateTime = exports.convertDateTimeToTimestamp = exports.checkValidUrl = exports.validateAnalyticTypes = exports.stringToListAccessPoint = exports.checkValidMacAddress = exports.checkValidStringListAP = exports.convertTimeLine = exports.WMAPEcalculator = exports.roundDecimalNumber = exports.convertArrayToObject = exports.offlinePaginate = exports.changeToAlias = exports.calculatorDirectoryIdRoot = exports.getRoutePath = exports.timestampToStringDDMMYYYYHHmm = exports.dateToStringddddDDMMYYYYHHmm = exports.downloadZipFile = exports.downloadFilePattern = exports.generateUUID = exports.displayLongString = exports.getQueryVariable = exports.formatNumber = exports.dateToString = exports.getCookie = exports.TIMELINE_TYPE = void 0;
27
50
  var moment_1 = __importDefault(require("moment"));
28
51
  var i18n_1 = __importDefault(require("../i18n"));
29
52
  var helper_1 = require("../AWING/helper");
30
- var lodash_1 = require("lodash");
53
+ var lodash_1 = __importStar(require("lodash"));
31
54
  var TIMELINE_TYPE;
32
55
  (function (TIMELINE_TYPE) {
33
56
  TIMELINE_TYPE[TIMELINE_TYPE["HOUR"] = 0] = "HOUR";
@@ -55,8 +78,9 @@ function dateToString(date) {
55
78
  }
56
79
  exports.dateToString = dateToString;
57
80
  function formatNumber(num) {
58
- if (num || num === 0) {
59
- return new Intl.NumberFormat(i18n_1.default.language === 'vi' ? 'vi-VN' : 'en-US').format(num);
81
+ var value = Number(Number(num).toFixed(2));
82
+ if (value || value === 0) {
83
+ return new Intl.NumberFormat(i18n_1.default.language === 'vi' ? 'vi-VN' : 'en-US').format(value);
60
84
  }
61
85
  else
62
86
  return '';
@@ -197,6 +221,7 @@ function calculatorDirectoryIdRoot(directoriesTree) {
197
221
  }
198
222
  exports.calculatorDirectoryIdRoot = calculatorDirectoryIdRoot;
199
223
  function changeToAlias(str) {
224
+ if (str === void 0) { str = ''; }
200
225
  // Chuyển toàn bộ Tiếng Việt sang không dấu viết thường và các kí tự đặc biệt thành dấu "-"
201
226
  return str
202
227
  .trim()
@@ -540,3 +565,39 @@ var setObject = function (obj, arrKey, value) {
540
565
  (0, lodash_1.set)(obj, arrKey.reduce(function (acc, val) { return acc + '[' + val + ']'; }, ''), value);
541
566
  };
542
567
  exports.setObject = setObject;
568
+ function fillMissingDates(data, startDate, endDate, format) {
569
+ if (startDate === void 0) { startDate = ''; }
570
+ if (endDate === void 0) { endDate = ''; }
571
+ if (format === void 0) { format = 'YYYYMMDD'; }
572
+ var result = data.concat();
573
+ // Parse the start and end dates
574
+ var start = (0, moment_1.default)(isNaN(Number(startDate)) ? startDate : String(startDate)).startOf('day');
575
+ var end = (0, moment_1.default)(isNaN(Number(endDate)) ? endDate : String(endDate)).endOf('day');
576
+ if (start.isAfter(end))
577
+ throw new Error('Start date must be before end date');
578
+ // Array to hold the complete range of dates
579
+ var dates = [];
580
+ // Iterate through the date range
581
+ for (var m = (0, moment_1.default)(start); m.isSameOrBefore(end); m.add(1, format === 'YYYYMMDD' ? 'days' : 'hours')) {
582
+ dates.push(m.format(format));
583
+ }
584
+ (0, lodash_1.xor)(data.map(function (d) { return d.x; }), dates).forEach(function (x) {
585
+ result.push({ x: x, y: 0 });
586
+ });
587
+ return (0, lodash_1.default)(result).groupBy('x').map(function (value, key) {
588
+ return ({
589
+ x: key,
590
+ y: lodash_1.default.sumBy(value, 'y')
591
+ });
592
+ }).orderBy(['x'], ['asc']).value();
593
+ }
594
+ exports.fillMissingDates = fillMissingDates;
595
+ function parseJSON(str) {
596
+ try {
597
+ return JSON.parse(str || "{}");
598
+ }
599
+ catch (e) {
600
+ return str;
601
+ }
602
+ }
603
+ exports.parseJSON = parseJSON;