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
@@ -46,14 +46,44 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
46
46
  return (mod && mod.__esModule) ? mod : { "default": mod };
47
47
  };
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.groupBy = exports.convertToChartData = exports.sumEvent = exports.dataGroupByPlace = exports.dataGroupByTimeline = exports.convertToShowDetail = exports.markBillingType = exports.placesToDomains = exports.convertToExport = exports.convertToExportData = exports.convertToExportDataGroupBy = void 0;
49
+ exports.groupBy = exports.convertToChartData = exports.campaignAnalyticInfo = exports.dataGroupByPlace = exports.dataGroupByAd = exports.dataGroupByTimelineAndPlaces = exports.dataGroupByTimeline = exports.convertToShowDetail = exports.markBillingType = exports.placesToDomains = exports.convertToExportByAd = exports.convertToExport = exports.convertToExportData = exports.convertToExportDataGroupBy = exports.addHeaderExcel = void 0;
50
50
  var Enum_1 = require("../../../../../ACM-AXN/Campaign/Enum");
51
+ var Enum_2 = require("../../../../../ACM-AXN/Common/Enum");
51
52
  var Helpers_1 = require("../../../../../Utils/Helpers");
52
53
  var lodash_1 = __importStar(require("lodash"));
54
+ var moment_1 = __importDefault(require("moment"));
53
55
  var i18n_1 = __importDefault(require("../../../../../i18n"));
