awing-library 2.1.145-beta → 2.1.145

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 (213) hide show
  1. package/lib/ACM-AXN/AuthenticationProfile/Container.js +4 -4
  2. package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/index.js +2 -2
  3. package/lib/ACM-AXN/Campaign/Container.js +52 -54
  4. package/lib/ACM-AXN/Campaign/Container.test.js +1 -3
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +8 -1
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +27 -3
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.d.ts +17 -0
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.js +121 -0
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.d.ts +1 -0
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.js +219 -0
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.d.ts +2 -0
  12. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +306 -0
  13. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
  14. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
  15. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.d.ts +1 -0
  16. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.js +123 -0
  17. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.d.ts +1 -0
  18. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.js +253 -0
  19. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +21 -5
  20. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.d.ts +1 -1
  21. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.js +47 -78
  22. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +2 -1
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +2 -2
  24. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +2 -1
  25. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +2 -1
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +19 -42
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +298 -96
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +119 -54
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +8 -6
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +1 -1
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.d.ts +9 -0
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.js +56 -0
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +12 -0
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +23 -8
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +3 -3
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +63 -12
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +10 -0
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -29
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +1 -1
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +1 -1
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +1 -1
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +44 -33
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +3 -2
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  61. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +172 -59
  62. package/lib/ACM-AXN/Campaign/Enum.d.ts +24 -6
  63. package/lib/ACM-AXN/Campaign/Enum.js +30 -11
  64. package/lib/ACM-AXN/Campaign/Types.d.ts +53 -5
  65. package/lib/ACM-AXN/Campaign/Utils.d.ts +6 -1
  66. package/lib/ACM-AXN/Campaign/Utils.js +50 -3
  67. package/lib/ACM-AXN/Campaign/index.js +2 -2
  68. package/lib/ACM-AXN/CampaignPlan/Container.js +4 -6
  69. package/lib/ACM-AXN/CampaignPlan/Detail.js +3 -3
  70. package/lib/ACM-AXN/CampaignPlan/Filter.js +3 -3
  71. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
  72. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
  73. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +6 -4
  74. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
  75. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
  76. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
  77. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
  78. package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
  79. package/lib/ACM-AXN/Common/Constant.js +2 -0
  80. package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
  81. package/lib/ACM-AXN/Common/Enum.js +19 -4
  82. package/lib/ACM-AXN/Common/Types.d.ts +5 -0
  83. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  84. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  85. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  86. package/lib/ACM-AXN/Holiday/FormHoliday.js +1 -0
  87. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  88. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  89. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  90. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
  91. package/lib/ACM-AXN/Page/Constant.js +2 -0
  92. package/lib/ACM-AXN/Page/Container.js +3 -3
  93. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  94. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  95. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -2
  96. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -12
  97. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/TrackingCode.js +1 -1
  98. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  99. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  100. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  101. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  102. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +11 -44
  103. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  104. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +39 -61
  105. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +29 -32
  106. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -6
  107. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +19 -4
  108. package/lib/ACM-AXN/Page/Import/index.js +2 -2
  109. package/lib/ACM-AXN/Page/Types.d.ts +3 -0
  110. package/lib/ACM-AXN/Page/enums.d.ts +5 -0
  111. package/lib/ACM-AXN/Page/enums.js +7 -1
  112. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  113. package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
  114. package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
  115. package/lib/ACM-AXN/PlaceFilter/Tag/component/TagChip.js +1 -1
  116. package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
  117. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
  118. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
  119. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
  120. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
  121. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
  122. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  123. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
  124. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  125. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  126. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  127. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
  128. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
  129. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +13 -10
  130. package/lib/ACM-AXN/Statistics/ControlPanel.js +17 -5
  131. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  132. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  133. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
  134. package/lib/ACM-AXN/StatisticsByProvince/DataTable.js +1 -1
  135. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +4 -4
  136. package/lib/ACM-AXN/Template/Container.js +2 -2
  137. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
  138. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
  139. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
  140. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -37
  141. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
  142. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
  143. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
  144. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
  145. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
  146. package/lib/ACM-AXN/Template/Import.js +2 -2
  147. package/lib/ACM-AXN/Template/Types.d.ts +9 -9
  148. package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
  149. package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
  150. package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.js +23 -11
  151. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  152. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  153. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +42 -129
  154. package/lib/ACM-AXN/ViewTemplate/common.d.ts +2 -1
  155. package/lib/ACM-AXN/ViewTemplate/common.js +47 -7
  156. package/lib/ACM-AXN/ViewTemplate/container.js +8 -2
  157. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  158. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  159. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  160. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  161. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  162. package/lib/ACM-AXN/index.d.ts +1 -0
  163. package/lib/ACM-AXN/index.js +1 -0
  164. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  165. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  166. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  167. package/lib/AWING/Chart/BarLineComponent.js +20 -24
  168. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  169. package/lib/AWING/Chart/PieComponent.js +16 -16
  170. package/lib/AWING/Chart/Styles.js +51 -16
  171. package/lib/AWING/DataForm/DataInput.js +105 -23
  172. package/lib/AWING/DataForm/interface.d.ts +2 -0
  173. package/lib/AWING/DataGrid/index.js +8 -13
  174. package/lib/AWING/DateRangePicker/component.js +80 -32
  175. package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
  176. package/lib/AWING/DateRangePicker/configDate.js +12 -12
  177. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  178. package/lib/AWING/Form/useForm.js +3 -2
  179. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  180. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  181. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  182. package/lib/AWING/GoogleMap/index.js +41 -0
  183. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  184. package/lib/AWING/GoogleMap/interface.js +2 -0
  185. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  186. package/lib/AWING/GoogleMap/utils.js +135 -0
  187. package/lib/AWING/GroupTable/GroupTable.js +2 -2
  188. package/lib/AWING/GroupTable/component.d.ts +1 -0
  189. package/lib/AWING/GroupTable/component.js +2 -2
  190. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  191. package/lib/AWING/NumberFormat/index.js +2 -2
  192. package/lib/AWING/PageManagement/PageManagement.js +4 -3
  193. package/lib/AWING/Pagination/index.js +11 -3
  194. package/lib/AWING/index.d.ts +1 -0
  195. package/lib/AWING/index.js +1 -0
  196. package/lib/AWING/ultis/validation.d.ts +1 -0
  197. package/lib/AWING/ultis/validation.js +25 -6
  198. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  199. package/lib/Commons/Components/HighlightedCode/MarkdownElement.js +6 -1
  200. package/lib/Commons/Hooks/usePath.js +3 -3
  201. package/lib/Utils/Helpers.d.ts +3 -2
  202. package/lib/Utils/Helpers.js +50 -14
  203. package/lib/i18n.js +31 -2
  204. package/lib/translate/en/translation.json +131 -71
  205. package/lib/translate/id/translation.json +893 -0
  206. package/lib/translate/ind/translation.json +893 -0
  207. package/lib/translate/ja/translation.json +893 -0
  208. package/lib/translate/lao/translation.json +893 -0
  209. package/lib/translate/mys/translation.json +893 -0
  210. package/lib/translate/phl/translation.json +893 -0
  211. package/lib/translate/th/translation.json +893 -0
  212. package/lib/translate/vi/translation.json +91 -31
  213. package/package.json +9 -4
