awing-library 2.1.131-beta → 2.1.131

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 (219) 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 -42
  25. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +316 -96
  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 +119 -55
  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 +1 -1
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +4 -7
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +3 -3
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +3 -3
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +10 -0
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -29
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +5 -2
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +2 -2
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +6 -0
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.d.ts +8 -0
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.js +47 -0
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +52 -6
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.d.ts +1 -0
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.js +3 -1
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.d.ts +4 -3
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +13 -7
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.d.ts +1 -1
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +75 -123
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
  61. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.d.ts +2 -0
  62. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +8 -3
  63. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
  64. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  65. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  66. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +176 -59
  67. package/lib/ACM-AXN/Campaign/Enum.d.ts +23 -4
  68. package/lib/ACM-AXN/Campaign/Enum.js +30 -10
  69. package/lib/ACM-AXN/Campaign/Types.d.ts +52 -6
  70. package/lib/ACM-AXN/Campaign/Utils.d.ts +5 -0
  71. package/lib/ACM-AXN/Campaign/Utils.js +29 -2
  72. package/lib/ACM-AXN/Campaign/index.js +2 -2
  73. package/lib/ACM-AXN/CampaignPlan/Container.js +21 -10
  74. package/lib/ACM-AXN/CampaignPlan/Container.test.d.ts +1 -1
  75. package/lib/ACM-AXN/CampaignPlan/Container.test.js +1 -2
  76. package/lib/ACM-AXN/CampaignPlan/Detail.js +5 -7
  77. package/lib/ACM-AXN/CampaignPlan/Detail.test.d.ts +1 -1
  78. package/lib/ACM-AXN/CampaignPlan/Detail.test.js +2 -3
  79. package/lib/ACM-AXN/CampaignPlan/Filter.js +11 -4
  80. package/lib/ACM-AXN/CampaignPlan/Filter.test.d.ts +1 -1
  81. package/lib/ACM-AXN/CampaignPlan/Filter.test.js +0 -1
  82. package/lib/ACM-AXN/CampaignPlan/Types.d.ts +6 -74
  83. package/lib/ACM-AXN/CampaignPlan/Types.js +1 -253
  84. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
  85. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
  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/Recoil/Atom.d.ts +1 -2
  90. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
  91. package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
  92. package/lib/ACM-AXN/Common/Constant.js +2 -0
  93. package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
  94. package/lib/ACM-AXN/Common/Enum.js +19 -4
  95. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  96. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  97. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  98. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  99. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  100. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  101. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
  102. package/lib/ACM-AXN/Page/Constant.js +2 -0
  103. package/lib/ACM-AXN/Page/Container.js +3 -3
  104. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  105. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  106. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -2
  107. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -12
  108. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  109. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  110. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  111. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  112. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +11 -45
  113. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  114. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +39 -61
  115. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +29 -32
  116. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +10 -9
  117. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +17 -4
  118. package/lib/ACM-AXN/Page/Types.d.ts +3 -0
  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/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.js +2 -3
  162. package/lib/ACM-AXN/ViewTemplate/container.js +23 -24
  163. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  164. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  165. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  166. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  167. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  168. package/lib/ACM-AXN/index.d.ts +1 -0
  169. package/lib/ACM-AXN/index.js +1 -0
  170. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  171. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  172. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  173. package/lib/AWING/Chart/BarLineComponent.js +29 -11
  174. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  175. package/lib/AWING/Chart/PieComponent.js +16 -16
  176. package/lib/AWING/Chart/Styles.js +51 -16
  177. package/lib/AWING/DataForm/DataInput.js +63 -20
  178. package/lib/AWING/DataForm/interface.d.ts +1 -0
  179. package/lib/AWING/DataGrid/index.js +8 -13
  180. package/lib/AWING/DateRangePicker/component.js +55 -30
  181. package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
  182. package/lib/AWING/DateRangePicker/configDate.js +12 -12
  183. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  184. package/lib/AWING/Form/useForm.js +3 -2
  185. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  186. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  187. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  188. package/lib/AWING/GoogleMap/index.js +41 -0
  189. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  190. package/lib/AWING/GoogleMap/interface.js +2 -0
  191. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  192. package/lib/AWING/GoogleMap/utils.js +135 -0
  193. package/lib/AWING/GroupTable/GroupTable.js +4 -5
  194. package/lib/AWING/GroupTable/component.d.ts +1 -0
  195. package/lib/AWING/GroupTable/component.js +2 -2
  196. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  197. package/lib/AWING/NumberFormat/index.js +2 -2
  198. package/lib/AWING/PageManagement/PageManagement.js +4 -3
  199. package/lib/AWING/Pagination/index.js +11 -3
  200. package/lib/AWING/index.d.ts +1 -0
  201. package/lib/AWING/index.js +1 -0
  202. package/lib/AWING/ultis/validation.d.ts +1 -0
  203. package/lib/AWING/ultis/validation.js +21 -5
  204. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  205. package/lib/Commons/Components/DeprecatedEnhancedDialog.js +1 -1
  206. package/lib/Commons/Hooks/usePath.js +3 -3
  207. package/lib/Utils/Helpers.d.ts +3 -2
  208. package/lib/Utils/Helpers.js +48 -8
  209. package/lib/i18n.js +14 -2
  210. package/lib/translate/en/translation.json +112 -71
  211. package/lib/translate/id/translation.json +870 -0
  212. package/lib/translate/ja/translation.json +870 -0
  213. package/lib/translate/th/translation.json +870 -0
  214. package/lib/translate/vi/translation.json +76 -35
  215. package/package.json +131 -126
  216. package/lib/ACM-AXN/ScheduleCompletionRate/json.d.ts +0 -61
  217. package/lib/ACM-AXN/ScheduleCompletionRate/json.js +0 -268
  218. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.d.ts +0 -5
  219. 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.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) {
168
+ var _a;
169
+ return (_a = {},
170
+ _a[v] = 0,
171
+ _a);
172
+ }), false), x.analyticEventSummaries.map(function (y) {
120
173
  var _a;
121
- return (_a = {}, _a[y.eventLabel] = y.total, _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
- i18n_1.default.t("Campaign.EngagementPerSpot"),
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,10 +285,24 @@ 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; });
@@ -203,20 +314,23 @@ function convertToShowDetail(subCampaigns, data, selectedDomains, selectedPlaces
203
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 })); })) || [])) || [];
204
315
  (0, lodash_1.uniqBy)(
205
316
  // adPlaces.filter((p) => placeIds.includes(p.placeId)),
206
- 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) {
207
320
  var domain = selectedDomains.find(function (s) { return s.domainId === (place === null || place === void 0 ? void 0 : place.domainId); });
208
321
  var totalClick = data
209
322
  .filter(function (d) {
210
323
  var _a;
211
- return d.placeId === place.placeId
212
- && d.campaignGroupId === ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id)
213
- && 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);
214
327
  })
