awing-library 2.1.136-beta → 2.1.136

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 (220) 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 +6 -1
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +3 -22
  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 -3
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +22 -42
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +317 -104
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.js +1 -1
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +119 -54
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +8 -6
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +1 -1
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.d.ts +9 -0
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.js +56 -0
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +12 -0
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +23 -8
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +3 -3
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +63 -12
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +10 -0
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -29
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +5 -2
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +2 -2
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +6 -0
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.d.ts +8 -0
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.js +47 -0
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +52 -6
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.d.ts +1 -0
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.js +3 -1
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.d.ts +4 -3
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +13 -7
  61. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  62. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +69 -124
  63. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
  64. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
  65. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.d.ts +2 -0
  66. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +8 -3
  67. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
  68. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  69. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  70. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +176 -59
  71. package/lib/ACM-AXN/Campaign/Enum.d.ts +23 -4
  72. package/lib/ACM-AXN/Campaign/Enum.js +30 -10
  73. package/lib/ACM-AXN/Campaign/Types.d.ts +55 -6
  74. package/lib/ACM-AXN/Campaign/Utils.d.ts +6 -0
  75. package/lib/ACM-AXN/Campaign/Utils.js +60 -2
  76. package/lib/ACM-AXN/Campaign/index.js +2 -2
  77. package/lib/ACM-AXN/CampaignPlan/Container.js +5 -7
  78. package/lib/ACM-AXN/CampaignPlan/Detail.js +3 -3
  79. package/lib/ACM-AXN/CampaignPlan/Filter.js +1 -1
  80. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
  81. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
  82. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +7 -5
  83. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
  84. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
  85. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
  86. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
  87. package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
  88. package/lib/ACM-AXN/Common/Constant.js +2 -0
  89. package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
  90. package/lib/ACM-AXN/Common/Enum.js +19 -4
  91. package/lib/ACM-AXN/Common/Types.d.ts +5 -0
  92. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  93. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  94. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  95. package/lib/ACM-AXN/Holiday/FormHoliday.js +1 -0
  96. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  97. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  98. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  99. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
  100. package/lib/ACM-AXN/Page/Constant.js +2 -0
  101. package/lib/ACM-AXN/Page/Container.js +3 -3
  102. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  103. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  104. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -2
  105. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -12
  106. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/TrackingCode.js +1 -1
  107. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  108. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  109. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  110. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  111. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +11 -44
  112. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  113. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +39 -61
  114. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +29 -32
  115. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +10 -9
  116. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +19 -4
  117. package/lib/ACM-AXN/Page/Types.d.ts +3 -0
  118. package/lib/ACM-AXN/Page/enums.d.ts +5 -0
  119. package/lib/ACM-AXN/Page/enums.js +7 -1
  120. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  121. package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
  122. package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
  123. package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
  124. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
  125. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
  126. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
  127. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
  128. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
  129. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  130. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
  131. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  132. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  133. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  134. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
  135. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
  136. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +13 -10
  137. package/lib/ACM-AXN/Statistics/ControlPanel.js +17 -5
  138. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  139. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  140. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
  141. package/lib/ACM-AXN/StatisticsByProvince/DataTable.js +1 -1
  142. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +4 -4
  143. package/lib/ACM-AXN/Template/Container.js +2 -2
  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 +2 -2
  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/Event.js +23 -11
  158. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  159. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  160. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +46 -160
  161. package/lib/ACM-AXN/ViewTemplate/common.d.ts +2 -1
  162. package/lib/ACM-AXN/ViewTemplate/common.js +48 -9
  163. package/lib/ACM-AXN/ViewTemplate/container.js +23 -24
  164. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  165. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  166. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  167. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  168. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  169. package/lib/ACM-AXN/index.d.ts +1 -0
  170. package/lib/ACM-AXN/index.js +1 -0
  171. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  172. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  173. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  174. package/lib/AWING/Chart/BarLineComponent.js +20 -25
  175. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  176. package/lib/AWING/Chart/PieComponent.js +16 -16
  177. package/lib/AWING/Chart/Styles.js +51 -16
  178. package/lib/AWING/DataForm/DataInput.js +104 -22
  179. package/lib/AWING/DataForm/interface.d.ts +2 -0
  180. package/lib/AWING/DataGrid/index.js +8 -13
  181. package/lib/AWING/DateRangePicker/component.js +56 -30
  182. package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
  183. package/lib/AWING/DateRangePicker/configDate.js +12 -12
  184. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  185. package/lib/AWING/Form/useForm.js +3 -2
  186. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  187. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  188. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  189. package/lib/AWING/GoogleMap/index.js +41 -0
  190. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  191. package/lib/AWING/GoogleMap/interface.js +2 -0
  192. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  193. package/lib/AWING/GoogleMap/utils.js +135 -0
  194. package/lib/AWING/GroupTable/GroupTable.js +4 -5
  195. package/lib/AWING/GroupTable/component.d.ts +1 -0
  196. package/lib/AWING/GroupTable/component.js +2 -2
  197. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  198. package/lib/AWING/NumberFormat/index.js +2 -2
  199. package/lib/AWING/PageManagement/PageManagement.js +4 -3
  200. package/lib/AWING/Pagination/index.js +11 -3
  201. package/lib/AWING/index.d.ts +1 -0
  202. package/lib/AWING/index.js +1 -0
  203. package/lib/AWING/ultis/validation.d.ts +1 -0
  204. package/lib/AWING/ultis/validation.js +25 -6
  205. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  206. package/lib/Commons/Components/DeprecatedEnhancedDialog.js +1 -1
  207. package/lib/Commons/Components/HighlightedCode/MarkdownElement.js +6 -1
  208. package/lib/Commons/Hooks/usePath.js +3 -3
  209. package/lib/Utils/Helpers.d.ts +3 -2
  210. package/lib/Utils/Helpers.js +48 -8
  211. package/lib/i18n.js +18 -2
  212. package/lib/translate/en/translation.json +137 -73
  213. package/lib/translate/id/translation.json +893 -0
  214. package/lib/translate/ja/translation.json +893 -0
  215. package/lib/translate/phl/translation.json +893 -0
  216. package/lib/translate/th/translation.json +893 -0
  217. package/lib/translate/vi/translation.json +97 -33
  218. package/package.json +131 -126
  219. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.d.ts +0 -5
  220. 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) {
@@ -51,7 +61,11 @@ var AnalyticContainer = function (props) {
51
61
  var _a;
52
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)); })) {
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
+ })) {
55
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);
@@ -70,65 +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.length ? ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); }) : [{ 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
- (0, exportFile_1.downloadWithDataSet)(String(exportObj.name).toUpperCase(), exportObj.data);
131
- 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
+ });
132
197
  };