54
- var Enum_2 = require("../../../../../ACM-AXN/Common/Enum");
55
- function convertToExportDataGroupBy(data, objects, timelineType, groupBy) {
56
+ var addHeaderExcel = function (result, campaignName) {
57
+ var timeExport = (0, moment_1.default)().format('DD/MM/YYYY, H:mm');
58
+ result.unshift({
59
+ columns: [i18n_1.default.t('Common.CampaignName'), campaignName],
60
+ data: [],
61
+ }, {
62
+ columns: [i18n_1.default.t('Common.Channel'), 'AWING Wi-Fi'],
63
+ data: [],
64
+ }, {
65
+ columns: [i18n_1.default.t('Common.DateGenerated'), timeExport],
66
+ data: [],
67
+ }, {
68
+ columns: [i18n_1.default.t('Common.Timezone'), 'GMT+7'],
69
+ data: [],
70
+ }, {
71
+ columns: [],
72
+ data: [],
73
+ });
74
+ };
75
+ exports.addHeaderExcel = addHeaderExcel;
76
+ function convertToExportDataGroupBy(data, objects, timelineType, groupBy, campaignName) {
56
77
  var result = [];
78
+ var ClickTitle = i18n_1.default.t('Common.FinalClick');
79
+ var header = [
80
+ groupBy,
81
+ i18n_1.default.t('Common.Date'),
82
+ i18n_1.default.t('Common.Impression'),
83
+ i18n_1.default.t('Common.Engagement') + '(Spot)',
84
+ ClickTitle,
85
+ ];
86
+ // addHeaderExcel(result, campaignName)
57
87
  var exportData = objects
58
88
  .map(function (object, key) {
59
89
  var placeIds = object.places.map(function (plc) { return plc.placeId; });
@@ -68,37 +98,39 @@ function convertToExportDataGroupBy(data, objects, timelineType, groupBy) {
68
98
  })
69
99
  .reduce(function (a, b) { return a.concat(b); }, []);
70
100
  result.push({
71
- columns: [
72
- groupBy,
73
- 'Time',
74
- i18n_1.default.t('Common.Impression'),
75
- i18n_1.default.t('Common.FinalClick'),
76
- 'CTR (%)',
77
- ],
101
+ columns: header,
78
102
  data: exportData,
79
103
  });
80
104
  return result;
81
105
  }
82
106
  exports.convertToExportDataGroupBy = convertToExportDataGroupBy;
83
- function convertToExportData(data, places, timelineType) {
107
+ function convertToExportData(data, places, timelineType, campaignName, fullPlaces) {
84
108
  var result = [];
109
+ var ClickTitle = i18n_1.default.t('Common.FinalClick');
110
+ var header = [
111
+ i18n_1.default.t('Common.Location'),
112
+ i18n_1.default.t('Common.CityProvince'),
113
+ i18n_1.default.t('Common.District'),
114
+ i18n_1.default.t('Common.Date'),
115
+ i18n_1.default.t('Common.Impression'),
116
+ i18n_1.default.t('Campaign.Engagement') + '(Spot)',
117
+ ClickTitle,
118
+ ];
119
+ // addHeaderExcel(result, campaignName)
85
120
  result.push({
86
- columns: [
87
- 'Place',
88
- 'Time',
89
- i18n_1.default.t('Common.Impression'),
90
- i18n_1.default.t('Common.FinalClick'),
91
- 'CTR (%)',
92
- ],
93
- data: dataGroupByTimeline('All', data, timelineType),
121
+ columns: header,
122
+ data: dataGroupByTimelineAndPlaces('All', 'All', 'All', data, timelineType),
94
123
  });
95
124
  Array.prototype.push.apply(result, (0, lodash_1.chain)(data)
96
125
  .groupBy('placeId')
97
126
  .map(function (value, key) {
127
+ var _a, _b;
98
128
  var place = places.find(function (x) { return x.placeId === key; });
129
+ var province = (_a = fullPlaces === null || fullPlaces === void 0 ? void 0 : fullPlaces.find(function (z) { return z.code === (place === null || place === void 0 ? void 0 : place.provinceCode); })) === null || _a === void 0 ? void 0 : _a.name;
130
+ var district = (_b = fullPlaces === null || fullPlaces === void 0 ? void 0 : fullPlaces.find(function (z) { return z.code === (place === null || place === void 0 ? void 0 : place.districtCode); })) === null || _b === void 0 ? void 0 : _b.name;
99
131
  var placeData = {
100
- columns: ['', '', '', '', ''],
101
- data: dataGroupByTimeline(place ? place.name : key, value, timelineType),
132
+ columns: Array(7).fill(''),
133
+ data: dataGroupByTimelineAndPlaces(place ? place.name : key, province !== null && province !== void 0 ? province : '', district !== null && district !== void 0 ? district : '', value, timelineType),
102
134
  };
103
135
  return placeData;
104
136
  })
@@ -106,43 +138,60 @@ function convertToExportData(data, places, timelineType) {
106
138
  return result;
107
139
  }
108
140
  exports.convertToExportData = convertToExportData;
109
- function convertToExport(subCampaigns, data, timelineType, places) {
141
+ function convertToExport(subCampaigns, data, timelineType, places, campaignName, fullPlaces) {
110
142
  var result = [];
111
143
  var isShouldHeader = true;
144
+ var ClickTitle = i18n_1.default.t('Common.FinalClick');
145
+ // addHeaderExcel(result, campaignName)
146
+ var header = [
147
+ i18n_1.default.t('Common.SubCampaign'),
148
+ 'Ad',
149
+ i18n_1.default.t('Common.Location'),
150
+ i18n_1.default.t('Common.CityProvince'),
151
+ i18n_1.default.t('Common.District'),
152
+ i18n_1.default.t('Common.Date'),
153
+ i18n_1.default.t('Common.Impression'),
154
+ i18n_1.default.t('Campaign.Engagement') + '(Spot)',
155
+ ClickTitle,
156
+ ];
112
157
  subCampaigns.forEach(function (sub) {
113
158
  var _a;
114
159
  (_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
115
- var adData = data.filter(function (d) {
160
+ var adData = data
161
+ .filter(function (d) {
116
162
  var _a;
117
163
  return (d.campaignGroupId === ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id) &&
118
164
  d.campaignAdId === ad.id);
119
- }).map(function (x) { return (__assign(__assign({}, x), Object.assign.apply(Object, __spreadArray([{}], x.analyticEventSummaries.map(function (y) {
165
+ })
166
+ // eslint-disable-next-line no-sequences
167
+ .map(function (x) { return (__assign(__assign({}, x), Object.assign.apply(Object, __spreadArray(__spreadArray([{}], Object.values(Enum_1.BaseEvent).map(function (v) {
120
168
  var _a;
121
- return (_a = {}, _a[y.eventLabel] = y.total, _a);
169
+ return (_a = {},
170
+ _a[v] = 0,
171
+ _a);
172
+ }), false), x.analyticEventSummaries.map(function (y) {
173
+ var _a;
174
+ return (_a = {},
175
+ _a[y.eventLabel] = y.total,
176
+ _a);
122
177
  }), false)))); });
123
178
  result.push({
124
179
  columns: isShouldHeader
125
- ? [
126
- 'Sub-campaign',
127
- 'Ad',
128
- 'Place',
129
- 'Time',
130
- i18n_1.default.t('Common.Impression'),
131
- 'Engagement / Spot',
132
- i18n_1.default.t('Common.FinalClick'),
133
- ]
180
+ ? header
134
181
  : Array(7).fill(''),
135
- data: dataGroupByTimeline('All', adData, timelineType).map(function (d) { var _a; return __spreadArray([(_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.name, ad === null || ad === void 0 ? void 0 : ad.name], d, true); }),
182
+ data: dataGroupByTimelineAndPlaces('All', 'All', 'All', adData, timelineType).map(function (d) { var _a; return __spreadArray([(_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.name, ad === null || ad === void 0 ? void 0 : ad.name], d, true); }),
136
183
  });
137
184
  isShouldHeader = false;
138
- console.log("value placeId", adData);
139
185
  Array.prototype.push.apply(result, (0, lodash_1.chain)(adData)
140
186
  .groupBy('placeId')
141
187
  .map(function (value, key) {
188
+ var _a, _b;
142
189
  var place = places.find(function (x) { return x.placeId === key; });
190
+ var province = (_a = fullPlaces === null || fullPlaces === void 0 ? void 0 : fullPlaces.find(function (z) { return z.code === (place === null || place === void 0 ? void 0 : place.provinceCode); })) === null || _a === void 0 ? void 0 : _a.name;
191
+ var district = (_b = fullPlaces === null || fullPlaces === void 0 ? void 0 : fullPlaces.find(function (z) { return z.code === (place === null || place === void 0 ? void 0 : place.districtCode); })) === null || _b === void 0 ? void 0 : _b.name;
143
192
  var placeData = {
144
193
  columns: Array(7).fill(''),
145
- data: dataGroupByTimeline(place ? (place === null || place === void 0 ? void 0 : place.name) || place.placeId : key, value, timelineType).map(function (d) {
194
+ data: dataGroupByTimelineAndPlaces(place ? (place === null || place === void 0 ? void 0 : place.name) || place.placeId : key, province !== null && province !== void 0 ? province : '', district !== null && district !== void 0 ? district : '', value, timelineType).map(function (d) {
146
195
  var _a;
147
196
  return __spreadArray([
148
197
  (_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.name,
@@ -158,6 +207,54 @@ function convertToExport(subCampaigns, data, timelineType, places) {
158
207
  return result;
159
208
  }
160
209
  exports.convertToExport = convertToExport;
210
+ function convertToExportByAd(subCampaigns, data, timelineType, campaignName) {
211
+ var result = [];
212
+ var isShouldHeader = true;
213
+ var ClickTitle = i18n_1.default.t('Common.FinalClick');
214
+ var header = [
215
+ 'Ad',
216
+ i18n_1.default.t('Common.Date'),
217
+ i18n_1.default.t('Common.Impression'),
218
+ i18n_1.default.t('Campaign.Engagement') + '(Spot)',
219
+ ClickTitle,
220
+ ];
221
+ // addHeaderExcel(result, campaignName)
222
+ subCampaigns.forEach(function (sub) {
223
+ var _a;
224
+ (_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
225
+ var hasSpot = false;
226
+ var adData = data
227
+ .filter(function (d) {
228
+ var _a;
229
+ return (d.campaignGroupId === ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id) &&
230
+ d.campaignAdId === ad.id);
231
+ })
232
+ // eslint-disable-next-line no-sequences
233
+ .map(function (x) { return ((hasSpot = hasSpot || x.isSPot), __assign(__assign({}, x), Object.assign.apply(Object, __spreadArray(__spreadArray([{}], Object.values(Enum_1.BaseEvent).map(function (v) {
234
+ var _a;
235
+ return (_a = {},
236
+ _a[v] = 0,
237
+ _a);
238
+ }), false), x.analyticEventSummaries.map(function (y) {
239
+ var _a;
240
+ return (_a = {},
241
+ _a[y.eventLabel] = y.total,
242
+ _a);
243
+ }), false)))); });
244
+ result.push({
245
+ columns: isShouldHeader
246
+ ? header
247
+ : Array(7).fill(''),
248
+ data: dataGroupByAd(adData, timelineType).map(function (d) { return __spreadArray([
249
+ ad === null || ad === void 0 ? void 0 : ad.name
250
+ ], d, true); }),
251
+ });
252
+ isShouldHeader = false;
253
+ });
254
+ });
255
+ return result;
256
+ }
257
+ exports.convertToExportByAd = convertToExportByAd;
161
258
  function placesToDomains(places, domains) {
162
259
  var _a, _b;
163
260
  if (domains === void 0) { domains = []; }
@@ -188,36 +285,52 @@ function placesToDomains(places, domains) {
188
285
  return groupDomain;
189
286
  }
190
287
  exports.placesToDomains = placesToDomains;
191
- var markBillingType = function (subCampaigns, data) { return data.map(function (x, index) {
192
- var _a = (0, lodash_1.get)(subCampaigns, [x.campaignGroupId - 1]), campaignGroup = _a.campaignGroup, ads = _a.ads;
193
- return __assign(__assign({}, x), { billingUnit: campaignGroup.billingUnit, isPot: campaignGroup.billingUnit === Enum_2.AnalyticType.AUTHENTICATION && (0, lodash_1.get)(ads, [x.campaignAdId - 1]).type === Enum_1.AdType.VIDEO });
194
- }); };
288
+ var markBillingType = function (subCampaigns, data) {
289
+ return data.map(function (x, index) {
290
+ var _a;
291
+ // eslint-disable-next-line eqeqeq
292
+ var _b = subCampaigns.find(function (c) { return c.campaignGroup.id == x.campaignGroupId; }), campaignGroup = _b.campaignGroup, ads = _b.ads;
293
+ return __assign(__assign(__assign({}, x), Object.assign.apply(Object, __spreadArray(__spreadArray([{}], Object.values(Enum_1.BaseEvent).map(function (v) {
294
+ var _a;
295
+ return (_a = {},
296
+ _a[v] = 0,
297
+ _a);
298
+ }), false), x.analyticEventSummaries.map(function (y) {
299
+ var _a;
300
+ return (_a = {},
301
+ _a[y.eventLabel] = y.total,
302
+ _a);
303
+ }), false))), { billingUnit: campaignGroup.billingUnit, billingUnitLabel: campaignGroup.billingUnitLabel || Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication], isSPot: ((_a = ads.find(function (ad) { return ad.id === x.campaignAdId; })) === null || _a === void 0 ? void 0 : _a.type) === Enum_1.AdType.VIDEO && campaignGroup.billingUnitLabel === Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication] });
304
+ });
305
+ };
195
306
  exports.markBillingType = markBillingType;
196
307
  function convertToShowDetail(subCampaigns, data, selectedDomains, selectedPlaces) {
197
308
  var placeIds = selectedPlaces.map(function (p) { return p.placeId; });
198
309
  var result = [];
199
310
  subCampaigns.forEach(function (sub) {
200
311
  var _a;
201
- console.log("sub", sub);
202
312
  (_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
203
313
  var _a, _b;
204
314
  var adPlaces = ((_a = ad === null || ad === void 0 ? void 0 : ad.places) === null || _a === void 0 ? void 0 : _a.concat(((_b = ad === null || ad === void 0 ? void 0 : ad.deletedPlaces) === null || _b === void 0 ? void 0 : _b.map(function (item) { return (__assign(__assign({}, item), { isDeleted: true })); })) || [])) || [];
205
315
  (0, lodash_1.uniqBy)(
206
316
  // adPlaces.filter((p) => placeIds.includes(p.placeId)),
207
- placeIds.length ? adPlaces.filter(function (p) { return placeIds.includes(p.placeId); }) : adPlaces, 'placeId').forEach(function (place) {
317
+ placeIds.length
318
+ ? adPlaces.filter(function (p) { return placeIds.includes(p.placeId); })
319
+ : adPlaces, 'placeId').forEach(function (place) {
208
320
  var domain = selectedDomains.find(function (s) { return s.domainId === (place === null || place === void 0 ? void 0 : place.domainId); });
209
321
  var totalClick = data
210
322
  .filter(function (d) {
211
323
  var _a;
212
- return d.placeId === place.placeId
213
- && d.campaignGroupId === ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id)
214
- && d.campaignAdId === (ad === null || ad === void 0 ? void 0 : ad.id);
324
+ return d.placeId === place.placeId &&
325
+ d.campaignGroupId === ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id) &&
326
+ d.campaignAdId === (ad === null || ad === void 0 ? void 0 : ad.id);
215
327
  })
216
328
  .reduce(function (sum, d) {
217
329
  var _a;
218
330
  var event = (_a = d.analyticEventSummaries) === null || _a === void 0 ? void 0 : _a.find(function (_a) {
219
331
  var eventLabel = _a.eventLabel;
220
- return eventLabel === Enum_1.BaseEvent[sub.campaignGroup.billingUnit];
332
+ return eventLabel ===
333
+ Enum_1.BaseEvent[sub.campaignGroup.billingUnit];
221
334
  });
222
335
  return sum + ((event === null || event === void 0 ? void 0 : event.total) || 0);
223
336
  }, 0);
@@ -241,35 +354,114 @@ function convertToShowDetail(subCampaigns, data, selectedDomains, selectedPlaces
241
354
  }
242
355
  exports.convertToShowDetail = convertToShowDetail;
243
356
  function dataGroupByTimeline(place, data, timelineType) {
357
+ var isReLabel = data.some(function (d) { return d.billingUnitLabel !== Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication]; });
244
358
  var result = (0, lodash_1.chain)(data)
245
359
  .groupBy('timeline')
246
360
  .map(function (value, key) {
247
- console.log("value", value, value.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.AUTHENTICATION; }));
248
361
  var dateString = (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimelineToDateTime)(key, timelineType), timelineType === Helpers_1.TIMELINE_TYPE.DAY
249
362
  ? 'DD/MM/YYYY'
250
363
  : 'DD/MM/YYYY, H:mm');
251
- // let impression = sumBy(value, BaseEvent[AnalyticType.VIEW])
252
- var impression = (0, lodash_1.sumBy)(value.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.VIEW; }), Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]);
253
- var click = (0, lodash_1.sumBy)(value.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.CLICK; }), Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK]);
254
- var authen = (0, lodash_1.sumBy)(value.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.AUTHENTICATION; }), Enum_1.BaseEvent[Enum_2.AnalyticType.AUTHENTICATION]);
255
- var arr = [place, dateString, impression, authen, click];
256
- return arr;
364
+ var impression = (0, lodash_1.sumBy)(value, Enum_1.BaseEvent[Enum_2.AnalyticType.View]);
365
+ var authen = value.reduce(function (sum, d) {
366
+ return (sum +
367
+ Number(d[Enum_1.BaseEvent[Number(d.billingUnit)]] || 0));
368
+ }, 0);
369
+ var output = [place, dateString, impression];
370
+ if (isReLabel)
371
+ output.push("", authen);
372
+ else
373
+ output.push(authen, "");
374
+ return output;
257
375
  })
258
376
  .value();
259
- var impr = (0, lodash_1.sumBy)(data.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.VIEW; }), Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]);
260
- var clk = (0, lodash_1.sumBy)(data.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.CLICK; }), Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK]);
261
- var authen = (0, lodash_1.sumBy)(data.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.AUTHENTICATION; }), Enum_1.BaseEvent[Enum_2.AnalyticType.AUTHENTICATION]);
262
- console.log("data", data);
263
- result.push([
377
+ var impressionTotal = (0, lodash_1.sumBy)(data, Enum_1.BaseEvent[Enum_2.AnalyticType.View]);
378
+ var authenTotal = data.reduce(function (sum, d) {
379
+ return (sum + d[Enum_1.BaseEvent[Number(d.billingUnit)]]);
380
+ }, 0);
381
+ var totalArr = [
264
382
  place,
265
383
  i18n_1.default.t('Schedule.Total'),
266
- impr,
267
- authen,
268
- clk,
269
- ]);
384
+ impressionTotal,
385
+ ];
386
+ if (isReLabel)
387
+ totalArr.push("", authenTotal);
388
+ else
389
+ totalArr.push(authenTotal, "");
390
+ result.push(totalArr);
270
391
  return result;
271
392
  }
272
393
  exports.dataGroupByTimeline = dataGroupByTimeline;
394
+ function dataGroupByTimelineAndPlaces(place, province, district, data, timelineType) {
395
+ var result = (0, lodash_1.chain)(data)
396
+ .groupBy('timeline')
397
+ .map(function (chainValue, key) {
398
+ var value = chainValue.map(function (d) { return (__assign(__assign({}, d), { billingUnitLabel: d.billingUnitLabel || Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication] })); });
399
+ var dateString = (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimelineToDateTime)(key, timelineType), timelineType === Helpers_1.TIMELINE_TYPE.DAY
400
+ ? 'DD/MM/YYYY'
401
+ : 'DD/MM/YYYY, H:mm');
402
+ var impression = (0, lodash_1.sumBy)(value, Enum_1.BaseEvent[Enum_2.AnalyticType.View]);
403
+ var authen = value.reduce(function (sum, d) {
404
+ return (sum +
405
+ (d.billingUnitLabel === Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication] ? Number(d[Enum_1.BaseEvent[Number(d.billingUnit)]] || 0) : 0));
406
+ }, 0);
407
+ var isAdReLabel = value.some(function (d) { return d.billingUnitLabel !== Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication]; });
408
+ var subReLabel = value.reduce(function (sum, d) {
409
+ return (sum +
410
+ (d.billingUnitLabel !== Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication] ? Number(d[Enum_1.BaseEvent[Number(d.billingUnit)]] || 0) : 0));
411
+ }, 0);
412
+ var output = [place, province, district, dateString, impression, !isAdReLabel ? authen : "", isAdReLabel ? subReLabel : ""];
413
+ return output;
414
+ })
415
+ .value();
416
+ var impressionTotal = (0, lodash_1.sumBy)(data, Enum_1.BaseEvent[Enum_2.AnalyticType.View]);
417
+ var authenTotal = result.reduce(function (sum, d) { return (sum + d[5] || 0); }, 0);
418
+ var subReLabelTotal = result.reduce(function (sum, d) { return (sum + d[6] || 0); }, 0);
419
+ var isReLabel = data.some(function (d) { return d.billingUnitLabel !== Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication]; });
420
+ var totalArr = [
421
+ place,
422
+ province,
423
+ district,
424
+ i18n_1.default.t('Schedule.Total'),
425
+ impressionTotal,
426
+ !isReLabel ? authenTotal : "",
427
+ isReLabel ? subReLabelTotal : "",
428
+ ];
429
+ result.push(totalArr);
430
+ return result;
431
+ }
432
+ exports.dataGroupByTimelineAndPlaces = dataGroupByTimelineAndPlaces;
433
+ function dataGroupByAd(data, timelineType) {
434
+ var isReLabel = data.some(function (d) { return d.billingUnitLabel !== Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication]; });
435
+ var result = (0, lodash_1.chain)(data)
436
+ .groupBy('timeline')
437
+ .map(function (value, key) {
438
+ var dateString = (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimelineToDateTime)(key, timelineType), timelineType === Helpers_1.TIMELINE_TYPE.DAY
439
+ ? 'DD/MM/YYYY'
440
+ : 'DD/MM/YYYY, H:mm');
441
+ var impression = (0, lodash_1.sumBy)(value, Enum_1.BaseEvent[Enum_2.AnalyticType.View]);
442
+ var authen = value.reduce(function (sum, d) {
443
+ return (sum +
444
+ Number(d[Enum_1.BaseEvent[Number(d.billingUnit)]] || 0));
445
+ }, 0);
446
+ var output = [dateString, impression];
447
+ if (isReLabel)
448
+ output.push("", authen);
449
+ else
450
+ output.push(authen, "");
451
+ return output;
452
+ })
453
+ .value();
454
+ var impressionTotal = (0, lodash_1.sumBy)(data, Enum_1.BaseEvent[Enum_2.AnalyticType.View]);
455
+ var authenTotal = data.reduce(function (sum, d) { return (sum + d[Enum_1.BaseEvent[Number(d.billingUnit)]]); }, 0);
456
+ var totalArr = [i18n_1.default.t('Schedule.Total'), impressionTotal];
457
+ if (isReLabel)
458
+ totalArr.push("", authenTotal);
459
+ else
460
+ totalArr.push(authenTotal, "");
461
+ result.push(totalArr);
462
+ return result;
463
+ }
464
+ exports.dataGroupByAd = dataGroupByAd;
273
465
  function dataGroupByPlace(subCampaigns, ids) {
274
466
  return (0, lodash_1.chain)(subCampaigns.filter(function (sub) {
275
467
  var _a, _b, _c;
@@ -297,30 +489,52 @@ function dataGroupByPlace(subCampaigns, ids) {
297
489
  .value();
298
490
  }
299
491
  exports.dataGroupByPlace = dataGroupByPlace;
300
- var sumEvent = function (data, eventLabel) {
301
- if (data === void 0) { data = []; }
302
- return (0, lodash_1.sumBy)(data, function (y) { return (y.total && y.eventLabel === eventLabel) ? y.total : 0; });
303
- };
304
- exports.sumEvent = sumEvent;
305
- var convertToChartData = function (data, campaignGroups) {
492
+ function campaignAnalyticInfo(subCampaigns) {
493
+ var isAllReLabel = subCampaigns.every(function (sub) { return sub.campaignGroup.billingUnitLabel && sub.campaignGroup.billingUnitLabel !== Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication]; });
494
+ return {
495
+ isAllReLabel: isAllReLabel,
496
+ analyticTypes: Array.from(new Set(subCampaigns.map(function (x) { return x.campaignGroup.billingUnit; }))),
497
+ hasSpot: isAllReLabel ? false : subCampaigns.some(function (sub) { return sub.ads.some(function (ad) { return ad.type === Enum_1.AdType.VIDEO; }) && (sub.campaignGroup.billingUnitLabel ? sub.campaignGroup.billingUnitLabel === Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication] : true); }),
498
+ hasEg: isAllReLabel ? false : subCampaigns.some(function (sub) { return sub.ads.some(function (ad) { return ad.type !== Enum_1.AdType.VIDEO; }) && (sub.campaignGroup.billingUnitLabel ? sub.campaignGroup.billingUnitLabel === Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication] : true); }),
499
+ hasClick: subCampaigns.filter(function (s) { return s.campaignGroup.billingUnitLabel && (Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication] !== s.campaignGroup.billingUnitLabel); }).length > 0,
500
+ };
501
+ }
502
+ exports.campaignAnalyticInfo = campaignAnalyticInfo;
503
+ var convertToChartData = function (data, campaignGroups, time) {
306
504
  var _a;
307
- var convertData = Object.assign.apply(Object, __spreadArray([{}], [Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW], Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK], 'Spot', 'Engagement'].map(function (x) {
505
+ var timelineType = 'YYYYMMDD';
506
+ var convertData = Object.assign.apply(Object, __spreadArray([{}], [Enum_1.BaseEvent[Enum_2.AnalyticType.View], 'Spot', 'Engagement', Enum_1.BaseEvent[Enum_2.AnalyticType.Click]].map(function (x) {
308
507
  var _a;
309
- return (_a = {}, _a[x] = { total: 0, chartData: [] }, _a);
508
+ return (_a = {},
509
+ _a[x] = { total: 0, chartData: [] },
510
+ _a);
310
511
  }), false));
311
- var startDate = Number.MAX_SAFE_INTEGER;
312
- var endDate = 0;
313
- data.forEach(function (x, index) {
314
- startDate = Math.min(startDate, Number(x.timeline));
315
- endDate = Math.max(endDate, Number(x.timeline));
316
- var billingUnit = (0, lodash_1.get)(campaignGroups, [x.campaignGroupId - 1]).campaignGroup.billingUnit;
317
- var hasAuthen = billingUnit === Enum_2.AnalyticType.AUTHENTICATION;
318
- var isSpot = hasAuthen && (0, lodash_1.get)(campaignGroups, [x.campaignGroupId - 1, 'ads', x.campaignAdId - 1]).type === Enum_1.AdType.VIDEO;
512
+ data.forEach(function (x) {
513
+ var _a;
514
+ if (String(x.timeline).length === 10) {
515
+ timelineType = 'YYYYMMDDHH';
516
+ }
517
+ var subCampaign = campaignGroups.find(function (c) { return c.campaignGroup.id === x.campaignGroupId; });
518
+ if (!subCampaign)
519
+ return;
520
+ var _b = subCampaign.campaignGroup, billingUnit = _b.billingUnit, billingUnitLabel = _b.billingUnitLabel;
521
+ var isSpot = ((_a = subCampaign.ads.find(function (s) { return s.id === x.campaignAdId; })) === null || _a === void 0 ? void 0 : _a.type) ===
522
+ Enum_1.AdType.VIDEO;
319
523
  var timeline = x.timeline.toString();
320
524
  x.analyticEventSummaries.forEach(function (event) {
321
525
  var _a;
322
- if (event.eventLabel === Enum_1.BaseEvent[billingUnit]) {
323
- var objKey = event.eventLabel === Enum_1.BaseEvent[Enum_2.AnalyticType.AUTHENTICATION] ? (isSpot ? 'Spot' : 'Engagement') : event.eventLabel;
526
+ if ([Enum_1.BaseEvent[billingUnit], Enum_1.BaseEvent[Enum_2.AnalyticType.View]].includes(event.eventLabel)) {
527
+ var objKey = [
528
+ Enum_1.BaseEvent[Enum_2.AnalyticType.Authentication],
529
+ Enum_1.BaseEvent[Enum_2.AnalyticType.Click],
530
+ ].includes(event.eventLabel)
531
+ ? isSpot
532
+ ? 'Spot'
533
+ : 'Engagement'
534
+ : event.eventLabel;
535
+ if (billingUnitLabel && billingUnitLabel !== Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication] && event.eventLabel !== Enum_1.BaseEvent[Enum_2.AnalyticType.View]) {
536
+ objKey = Enum_1.BaseEvent[Enum_2.AnalyticType.Click];
537
+ }
324
538
  (_a = convertData[objKey]) === null || _a === void 0 ? void 0 : _a.chartData.push({
325
539
  y: event.total,
326
540
  x: timeline,
@@ -332,30 +546,34 @@ var convertToChartData = function (data, campaignGroups) {
332
546
  });
333
547
  });
334
548
  var translate = (_a = {},
335
- _a[Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]] = 'Common.Impression',
336
- _a[Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK]] = 'Statistics.NumberOfConnections',
337
- _a['Spot'] = 'Campaign.Spot',
338
- _a['Engagement'] = 'Campaign.Engagement',
549
+ _a[Enum_1.BaseEvent[Enum_2.AnalyticType.View]] = 'Common.Impression',
550
+ _a.Spot = 'Campaign.Spot',
551
+ _a.Engagement = 'Campaign.Engagement',
552
+ _a.Click = 'Common.FinalClick',
339
553
  _a);
340
- return Object.entries(convertData).map(function (_a, index) {
554
+ var analyticInfo = campaignAnalyticInfo(campaignGroups);
555
+ return Object.entries(convertData)
556
+ .map(function (_a, index) {
341
557
  var key = _a[0], value = _a[1];
342
- var data = (0, lodash_1.default)(value.chartData).groupBy('x').map(function (value, key) { return ({ x: key, y: (0, lodash_1.sumBy)(value, 'y') }); }).value();
343
- if (data.some(function (_a) {
344
- var y = _a.y;
345
- return Number(y) !== 0;
346
- })) {
347
- return {
348
- label: "".concat(i18n_1.default.t(translate[key]), " ").concat((0, Helpers_1.roundDecimalNumber)(value.total)),
349
- type: 'line',
350
- data: (0, Helpers_1.fillMissingDates)(data, startDate, endDate),
351
- fill: false,
352
- pointStyle: 'circle',
353
- yAxisID: 'y',
354
- variant: String(index),
355
- };
356
- }
357
- return {};
358
- }).filter(function (o) { return Object.values(o).length; });
558
+ if ((key === 'Spot' && !analyticInfo.hasSpot) ||
559
+ (key === 'Engagement' && !analyticInfo.hasEg) ||
560
+ (key === 'Click' && !analyticInfo.hasClick))
561
+ return false;
562
+ var data = (0, lodash_1.default)(value.chartData)
563
+ .groupBy('x')
564
+ .map(function (value, key) { return ({ x: key, y: (0, lodash_1.sumBy)(value, 'y') }); })
565
+ .value();
566
+ return {
567
+ label: "".concat(i18n_1.default.t(translate[key]), " ").concat((0, Helpers_1.roundDecimalNumber)(value.total)),
568
+ type: 'line',
569
+ data: (0, Helpers_1.fillMissingDates)(data, time.startDate, time.endDate, timelineType),
570
+ fill: false,
571
+ pointStyle: 'circle',
572
+ yAxisID: 'y',
573
+ variant: key,
574
+ };
575
+ })
576
+ .filter(Boolean);
359
577
  };
360
578
  exports.convertToChartData = convertToChartData;
361
579
  function groupBy(array, key) {
@@ -72,6 +72,6 @@ var Analytic = function (props) {
72
72
  };
73
73
  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, { subCampaigns: subCampaigns, queryInput: queryInput, onChangeQueryInput: changeQueryInput, onQueryData: queryData, isExportType: true, onExportData: function (exportType) {
74
74
  return exportData(queryInput.time, queryInput.placeIds, queryInput.timelineType, exportType, queryInput.ids);
75
- }, domains: domains }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, style: { marginTop: '20px' }, children: isLoading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(ChartWithType_1.default, { statisticalData: statisticalData, subCampaigns: subCampaigns, ids: queryInput.ids, onCampaignAdGroupIdChange: handleChangeAdGroupId, statisticType: queryInput.statisticType, setStatisticType: changeStatisticType, timelineType: queryInput.timelineType, setTimelineType: changeTimelineType })) })] }));
75
+ }, domains: domains }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, style: { marginTop: '20px' }, children: isLoading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(ChartWithType_1.default, { statisticalData: statisticalData, subCampaigns: subCampaigns, ids: queryInput.ids, onCampaignAdGroupIdChange: handleChangeAdGroupId, statisticType: queryInput.statisticType, setStatisticType: changeStatisticType, timelineType: queryInput.timelineType, setTimelineType: changeTimelineType, time: queryInput.time })) })] }));
76
76
  };
77
77
  exports.default = Analytic;
@@ -1,4 +1,5 @@
1
1
  import { CampaignGroupModel } from '../../../../../ACM-AXN/Campaign/Types';
2
+ import { AdministrativeUnit } from '../Types';
2
3
  export interface ICampaignAdGroup {
3
4
  campaignId?: string;
4
5
  campaignGroupId?: number | undefined;
@@ -6,10 +7,12 @@ export interface ICampaignAdGroup {
6
7
  }
7
8
  interface Props {
8
9
  campaignId: string;
10
+ campaignName?: string;
9
11
  startDate: Date;
10
12
  endDate: Date;
11
13
  subCampaigns: CampaignGroupModel[];
12
14
  domains: any[];
15
+ fullPlaces?: AdministrativeUnit[];
13
16
  }
14
17
  declare const AnalyticContainer: (props: Props) => import("react/jsx-runtime").JSX.Element;
15
18
  export default AnalyticContainer;