215
328
  .reduce(function (sum, d) {
216
329
  var _a;
217
330
  var event = (_a = d.analyticEventSummaries) === null || _a === void 0 ? void 0 : _a.find(function (_a) {
218
331
  var eventLabel = _a.eventLabel;
219
- return (eventLabel === Enum_1.BaseEvent[sub.campaignGroup.billingUnit]);
332
+ return eventLabel ===
333
+ Enum_1.BaseEvent[sub.campaignGroup.billingUnit];
220
334
  });
221
335
  return sum + ((event === null || event === void 0 ? void 0 : event.total) || 0);
222
336
  }, 0);
@@ -240,35 +354,114 @@ function convertToShowDetail(subCampaigns, data, selectedDomains, selectedPlaces
240
354
  }
241
355
  exports.convertToShowDetail = convertToShowDetail;
242
356
  function dataGroupByTimeline(place, data, timelineType) {
357
+ var isReLabel = data.some(function (d) { return d.billingUnitLabel !== Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication]; });
243
358
  var result = (0, lodash_1.chain)(data)
244
359
  .groupBy('timeline')
245
360
  .map(function (value, key) {
246
- console.log("value", value, value.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.AUTHENTICATION; }));
247
361
  var dateString = (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimelineToDateTime)(key, timelineType), timelineType === Helpers_1.TIMELINE_TYPE.DAY
248
362
  ? 'DD/MM/YYYY'
249
363
  : 'DD/MM/YYYY, H:mm');
250
- // let impression = sumBy(value, BaseEvent[AnalyticType.VIEW])
251
- var impression = (0, lodash_1.sumBy)(value.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.VIEW; }), Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]);
252
- var click = (0, lodash_1.sumBy)(value.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.CLICK; }), Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK]);
253
- var authen = (0, lodash_1.sumBy)(value.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.AUTHENTICATION; }), Enum_1.BaseEvent[Enum_2.AnalyticType.AUTHENTICATION]);
254
- var arr = [place, dateString, impression, authen, click];
255
- 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;
256
375
  })