133
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 }));
134
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: {
@@ -103,10 +104,10 @@ var Customer = function (props) {
103
104
  ' ' +
104
105
  (0, Helpers_1.roundDecimalNumber)(customerData.totalUser),
105
106
  type: 'line',
106
- 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 ({
107
108
  x: String(item.timeline),
108
109
  y: item.totalUser,
109
- }); }).sort(function (a, b) { return Number(a.x) - Number(b.x); }),
110
+ }); }), queryInput.time.startDate, queryInput.time.endDate),
110
111
  fill: false,
111
112
  pointStyle: 'rect',
112
113
  yAxisID: 'y',
@@ -118,6 +119,7 @@ var Customer = function (props) {
118
119
  title: {
119
120
  text: t('Statistics.View'),
120
121
  },
122
+ beginAtZero: true,
121
123
  },
122
124
  yAxis: {
123
125
  display: false,
@@ -41,7 +41,7 @@ var CustomerContainer = function (props) {
41
41
  var getCustomerData = function (time) {
42
42
  setIsLoading(true);
43
43
  client
44
- .campaignStatisticGetCustomer((0, moment_1.default)(startDate).format(Enum_1.DATE_FORMAT), (0, moment_1.default)(endDate).format(Enum_1.DATE_FORMAT), campaignId)
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
45
  .then(function (res) {
46
46
  var tmp_audienceOverviews = filteredData(res.audienceObjects, lodash_1.default.cloneDeep(time.startDate), lodash_1.default.cloneDeep(time.endDate));
47
47
  setCustomerData({
@@ -0,0 +1,9 @@
1
+ export interface PasswordDialogProps {
2
+ open: boolean;
3
+ onConfirm: (password: string) => void;
4
+ onCancel: () => void;
5
+ errorExport?: string;
6
+ resetErrorExport?: () => void;
7
+ }
8
+ declare const PasswordDialog: (props: PasswordDialogProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default PasswordDialog;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var jsx_runtime_1 = require("react/jsx-runtime");
7
+ var react_1 = require("react");
8
+ var material_1 = require("@mui/material");
9
+ var react_i18next_1 = require("react-i18next");
10
+ var i18n_1 = __importDefault(require("../../../../../i18n"));
11
+ var Visibility_1 = __importDefault(require("@mui/icons-material/Visibility"));
12
+ var VisibilityOff_1 = __importDefault(require("@mui/icons-material/VisibilityOff"));
13
+ // Component dialog nhập mật khẩu sử dụng MUI
14
+ var PasswordDialog = function (props) {
15
+ var open = props.open, onConfirm = props.onConfirm, onCancel = props.onCancel, errorExport = props.errorExport, resetErrorExport = props.resetErrorExport;
16
+ var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
17
+ var _a = (0, react_1.useState)(''), password = _a[0], setPassword = _a[1];
18
+ var _b = (0, react_1.useState)(false), showPassword = _b[0], setShowPassword = _b[1];
19
+ var handleConfirm = function () {
20
+ onConfirm(password);
21
+ };
22
+ var handleCancel = function () {
23
+ onCancel();
24
+ setPassword('');
25
+ if (resetErrorExport)
26
+ resetErrorExport();
27
+ };
28
+ var handleKeyDown = function (e) {
29
+ if (e.key === 'Enter') {
30
+ handleConfirm();
31
+ }
32
+ };
33
+ var handlePasswordChange = function (e) {
34
+ setPassword(e.target.value);
35
+ if (resetErrorExport)
36
+ resetErrorExport();
37
+ };
38
+ var handleClickShowPassword = function () {
39
+ setShowPassword(!showPassword);
40
+ };
41
+ var handleMouseDownPassword = function (event) {
42
+ event.preventDefault();
43
+ };
44
+ (0, react_1.useEffect)(function () {
45
+ // Reset password when dialog opens
46
+ if (open) {
47
+ setPassword('');
48
+ if (resetErrorExport)
49
+ resetErrorExport();
50
+ }
51
+ }, [open]);
52
+ return ((0, jsx_runtime_1.jsxs)(material_1.Dialog, { open: open, onClose: handleCancel, "aria-labelledby": "password-dialog-title", children: [(0, jsx_runtime_1.jsx)(material_1.DialogTitle, { id: "password-dialog-title", children: t('Campaign.Password.DialogTitle') }), (0, jsx_runtime_1.jsxs)(material_1.DialogContent, { children: [(0, jsx_runtime_1.jsx)(material_1.DialogContentText, { children: t('Campaign.Password.DialogMessage') }), (0, jsx_runtime_1.jsx)(material_1.TextField, { autoFocus: true, margin: "dense", type: showPassword ? 'text' : 'password', fullWidth: true, variant: "outlined", value: password, onChange: handlePasswordChange, onKeyDown: handleKeyDown, error: !!errorExport, helperText: errorExport || '', autoComplete: "new-password", InputProps: {
53
+ endAdornment: ((0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "end", children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { "aria-label": "toggle password visibility", onClick: handleClickShowPassword, onMouseDown: handleMouseDownPassword, edge: "end", children: showPassword ? ((0, jsx_runtime_1.jsx)(VisibilityOff_1.default, {})) : ((0, jsx_runtime_1.jsx)(Visibility_1.default, {})) }) })),
54
+ } })] }), (0, jsx_runtime_1.jsxs)(material_1.DialogActions, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { onClick: handleCancel, color: "secondary", children: t('Common.Cancel') }), (0, jsx_runtime_1.jsx)(material_1.Button, { onClick: handleConfirm, color: "primary", variant: "contained", children: t('Common.Confirm') })] })] }));
55
+ };
56
+ exports.default = PasswordDialog;
@@ -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'),
@@ -5,3 +5,15 @@ export declare function convertToExportData(data: AnalyticEvent[], places: NonNu
5
5
  columns: string[];
6
6
  data: string[][];
7
7
  }[];
8
+ /**
9
+ * Mã hóa password sang định dạng Base64
10
+ * @param password Chuỗi password cần mã hóa
11
+ * @returns Chuỗi Base64 đã mã hóa
12
+ */
13
+ export declare function encodePassword(password: string): string;
14
+ /**
15
+ * Giải mã password từ định dạng Base64
16
+ * @param encodedPassword Chuỗi Base64 cần giải mã
17
+ * @returns Chuỗi password gốc
18
+ */
19
+ export declare function decodePassword(encodedPassword: string): string;
@@ -43,22 +43,19 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
43
43
  return to.concat(ar || Array.prototype.slice.call(from));
44
44
  };
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.convertToExportData = exports.convertEventData = void 0;
46
+ exports.decodePassword = exports.encodePassword = exports.convertToExportData = exports.convertEventData = void 0;
47
47
  var Helpers_1 = require("../../../../../Utils/Helpers");
48
48
  var lodash_1 = __importStar(require("lodash"));
49
49
  var Utils_1 = require("../Utils");
50
- var convertEventData = function (data) { return (0, lodash_1.uniqBy)(data.map(function (el) {
50
+ var convertEventData = function (data) { return data.map(function (el) {
51
51
  return el.analyticEventSummaries.map(function (x, index, events) { return ({
52
52
  timeline: el.timeline,
53
53
  eventLabel: (0, Utils_1.extractEvent)(x.eventLabel).eventName,
54
54
  total: events
55
- .filter(function (e) {
56
- return (0, Utils_1.extractEvent)(e.eventLabel).eventName ===
57
- (0, Utils_1.extractEvent)(x.eventLabel).eventName;
58
- })
55
+ .filter(function (e) { return (0, lodash_1.isEqual)((0, Utils_1.extractEvent)(e.eventLabel), (0, Utils_1.extractEvent)(x.eventLabel)); })
59
56
  .reduce(function (total, e) { return total + e.total; }, 0),
60
57
  }); });
61
- }).flat(), "eventLabel"); };
58
+ }).flat(); };
62
59
  exports.convertEventData = convertEventData;
63
60
  function convertToExportData(data, places) {
64
61
  var headCell = new Set(['Place', 'Mac Address', 'Created date', 'View Number', 'Event label']);
@@ -75,7 +72,7 @@ function convertToExportData(data, places) {
75
72
  var columns = Array.from(headCell);
76
73
  var analytic = data.find(function (x) { return String(x.id) === el.analyticId; });
77
74
  var place = places.find(function (x) { return x.placeId === (analytic === null || analytic === void 0 ? void 0 : analytic.placeId); });
78
- var rowData = el.viewNumber !== 1 ? Array(3).fill('') : [
75
+ var rowData = [
79
76
  place ? place.name : analytic === null || analytic === void 0 ? void 0 : analytic.placeId,
80
77
  analytic === null || analytic === void 0 ? void 0 : analytic.macAddress,
81
78
  (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimestampToDateTime)(analytic.createdDate), 'DD/MM/YYYY, HH'),
@@ -99,3 +96,21 @@ function convertToExportData(data, places) {
99
96
  ];
100
97
  }
101
98
  exports.convertToExportData = convertToExportData;
99
+ /**
100
+ * Mã hóa password sang định dạng Base64
101
+ * @param password Chuỗi password cần mã hóa
102
+ * @returns Chuỗi Base64 đã mã hóa
103
+ */
104
+ function encodePassword(password) {
105
+ return Buffer.from(password).toString('base64');
106
+ }
107
+ exports.encodePassword = encodePassword;
108
+ /**
109
+ * Giải mã password từ định dạng Base64
110
+ * @param encodedPassword Chuỗi Base64 cần giải mã
111
+ * @returns Chuỗi password gốc
112
+ */
113
+ function decodePassword(encodedPassword) {
114
+ return Buffer.from(encodedPassword, 'base64').toString('utf8');
115
+ }
116
+ exports.decodePassword = decodePassword;
@@ -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: {