@@ -62,6 +62,7 @@ export interface IGeoFencing extends IFilterFieldBase {
62
62
  } | undefined;
63
63
  GOONG_MAP_KEY: string;
64
64
  GOONG_API_KEY: string;
65
+ GOOGLE_MAP_KEY: string;
65
66
  radiusLimit?: {
66
67
  min?: number;
67
68
  max?: number;
@@ -52,12 +52,19 @@ function Container() {
52
52
  var _a, _b;
53
53
  setLoading(true);
54
54
  service
55
- .scheduleCompletionRatesGet((_a = filter === null || filter === void 0 ? void 0 : filter.startDate) === null || _a === void 0 ? void 0 : _a.format('YYYY-MM-DD'), (_b = filter === null || filter === void 0 ? void 0 : filter.endDate) === null || _b === void 0 ? void 0 : _b.format('YYYY-MM-DD'))
55
+ .scheduleCompletionRatesGet({
56
+ fromDate: (_a = filter === null || filter === void 0 ? void 0 : filter.startDate) === null || _a === void 0 ? void 0 : _a.format('YYYY-MM-DD'),
57
+ toDate: (_b = filter === null || filter === void 0 ? void 0 : filter.endDate) === null || _b === void 0 ? void 0 : _b.format('YYYY-MM-DD'),
58
+ level: 0,
59
+ })
56
60
  .then(function (res) {
57
- var valueNew = (0, Utils_1.converData)(res, type);
61
+ var resNew = res.sort(function (a, b) {
62
+ return a.campaignId.localeCompare(b.campaignId);
63
+ });
64
+ var valueNew = (0, Utils_1.converData)(resNew, type);
58
65
  updateData(valueNew);
59
66
  // Dư liệu mặc định chưa update
60
- setDefaultFullSchedules(res);
67
+ setDefaultFullSchedules(resNew);
61
68
  })
62
69
  .finally(function () {
63
70
  setLoading(false);
@@ -94,7 +101,7 @@ function Container() {
94
101
  var _a = paths.split('.'), _r = _a[0], campaignId = _a[1], groupId = _a[2];
95
102
  navigate("".concat(Constant_1.Constants.DETAIL_PATH, "/").concat(campaignId, "/").concat(groupId));
96
103
  };
97
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_helmet_async_1.HelmetProvider, { children: (0, jsx_runtime_1.jsx)(react_helmet_async_1.Helmet, { children: (0, jsx_runtime_1.jsx)("title", { children: t('ScheduleCompletionRate.Title') }) }) }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h5", component: "h1", color: "inherit", noWrap: true, fontWeight: 'bold', sx: { mb: 2 }, children: t('ScheduleCompletionRate.Title') }), (0, jsx_runtime_1.jsxs)(material_1.Paper, { elevation: 1, children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: { pt: 3, pl: 2, pr: 2 }, children: (0, jsx_runtime_1.jsx)(Filter_1.default, { filter: filter, onUpdateFilter: handleUpdateFilter }) }), loading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(AWING_1.DataGrid, { columns: [
104
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_helmet_async_1.HelmetProvider, { children: (0, jsx_runtime_1.jsx)(react_helmet_async_1.Helmet, { children: (0, jsx_runtime_1.jsx)("title", { children: t('ScheduleCompletionRate.Title') }) }) }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h5", component: "h1", color: "inherit", noWrap: true, fontWeight: 'bold', sx: { mb: 2 }, children: t('ScheduleCompletionRate.Title') }), (0, jsx_runtime_1.jsxs)(material_1.Paper, { elevation: 1, children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: { pt: 3, pl: 2, pr: 2 }, children: (0, jsx_runtime_1.jsx)(Filter_1.default, { filter: filter, onUpdateFilter: handleUpdateFilter, scheduleCompletionRate: defaultFullSchedules }) }), loading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(AWING_1.DataGrid, { columns: [
98
105
  {
99
106
  field: '#',
100
107
  headerName: '#',
@@ -105,17 +112,10 @@ function Container() {
105
112
  field: 'campaignName',
106
113
  headerName: t('ScheduleCompletionRate.CampaignName'),
107
114
  valueGetter: function (row) {
108
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("span", { children: [(row === null || row === void 0 ? void 0 : row.campaignId) !== -1
109
- ? (row === null || row === void 0 ? void 0 : row.campaignName) ||
110
- "ID:\n ".concat(row === null || row === void 0 ? void 0 : row.campaignId)
111
- : t('ScheduleCompletionRate.CampaignDefault'), (row === null || row === void 0 ? void 0 : row.isNetWork) && ((0, jsx_runtime_1.jsx)("span", { style: {
112
- backgroundColor: '#c49f47',
113
- color: '#ffffff',
114
- fontSize: '13px',
115
- marginLeft: '4px',
116
- padding: '1px 4px',
117
- borderRadius: '2px',
118
- }, children: "Network" }))] }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
115
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { children: (row === null || row === void 0 ? void 0 : row.campaignId) !== -1
116
+ ? (row === null || row === void 0 ? void 0 : row.campaignName) ||
117
+ "ID:\n ".concat(row === null || row === void 0 ? void 0 : row.campaignId)
118
+ : t('ScheduleCompletionRate.CampaignDefault') }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
119
119
  display: 'flex',
120
120
  flexDirection: 'row',
121
121
  alignItems: 'center',
@@ -186,7 +186,7 @@ function Container() {
186
186
  },
187
187
  type: 'number',
188
188
  valueGetter: function (row) {
189
- return (0, Helpers_1.formatNumber)(row.rate.toFixed(2));
189
+ return (0, Helpers_1.formatNumber)(row.rate.toFixed(2) || 0);
190
190
  },
191
191
  },
192
192
  ], rows: (0, Helpers_1.offlinePaginate)(schedules, queryInput.pageIndex, queryInput.pageSize), sortModel: sortModels, onSortModelChange: setSortModels, getRowId: function (row) {
@@ -1,6 +1,6 @@
1
1
  import { Moment } from 'moment';
2
2
  import { ConvertExcelData } from './Types';
3
- export declare const DataSetConfigs: (exportData: ConvertExcelData[] | ConvertExcelData, t: any, startDate: Moment, endDate: Moment) => {
3
+ export declare const DataSetConfigs: (exportData: ConvertExcelData[] | ConvertExcelData, startDate: Moment, endDate: Moment) => {
4
4
  sheetByCampaign: ({
5
5
  columns: string[];
6
6
  data: (({
@@ -26,7 +26,15 @@ export declare const DataSetConfigs: (exportData: ConvertExcelData[] | ConvertEx
26
26
  };
27
27
  };
28
28
  } | {
29
- value: any;
29
+ value: string;
30
+ style: {
31
+ font: {
32
+ sz: string;
33
+ bold: boolean;
34
+ };
35
+ };
36
+ } | {
37
+ value: number;
30
38
  style: {
31
39
  font: {
32
40
  sz: string;
@@ -35,14 +43,11 @@ export declare const DataSetConfigs: (exportData: ConvertExcelData[] | ConvertEx
35
43
  };
36
44
  })[])[];
37
45
  } | {
38
- columns: any[];
39
- data: string[][];
40
- })[];
41
- sheetCampaignDetail: ({
42
46
  columns: string[];
43
- data: any[][];
44
- } | {
45
- columns: any[];
46
47
  data: string[][];
47
48
  })[];
49
+ sheetCampaignDetail: {
50
+ columns: string[];
51
+ data: (string | number | undefined)[][];
52
+ }[];
48
53
  };
@@ -15,7 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.DataSetConfigs = void 0;
16
16
  var lodash_1 = __importDefault(require("lodash"));
17
17
  var moment_1 = __importDefault(require("moment"));
18
- var DataSetConfigs = function (exportData, t, startDate, endDate) {
18
+ var i18n_1 = __importDefault(require("../../i18n"));
19
+ var DataSetConfigs = function (exportData, startDate, endDate) {
19
20
  // check NaN and Infinity
20
21
  var checkNumber = function (value) {
21
22
  return !isNaN(value) && Number.isFinite(value) ? value : 0;
@@ -24,13 +25,13 @@ var DataSetConfigs = function (exportData, t, startDate, endDate) {
24
25
  {
25
26
  columns: [
26
27
  '#',
27
- t('Schedule.CampaignName'),
28
- t('Schedule.StartDate'),
29
- t('Schedule.EndDate'),
30
- t('Schedule.Date'),
31
- t('Schedule.Estimate'),
32
- t('Schedule.Reality'),
33
- "".concat(t('Schedule.CompletionRate'), "(%)"),
28
+ i18n_1.default.t('Schedule.CampaignName'),
29
+ i18n_1.default.t('Schedule.StartDate'),
30
+ i18n_1.default.t('Schedule.EndDate'),
31
+ i18n_1.default.t('Schedule.Date'),
32
+ i18n_1.default.t('Schedule.Estimate'),
33
+ i18n_1.default.t('Schedule.Reality'),
34
+ "".concat(i18n_1.default.t('Schedule.CompletionRate'), "(%)"),
34
35
  ],
35
36
  data: [['', '', '', '', '', '', '', '']],
36
37
  }
@@ -124,7 +125,7 @@ var DataSetConfigs = function (exportData, t, startDate, endDate) {
124
125
  { value: '', style: { font: { sz: '13' } } },
125
126
  { value: '', style: { font: { sz: '13' } } },
126
127
  {
127
- value: t('Schedule.Total'),
128
+ value: i18n_1.default.t('Schedule.Total'),
128
129
  style: { font: { sz: '13', bold: true } },
129
130
  },
130
131
  {
@@ -147,14 +148,14 @@ var DataSetConfigs = function (exportData, t, startDate, endDate) {
147
148
  {
148
149
  columns: [
149
150
  '#',
150
- t('Schedule.CampaignName'),
151
- t('Schedule.StartDate'),
152
- t('Schedule.EndDate'),
153
- t('Schedule.DataFromDateToDate'),
154
- t('Schedule.Place'),
155
- t('Schedule.Estimate'),
156
- t('Schedule.Reality'),
157
- "".concat(t('Schedule.CompletionRate'), "(%)"),
151
+ i18n_1.default.t('Schedule.CampaignName'),
152
+ i18n_1.default.t('Schedule.StartDate'),
153
+ i18n_1.default.t('Schedule.EndDate'),
154
+ i18n_1.default.t('Schedule.DataFromDateToDate'),
155
+ i18n_1.default.t('Schedule.Place'),
156
+ i18n_1.default.t('Schedule.Estimate'),
157
+ i18n_1.default.t('Schedule.Reality'),
158
+ "".concat(i18n_1.default.t('Schedule.CompletionRate'), "(%)"),
158
159
  ],
159
160
  data: [['', '', '', '', '', '', '', '', '']],
160
161
  }
@@ -200,7 +201,7 @@ var DataSetConfigs = function (exportData, t, startDate, endDate) {
200
201
  '',
201
202
  '',
202
203
  '',
203
- t('Schedule.Total'),
204
+ i18n_1.default.t('Schedule.Total'),
204
205
  sumTotalQuantity,
205
206
  sumTotalRun,
206
207
  totalRate,
@@ -46,21 +46,31 @@ function CompletionRate() {
46
46
  var scheduleCompletionRate = (0, recoil_1.useRecoilValue)(Recoils_1.scheduleCompletionRateAtom);
47
47
  var _b = (0, react_1.useState)(true), loading = _b[0], setLoading = _b[1];
48
48
  var _c = (0, react_1.useState)(Utils_1.QueryInputDetail), queryInput = _c[0], setQueryInput = _c[1];
49
- var _d = (0, react_1.useState)(), scheduleGroupBy = _d[0], setScheduleGroupBy = _d[1];
49
+ var _d = (0, react_1.useState)([]), scheduleGroupBy = _d[0], setScheduleGroupBy = _d[1];
50
50
  (0, react_1.useEffect)(function () {
51
51
  var _a, _b, _c, _d;
52
52
  service
53
- .scheduleCompletionRatesPaging((_b = (_a = scheduleCompletionRate === null || scheduleCompletionRate === void 0 ? void 0 : scheduleCompletionRate.filter) === null || _a === void 0 ? void 0 : _a.startDate) === null || _b === void 0 ? void 0 : _b.format('YYYY-MM-DD'), (_d = (_c = scheduleCompletionRate === null || scheduleCompletionRate === void 0 ? void 0 : scheduleCompletionRate.filter) === null || _c === void 0 ? void 0 : _c.endDate) === null || _d === void 0 ? void 0 : _d.format('YYYY-MM-DD'), campaignId, Number(groupId), 'date', queryInput.pageIndex, queryInput.pageSize)
53
+ .scheduleCompletionRatesGet({
54
+ fromDate: (_b = (_a = scheduleCompletionRate === null || scheduleCompletionRate === void 0 ? void 0 : scheduleCompletionRate.filter) === null || _a === void 0 ? void 0 : _a.startDate) === null || _b === void 0 ? void 0 : _b.format('YYYY-MM-DD'),
55
+ toDate: (_d = (_c = scheduleCompletionRate === null || scheduleCompletionRate === void 0 ? void 0 : scheduleCompletionRate.filter) === null || _c === void 0 ? void 0 : _c.endDate) === null || _d === void 0 ? void 0 : _d.format('YYYY-MM-DD'),
56
+ level: 1,
57
+ campaignAdGroups: [
58
+ {
59
+ campaignId: campaignId,
60
+ campaignGroupId: Number(groupId),
61
+ },
62
+ ],
63
+ })
54
64
  .then(function (res) {
55
- var valueNew = (0, Utils_1.converData)((res === null || res === void 0 ? void 0 : res.items) || [], type, completionRateInfo === null || completionRateInfo === void 0 ? void 0 : completionRateInfo.billingUnit);
56
- setScheduleGroupBy(__assign(__assign({}, res), { items: valueNew.length ? valueNew : [] }));
65
+ var valueNew = (0, Utils_1.converData)(res, type);
66
+ setScheduleGroupBy(valueNew);
57
67
  setScheduleCompletionRate(function (oldState) { return (__assign(__assign({}, oldState), { detailCompletionRateDate: valueNew.length ? valueNew : [] })); });
58
68
  })
59
69
  .finally(function () {
60
70
  setLoading(false);
61
71
  });
62
72
  // eslint-disable-next-line react-hooks/exhaustive-deps
63
- }, [queryInput]);
73
+ }, []);
64
74
  var handleRowClick = function (itemRow) {
65
75
  navigate("".concat((0, moment_1.default)(itemRow.date).format('DD-MM-YYYY')));
66
76
  };
@@ -127,7 +137,7 @@ function CompletionRate() {
127
137
  };
128
138
  },
129
139
  },
130
- ], onRowClick: handleRowClick, rows: (scheduleGroupBy === null || scheduleGroupBy === void 0 ? void 0 : scheduleGroupBy.items) || [], getRowId: function (row) { return row; }, pageSize: queryInput.pageSize, pageIndex: queryInput.pageIndex, totalOfRows: (scheduleGroupBy === null || scheduleGroupBy === void 0 ? void 0 : scheduleGroupBy.totalItemCount) || 0, onPageIndexChange: function (pageIndex) {
140
+ ], onRowClick: handleRowClick, rows: (0, Helpers_1.offlinePaginate)(scheduleGroupBy, queryInput.pageIndex, queryInput.pageSize), getRowId: function (row) { return row; }, pageSize: queryInput.pageSize, pageIndex: queryInput.pageIndex, totalOfRows: scheduleGroupBy.length || 0, onPageIndexChange: function (pageIndex) {
131
141
  setQueryInput(function (prev) { return (__assign(__assign({}, prev), { pageIndex: pageIndex })); });
132
142
  }, onPageSizeChange: function (pageSize) {
133
143
  setQueryInput(function (prev) { return (__assign(__assign({}, prev), { pageSize: pageSize, pageIndex: 0 })); });
@@ -24,12 +24,12 @@ var react_1 = require("react");
24
24
  var moment_1 = __importDefault(require("moment"));
25
25
  var recoil_1 = require("recoil");
26
26
  var Router_1 = require("../../../AWING/Router");
27
- var Helpers_1 = require("../../../Utils/Helpers");
28
27
  var react_i18next_1 = require("react-i18next");
29
28
  var Hooks_1 = __importDefault(require("../Hooks"));
30
29
  var material_1 = require("@mui/material");
31
30
  var ClassicDrawer_1 = __importDefault(require("../../../Commons/Components/ClassicDrawer"));
32
31
  var Utils_1 = require("../Utils");
32
+ var Helpers_1 = require("../../../Utils/Helpers");
33
33
  var AWING_1 = require("../../../AWING");
34
34
  var Recoils_1 = require("../Recoils");
35
35
  function CompletionRateDate() {
@@ -37,25 +37,32 @@ function CompletionRateDate() {
37
37
  var _a = (0, Router_1.useParams)(), campaignId = _a.campaignId, groupId = _a.groupId, date = _a.date;
38
38
  var service = (0, Hooks_1.default)().service;
39
39
  var completionRateDateInfo = (0, recoil_1.useRecoilValue)((0, Recoils_1.detailCompletionRateDateItem)(date));
40
- console.log('completionRateDateInfo =================>', completionRateDateInfo);
41
40
  var type = (0, recoil_1.useRecoilValue)(Recoils_1.ScheduleCompletionRateTypeViewState).type;
42
41
  var schedule = (0, recoil_1.useRecoilValue)(Recoils_1.scheduleCompletionRateAtom);
43
42
  var _b = (0, react_1.useState)(true), loading = _b[0], setLoading = _b[1];
44
43
  var _c = (0, react_1.useState)(Utils_1.QueryInputDetail), queryInput = _c[0], setQueryInput = _c[1];
45
- var _d = (0, react_1.useState)(), scheduleGroupByDate = _d[0], setScheduleGroupByDate = _d[1];
44
+ var _d = (0, react_1.useState)([]), scheduleGroupByDate = _d[0], setScheduleGroupByDate = _d[1];
46
45
  (0, react_1.useEffect)(function () {
47
46
  service
48
- .scheduleCompletionRatesPaging((0, moment_1.default)(date, 'DD-MM-YYYY').format('YYYY-MM-DD'), (0, moment_1.default)(date, 'DD-MM-YYYY').format('YYYY-MM-DD'), campaignId, Number(groupId), 'placeId', queryInput.pageIndex, queryInput.pageSize)
47
+ .scheduleCompletionRatesGet({
48
+ fromDate: (0, moment_1.default)(date, 'DD-MM-YYYY').format('YYYY-MM-DD'),
49
+ toDate: (0, moment_1.default)(date, 'DD-MM-YYYY').format('YYYY-MM-DD'),
50
+ level: 2,
51
+ campaignAdGroups: [
52
+ {
53
+ campaignId: campaignId,
54
+ campaignGroupId: Number(groupId),
55
+ },
56
+ ],
57
+ })
49
58
  .then(function (res) {
50
- console.log('res =================>', res);
51
- var valueNew = (0, Utils_1.converData)((res === null || res === void 0 ? void 0 : res.items) || [], type, completionRateDateInfo === null || completionRateDateInfo === void 0 ? void 0 : completionRateDateInfo.billingUnit);
52
- setScheduleGroupByDate(__assign(__assign({}, res), { items: valueNew.length ? valueNew : [] }));
59
+ setScheduleGroupByDate((0, Utils_1.converData)(res || [], type));
53
60
  })
54
61
  .finally(function () {
55
62
  setLoading(false);
56
63
  });
57
64
  // eslint-disable-next-line react-hooks/exhaustive-deps
58
- }, [queryInput]);
65
+ }, []);
59
66
  return ((0, jsx_runtime_1.jsx)(ClassicDrawer_1.default, { title: "".concat(t('ScheduleCompletionRate.Date'), ": ").concat(loading && !date ? 'loading...' : date || '', " "), childrenWrapperStyle: { p: 3 }, children: loading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(AWING_1.DataGrid, { spanningRows: (0, jsx_runtime_1.jsxs)(material_1.TableRow, { sx: {
60
67
  flex: 1,
61
68
  background: 'lightgrey',
@@ -77,7 +84,7 @@ function CompletionRateDate() {
77
84
  return item.placeId === row.placeId;
78
85
  });
79
86
  return (itemPlace === null || itemPlace === void 0 ? void 0 : itemPlace.name)
80
- ? itemPlace === null || itemPlace === void 0 ? void 0 : itemPlace.name
87
+ ? itemPlace.name
81
88
  : "ID: ".concat(row.placeId);
82
89
  },
83
90
  width: 350,
@@ -122,7 +129,7 @@ function CompletionRateDate() {
122
129
  };
123
130
  },
124
131
  },
125
- ], rows: (scheduleGroupByDate === null || scheduleGroupByDate === void 0 ? void 0 : scheduleGroupByDate.items) || [], pageSize: queryInput.pageSize, pageIndex: queryInput.pageIndex, totalOfRows: (scheduleGroupByDate === null || scheduleGroupByDate === void 0 ? void 0 : scheduleGroupByDate.totalItemCount) || 0, onPageIndexChange: function (pageIndex) {
132
+ ], rows: (0, Helpers_1.offlinePaginate)(scheduleGroupByDate, queryInput.pageIndex, queryInput.pageSize), pageSize: queryInput.pageSize, pageIndex: queryInput.pageIndex, totalOfRows: scheduleGroupByDate.length || 0, onPageIndexChange: function (pageIndex) {
126
133
  setQueryInput(function (prev) { return (__assign(__assign({}, prev), { pageIndex: pageIndex })); });
127
134
  }, onPageSizeChange: function (pageSize) {
128
135
  setQueryInput(function (prev) { return (__assign(__assign({}, prev), { pageSize: pageSize, pageIndex: 0 })); });
@@ -3,10 +3,11 @@
3
3
  * @author dauquan1108@gmail.com on 03/13/2024.
4
4
  *
5
5
  **/
6
- import { FilterType } from './Types';
6
+ import { FilterType, ScheduleCompletionRate } from './Types';
7
7
  interface PropsFilter {
8
8
  filter: FilterType;
9
9
  onUpdateFilter: (valueNew: FilterType) => void;
10
+ scheduleCompletionRate: ScheduleCompletionRate[];
10
11
  }
11
12
  declare function Filter(props: PropsFilter): import("react/jsx-runtime").JSX.Element;
12
13
  export default Filter;
@@ -10,15 +10,6 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
- if (ar || !(i in from)) {
16
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
- ar[i] = from[i];
18
- }
19
- }
20
- return to.concat(ar || Array.prototype.slice.call(from));
21
- };
22
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
23
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
15
  };
@@ -45,6 +36,7 @@ var Utils_1 = require("./Utils");
45
36
  var recoil_1 = require("recoil");
46
37
  var Recoils_1 = require("./Recoils");
47
38
  var exportFile_1 = require("../../ACM-AXN/CampaignSchedule/exportFile");
39
+ var lodash_1 = require("lodash");
48
40
  var useStyles = (0, styles_1.makeStyles)(function () { return ({
49
41
  outlinedInput: {
50
42
  '& .MuiOutlinedInput-input': {
@@ -68,7 +60,7 @@ var useStyles = (0, styles_1.makeStyles)(function () { return ({
68
60
  },
69
61
  }); });
70
62
  function Filter(props) {
71
- var filter = props.filter, onUpdateFilter = props.onUpdateFilter;
63
+ var filter = props.filter, scheduleCompletionRate = props.scheduleCompletionRate, onUpdateFilter = props.onUpdateFilter;
72
64
  var t = (0, react_i18next_1.useTranslation)().t;
73
65
  var classes = useStyles();
74
66
  var snackbar = (0, Context_1.useAwing)().appHelper.snackbar;
@@ -78,13 +70,7 @@ function Filter(props) {
78
70
  var _a = (0, recoil_1.useRecoilState)(Recoils_1.ScheduleCompletionRateTypeViewState), filterType = _a[0], setFilterType = _a[1];
79
71
  var _b = (0, react_1.useState)(false), isLoadings = _b[0], setIsLoadings = _b[1];
80
72
  var _c = (0, react_1.useState)(), dateRangeInput = _c[0], setDateRangeInput = _c[1];
81
- var _d = (0, react_1.useState)([
82
- {
83
- id: Utils_1.DefaultValueFilter.campaignId,
84
- isNetwork: false,
85
- name: t('Common.SelectAll'),
86
- },
87
- ]), campaigns = _d[0], setCampaigns = _d[1];
73
+ var _d = (0, react_1.useState)([]), campaigns = _d[0], setCampaigns = _d[1];
88
74
  (0, react_1.useEffect)(function () {
89
75
  var _a;
90
76
  if (!((_a = schedule === null || schedule === void 0 ? void 0 : schedule.places) === null || _a === void 0 ? void 0 : _a.length)) {
@@ -93,32 +79,15 @@ function Filter(props) {
93
79
  });
94
80
  }
95
81
  // eslint-disable-next-line react-hooks/exhaustive-deps
96
- }, [schedule]);
97
- (0, react_1.useEffect)(function () {
98
- var _a, _b;
99
- service
100
- .scheduleCompletionRatesQuery((_a = filter === null || filter === void 0 ? void 0 : filter.startDate) === null || _a === void 0 ? void 0 : _a.format('YYYY-MM-DD'), (_b = filter === null || filter === void 0 ? void 0 : filter.endDate) === null || _b === void 0 ? void 0 : _b.format('YYYY-MM-DD'))
101
- .then(function (data) {
102
- var listCampaign = data.map(function (item) { return (__assign(__assign({}, item.campaign), { isNetwork: item.isNetworkCampaign })); });
103
- var campaign = campaigns.find(function (item) {
104
- return item.id === (filter === null || filter === void 0 ? void 0 : filter.campaignId) &&
105
- item.id !== (Utils_1.DefaultValueFilter === null || Utils_1.DefaultValueFilter === void 0 ? void 0 : Utils_1.DefaultValueFilter.campaignId);
106
- });
107
- var isCampaign = listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.some(function (item) { return item.id === (filter === null || filter === void 0 ? void 0 : filter.campaignId); });
108
- var tempCampaignList = __spreadArray([
109
- {
110
- id: Utils_1.DefaultValueFilter.campaignId,
111
- name: t('Common.SelectAll'),
112
- }
113
- ], listCampaign, true);
114
- var options = isCampaign
115
- ? tempCampaignList
116
- : campaign
117
- ? __spreadArray(__spreadArray([], tempCampaignList, true), [campaign], false) : tempCampaignList;
118
- setCampaigns(options);
119
- });
120
- // eslint-disable-next-line react-hooks/exhaustive-deps
121
- }, [filter.startDate, filter.endDate]);
82
+ }, [schedule === null || schedule === void 0 ? void 0 : schedule.places.length]);
83
+ (0, react_1.useLayoutEffect)(function () {
84
+ setCampaigns((0, lodash_1.uniqBy)([
85
+ {
86
+ campaignId: Utils_1.DefaultValueFilter.campaignId,
87
+ campaignName: t('Common.SelectAll'),
88
+ },
89
+ ].concat(scheduleCompletionRate), 'campaignId'));
90
+ }, [scheduleCompletionRate, t]);
122
91
  var handleChangeQueryInput = function (queryParams) {
123
92
  onUpdateFilter(__assign(__assign({}, queryParams), { campaignId: filter.campaignId }));
124
93
  };
@@ -126,12 +95,17 @@ function Filter(props) {
126
95
  var _a, _b;
127
96
  setIsLoadings(true);
128
97
  service
129
- .scheduleCompletionRatesExport((_a = filter === null || filter === void 0 ? void 0 : filter.startDate) === null || _a === void 0 ? void 0 : _a.format('YYYY-MM-DD'), (_b = filter === null || filter === void 0 ? void 0 : filter.endDate) === null || _b === void 0 ? void 0 : _b.format('YYYY-MM-DD'), filter.campaignId, undefined)
98
+ .scheduleCompletionRatesGet({
99
+ fromDate: (_a = filter === null || filter === void 0 ? void 0 : filter.startDate) === null || _a === void 0 ? void 0 : _a.format('YYYY-MM-DD'),
100
+ toDate: (_b = filter === null || filter === void 0 ? void 0 : filter.endDate) === null || _b === void 0 ? void 0 : _b.format('YYYY-MM-DD'),
101
+ level: 1,
102
+ })
130
103
  .then(function (res) {
131
- var _a, _b, _c, _d;
132
- var dataByCampaign = (_a = (0, DataSetConfig_1.DataSetConfigs)((0, Utils_1.convertExcelData)(res, campaigns, schedule.places, t, filterType.type), t, filter === null || filter === void 0 ? void 0 : filter.startDate, filter === null || filter === void 0 ? void 0 : filter.endDate)) === null || _a === void 0 ? void 0 : _a.sheetByCampaign;
133
- var dataByCampaignDetail = (_b = (0, DataSetConfig_1.DataSetConfigs)((0, Utils_1.convertExcelData)(res, campaigns, schedule.places, t, filterType.type), t, filter === null || filter === void 0 ? void 0 : filter.startDate, filter === null || filter === void 0 ? void 0 : filter.endDate)) === null || _b === void 0 ? void 0 : _b.sheetCampaignDetail;
134
- var fileName = "AWING_DELIVERY_STATUS_BY_DAY_".concat((_c = filter === null || filter === void 0 ? void 0 : filter.startDate) === null || _c === void 0 ? void 0 : _c.format('DD-MM-YYYY'), " to ").concat((_d = filter === null || filter === void 0 ? void 0 : filter.endDate) === null || _d === void 0 ? void 0 : _d.format('YYYYMMDD'));
104
+ var _a, _b;
105
+ var Data = (0, DataSetConfig_1.DataSetConfigs)((0, Utils_1.convertExcelData)(res, campaigns, schedule.places, filterType.type), filter === null || filter === void 0 ? void 0 : filter.startDate, filter === null || filter === void 0 ? void 0 : filter.endDate);
106
+ var dataByCampaign = Data === null || Data === void 0 ? void 0 : Data.sheetByCampaign;
107
+ var dataByCampaignDetail = Data === null || Data === void 0 ? void 0 : Data.sheetCampaignDetail;
108
+ var fileName = "AWING_DELIVERY_STATUS_BY_DAY_".concat((_a = filter === null || filter === void 0 ? void 0 : filter.startDate) === null || _a === void 0 ? void 0 : _a.format('DD-MM-YYYY'), " to ").concat((_b = filter === null || filter === void 0 ? void 0 : filter.endDate) === null || _b === void 0 ? void 0 : _b.format('YYYYMMDD'));
135
109
  var dataExport = [
136
110
  {
137
111
  dataSet: dataByCampaign,
@@ -172,7 +146,7 @@ function Filter(props) {
172
146
  setFilterType({
173
147
  type: e.target.value,
174
148
  });
175
- }, children: [(0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: Constant_1.TypeView.billingUnit, children: t('Common.BillingUnit') }), (0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: Constant_1.TypeView.impression, children: t('Common.Impression') })] })] }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
149
+ }, children: [(0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: Constant_1.TypeView.billingUnit, children: t('Campaign.BillingUnit.Title') }), (0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: Constant_1.TypeView.impression, children: t('Common.Impression') })] })] }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
176
150
  width: '260px',
177
151
  minWidth: '260px',
178
152
  marginRight: '16px',
@@ -184,10 +158,15 @@ function Filter(props) {
184
158
  className: classes.outlinedInput,
185
159
  }, callback: handleChangeDateRange, isDayBlocked: function (day) {
186
160
  var now = (0, moment_1.default)().endOf('day').valueOf();
187
- return now < day.valueOf();
161
+ if (now < day.valueOf()) {
162
+ return true;
163
+ }
164
+ else {
165
+ return false;
166
+ }
188
167
  } }) }), (0, jsx_runtime_1.jsx)(SearchCampaign_1.default, { filter: filter, campaigns: campaigns, onUpdateFilter: onUpdateFilter }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "primary", onClick: function () {
189
168
  handleChangeQueryInput(dateRangeInput);
190
- }, style: { height: '40px' }, children: t('Common.View') }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", title: t('Common.Download'), onClick: function () { return handleChangeExportInput(); }, color: "inherit", disabled: isLoadings, style: {
169
+ }, style: { height: '40px' }, children: t('Common.View') }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", title: t('Common.Download'), onClick: handleChangeExportInput, color: "inherit", disabled: isLoadings, style: {
191
170
  marginLeft: '16px',
192
171
  height: '40px',
193
172
  }, children: isLoadings ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, { styleWrap: {
@@ -207,7 +207,7 @@ jest.mock('../../ACM-AXN/Statistics/ControlPanel', function () { return function
207
207
  }; });
208
208
  var renderUi = function () {
209
209
  var mockOnUpdateFilter = jest.fn();
210
- return (0, react_1.render)((0, jsx_runtime_1.jsx)(Filter_1.default, { filter: Utils_1.DefaultValueFilter, onUpdateFilter: mockOnUpdateFilter }));
210
+ return (0, react_1.render)((0, jsx_runtime_1.jsx)(Filter_1.default, { scheduleCompletionRate: [], filter: Utils_1.DefaultValueFilter, onUpdateFilter: mockOnUpdateFilter }));
211
211
  };
212
212
  describe('Filter component', function () {
213
213
  it('Check render component', function () {
@@ -3,10 +3,10 @@
3
3
  * @author dauquan1108@gmail.com on 03/27/2024.
4
4
  *
5
5
  **/
6
- import { FilterType, Campaign } from './Types';
6
+ import { FilterType, ScheduleCompletionRate } from './Types';
7
7
  interface PropsSearchCampaign {
8
8
  filter: FilterType;
9
- campaigns: Campaign[];
9
+ campaigns: ScheduleCompletionRate[];
10
10
  onUpdateFilter: (valueNew: FilterType) => void;
11
11
  }
12
12
  declare function SearchCampaign(props: PropsSearchCampaign): import("react/jsx-runtime").JSX.Element;
@@ -11,6 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
+ var react_1 = require("react");
14
15
  var jsx_runtime_1 = require("react/jsx-runtime");
15
16
  /**
16
17
  *
@@ -27,15 +28,8 @@ function SearchCampaign(props) {
27
28
  onUpdateFilter({
28
29
  campaignId: reason === 'clear'
29
30
  ? Utils_1.DefaultValueFilter.campaignId
30
- : campaignItem === null || campaignItem === void 0 ? void 0 : campaignItem.id,
31
+ : campaignItem === null || campaignItem === void 0 ? void 0 : campaignItem.campaignId,
31
32
  });
32
- }, sx: { marginRight: function (theme) { return theme.spacing(2); } }, getOptionLabel: function (option) { return (option === null || option === void 0 ? void 0 : option.name) || ''; }, value: campaigns.find(function (item) { return item.id === filter.campaignId; }), renderInput: function (params) { return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { label: t('CampaignPlan.CampaignName') }))); }, renderOption: function (props, option) { return ((0, jsx_runtime_1.jsxs)("li", __assign({}, props, { children: [option.name, (option === null || option === void 0 ? void 0 : option.isNetwork) && ((0, jsx_runtime_1.jsx)("span", { style: {
33
- backgroundColor: '#c49f47',
34
- color: '#ffffff',
35
- fontSize: '13px',
36
- marginLeft: '4px',
37
- padding: '1px 4px !important',
38
- borderRadius: '2px',
39
- }, children: "Network" }))] }))); } }));
33
+ }, sx: { marginRight: function (theme) { return theme.spacing(2); } }, getOptionLabel: function (option) { return (option === null || option === void 0 ? void 0 : option.campaignName) || ''; }, value: campaigns.find(function (item) { return item.campaignId === filter.campaignId; }), renderInput: function (params) { return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { label: t('CampaignPlan.CampaignName') }))); }, renderOption: function (props, option) { return ((0, react_1.createElement)("li", __assign({}, props, { key: option.campaignId }), option.campaignName || option.campaignId)); } }));
40
34
  }
41
35
  exports.default = SearchCampaign;
@@ -33,11 +33,22 @@ export interface ScheduleCompletionRatePropsContext {
33
33
  service: ScheduleCompletionRateService;
34
34
  }
35
35
  export interface ScheduleCompletionRateService {
36
- scheduleCompletionRatesGet: (fromDate: string | undefined, toDate: string | undefined, cancelToken?: CancelToken) => Promise<ScheduleCompletionRate[]>;
37
- scheduleCompletionRatesQuery: (fromDate: string | undefined, toDate: string | undefined, cancelToken?: CancelToken) => Promise<CampaignPlanModel[]>;
38
- scheduleCompletionRatesExport: (fromDate: string | undefined, toDate: string | undefined, campaignId: string | undefined, groupId: number | undefined, cancelToken?: CancelToken) => Promise<ScheduleCompletionRateExport[]>;
36
+ scheduleCompletionRatesGet: (body: ScheduleCompletionRateDTO | undefined, cancelToken?: CancelToken) => Promise<ScheduleCompletionRate[]>;
39
37
  placesGetAllByPlaceGroupHasPermission: (cancelToken?: CancelToken) => Promise<Place[]>;
40
- scheduleCompletionRatesPaging: (fromDate: string | undefined, toDate: string | undefined, campaignId: string | undefined, groupId: number | undefined, groupBy: string | undefined, pageIndex: number | undefined, pageSize: number | undefined, cancelToken?: CancelToken) => Promise<PagedList_1OfScheduleCompletionRatePaging>;
38
+ }
39
+ export interface CampaignAdGroup {
40
+ campaignId?: string;
41
+ campaignGroupId?: number | undefined;
42
+ campaignAdId?: number | undefined;
43
+ }
44
+ export interface ScheduleCompletionRateDTO {
45
+ fromDate?: string;
46
+ toDate?: string;
47
+ campaignAdGroups?: CampaignAdGroup[] | undefined;
48
+ placeIds?: string[] | undefined;
49
+ domainIds?: string[] | undefined;
50
+ /** Cấp độ truy vấn. O = lấy tất cả theo campaign group, 1 = lấy theo campaign group date, 2 = lấy theo campaign, group, date và place */
51
+ level?: number;
41
52
  }
42
53
  export interface Place {
43
54
  placeId?: string;
@@ -101,41 +112,10 @@ export interface IScheduleCompletionRatePaging {
101
112
  totalQuantity?: number;
102
113
  totalRun?: number;
103
114
  }
104
- export interface PagedList_1OfScheduleCompletionRatePaging {
105
- items?: ScheduleCompletionRatePaging[] | undefined;
106
- pageCount?: number;
107
- totalItemCount?: number;
108
- pageNumber?: number;
109
- pageSize?: number;
110
- hasPreviousPage?: boolean;
111
- hasNextPage?: boolean;
112
- }
113
- export interface ScheduleCompletionRateExport {
114
- campaignId?: string;
115
- placeId?: string;
116
- groupId?: number;
117
- groupName?: string | undefined;
118
- billingUnit?: AnalyticType;
119
- runs?: AnalyticEventSummary[] | undefined;
120
- expecteds?: AnalyticEventSummary[] | undefined;
121
- date?: string;
122
- }
123
115
  export interface Timestamp {
124
116
  seconds?: string;
125
117
  nanos?: number;
126
118
  }
127
- export interface Campaign {
128
- id?: string;
129
- directoryId?: string;
130
- directoryPath?: string | undefined;
131
- name?: string | undefined;
132
- createdDate?: Timestamp;
133
- isNetwork?: boolean;
134
- }
135
- export interface CampaignPlanModel {
136
- campaign?: Campaign;
137
- isNetworkCampaign?: boolean;
138
- }
139
119
  export declare enum AnalyticType {
140
120
  View = 0,
141
121
  Authentication = 1,
@@ -150,12 +130,12 @@ export interface ScheduleCompletionRate {
150
130
  campaignId?: string;
151
131
  campaignName?: string | undefined;
152
132
  billingUnit?: AnalyticType;
153
- isNetWork?: boolean;
154
133
  placeId?: string;
155
134
  groupId?: number;
156
135
  groupName?: string | undefined;
157
136
  runs?: AnalyticEventSummary[] | undefined;
158
137
  expecteds?: AnalyticEventSummary[] | undefined;
138
+ date?: string;
159
139
  fromDate?: string;
160
140
  toDate?: string;
161
141
  }