257
376
  .value();
258
- var impr = (0, lodash_1.sumBy)(data.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.VIEW; }), Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]);
259
- var clk = (0, lodash_1.sumBy)(data.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.CLICK; }), Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK]);
260
- var authen = (0, lodash_1.sumBy)(data.filter(function (x) { return x.billingUnit === Enum_2.AnalyticType.AUTHENTICATION; }), Enum_1.BaseEvent[Enum_2.AnalyticType.AUTHENTICATION]);
261
- console.log("data", data);
262
- 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 = [
263
382
  place,
264
383
  i18n_1.default.t('Schedule.Total'),
265
- impr,
266
- authen,
267
- clk,
268
- ]);
384
+ impressionTotal,
385
+ ];
386
+ if (isReLabel)
387
+ totalArr.push("", authenTotal);
388
+ else
389
+ totalArr.push(authenTotal, "");
390
+ result.push(totalArr);
269
391
  return result;
270
392
  }
271
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;
272
465
  function dataGroupByPlace(subCampaigns, ids) {
273
466
  return (0, lodash_1.chain)(subCampaigns.filter(function (sub) {
274
467
  var _a, _b, _c;
@@ -296,29 +489,52 @@ function dataGroupByPlace(subCampaigns, ids) {
296
489
  .value();
297
490
  }
298
491
  exports.dataGroupByPlace = dataGroupByPlace;
299
- 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) {
300
504
  var _a;
301
- 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) {
302
507
  var _a;
303
- return (_a = {}, _a[x] = { total: 0, chartData: [] }, _a);
508
+ return (_a = {},
509
+ _a[x] = { total: 0, chartData: [] },
510
+ _a);
304
511
  }), false));
305
- var startDate = Number.MAX_SAFE_INTEGER;
306
- var endDate = 0;
307
512
  data.forEach(function (x) {
308
513
  var _a;
309
- startDate = Math.min(startDate, Number(x.timeline));
310
- endDate = Math.max(endDate, Number(x.timeline));
514
+ if (String(x.timeline).length === 10) {
515
+ timelineType = 'YYYYMMDDHH';
516
+ }
311
517
  var subCampaign = campaignGroups.find(function (c) { return c.campaignGroup.id === x.campaignGroupId; });
312
518
  if (!subCampaign)
313
519
  return;
314
- var billingUnit = subCampaign.campaignGroup.billingUnit;
315
- var hasAuthen = billingUnit === Enum_2.AnalyticType.AUTHENTICATION;
316
- var isSpot = hasAuthen && ((_a = subCampaign.ads.find(function (s) { return s.id === x.campaignAdId; })) === null || _a === void 0 ? void 0 : _a.type) === Enum_1.AdType.VIDEO;
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;
317
523
  var timeline = x.timeline.toString();
318
524
  x.analyticEventSummaries.forEach(function (event) {
319
525
  var _a;
320
- if (event.eventLabel === Enum_1.BaseEvent[billingUnit]) {
321
- 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
+ }
322
538
  (_a = convertData[objKey]) === null || _a === void 0 ? void 0 : _a.chartData.push({
323
539
  y: event.total,
324
540
  x: timeline,
@@ -330,30 +546,34 @@ var convertToChartData = function (data, campaignGroups) {
330
546
  });
331
547
  });
332
548
  var translate = (_a = {},
333
- _a[Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]] = 'Common.Impression',
334
- _a[Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK]] = 'Statistics.NumberOfConnections',
335
- _a['Spot'] = 'Campaign.Spot',
336
- _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',
337
553
  _a);
338
- return Object.entries(convertData).map(function (_a, index) {
554
+ var analyticInfo = campaignAnalyticInfo(campaignGroups);
555
+ return Object.entries(convertData)
556
+ .map(function (_a, index) {
339
557
  var key = _a[0], value = _a[1];
340
- 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();
341
- if (data.some(function (_a) {
342
- var y = _a.y;
343
- return Number(y) !== 0;
344
- })) {
345
- return {
346
- label: "".concat(i18n_1.default.t(translate[key]), " ").concat((0, Helpers_1.roundDecimalNumber)(value.total)),
347
- type: 'line',
348
- data: (0, Helpers_1.fillMissingDates)(data, startDate, endDate),
349
- fill: false,
350
- pointStyle: 'circle',
351
- yAxisID: 'y',
352
- variant: String(index),
353
- };
354
- }
355
- return {};
356
- }).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);
357
577
  };
358
578
  exports.convertToChartData = convertToChartData;
359
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;