awing-library 2.1.124-beta → 2.1.124

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 (298) hide show
  1. package/lib/ACM-AXN/Campaign/Container.js +54 -57
  2. package/lib/ACM-AXN/Campaign/Container.test.js +1 -3
  3. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +8 -1
  4. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +29 -5
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.d.ts +17 -0
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.js +121 -0
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.d.ts +1 -0
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.js +219 -0
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.d.ts +2 -0
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +306 -0
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
  12. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
  13. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.d.ts +1 -0
  14. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.js +123 -0
  15. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.d.ts +1 -0
  16. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.js +253 -0
  17. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +2 -2
  18. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.d.ts +1 -1
  19. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.js +47 -78
  20. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/AnalyticComponent.test.d.ts +1 -0
  21. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/AnalyticComponent.test.js +80 -0
  22. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/AnalyticContainer.test.d.ts +1 -0
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/AnalyticContainer.test.js +49 -0
  24. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +18 -0
  25. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +112 -0
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.test.d.ts +1 -0
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.test.js +67 -0
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.d.ts +2 -0
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +114 -0
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.test.d.ts +1 -0
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.test.js +27 -0
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/DetailGroupBy.test.d.ts +1 -0
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/DetailGroupBy.test.js +55 -0
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/RowDetail.d.ts +7 -0
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/RowDetail.js +28 -0
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/RowDetail.test.d.ts +1 -0
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/RowDetail.test.js +49 -0
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.d.ts +2 -0
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +182 -0
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +30 -0
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +589 -0
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.d.ts +14 -0
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.js +77 -0
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +18 -0
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +200 -0
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/index.d.ts +1 -0
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/index.js +8 -0
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +12 -0
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +275 -0
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.test.d.ts +1 -0
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.test.js +84 -0
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Context.d.ts +5 -0
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Context.js +13 -0
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/CustomerComponent.test.d.ts +1 -0
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/CustomerComponent.test.js +53 -0
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/CustomerContainer.test.d.ts +1 -0
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/CustomerContainer.test.js +124 -0
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.d.ts +14 -0
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +130 -0
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.d.ts +7 -0
  61. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +76 -0
  62. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/index.d.ts +1 -0
  63. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/index.js +8 -0
  64. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/EventComponent.test.d.ts +1 -0
  65. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/EventComponent.test.js +91 -0
  66. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/EventContainer.test.d.ts +1 -0
  67. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/EventContainer.test.js +48 -0
  68. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.d.ts +5 -0
  69. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +33 -0
  70. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.test.d.ts +1 -0
  71. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.test.js +30 -0
  72. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +7 -0
  73. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +81 -0
  74. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.d.ts +15 -0
  75. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +166 -0
  76. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.d.ts +10 -0
  77. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +111 -0
  78. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/index.d.ts +1 -0
  79. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/index.js +8 -0
  80. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +7 -0
  81. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +77 -0
  82. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.test.d.ts +1 -0
  83. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.test.js +26 -0
  84. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +109 -0
  85. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.js +2 -0
  86. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.d.ts +6 -0
  87. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +36 -0
  88. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +7 -0
  89. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +10 -0
  90. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.d.ts +9 -0
  91. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +36 -0
  92. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.d.ts +8 -0
  93. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +93 -0
  94. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/index.d.ts +1 -0
  95. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/index.js +8 -0
  96. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.test.js +3 -3
  97. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +7 -4
  98. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +2 -2
  99. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +6 -0
  100. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.test.js +12 -12
  101. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/Create.js +2 -3
  102. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/Create.test.js +3 -3
  103. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/Edit.test.js +2 -2
  104. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/EditExpression.test.js +9 -9
  105. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.d.ts +8 -0
  106. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.js +47 -0
  107. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitClick.test.js +1 -2
  108. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +52 -6
  109. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.test.js +1 -2
  110. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitView.test.js +1 -2
  111. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetAge.test.js +3 -3
  112. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetGender.test.js +2 -2
  113. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  114. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.d.ts +1 -0
  115. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.js +3 -1
  116. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.d.ts +4 -3
  117. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +13 -7
  118. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  119. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.d.ts +1 -1
  120. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +76 -123
  121. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +6 -16
  122. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +47 -22
  123. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.d.ts +2 -0
  124. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +10 -5
  125. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +7 -6
  126. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  127. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  128. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +191 -64
  129. package/lib/ACM-AXN/Campaign/Enum.d.ts +92 -1
  130. package/lib/ACM-AXN/Campaign/Enum.js +102 -2
  131. package/lib/ACM-AXN/Campaign/Types.d.ts +57 -130
  132. package/lib/ACM-AXN/Campaign/Types.js +0 -80
  133. package/lib/ACM-AXN/Campaign/Utils.d.ts +12 -1
  134. package/lib/ACM-AXN/Campaign/Utils.js +42 -11
  135. package/lib/ACM-AXN/Campaign/index.d.ts +2 -0
  136. package/lib/ACM-AXN/Campaign/index.js +18 -2
  137. package/lib/ACM-AXN/CampaignPlan/Container.js +21 -10
  138. package/lib/ACM-AXN/CampaignPlan/Container.test.d.ts +1 -1
  139. package/lib/ACM-AXN/CampaignPlan/Container.test.js +1 -2
  140. package/lib/ACM-AXN/CampaignPlan/Detail.js +5 -7
  141. package/lib/ACM-AXN/CampaignPlan/Detail.test.d.ts +1 -1
  142. package/lib/ACM-AXN/CampaignPlan/Detail.test.js +2 -3
  143. package/lib/ACM-AXN/CampaignPlan/Filter.js +11 -4
  144. package/lib/ACM-AXN/CampaignPlan/Filter.test.d.ts +1 -1
  145. package/lib/ACM-AXN/CampaignPlan/Filter.test.js +0 -1
  146. package/lib/ACM-AXN/CampaignPlan/Types.d.ts +6 -74
  147. package/lib/ACM-AXN/CampaignPlan/Types.js +1 -253
  148. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.d.ts +1 -1
  149. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +28 -10
  150. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +21 -5
  151. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.js +5 -1
  152. package/lib/ACM-AXN/CampaignSchedule/DataConfig.d.ts +1 -1
  153. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +8 -3
  154. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.d.ts +1 -1
  155. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +9 -3
  156. package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +4 -0
  157. package/lib/ACM-AXN/CampaignSchedule/Enum.js +4 -0
  158. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +2 -2
  159. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +5 -4
  160. package/lib/ACM-AXN/CampaignSchedule/container.d.ts +1 -1
  161. package/lib/ACM-AXN/CampaignSchedule/container.js +6 -1
  162. package/lib/ACM-AXN/CampaignSchedule/interface.d.ts +3 -0
  163. package/lib/ACM-AXN/Common/Constant.d.ts +20 -0
  164. package/lib/ACM-AXN/Common/Constant.js +20 -1
  165. package/lib/ACM-AXN/Common/Enum.d.ts +32 -0
  166. package/lib/ACM-AXN/Common/Enum.js +47 -1
  167. package/lib/ACM-AXN/Common/Types.d.ts +16 -0
  168. package/lib/ACM-AXN/Common/Types.js +2 -0
  169. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  170. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  171. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  172. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  173. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  174. package/lib/ACM-AXN/Notifications/Types.d.ts +3 -1
  175. package/lib/ACM-AXN/Page/Container.js +3 -3
  176. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  177. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  178. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -1
  179. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -1
  180. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  181. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  182. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  183. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  184. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +6 -9
  185. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  186. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +40 -61
  187. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +26 -30
  188. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -8
  189. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +5 -3
  190. package/lib/ACM-AXN/Page/Types.d.ts +2 -1
  191. package/lib/ACM-AXN/Page/enums.d.ts +5 -0
  192. package/lib/ACM-AXN/Page/enums.js +7 -1
  193. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  194. package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
  195. package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
  196. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +40 -28
  197. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +11 -13
  198. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +27 -22
  199. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +27 -25
  200. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.test.js +3 -3
  201. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +27 -21
  202. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.test.js +3 -3
  203. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/index.js +1 -1
  204. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  205. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +46 -59
  206. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  207. package/lib/ACM-AXN/ScheduleCompletionRate/Recoils.d.ts +7 -6
  208. package/lib/ACM-AXN/ScheduleCompletionRate/Recoils.js +6 -1
  209. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  210. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  211. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +74 -110
  212. package/lib/ACM-AXN/ScheduleCompletionRate/Types.js +21 -279
  213. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +22 -3
  214. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +64 -11
  215. package/lib/ACM-AXN/ScheduleCompletionRate/index.js +3 -3
  216. package/lib/ACM-AXN/Statistics/ControlPanel.js +16 -4
  217. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  218. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  219. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
  220. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +3 -3
  221. package/lib/ACM-AXN/Template/Container.js +1 -1
  222. package/lib/ACM-AXN/Template/Container.test.js +1 -1
  223. package/lib/ACM-AXN/Template/CreateOrEdit/CreateOrEdit.test.js +1 -1
  224. package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.test.js +1 -1
  225. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
  226. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
  227. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
  228. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +57 -32
  229. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
  230. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
  231. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
  232. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
  233. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
  234. package/lib/ACM-AXN/Template/Import.js +6 -3
  235. package/lib/ACM-AXN/Template/Import.test.js +2 -2
  236. package/lib/ACM-AXN/Template/Types.d.ts +9 -9
  237. package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
  238. package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
  239. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  240. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  241. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +46 -160
  242. package/lib/ACM-AXN/ViewTemplate/common.js +2 -3
  243. package/lib/ACM-AXN/ViewTemplate/container.js +23 -24
  244. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  245. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  246. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  247. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  248. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  249. package/lib/ACM-AXN/index.d.ts +1 -0
  250. package/lib/ACM-AXN/index.js +1 -0
  251. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  252. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  253. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  254. package/lib/AWING/Chart/BarLineComponent.js +29 -11
  255. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  256. package/lib/AWING/Chart/PieComponent.js +16 -16
  257. package/lib/AWING/Chart/Styles.js +51 -16
  258. package/lib/AWING/DataForm/DataInput.js +63 -20
  259. package/lib/AWING/DataForm/interface.d.ts +1 -0
  260. package/lib/AWING/DataGrid/index.js +7 -1
  261. package/lib/AWING/DateRangePicker/component.js +42 -23
  262. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  263. package/lib/AWING/Form/useForm.js +3 -2
  264. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  265. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  266. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  267. package/lib/AWING/GoogleMap/index.js +41 -0
  268. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  269. package/lib/AWING/GoogleMap/interface.js +2 -0
  270. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  271. package/lib/AWING/GoogleMap/utils.js +135 -0
  272. package/lib/AWING/GroupTable/GroupTable.js +4 -5
  273. package/lib/AWING/GroupTable/component.d.ts +1 -0
  274. package/lib/AWING/GroupTable/component.js +2 -2
  275. package/lib/AWING/Hooks/index.d.ts +1 -0
  276. package/lib/AWING/Hooks/index.js +17 -0
  277. package/lib/AWING/Hooks/useGetData.d.ts +9 -0
  278. package/lib/AWING/Hooks/useGetData.js +26 -0
  279. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  280. package/lib/AWING/NumberFormat/index.js +2 -2
  281. package/lib/AWING/PageManagement/PageManagement.js +2 -2
  282. package/lib/AWING/index.d.ts +1 -0
  283. package/lib/AWING/index.js +1 -0
  284. package/lib/AWING/ultis/validation.d.ts +1 -0
  285. package/lib/AWING/ultis/validation.js +21 -5
  286. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  287. package/lib/Commons/Components/DeprecatedEnhancedDialog.js +1 -1
  288. package/lib/Commons/Hooks/usePath.js +3 -3
  289. package/lib/Utils/Helpers.d.ts +11 -2
  290. package/lib/Utils/Helpers.js +75 -4
  291. package/lib/i18n.js +9 -1
  292. package/lib/translate/en/translation.json +119 -70
  293. package/lib/translate/id/translation.json +870 -0
  294. package/lib/translate/tha/translation.json +870 -0
  295. package/lib/translate/vi/translation.json +80 -29
  296. package/package.json +131 -126
  297. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.d.ts +0 -5
  298. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.js +0 -14
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  interface ParameterProps {
3
3
  templateId: string;
4
4
  }
