awing-library 2.1.128-beta → 2.1.128

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 (217) hide show
  1. package/lib/ACM-AXN/Campaign/Container.js +52 -54
  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 +27 -3
  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/ChartWithType.d.ts +6 -1
  21. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +3 -22
  22. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +2 -1
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +2 -3
  24. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +22 -43
  25. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +321 -103
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.js +1 -1
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +122 -58
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +11 -8
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +13 -19
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +7 -0
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +98 -0
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +3 -3
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +35 -70
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +26 -8
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -32
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +5 -2
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +2 -2
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +6 -0
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.d.ts +8 -0
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.js +47 -0
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +52 -6
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.d.ts +1 -0
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.js +3 -1
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.d.ts +4 -3
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +13 -7
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.d.ts +1 -1
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +75 -123
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
  61. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
  62. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.d.ts +2 -0
  63. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +8 -3
  64. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
  65. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  66. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  67. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +176 -59
  68. package/lib/ACM-AXN/Campaign/Enum.d.ts +23 -4
  69. package/lib/ACM-AXN/Campaign/Enum.js +30 -10
  70. package/lib/ACM-AXN/Campaign/Types.d.ts +52 -6
  71. package/lib/ACM-AXN/Campaign/Utils.d.ts +5 -0
  72. package/lib/ACM-AXN/Campaign/Utils.js +29 -2
  73. package/lib/ACM-AXN/Campaign/index.js +2 -2
  74. package/lib/ACM-AXN/CampaignPlan/Container.js +21 -10
  75. package/lib/ACM-AXN/CampaignPlan/Container.test.d.ts +1 -1
  76. package/lib/ACM-AXN/CampaignPlan/Container.test.js +1 -2
  77. package/lib/ACM-AXN/CampaignPlan/Detail.js +5 -7
  78. package/lib/ACM-AXN/CampaignPlan/Detail.test.d.ts +1 -1
  79. package/lib/ACM-AXN/CampaignPlan/Detail.test.js +2 -3
  80. package/lib/ACM-AXN/CampaignPlan/Filter.js +11 -4
  81. package/lib/ACM-AXN/CampaignPlan/Filter.test.d.ts +1 -1
  82. package/lib/ACM-AXN/CampaignPlan/Filter.test.js +0 -1
  83. package/lib/ACM-AXN/CampaignPlan/Types.d.ts +6 -74
  84. package/lib/ACM-AXN/CampaignPlan/Types.js +1 -253
  85. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
  86. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +7 -5
  87. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
  88. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
  89. package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +1 -1
  90. package/lib/ACM-AXN/CampaignSchedule/Enum.js +1 -1
  91. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
  92. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
  93. package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
  94. package/lib/ACM-AXN/Common/Constant.js +2 -0
  95. package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
  96. package/lib/ACM-AXN/Common/Enum.js +19 -4
  97. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  98. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  99. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  100. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  101. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  102. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  103. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
  104. package/lib/ACM-AXN/Page/Container.js +3 -3
  105. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  106. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  107. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -1
  108. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -1
  109. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  110. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  111. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  112. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  113. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +6 -9
  114. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  115. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +40 -61
  116. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +26 -30
  117. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -8
  118. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +5 -3
  119. package/lib/ACM-AXN/Page/enums.d.ts +5 -0
  120. package/lib/ACM-AXN/Page/enums.js +7 -1
  121. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  122. package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
  123. package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
  124. package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
  125. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
  126. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
  127. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
  128. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
  129. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
  130. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  131. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
  132. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  133. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  134. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  135. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
  136. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
  137. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +14 -11
  138. package/lib/ACM-AXN/Statistics/ControlPanel.js +16 -4
  139. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  140. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  141. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
  142. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +3 -3
  143. package/lib/ACM-AXN/Template/Container.js +1 -1
  144. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
  145. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
  146. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
  147. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -39
  148. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
  149. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
  150. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
  151. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
  152. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
  153. package/lib/ACM-AXN/Template/Import.js +6 -3
  154. package/lib/ACM-AXN/Template/Types.d.ts +9 -9
  155. package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
  156. package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
  157. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  158. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  159. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +46 -160
  160. package/lib/ACM-AXN/ViewTemplate/common.js +2 -3
  161. package/lib/ACM-AXN/ViewTemplate/container.js +23 -24
  162. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  163. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  164. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  165. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  166. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  167. package/lib/ACM-AXN/index.d.ts +1 -0
  168. package/lib/ACM-AXN/index.js +1 -0
  169. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  170. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  171. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  172. package/lib/AWING/Chart/BarLineComponent.js +29 -11
  173. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  174. package/lib/AWING/Chart/PieComponent.js +16 -16
  175. package/lib/AWING/Chart/Styles.js +51 -16
  176. package/lib/AWING/DataForm/DataInput.js +63 -20
  177. package/lib/AWING/DataForm/interface.d.ts +1 -0
  178. package/lib/AWING/DataGrid/index.js +8 -13
  179. package/lib/AWING/DateRangePicker/component.js +42 -23
  180. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  181. package/lib/AWING/Form/useForm.js +3 -2
  182. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  183. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  184. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  185. package/lib/AWING/GoogleMap/index.js +41 -0
  186. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  187. package/lib/AWING/GoogleMap/interface.js +2 -0
  188. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  189. package/lib/AWING/GoogleMap/utils.js +135 -0
  190. package/lib/AWING/GroupTable/GroupTable.js +4 -5
  191. package/lib/AWING/GroupTable/component.d.ts +1 -0
  192. package/lib/AWING/GroupTable/component.js +2 -2
  193. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  194. package/lib/AWING/NumberFormat/index.js +2 -2
  195. package/lib/AWING/PageManagement/PageManagement.js +2 -2
  196. package/lib/AWING/Pagination/index.js +10 -3
  197. package/lib/AWING/index.d.ts +1 -0
  198. package/lib/AWING/index.js +1 -0
  199. package/lib/AWING/ultis/validation.d.ts +1 -0
  200. package/lib/AWING/ultis/validation.js +21 -5
  201. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  202. package/lib/Commons/Components/DeprecatedEnhancedDialog.js +1 -1
  203. package/lib/Commons/Hooks/usePath.js +3 -3
  204. package/lib/Utils/Helpers.d.ts +4 -2
  205. package/lib/Utils/Helpers.js +58 -7
  206. package/lib/i18n.js +14 -2
  207. package/lib/translate/en/translation.json +114 -71
  208. package/lib/translate/id/translation.json +870 -0
  209. package/lib/translate/jp/translation.json +870 -0
  210. package/lib/translate/tha/translation.json +870 -0
  211. package/lib/translate/vi/translation.json +78 -35
  212. package/package.json +131 -126
  213. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/fakeCampaignData.json +0 -397
  214. package/lib/ACM-AXN/ScheduleCompletionRate/json.d.ts +0 -61
  215. package/lib/ACM-AXN/ScheduleCompletionRate/json.js +0 -268
  216. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.d.ts +0 -5
  217. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.js +0 -14
@@ -10,26 +10,36 @@ 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
+ };
13
22
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
24
  };
16
25
  Object.defineProperty(exports, "__esModule", { value: true });
17
26
  var jsx_runtime_1 = require("react/jsx-runtime");
27
+ var Enum_1 = require("../../../../../ACM-AXN/Campaign/Enum");
28
+ var exportFile_1 = require("../../../../../ACM-AXN/CampaignSchedule/exportFile");
29
+ var Enum_2 = require("../../../../../ACM-AXN/Common/Enum");
30
+ var Helpers_1 = require("../../../../../Utils/Helpers");
31
+ var lodash_1 = require("lodash");
32
+ var moment_1 = __importDefault(require("moment"));
18
33
  var react_1 = require("react");
34
+ var Context_1 = __importDefault(require("../Context"));
19
35
  var common_1 = require("../common");
20
36
  var Utils_1 = require("./Utils");
21
37
  var component_1 = __importDefault(require("./component"));
22
- var moment_1 = __importDefault(require("moment"));
23
- var Enum_1 = require("../../../../../ACM-AXN/Campaign/Enum");
24
- var lodash_1 = require("lodash");
25
- var Context_1 = __importDefault(require("../Context"));
26
- var exportFile_1 = require("../../../../../ACM-AXN/CampaignSchedule/exportFile");
27
38
  var AnalyticContainer = function (props) {
28
- var campaignId = props.campaignId, startDate = props.startDate, endDate = props.endDate, subCampaigns = props.subCampaigns, domains = props.domains;
39
+ var campaignId = props.campaignId, startDate = props.startDate, endDate = props.endDate, subCampaigns = props.subCampaigns, domains = props.domains, campaignName = props.campaignName, fullPlaces = props.fullPlaces;
29
40
  var client = (0, Context_1.default)().services;
30
41
  var _a = (0, react_1.useState)(true), isLoading = _a[0], setIsLoading = _a[1];
31
42
  var _b = (0, react_1.useState)([]), statisticalChartData = _b[0], setStatisticalChartData = _b[1];
32
- var _c = (0, react_1.useState)([]), statisticalData = _c[0], setStatisticalData = _c[1];
33
43
  var placesOfCampaign = (0, react_1.useMemo)(function () {
34
44
  var result = [];
35
45
  subCampaigns.forEach(function (sub) {
@@ -47,12 +57,16 @@ var AnalyticContainer = function (props) {
47
57
  }, [subCampaigns]);
48
58
  var filterPlaces = function (ids) {
49
59
  var result = [];
50
- subCampaigns.map(function (sub) {
60
+ subCampaigns.forEach(function (sub) {
51
61
  var _a;
52
- (_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.map(function (ad) {
62
+ (_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
53
63
  var _a;
54
- if (ids.find(function (id) { var _a; return id.campaignGroupId == ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id) && (!id.campaignAdId || id.campaignAdId == (ad === null || ad === void 0 ? void 0 : ad.id)); })) {
55
- (_a = ad === null || ad === void 0 ? void 0 : ad.places) === null || _a === void 0 ? void 0 : _a.map(function (place) {
64
+ if (ids.find(function (id) {
65
+ var _a;
66
+ return id.campaignGroupId == ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id) &&
67
+ (!id.campaignAdId || id.campaignAdId == (ad === null || ad === void 0 ? void 0 : ad.id));
68
+ })) {
69
+ (_a = ad === null || ad === void 0 ? void 0 : ad.places) === null || _a === void 0 ? void 0 : _a.forEach(function (place) {
56
70
  if (!result.find(function (r) { return r.placeId == place.placeId; })) {
57
71
  result.push(place);
58
72
  }
@@ -70,66 +84,116 @@ var AnalyticContainer = function (props) {
70
84
  : selectedPlaces;
71
85
  var selectedDomains = (0, Utils_1.placesToDomains)(selectedPlaces, domains);
72
86
  setIsLoading(true);
73
- client.campaignStatisticGet({
87
+ client
88
+ .campaignStatisticGet({
74
89
  startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
75
90
  endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
76
91
  timelineType: timelineType,
77
- campaignAdGroups: ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); }),
92
+ campaignAdGroups: ids.length
93
+ ? ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); })
94
+ : [{ campaignId: campaignId }],
95
+ analyticGroupBies: __spreadArray([
96
+ Enum_2.AnalyticGroupBy.GbEventLabel,
97
+ Enum_2.AnalyticGroupBy.GbTimeline,
98
+ Enum_2.AnalyticGroupBy.GbCampaignGroupId,
99
+ Enum_2.AnalyticGroupBy.GbCampaignAdId
100
+ ], statisticType ? [Enum_2.AnalyticGroupBy.GbPlaceId] : [], true),
78
101
  placeIds: placeIds,
79
- includedEventLabels: Object.values(Enum_1.BaseEvent)
80
- }).then(function (res) {
81
- setStatisticalData((0, Utils_1.markBillingType)(subCampaigns, res));
82
- setStatisticalChartData(statisticType ? (0, Utils_1.convertToShowDetail)(subCampaigns, res, selectedDomains, selectedPlaces) : res);
83
- }).finally(function () { return setIsLoading(false); });
102
+ includedEventLabels: Object.values(Enum_1.BaseEvent),
103
+ })
104
+ .then(function (res) {
105
+ setStatisticalChartData(statisticType
106
+ ? (0, Utils_1.convertToShowDetail)(subCampaigns, res, selectedDomains, selectedPlaces)
107
+ : res);
108
+ })
109
+ .finally(function () { return setIsLoading(false); });
84
110
  };
85
111
  var exportData = function (time, placeIds, timelineType, exportType, ids) {
86
112
  var selectedPlaces = placeIds.length > 0
87
113
  ? placesOfCampaign.filter(function (p) { return placeIds.includes(p.placeId); })
88
114
  : placesOfCampaign;
89
- // downloadWithDataSet
90
115
  var selectedDomains = (0, Utils_1.placesToDomains)(selectedPlaces, domains);
91
- var exportObj = {
92
- name: "export_statistic_campaign_".concat(campaignId),
93
- data: []
94
- };
95
- switch (exportType) {
96
- case common_1.EXPORT_TYPES.Domain: {
97
- var newObjects = (0, lodash_1.chain)(selectedDomains)
98
- .groupBy('domainId')
99
- .map(function (value) {
100
- var currentPlaces = value
101
- .map(function (x) { return x.places; })
102
- .reduce(function (a, b) { return a.concat(b); }, []);
103
- return {
104
- objectId: value[0].domainId,
105
- objectName: value[0].domainName,
106
- places: currentPlaces,
107
- };
108
- })
109
- .value();
110
- exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(statisticalData, newObjects, timelineType, 'Domain');
111
- exportObj.name += '_groupby_domain';
112
- break;
113
- }
114
- case common_1.EXPORT_TYPES.Export: {
115
- exportObj.data = (0, Utils_1.convertToExport)(subCampaigns, statisticalData, timelineType, selectedPlaces);
116
- exportObj.name += '_total';
117
- break;
116
+ var analyticInfo = (0, Utils_1.campaignAnalyticInfo)(ids.length ? subCampaigns.filter(function (s) { return ids.map(function (i) { return String(i.campaignGroupId); }).includes(String(s.campaignGroup.id)); }) : subCampaigns);
117
+ return client
118
+ .campaignStatisticGet({
119
+ startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
120
+ endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
121
+ timelineType: timelineType,
122
+ campaignAdGroups: ids.length
123
+ ? ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); })
124
+ : [{ campaignId: campaignId }],
125
+ analyticGroupBies: [
126
+ Enum_2.AnalyticGroupBy.GbEventLabel,
127
+ Enum_2.AnalyticGroupBy.GbTimeline,
128
+ Enum_2.AnalyticGroupBy.GbCampaignGroupId,
129
+ Enum_2.AnalyticGroupBy.GbCampaignAdId,
130
+ Enum_2.AnalyticGroupBy.GbPlaceId,
131
+ ],
132
+ placeIds: placeIds,
133
+ includedEventLabels: Object.values(Enum_1.BaseEvent),
134
+ })
135
+ .then(function (res) {
136
+ var statisticalData = (0, Utils_1.markBillingType)(subCampaigns, res);
137
+ var exportObj = {
138
+ name: '',
139
+ data: [],
140
+ };
141
+ switch (exportType) {
142
+ case common_1.EXPORT_TYPES.Domain: {
143
+ var domainObj = (0, lodash_1.chain)(selectedDomains)
144
+ .groupBy('domainId')
145
+ .map(function (value) {
146
+ var currentPlaces = value
147
+ .map(function (x) { return x.places; })
148
+ .reduce(function (a, b) { return a.concat(b); }, []);
149
+ return {
150
+ objectId: value[0].domainId,
151
+ objectName: value[0].domainName,
152
+ places: currentPlaces,
153
+ };
154
+ })
155
+ .value();
156
+ exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(statisticalData, domainObj, timelineType, 'Domain', campaignName !== null && campaignName !== void 0 ? campaignName : '');
157
+ exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'groupby_domain');
158
+ break;
159
+ }
160
+ case common_1.EXPORT_TYPES.Export: {
161
+ exportObj.data = (0, Utils_1.convertToExport)(subCampaigns, statisticalData, timelineType, selectedPlaces, campaignName !== null && campaignName !== void 0 ? campaignName : '', fullPlaces);
162
+ exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'total');
163
+ break;
164
+ }
165
+ case common_1.EXPORT_TYPES.LocationGroup: {
166
+ exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(statisticalData, (0, Utils_1.dataGroupByPlace)(subCampaigns, ids), timelineType, 'Sub Campaign', campaignName !== null && campaignName !== void 0 ? campaignName : '');
167
+ exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'groupby_subcampaign');
168
+ break;
169
+ }
170
+ case common_1.EXPORT_TYPES.Ad: {
171
+ exportObj.data = (0, Utils_1.convertToExportByAd)(subCampaigns, statisticalData, timelineType, campaignName !== null && campaignName !== void 0 ? campaignName : '');
172
+ exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'ad');
173
+ break;
174
+ }
175
+ default: {
176
+ exportObj.data = (0, Utils_1.convertToExportData)(statisticalData, selectedPlaces, timelineType, campaignName !== null && campaignName !== void 0 ? campaignName : '', fullPlaces);
177
+ exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'groupby_place');
178
+ break;
179
+ }
118
180
  }
119
- case common_1.EXPORT_TYPES.LocationGroup: {
120
- exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(statisticalData, (0, Utils_1.dataGroupByPlace)(subCampaigns, ids), timelineType, 'Sub Campaign');
121
- exportObj.name += '_groupby_subcampaign';
122
- break;
181
+ if (analyticInfo === null || analyticInfo === void 0 ? void 0 : analyticInfo.isAllReLabel) {
182
+ exportObj.data.forEach(function (data, index) {
183
+ exportObj.data[index].columns = data.columns.filter(function (_, index) { return index !== data.columns.length - 2; });
184
+ exportObj.data[index].data = data.data.map(function (col) { return col.filter(function (_, index) { return index !== col.length - 2; }); });
185
+ });
123
186
  }
124
- default: {
125
- exportObj.data = (0, Utils_1.convertToExportData)(statisticalData, selectedPlaces, timelineType);
126
- exportObj.name += '_groupby_place';
127
- break;
187
+ if (!(analyticInfo === null || analyticInfo === void 0 ? void 0 : analyticInfo.hasClick)) {
188
+ exportObj.data.forEach(function (data, index) {
189
+ exportObj.data[index].columns = data.columns.filter(function (_, index) { return index !== data.columns.length - 1; });
190
+ exportObj.data[index].data = data.data.map(function (col) { return col.filter(function (_, index) { return index !== col.length - 1; }); });
191
+ });
128
192
  }
129
- }
130
- console.log("exportObj", exportObj);
131
- (0, exportFile_1.downloadWithDataSet)(exportObj.name, exportObj.data);
132
- return;
193
+ (0, Utils_1.addHeaderExcel)(exportObj.data, campaignName !== null && campaignName !== void 0 ? campaignName : '');
194
+ (0, exportFile_1.downloadWithDataSet)(String(exportObj.name).toUpperCase(), exportObj.data);
195
+ return;
196
+ });
133
197
  };
134
198
  return ((0, jsx_runtime_1.jsx)(component_1.default, { domains: domains, startDate: startDate, endDate: endDate, subCampaigns: subCampaigns, isLoading: isLoading, statisticalData: statisticalChartData, getStatisticalData: getStatisticalData, exportData: exportData }));
135
199
  };
@@ -5,7 +5,7 @@ interface Props {
5
5
  isExportType: boolean;
6
6
  onChangeQueryInput: (changeType: string, newValue: any) => void;
7
7
  onQueryData: () => void;
8
- onExportData: (exportType?: string) => void;
8
+ onExportData: (exportType?: string) => void | Promise<void>;
9
9
  domains: any[];
10
10
  }
11
11
  declare const ChartFilterBox: (props: Props) => import("react/jsx-runtime").JSX.Element;
@@ -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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
37
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
38
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -53,7 +76,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
53
76
  var jsx_runtime_1 = require("react/jsx-runtime");
54
77
  var GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
55
78
  var material_1 = require("@mui/material");
56
- var react_1 = require("react");
79
+ var react_1 = __importStar(require("react"));
57
80
  var react_i18next_1 = require("react-i18next");
58
81
  // import { EnhancedDateRangePicker } from 'Components/DateRangePicker'
59
82
  var Helpers_1 = require("../../../../Utils/Helpers");
@@ -65,6 +88,7 @@ var SplitButtonExportType_1 = __importDefault(require("./SplitButtonExportType")
65
88
  var Enum_1 = require("../../../../ACM-AXN/Campaign/Enum");
66
89
  var i18n_1 = __importDefault(require("../../../../i18n"));
67
90
  var Context_1 = __importDefault(require("./Context"));
91
+ var lab_1 = require("@mui/lab");
68
92
  var textFieldStyle = {
69
93
  '& .MuiOutlinedInput-input': {
70
94
  padding: '10.5px !important',
@@ -89,7 +113,8 @@ var ChartFilterBox = function (props) {
89
113
  var
90
114
  // startDate, endDate,
91
115
  subCampaigns = props.subCampaigns, queryInput = props.queryInput, isExportType = props.isExportType, onChangeQueryInput = props.onChangeQueryInput, onQueryData = props.onQueryData, onExportData = props.onExportData, domains = props.domains;
92
- var _a = (0, Context_1.default)(), client = _a.services, PlaceMultiSelect = _a.placeMultiSelectComponent;
116
+ var _a = react_1.default.useState(false), loading = _a[0], setLoading = _a[1];
117
+ var _b = (0, Context_1.default)(), client = _b.services, PlaceMultiSelect = _b.placeMultiSelectComponent;
93
118
  var placeGroups = (0, react_1.useMemo)(function () {
94
119
  return subCampaigns.map(function (x) { return ({
95
120
  groupId: x.campaignGroup.id,
@@ -209,6 +234,23 @@ var ChartFilterBox = function (props) {
209
234
  MONTH: t('Common.Month'),
210
235
  },
211
236
  };
237
+ var handleExport = react_1.default.useCallback(function (type) {
238
+ if (type === void 0) { type = ''; }
239
+ setLoading(true);
240
+ var result = onExportData(typeof type === 'string' ? type : '');
241
+ if (result instanceof Promise) {
242
+ result
243
+ .then(function () {
244
+ setLoading(false);
245
+ })
246
+ .catch(function () {
247
+ setLoading(false);
248
+ });
249
+ }
250
+ else {
251
+ setLoading(false);
252
+ }
253
+ }, [onExportData]);
212
254
  return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1 }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker
213
255
  // noBorder
214
256
  , {
@@ -225,13 +267,9 @@ var ChartFilterBox = function (props) {
225
267
  variant: "outlined", textFieldProps: {
226
268
  fullWidth: true,
227
269
  sx: textFieldStyle,
228
- } }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(PlaceMultiSelect
229
- // disableCheckPermission={true}
230
- , {
231
- // disableCheckPermission={true}
232
- onChange: placeMultiSelectSubmit, initialOption: {
270
+ } }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(PlaceMultiSelect, { disableCheckPermission: !client.domainsGetAll, onChange: placeMultiSelectSubmit, initialOption: {
233
271
  placeGroups: placeGroups,
234
272
  domains: domains.map(function (d) { return (__assign(__assign({}, d), { name: d.domainName })); }),
235
- }, isDisplayTextField: true, TextFieldProps: { sx: textFieldStyle }, onGetPlacesByFilter: handleGetPlacesByFilter }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: (0, jsx_runtime_1.jsx)(material_1.Button, { color: "primary", variant: "contained", fullWidth: true, onClick: function () { return onQueryData(); }, children: translationText.view }) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: !isExportType ? ((0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", onClick: function () { return onExportData(); }, children: (0, jsx_runtime_1.jsx)(GetApp_1.default, {}) })) : ((0, jsx_runtime_1.jsx)(SplitButtonExportType_1.default, { onSubmit: function (exportType) { return onExportData(exportType); } })) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1 })] }));
273
+ }, isDisplayTextField: true, TextFieldProps: { sx: textFieldStyle }, onGetPlacesByFilter: handleGetPlacesByFilter }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: (0, jsx_runtime_1.jsx)(material_1.Button, { color: "primary", variant: "contained", fullWidth: true, onClick: function () { return onQueryData(); }, children: translationText.view }) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: !isExportType ? ((0, jsx_runtime_1.jsx)(lab_1.LoadingButton, { variant: "outlined", onClick: handleExport, loading: loading, children: (0, jsx_runtime_1.jsx)(GetApp_1.default, {}) })) : ((0, jsx_runtime_1.jsx)(SplitButtonExportType_1.default, { loading: loading, onSubmit: onExportData })) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1 })] }));
236
274
  };
237
275
  exports.default = ChartFilterBox;
@@ -53,10 +53,11 @@ var Customer = function (props) {
53
53
  // noBorder
54
54
  label: t('Common.View'), callback: function (value) {
55
55
  var _a, _b;
56
- return changeQueryInput('time', {
57
- startDate: (0, Helpers_1.getStartOfDay)((_a = value === null || value === void 0 ? void 0 : value.startDate) === null || _a === void 0 ? void 0 : _a.toDate()),
58
- endDate: (0, Helpers_1.getStartOfDay)((_b = value === null || value === void 0 ? void 0 : value.endDate) === null || _b === void 0 ? void 0 : _b.toDate()),
59
- });
56
+ Object.values(value).filter(Boolean).length > 1 &&
57
+ changeQueryInput('time', {
58
+ startDate: (0, Helpers_1.getStartOfDay)((_a = value === null || value === void 0 ? void 0 : value.startDate) === null || _a === void 0 ? void 0 : _a.toDate()),
59
+ endDate: (0, Helpers_1.getStartOfDay)((_b = value === null || value === void 0 ? void 0 : value.endDate) === null || _b === void 0 ? void 0 : _b.toDate()),
60
+ });
60
61
  }, initialStartDate: (0, moment_1.default)(queryInput.time.startDate), initialEndDate: (0, moment_1.default)(queryInput.time.endDate), isShowCalendarInfo: true, variant: "outlined", textFieldProps: {
61
62
  fullWidth: true,
62
63
  sx: {
@@ -89,8 +90,9 @@ var Customer = function (props) {
89
90
  },
90
91
  } }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: (0, jsx_runtime_1.jsx)(material_1.Button, { color: "primary", variant: "contained", onClick: function () { return queryData(); }, fullWidth: true, children: t('Common.View') }) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", onClick: function () { return exportData(); }, children: (0, jsx_runtime_1.jsx)(GetApp_1.default, {}) }) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3 })] }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: isLoading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, spacing: 2, sx: {
91
92
  border: '1px solid #ccc',
92
- paddingTop: function (theme) { return theme.spacing(4); },
93
- marginTop: function (theme) { return theme.spacing(2.5); },
93
+ paddingTop: 4,
94
+ marginTop: 2,
95
+ marginLeft: -1,
94
96
  }, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
95
97
  padding: function (theme) { return theme.spacing(1); },
96
98
  paddingLeft: function (theme) { return theme.spacing(16); },
@@ -102,10 +104,10 @@ var Customer = function (props) {
102
104
  ' ' +
103
105
  (0, Helpers_1.roundDecimalNumber)(customerData.totalUser),
104
106
  type: 'line',
105
- data: customerData === null || customerData === void 0 ? void 0 : customerData.audienceObjects.map(function (item) { return ({
107
+ data: (0, Helpers_1.fillMissingDates)(customerData === null || customerData === void 0 ? void 0 : customerData.audienceObjects.map(function (item) { return ({
106
108
  x: String(item.timeline),
107
109
  y: item.totalUser,
108
- }); }).sort(function (a, b) { return Number(a.x) - Number(b.x); }),
110
+ }); }), queryInput.time.startDate, queryInput.time.endDate),
109
111
  fill: false,
110
112
  pointStyle: 'rect',
111
113
  yAxisID: 'y',
@@ -117,6 +119,7 @@ var Customer = function (props) {
117
119
  title: {
118
120
  text: t('Statistics.View'),
119
121
  },
122
+ beginAtZero: true,
120
123
  },
121
124
  yAxis: {
122
125
  display: false,
@@ -7,7 +7,9 @@ var jsx_runtime_1 = require("react/jsx-runtime");
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var component_1 = __importDefault(require("./component"));
9
9
  var moment_1 = __importDefault(require("moment"));
10
+ var Enum_1 = require("../../../../../ACM-AXN/Campaign/Enum");
10
11
  var Helpers_1 = require("../../../../../Utils/Helpers");
12
+ var lodash_1 = __importDefault(require("lodash"));
11
13
  var Context_1 = __importDefault(require("../Context"));
12
14
  var exportFile_1 = require("../../../../../ACM-AXN/CampaignSchedule/exportFile");
13
15
  var CustomerContainer = function (props) {
@@ -38,25 +40,17 @@ var CustomerContainer = function (props) {
38
40
  };
39
41
  var getCustomerData = function (time) {
40
42
  setIsLoading(true);
41
- // client
42
- // .statisticCampaignGetAnalyticCustomer(
43
- // moment(startDate).format(DATE_FORMAT),
44
- // moment(endDate).format(DATE_FORMAT),
45
- // campaignId
46
- // )
47
- // .then((res) => {
48
- // let tmp_audienceOverviews = filteredData(
49
- // res.audienceObjects,
50
- // _.cloneDeep(time.startDate),
51
- // _.cloneDeep(time.endDate)
52
- // )
53
- // setCustomerData({
54
- // audienceObjects: res.audienceObjects,
55
- // audienceOverviews: tmp_audienceOverviews as [],
56
- // totalUser: res.totalUser!,
57
- // })
58
- // })
59
- // .finally(() => setIsLoading(false))
43
+ client
44
+ .campaignStatisticGetCustomer((0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT), (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT), campaignId)
45
+ .then(function (res) {
46
+ var tmp_audienceOverviews = filteredData(res.audienceObjects, lodash_1.default.cloneDeep(time.startDate), lodash_1.default.cloneDeep(time.endDate));
47
+ setCustomerData({
48
+ audienceObjects: res.audienceObjects,
49
+ audienceOverviews: tmp_audienceOverviews,
50
+ totalUser: res.totalUser,
51
+ });
52
+ })
53
+ .finally(function () { return setIsLoading(false); });
60
54
  };
61
55
  var exportData = function () {
62
56
  (0, exportFile_1.downloadWithDataSet)("export_analytic_customer_campaign_".concat(campaignId), convertToExportData(customerData));
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  var jsx_runtime_1 = require("react/jsx-runtime");
4
7
  var styles_1 = require("@mui/styles");
5
8
  var material_1 = require("@mui/material");
6
9
  var react_i18next_1 = require("react-i18next");
7
10
  var Helpers_1 = require("../../../../../Utils/Helpers");
11
+ var i18n_1 = __importDefault(require("../../../../../i18n"));
8
12
  var useStyles = (0, styles_1.makeStyles)({
9
13
  table: {
10
14
  minWidth: 400,
@@ -19,7 +23,7 @@ var useStyles = (0, styles_1.makeStyles)({
19
23
  var EventTable = function (props) {
20
24
  var classes = useStyles();
21
25
  var eventDetails = props.data;
22
- var t = (0, react_i18next_1.useTranslation)().t;
26
+ var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
23
27
  var translationText = {
24
28
  eventLabel: t('Campaign.Detail.EventLabel'),
25
29
  number: t('Campaign.Detail.TotalEvents'),
@@ -0,0 +1,7 @@
1
+ import { CampaignAd } from '../../../../../ACM-AXN/Campaign/Types';
2
+ import { AnalyticEvent, AnalyticEventModelResponse, IAnalyticCampaignSummary } from '../Types';
3
+ export declare const convertEventData: (data: IAnalyticCampaignSummary[]) => AnalyticEventModelResponse[];
4
+ export declare function convertToExportData(data: AnalyticEvent[], places: NonNullable<CampaignAd['places']>): {
5
+ columns: string[];
6
+ data: string[][];
7
+ }[];
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
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
+ };
36
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
38
+ if (ar || !(i in from)) {
39
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
40
+ ar[i] = from[i];
41
+ }
42
+ }
43
+ return to.concat(ar || Array.prototype.slice.call(from));
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.convertToExportData = exports.convertEventData = void 0;
47
+ var Helpers_1 = require("../../../../../Utils/Helpers");
48
+ var lodash_1 = __importStar(require("lodash"));
49
+ var Utils_1 = require("../Utils");
50
+ var convertEventData = function (data) { return data.map(function (el) {
51
+ return el.analyticEventSummaries.map(function (x, index, events) { return ({
52
+ timeline: el.timeline,
53
+ eventLabel: (0, Utils_1.extractEvent)(x.eventLabel).eventName,
54
+ total: events
55
+ .filter(function (e) { return (0, lodash_1.isEqual)((0, Utils_1.extractEvent)(e.eventLabel), (0, Utils_1.extractEvent)(x.eventLabel)); })
56
+ .reduce(function (total, e) { return total + e.total; }, 0),
57
+ }); });
58
+ }).flat(); };
59
+ exports.convertEventData = convertEventData;
60
+ function convertToExportData(data, places) {
61
+ var headCell = new Set(['Place', 'Mac Address', 'Created date', 'View Number', 'Event label']);
62
+ var exportData = [];
63
+ (0, lodash_1.default)(data).groupBy('id')
64
+ .map(function (value, key) {
65
+ var events = value.map(function (v) { return v.events; }).flat().filter(function (e) { return e.viewNumber; });
66
+ Object.keys(Object.assign.apply(Object, __spreadArray([{}], events.map(function (e) { return (0, Helpers_1.parseJSON)(e.eventObject); }), false))).forEach(headCell.add, headCell);
67
+ return events.map(function (e) { return (__assign(__assign({}, e), { analyticId: key })); });
68
+ })
69
+ .flatten()
70
+ .value()
71
+ .forEach(function (el) {
72
+ var columns = Array.from(headCell);
73
+ var analytic = data.find(function (x) { return String(x.id) === el.analyticId; });
74
+ var place = places.find(function (x) { return x.placeId === (analytic === null || analytic === void 0 ? void 0 : analytic.placeId); });
75
+ var rowData = [
76
+ place ? place.name : analytic === null || analytic === void 0 ? void 0 : analytic.placeId,
77
+ analytic === null || analytic === void 0 ? void 0 : analytic.macAddress,
78
+ (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimestampToDateTime)(analytic.createdDate), 'DD/MM/YYYY, HH'),
79
+ ];
80
+ rowData.push(el.viewNumber.toString(), el.eventLabel);
81
+ columns.forEach(function (c, idx) {
82
+ if (idx > 4) {
83
+ var row = (0, Helpers_1.parseJSON)(el.eventObject)[c];
84
+ rowData.push(row ? typeof row === 'string'
85
+ ? row
86
+ : JSON.stringify(row) : '');
87
+ }
88
+ });
89
+ exportData.push(rowData);
90
+ });
91
+ return [
92
+ {
93
+ columns: Array.from(headCell),
94
+ data: exportData,
95
+ },
96
+ ];
97
+ }
98
+ exports.convertToExportData = convertToExportData;
@@ -49,7 +49,7 @@ var Event = function (props) {
49
49
  var queryData = function () {
50
50
  getEventData(queryInput.time, queryInput.placeIds, queryInput.ids);
51
51
  };
52
- function convertDataSetPattern(eventData) {
52
+ function convertDataSetPattern(eventData, time) {
53
53
  return lodash_1.default.chain(eventData)
54
54
  .groupBy('eventLabel')
55
55
  .map(function (data, eventLabel) {
@@ -69,7 +69,7 @@ var Event = function (props) {
69
69
  return {
70
70
  label: value.eventLabel + ' ' + (0, Helpers_1.roundDecimalNumber)(value.total),
71
71
  type: 'line',
72
- data: value.data,
72
+ data: (0, Helpers_1.fillMissingDates)(value.data, time.startDate, time.endDate),
73
73
  fill: false,
74
74
  pointStyle: 'rect',
75
75
  yAxisID: 'y',
@@ -134,7 +134,7 @@ var Event = function (props) {
134
134
  }
135
135
  return result;
136
136
  };
137
- var dataConvert = convertDataSetPattern(eventData);
137
+ var dataConvert = convertDataSetPattern(eventData, queryInput.time);
138
138
  return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(ChartFilter_1.default, { isExportType: false, subCampaigns: subCampaigns, queryInput: queryInput, onChangeQueryInput: changeQueryInput, onQueryData: queryData, onExportData: function () {
139
139
  return exportData(queryInput.time, queryInput.placeIds, queryInput.ids);
140
140
  }, domains: domains }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: isLoading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, spacing: 2, sx: {