@@ -17,5 +17,5 @@ export declare const OmitListType: {
17
17
  COLOR: string;
18
18
  URL: string;
19
19
  };
20
- declare const _default: import("react").NamedExoticComponent<ParameterProps>;
20
+ declare const _default: React.NamedExoticComponent<ParameterProps>;
21
21
  export default _default;
@@ -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)) {
@@ -28,10 +51,10 @@ var jsx_runtime_1 = require("react/jsx-runtime");
28
51
  var icons_material_1 = require("@mui/icons-material");
29
52
  var Add_1 = __importDefault(require("@mui/icons-material/Add"));
30
53
  var material_1 = require("@mui/material");
31
- var immer_1 = __importDefault(require("immer"));
32
54
  var Enum_1 = require("../../../../ACM-AXN/ViewTemplate/Enum");
33
55
  var AWING_1 = require("../../../../AWING");
34
- var react_1 = require("react");
56
+ var immer_1 = require("immer");
57
+ var react_1 = __importStar(require("react"));
35
58
  var react_i18next_1 = require("react-i18next");
36
59
  var recoil_1 = require("recoil");
37
60
  var Recoils_1 = require("../Recoils");
@@ -41,6 +64,7 @@ delete exports.OmitListType.LIST;
41
64
  var Parameter = function (_a) {
42
65
  var templateId = _a.templateId;
43
66
  var _b = (0, recoil_1.useRecoilState)(Recoils_1.templateParametersState), rows = _b[0], handleSetParameter = _b[1];
67
+ var setErrors = (0, recoil_1.useSetRecoilState)(Recoils_1.isErrorParameterState);
44
68
  var t = (0, react_i18next_1.useTranslation)().t;
45
69
  var defaultParam = {
46
70
  id: String(Date.now()),
@@ -50,36 +74,44 @@ var Parameter = function (_a) {
50
74
  defaultValue: undefined,
51
75
  labelName: undefined,
52
76
  isRequired: false,
77
+ isAdvanced: false,
53
78
  childrens: [],
54
79
  };
80
+ var tableRow = react_1.default.useMemo(function () { return (0, Utils_1.flattenParameter)(rows); }, [rows]);
81
+ react_1.default.useEffect(function () {
82
+ setErrors(tableRow.some(function (item) { return item.errField; }));
83
+ // eslint-disable-next-line react-hooks/exhaustive-deps
84
+ }, [tableRow]);
55
85
  var handleAddParameter = function () {
56
86
  handleSetParameter(function (prev) { return __spreadArray(__spreadArray([], prev, true), [defaultParam], false); });
57
87
  };
58
88
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
89
  var handleChange = function (event) {
60
- var _a = event.target, name = _a.name, value = _a.value, checked = _a.checked;
61
- var _b = name.split('-').filter(Boolean), field = _b[0], ids = _b.slice(1);
62
- handleSetParameter((0, immer_1.default)(function (rows) {
63
- (0, Utils_1.enhancedUpdate)(rows, ids, field, [Utils_1.CUSTOM_FIELD_NAME.IS_REQUIRED, Utils_1.CUSTOM_FIELD_NAME.IS_ADVANCED].includes(field) ? checked : value, defaultParam);
90
+ var _a, _b;
91
+ var _c = event.target, name = _c.name, value = _c.value, checked = _c.checked;
92
+ var _d = name.split('-').filter(Boolean), field = _d[0], ids = _d.slice(1);
93
+ var handleValue = [
94
+ Utils_1.FIELDS.IS_REQUIRED,
95
+ Utils_1.FIELDS.IS_ADVANCED,
96
+ ].includes(field)
97
+ ? checked
98
+ : field === Utils_1.FIELDS.FIELD_NAME ? ((_b = (_a = value === null || value === void 0 ? void 0 : value.split('.')) === null || _a === void 0 ? void 0 : _a.at(ids.length - 1)) !== null && _b !== void 0 ? _b : '').trim() : value;
99
+ handleSetParameter((0, immer_1.produce)(function (rows) {
100
+ (0, Utils_1.enhancedUpdate)(rows, ids, field, handleValue, defaultParam);
64
101
  }));
65
102
  };
66
103
  var handleRemoveRow = function (id) {
67
104
  handleChange({
68
105
  target: {
69
- name: [Utils_1.CUSTOM_FIELD_NAME.REMOVE, id].join('-'),
106
+ name: [Utils_1.FIELDS.REMOVE, id].join('-'),
70
107
  value: defaultParam,
71
108
  },
72
109
  });
73
110
  };
74
- // eslint-disable-next-line react-hooks/exhaustive-deps
75
- // const handleChangeParameter = useCallback(
76
- // debounce(handleChange, DEBOUNCE_TIME),
77
- // []
78
- // )
79
111
  var handleAddChildren = function (id) {
80
112
  handleChange({
81
113
  target: {
82
- name: [Utils_1.CUSTOM_FIELD_NAME.CHILDRENS, id].join('-'),
114
+ name: [Utils_1.FIELDS.CHILDRENS, id].join('-'),
83
115
  value: defaultParam,
84
116
  },
85
117
  });
@@ -94,7 +126,7 @@ var Parameter = function (_a) {
94
126
  }, component: 'form', onChange: handleChange, children: (0, jsx_runtime_1.jsx)(AWING_1.DataGrid, { getRowId: function (obj) { return [obj.parentId, obj.id].flat().join('-'); }, columns: [
95
127
  {
96
128
  // width: '150px',
97
- field: 'fieldType',
129
+ field: Utils_1.FIELDS.FIELD_TYPE,
98
130
  headerName: t('TemplateManagement.fieldType'),
99
131
  dynamicTableCellProps: function (row) {
100
132
  return {
@@ -133,7 +165,7 @@ var Parameter = function (_a) {
133
165
  },
134
166
  },
135
167
  {
136
- field: 'fieldName',
168
+ field: Utils_1.FIELDS.FIELD_NAME,
137
169
  headerName: t('TemplateManagement.FieldName'),
138
170
  TableCellProps: {
139
171
  sx: {
@@ -145,24 +177,17 @@ var Parameter = function (_a) {
145
177
  // inputProps={{}}
146
178
  , {
147
179
  // inputProps={{}}
148
- error: row.errField, InputProps: {
149
- startAdornment: ((0, jsx_runtime_1.jsx)(material_1.Box, { component: 'span', sx: {
150
- padding: '4px 0 5px',
151
- }, children: row.parentFieldName.length
152
- ? (row.parentFieldName.push(''),
153
- row.parentFieldName).join('.')
154
- : null })),
155
- }, fullWidth: true, name: [
180
+ error: row.errField, required: true, fullWidth: true, name: [
156
181
  'fieldName',
157
182
  row.parentId,
158
183
  row.id,
159
184
  ]
160
185
  .flat()
161
- .join('-'), variant: "standard", defaultValue: row.fieldName }, idx));
186
+ .join('-'), variant: "standard", value: (0, Utils_1.getFieldName)(row) }, idx));
162
187
  },
163
188
  },
164
189
  {
165
- field: 'labelName',
190
+ field: Utils_1.FIELDS.LABEL_NAME,
166
191
  headerName: t('Common.Label'),
167
192
  TableCellProps: {
168
193
  sx: {
@@ -171,7 +196,7 @@ var Parameter = function (_a) {
171
196
  },
172
197
  valueGetter: function (row, idx) {
173
198
  return ((0, jsx_runtime_1.jsx)(material_1.TextField, { fullWidth: true, name: [
174
- 'labelName',
199
+ Utils_1.FIELDS.LABEL_NAME,
175
200
  row.parentId,
176
201
  row.id,
177
202
  ]
@@ -180,7 +205,7 @@ var Parameter = function (_a) {
180
205
  },
181
206
  },
182
207
  {
183
- field: 'defaultValue',
208
+ field: Utils_1.FIELDS.DEFAULT_VALUE,
184
209
  headerName: t('Common.DefaultValue'),
185
210
  TableCellProps: {
186
211
  sx: {
@@ -201,7 +226,7 @@ var Parameter = function (_a) {
201
226
  },
202
227
  },
203
228
  {
204
- field: 'isRequired',
229
+ field: Utils_1.FIELDS.IS_REQUIRED,
205
230
  width: '85px',
206
231
  headerName: t('Common.Require'),
207
232
  TableCellProps: {
@@ -225,7 +250,7 @@ var Parameter = function (_a) {
225
250
  },
226
251
  valueGetter: function (row, idx) {
227
252
  return ((0, jsx_runtime_1.jsx)(material_1.Checkbox, { name: [
228
- 'isRequired',
253
+ Utils_1.FIELDS.IS_REQUIRED,
229
254
  row.parentId,
230
255
  row.id,
231
256
  ]
@@ -234,7 +259,7 @@ var Parameter = function (_a) {
234
259
  },
235
260
  },
236
261
  {
237
- field: 'isAdvanced',
262
+ field: Utils_1.FIELDS.IS_ADVANCED,
238
263
  width: '85px',
239
264
  headerName: t('Common.Advance'),
240
265
  TableCellProps: {
@@ -261,7 +286,7 @@ var Parameter = function (_a) {
261
286
  .join('-'), color: "primary", defaultChecked: row.isAdvanced }, idx));
262
287
  },
263
288
  },
264
- ], rows: (0, Utils_1.flattenParameter)(rows), rowActions: [
289
+ ], rows: tableRow, rowActions: [
265
290
  {
266
291
  icon: (0, jsx_runtime_1.jsx)(icons_material_1.DeleteForever, {}),
267
292
  tooltipTitle: t('Common.Delete'),
@@ -278,6 +303,6 @@ var Parameter = function (_a) {
278
303
  return !(Enum_1.TYPE_FIELD_TEMPLATE.OBJECT === row.fieldType);
279
304
  },
280
305
  },
281
- ] }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { mt: 3, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, children: (0, jsx_runtime_1.jsx)(material_1.Button, { "aria-label": "button-add", variant: "contained", onClick: handleAddParameter, disabled: false, title: t('Common.Add'), children: (0, jsx_runtime_1.jsx)(Add_1.default, {}) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(material_1.Typography, { sx: { padding: '8px' }, children: t('TemplateManagement.NamingFieldNotice') }) })] }) })] }));
306
+ ] }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { mt: 3, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, children: (0, jsx_runtime_1.jsx)(material_1.Button, { name: "master-add-parameter", "aria-label": "button-add", variant: "contained", onClick: handleAddParameter, disabled: false, title: t('Common.Add'), children: (0, jsx_runtime_1.jsx)(Add_1.default, {}) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(material_1.Typography, { sx: { padding: '8px' }, children: t('TemplateManagement.NamingFieldNotice') }) })] }) })] }));
282
307
  };
283
308
  exports.default = (0, react_1.memo)(Parameter);
@@ -1 +1 @@
1
- import '@testing-library/jest-dom/extend-expect';
1
+ export {};
@@ -77,7 +77,6 @@ var jsx_runtime_1 = require("react/jsx-runtime");
77
77
  /* eslint-disable testing-library/no-node-access */
78
78
  /* eslint-disable testing-library/no-container */
79
79
  /* eslint-disable testing-library/no-wait-for-side-effects */
80
- require("@testing-library/jest-dom/extend-expect");
81
80
  var react_1 = require("@testing-library/react");
82
81
  var Parameter_1 = __importDefault(require("./Parameter"));
83
82
  var Utils = __importStar(require("./Utils"));
@@ -111,27 +110,6 @@ var rows = [
111
110
  isRequired: true,
112
111
  childrens: [],
113
112
  },
114
- {
115
- id: '14896',
116
- templateId: '4671435926616395650',
117
- fieldName: 'video_inbanner_2',
118
- fieldType: 'object',
119
- defaultValue: null,
120
- labelName: 'File banner nền video',
121
- isRequired: true,
122
- childrens: [
123
- {
124
- id: '148967',
125
- templateId: '4671435926616395650',
126
- fieldName: 'video_inbanner_2',
127
- fieldType: 'image',
128
- defaultValue: null,
129
- labelName: 'File banner nền video',
130
- isRequired: true,
131
- childrens: [],
132
- },
133
- ],
134
- },
135
113
  {
136
114
  id: '148961',
137
115
  templateId: '4671435926616395650',
@@ -154,13 +132,11 @@ var rows = [
154
132
  ],
155
133
  },
156
134
  ];
157
- var props = {
158
- handleSetParameter: function (fn) {
159
- return fn(rows);
160
- },
161
- };
162
135
  describe('Template Infomation Tab Component', function () {
163
- beforeAll(function () { });
136
+ beforeAll(function () {
137
+ ;
138
+ Utils.enhancedUpdate.mockImplementation(utils.enhancedUpdate);
139
+ });
164
140
  var renderUi = function () {
165
141
  return (0, react_1.render)((0, jsx_runtime_1.jsx)(recoil_1.RecoilRoot, { initializeState: function (_a) {
166
142
  var set = _a.set;
@@ -170,33 +146,62 @@ describe('Template Infomation Tab Component', function () {
170
146
  it('renders without crashing', function () {
171
147
  renderUi();
172
148
  });
173
- it('trigger add rows', function () {
174
- var updateSpy = jest.spyOn(props, 'handleSetParameter');
175
- renderUi();
176
- var addBtn = react_1.screen.getByRole('button', { name: /button-add/i });
177
- react_1.fireEvent.click(addBtn);
178
- expect(updateSpy).toBeCalled();
179
- // expect(addBtn).toBeInTheDocument()
180
- });
149
+ it('trigger add rows', function () { return __awaiter(void 0, void 0, void 0, function () {
150
+ var addBtn;
151
+ return __generator(this, function (_a) {
152
+ switch (_a.label) {
153
+ case 0:
154
+ renderUi();
155
+ addBtn = react_1.screen.getByRole('button', { name: /button-add/i });
156
+ react_1.fireEvent.click(addBtn);
157
+ return [4 /*yield*/, (0, react_1.waitFor)(function () {
158
+ expect(react_1.screen.getAllByText('image')[0]).toBeInTheDocument();
159
+ })];
160
+ case 1:
161
+ _a.sent();
162
+ return [2 /*return*/];
163
+ }
164
+ });
165
+ }); });
166
+ it('trigger add Object Children', function () { return __awaiter(void 0, void 0, void 0, function () {
167
+ var addBtn;
168
+ return __generator(this, function (_a) {
169
+ switch (_a.label) {
170
+ case 0:
171
+ renderUi();
172
+ addBtn = react_1.screen.getAllByTitle('Common.Add');
173
+ addBtn.forEach(function (btn) {
174
+ react_1.fireEvent.click(btn);
175
+ });
176
+ return [4 /*yield*/, (0, react_1.waitFor)(function () {
177
+ expect(react_1.screen.getAllByText('image')[0]).toBeInTheDocument();
178
+ })];
179
+ case 1:
180
+ _a.sent();
181
+ return [2 /*return*/];
182
+ }
183
+ });
184
+ }); });
181
185
  it('trigger edit cell', function () { return __awaiter(void 0, void 0, void 0, function () {
182
- var updateSpy, container, labelNameInput, fieldTypeInput;
186
+ var container, labelNameInput, fieldTypeInput;
183
187
  return __generator(this, function (_a) {
184
188
  switch (_a.label) {
185
189
  case 0:
186
- updateSpy = jest.spyOn(props, 'handleSetParameter');
187
190
  container = renderUi().container;
188
- labelNameInput = container.querySelector("input[name=\"labelName--148961-148967s\"]");
189
- fieldTypeInput = container.querySelector("input[name=\"fieldType--148961-148967s\"]");
191
+ labelNameInput = container.querySelector("input[name=\"labelName-148961-148967s\"]");
192
+ fieldTypeInput = container.querySelector("input[name=\"fieldType-148961-148967s\"]");
190
193
  react_1.fireEvent.change(labelNameInput, {
191
194
  target: { value: 'fieldInput-change' },
192
195
  });
193
196
  react_1.fireEvent.change(fieldTypeInput, {
194
197
  target: { value: 'video' },
195
198
  });
199
+ // expect(screen.getAllByText('color')[0]).toBeInTheDocument()
196
200
  return [4 /*yield*/, (0, react_1.waitFor)(function () {
197
- expect(updateSpy).toBeCalledTimes(1);
201
+ expect(Utils.enhancedUpdate).toBeCalledTimes(3);
198
202
  })];
199
203
  case 1:
204
+ // expect(screen.getAllByText('color')[0]).toBeInTheDocument()
200
205
  _a.sent();
201
206
  return [2 /*return*/];
202
207
  }
@@ -205,16 +210,22 @@ describe('Template Infomation Tab Component', function () {
205
210
  it('Remove row', function () { return __awaiter(void 0, void 0, void 0, function () {
206
211
  var removeBtn;
207
212
  return __generator(this, function (_a) {
208
- ;
209
- Utils.enhancedUpdate.mockImplementation(utils.enhancedUpdate);
210
- renderUi();
211
- removeBtn = react_1.screen.getAllByRole('button', {
212
- name: /Common.Delete/i,
213
- });
214
- removeBtn.forEach(function (btn) {
215
- react_1.fireEvent.click(btn);
216
- });
217
- return [2 /*return*/];
213
+ switch (_a.label) {
214
+ case 0:
215
+ renderUi();
216
+ removeBtn = react_1.screen.getAllByRole('button', {
217
+ name: /Common.Delete/i,
218
+ });
219
+ removeBtn.forEach(function (btn) {
220
+ react_1.fireEvent.click(btn);
221
+ });
222
+ return [4 /*yield*/, (0, react_1.waitFor)(function () {
223
+ expect(Utils.enhancedUpdate).toBeCalledTimes(2);
224
+ })];
225
+ case 1:
226
+ _a.sent();
227
+ return [2 /*return*/];
228
+ }
218
229
  });
219
230
  }); });
220
231
  });
@@ -1,15 +1,36 @@
1
+ /// <reference types="lodash" />
1
2
  import { ITemplateParameter } from '../../Types';
2
3
  import { DataObject } from '../../../../AWING';
3
- export declare const CUSTOM_FIELD_NAME: {
4
+ export interface IFlatParameter {
5
+ parentFieldType: string | undefined;
6
+ parentId: string[];
7
+ parentFieldName: string[];
8
+ errField: boolean;
9
+ shouldRemove: boolean;
10
+ id: string;
11
+ templateId: string;
12
+ fieldName: string;
13
+ fieldType: string;
14
+ defaultValue: string | number | boolean | null;
15
+ labelName: string;
16
+ isRequired: boolean;
17
+ childrens: IFlatParameter[];
18
+ isAdvanced: boolean;
19
+ }
20
+ export declare const FIELDS: {
4
21
  CHILDRENS: string;
5
22
  REMOVE: string;
6
23
  FIELD_TYPE: string;
24
+ FIELD_NAME: string;
7
25
  IS_REQUIRED: string;
8
26
  IS_ADVANCED: string;
27
+ LABEL_NAME: string;
28
+ DEFAULT_VALUE: string;
29
+ PARENT_ID: string;
9
30
  };
10
31
  export declare const removeFiledName: (templateParameters: ITemplateParameter[]) => ITemplateParameter[];
11
- export declare const flattenParameter4Parent: (rows: DataObject[], parentFieldName?: string[]) => DataObject[];
12
- export declare const flattenParameter: (parameters: DataObject[], parentId?: string[], parentFieldType?: string, parentFieldName?: string[]) => DataObject[];
32
+ export declare const flattenParameter4Parent: ((rows: DataObject[], parentFieldName?: string[]) => DataObject[]) & import("lodash").MemoizedFunction;
33
+ export declare const flattenParameter: ((parameters: DataObject[], parentId?: string[], parentFieldType?: string, parentFieldName?: string[]) => IFlatParameter[]) & import("lodash").MemoizedFunction;
13
34
  export declare const enhancedFindIndex: (rows: DataObject[], ids: string[]) => number[];
14
35
  /**
15
36
  * function enhancedUpdate
@@ -22,4 +43,7 @@ export declare const enhancedFindIndex: (rows: DataObject[], ids: string[]) => n
22
43
  * @param defaultParam
23
44
  */
24
45
  export declare const enhancedUpdate: (rows: DataObject[], ids: string[], field: string, value: any, defaultParam: ITemplateParameter) => void;
25
- export declare const enhancedRemove: (ids: string[]) => void;
46
+ /**
47
+ * viết type là DataObject thôi nhưng type của nó là:
48
+ */
49
+ export declare const getFieldName: ((row: IFlatParameter) => string) & import("lodash").MemoizedFunction;
@@ -20,22 +20,26 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
20
20
  return to.concat(ar || Array.prototype.slice.call(from));
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.enhancedRemove = exports.enhancedUpdate = exports.enhancedFindIndex = exports.flattenParameter = exports.flattenParameter4Parent = exports.removeFiledName = exports.CUSTOM_FIELD_NAME = void 0;
23
+ exports.getFieldName = exports.enhancedUpdate = exports.enhancedFindIndex = exports.flattenParameter = exports.flattenParameter4Parent = exports.removeFiledName = exports.FIELDS = void 0;
24
24
  var Enum_1 = require("../../../../ACM-AXN/ViewTemplate/Enum");
25
25
  var lodash_1 = require("lodash");
26
- exports.CUSTOM_FIELD_NAME = {
26
+ exports.FIELDS = {
27
27
  CHILDRENS: 'childrens',
28
28
  REMOVE: 'remove',
29
29
  FIELD_TYPE: 'fieldType',
30
+ FIELD_NAME: 'fieldName',
30
31
  IS_REQUIRED: 'isRequired',
31
32
  IS_ADVANCED: 'isAdvanced',
33
+ LABEL_NAME: 'labelName',
34
+ DEFAULT_VALUE: 'defaultValue',
35
+ PARENT_ID: 'parentId',
32
36
  };
33
37
  var removeFiledName = function (templateParameters) { return templateParameters.map(function (item) {
34
38
  var _a;
35
39
  return (__assign(__assign({}, item), { childrens: (0, exports.removeFiledName)(item.childrens), fieldName: (_a = item === null || item === void 0 ? void 0 : item.fieldName) === null || _a === void 0 ? void 0 : _a.split('.').at(-1) }));
36
40
  }); };
37
41
  exports.removeFiledName = removeFiledName;
38
- var flattenParameter4Parent = function (rows, parentFieldName) {
42
+ exports.flattenParameter4Parent = (0, lodash_1.memoize)(function (rows, parentFieldName) {
39
43
  if (parentFieldName === void 0) { parentFieldName = []; }
40
44
  parentFieldName = parentFieldName.filter(Boolean);
41
45
  return rows
@@ -50,15 +54,14 @@ var flattenParameter4Parent = function (rows, parentFieldName) {
50
54
  ], false).flat()), true);
51
55
  })
52
56
  .flat();
53
- };
54
- exports.flattenParameter4Parent = flattenParameter4Parent;
55
- var flattenParameter = function (parameters, parentId, parentFieldType, parentFieldName) {
57
+ });
58
+ exports.flattenParameter = (0, lodash_1.memoize)(function (parameters, parentId, parentFieldType, parentFieldName) {
56
59
  if (parentId === void 0) { parentId = []; }
57
60
  if (parentFieldName === void 0) { parentFieldName = []; }
58
61
  var shouldRemove = parameters.length > 1;
59
62
  return parameters
60
63
  .map(function (item) {
61
- var errField = !!parameters.find(function (el) { return el.id !== item.id && el.fieldName === item.fieldName; });
64
+ var errField = !!parameters.find(function (el) { return el.id !== item.id && el.fieldName === item.fieldName; }) || item.fieldName === '';
62
65
  var childrens = __spreadArray([], item.childrens, true);
63
66
  parentFieldName = parentFieldName.filter(function (field) { return field !== undefined; });
64
67
  // delete item.childrens
@@ -69,9 +72,17 @@ var flattenParameter = function (parameters, parentId, parentFieldType, parentFi
69
72
  item.fieldName,
70
73
  ], false).flat()), true);
71
74
  })
72
- .flat();
73
- };
74
- exports.flattenParameter = flattenParameter;
75
+ .flat().map(function (item) {
76
+ Object.keys(item).forEach(function (key) {
77
+ var value = item[key];
78
+ if (Array.isArray(value)) {
79
+ ;
80
+ item[key] = value.filter(Boolean);
81
+ }
82
+ });
83
+ return item;
84
+ });
85
+ });
75
86
  var enhancedFindIndex = function (rows, ids) {
76
87
  var indexs = [];
77
88
  var index = (0, lodash_1.findIndex)(rows, { id: ids[0] });
@@ -102,14 +113,14 @@ var enhancedUpdate = function (rows, ids, field, value, defaultParam) {
102
113
  }
103
114
  else {
104
115
  switch (field) {
105
- case exports.CUSTOM_FIELD_NAME.CHILDRENS:
116
+ case exports.FIELDS.CHILDRENS:
106
117
  rowsUpdate[indexs[turn]].childrens.push(value);
107
118
  break;
108
- case exports.CUSTOM_FIELD_NAME.REMOVE: {
119
+ case exports.FIELDS.REMOVE: {
109
120
  rowsUpdate.splice(indexs[turn], 1);
110
121
  break;
111
122
  }
112
- case exports.CUSTOM_FIELD_NAME.FIELD_TYPE: {
123
+ case exports.FIELDS.FIELD_TYPE: {
113
124
  ;
114
125
  rowsUpdate[indexs[turn]][field] = value;
115
126
  rowsUpdate[indexs[turn]].childrens = [];
@@ -134,5 +145,22 @@ var enhancedUpdate = function (rows, ids, field, value, defaultParam) {
134
145
  }
135
146
  };
136
147
  exports.enhancedUpdate = enhancedUpdate;
137
- var enhancedRemove = function (ids) { };
138
- exports.enhancedRemove = enhancedRemove;
148
+ /**
149
+ * viết type là DataObject thôi nhưng type của nó là:
150
+ */
151
+ exports.getFieldName = (0, lodash_1.memoize)(function (row) {
152
+ var value = '';
153
+ var parentName = row.parentFieldName.length
154
+ ? __spreadArray(__spreadArray([], row.parentFieldName, true), [''], false).join('.')
155
+ : '';
156
+ if (parentName.split('.').length === row.parentId.length) {
157
+ parentName += '.';
158
+ }
159
+ if (row.fieldName) {
160
+ value += parentName + row.fieldName;
161
+ }
162
+ if (row.parentId.length && !value.split('.').at(row.parentId.length)) {
163
+ value = parentName;
164
+ }
165
+ return value;
166
+ });
@@ -58,7 +58,7 @@ var TabFile_1 = __importDefault(require("../../../ACM-AXN/Page/CreateOrEdit/TabF
58
58
  var enums_1 = require("../../../ACM-AXN/Page/enums");
59
59
  var AWING_1 = require("../../../AWING");
60
60
  var Wrapper_1 = __importDefault(require("../../../AWING/HOC/Wrapper"));
61
- var immer_1 = __importDefault(require("immer"));
61
+ var immer_1 = require("immer");
62
62
  var Router_1 = require("../../../AWING/Router");
63
63
  var validation_1 = require("../../../AWING/ultis/validation");
64
64
  var ClassicDrawer_1 = __importDefault(require("../../../Commons/Components/ClassicDrawer"));
@@ -90,6 +90,7 @@ var CreateOrEdit = function () {
90
90
  var _e = (0, react_1.useState)([]), templateTypes = _e[0], setTemplateTypes = _e[1];
91
91
  var _f = (0, recoil_1.useRecoilState)(Recoils_1.templateState), templateData = _f[0], setTemplateData = _f[1];
92
92
  var confirmExit = (0, recoil_1.useRecoilValue)(Recoils_1.isEditState);
93
+ var isError = (0, recoil_1.useRecoilValue)(Recoils_1.isErrorParameterState);
93
94
  var _g = (0, react_1.useState)('0'), value = _g[0], setValue = _g[1];
94
95
  (0, react_1.useEffect)(function () {
95
96
  setLoading(true);
@@ -104,7 +105,7 @@ var CreateOrEdit = function () {
104
105
  // eslint-disable-next-line react-hooks/exhaustive-deps
105
106
  }, []);
106
107
  (0, react_1.useEffect)(function () {
107
- setTemplateData((0, immer_1.default)(function (prev) {
108
+ setTemplateData((0, immer_1.produce)(function (prev) {
108
109
  var _a;
109
110
  prev.template.directoryId =
110
111
  prev.template.directoryId ||
@@ -152,7 +153,7 @@ var CreateOrEdit = function () {
152
153
  var fetchTemplateData = function () {
153
154
  if (templateId) {
154
155
  return service.templatesGet(templateId).then(function (res) {
155
- setTemplateData(__assign(__assign({}, res), { templateParameters: (0, Utils_1.removeFiledName)(res.templateParameters) }));
156
+ setTemplateData(__assign(__assign({}, res), { template: __assign(__assign({}, res.template), { pageCode: isNaN(Number(res.template.pageCode)) ? res.template.pageCode : Number(res.template.pageCode) ? 'lgn' : 'wlc' }), templateParameters: (0, Utils_1.removeFiledName)(res.templateParameters) }));
156
157
  });
157
158
  }
158
159
  };
@@ -205,7 +206,10 @@ var CreateOrEdit = function () {
205
206
  }
206
207
  return service.templatesPost(data4Update);
207
208
  };
208
- return ((0, jsx_runtime_1.jsx)(ClassicDrawer_1.default, { title: "".concat(t(['TemplateManagement', templateId ? 'Edit' : 'Create'].join('.'))).concat(templateId ? ": ".concat((_a = templateData === null || templateData === void 0 ? void 0 : templateData.template) === null || _a === void 0 ? void 0 : _a.description) : '', "\n "), onSubmit: handleSubmit, disableButtonSubmit: !((_b = templateData.template) === null || _b === void 0 ? void 0 : _b.templateTypeId) || !descriptionValid.valid || !confirmExit, confirmExit: confirmExit, childrenWrapperStyle: { padding: 0 }, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, sx: {
209
+ return ((0, jsx_runtime_1.jsx)(ClassicDrawer_1.default, { title: "".concat(t(['TemplateManagement', templateId ? 'Edit' : 'Create'].join('.'))).concat(templateId ? ": ".concat((_a = templateData === null || templateData === void 0 ? void 0 : templateData.template) === null || _a === void 0 ? void 0 : _a.description) : '', "\n "), onSubmit: handleSubmit, disableButtonSubmit: !((_b = templateData.template) === null || _b === void 0 ? void 0 : _b.templateTypeId) ||
210
+ !descriptionValid.valid ||
211
+ !confirmExit ||
212
+ isError, confirmExit: confirmExit, childrenWrapperStyle: { padding: 0 }, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, sx: {
209
213
  display: 'flex',
210
214
  flexDirection: 'column',
211
215
  flexGrow: 1,
@@ -51,13 +51,16 @@ var ImportTemplate = function () {
51
51
  };
52
52
  var handleSubmit = function () {
53
53
  var directoryId = bussinessData.directoryId, id = bussinessData.id, name = bussinessData.name;
54
- return service.templatesImport(directoryId, id, name, {
54
+ return service.templatesImport(directoryId, id || '0', name, {
55
55
  data: tempFile,
56
56
  fileName: tempFile === null || tempFile === void 0 ? void 0 : tempFile.name,
57
57
  });
58
58
  };
59
- var handleChangeFormData = (0, react_1.useCallback)(function (obj) {
60
- setBussinessData(function (prev) { return (__assign(__assign(__assign(__assign({}, prev), { id: prev.id || '0' }), obj), { directoryId: (obj === null || obj === void 0 ? void 0 : obj.directoryId) || rootDirectoryId })); });
59
+ var handleChangeFormData = (0, react_1.useCallback)(function (obj, valid, key) {
60
+ setBussinessData(function (prev) {
61
+ var _a;
62
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = obj[key], _a.directoryId = (obj === null || obj === void 0 ? void 0 : obj.directoryId) || rootDirectoryId, _a)));
63
+ });
61
64
  }, [rootDirectoryId]);
62
65
  return ((0, jsx_runtime_1.jsxs)(ClassicDrawer_1.default, { title: t('TemplateManagement.ImportTemplate'), onSubmit: handleSubmit, disableButtonSubmit: !(tempFile === null || tempFile === void 0 ? void 0 : tempFile.name), confirmExit: true, childrenWrapperStyle: { padding: 0 }, children: [(0, jsx_runtime_1.jsx)(AWING_1.DataForm, { fields: [
63
66
  {
@@ -114,11 +114,11 @@ jest.mock('react-i18next', function () { return (__assign(__assign({}, jest.requ
114
114
  // Mock React
115
115
  jest.mock('react', function () { return (__assign(__assign({}, jest.requireActual('react')), { forwardRef: jest.fn(function (arg) { return arg; }), useRef: function () { return ({ current: { click: function () { } } }); } })); });
116
116
  // Mock Drawer
117
- jest.mock('awing-library/lib/Commons/Components/ClassicDrawer', function () { return function (props) {
117
+ jest.mock('Commons/Components/ClassicDrawer', function () { return function (props) {
118
118
  return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("button", { "data-testid": "onSubmit", onClick: props.onSubmit, children: "submit" }), props.children] }));
119
119
  }; });
120
120
  // Mock DataForm
121
- jest.mock('awing-library/lib/AWING', function () { return ({
121
+ jest.mock('AWING', function () { return ({
122
122
  DataForm: function (props) {
123
123
  var _a, _b, _c;
124
124
  props.fields.forEach(function (element) {