awing-library 2.1.147-beta → 2.1.147

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 (212) hide show
  1. package/lib/ACM-AXN/AuthenticationProfile/Container.js +4 -4
  2. package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/index.js +2 -2
  3. package/lib/ACM-AXN/Campaign/Container.js +52 -54
  4. package/lib/ACM-AXN/Campaign/Container.test.js +1 -3
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +8 -1
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +27 -3
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.d.ts +17 -0
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.js +121 -0
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.d.ts +1 -0
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.js +219 -0
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.d.ts +2 -0
  12. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +306 -0
  13. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
  14. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
  15. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.d.ts +1 -0
  16. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.js +123 -0
  17. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.d.ts +1 -0
  18. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.js +253 -0
  19. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +21 -5
  20. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.d.ts +1 -1
  21. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.js +47 -78
  22. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +2 -1
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +2 -2
  24. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +2 -1
  25. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +2 -1
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +19 -42
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +298 -96
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +119 -54
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +6 -4
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +1 -1
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.d.ts +9 -0
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.js +56 -0
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +12 -0
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +22 -7
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +63 -12
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +10 -0
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -29
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +1 -1
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +1 -1
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +1 -1
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +44 -33
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +3 -2
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +172 -59
  61. package/lib/ACM-AXN/Campaign/Enum.d.ts +24 -6
  62. package/lib/ACM-AXN/Campaign/Enum.js +30 -11
  63. package/lib/ACM-AXN/Campaign/Types.d.ts +53 -5
  64. package/lib/ACM-AXN/Campaign/Utils.d.ts +6 -1
  65. package/lib/ACM-AXN/Campaign/Utils.js +50 -3
  66. package/lib/ACM-AXN/Campaign/index.js +2 -2
  67. package/lib/ACM-AXN/CampaignPlan/Container.js +4 -6
  68. package/lib/ACM-AXN/CampaignPlan/Detail.js +3 -3
  69. package/lib/ACM-AXN/CampaignPlan/Filter.js +3 -3
  70. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
  71. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
  72. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +5 -7
  73. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
  74. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
  75. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
  76. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
  77. package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
  78. package/lib/ACM-AXN/Common/Constant.js +2 -0
  79. package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
  80. package/lib/ACM-AXN/Common/Enum.js +19 -4
  81. package/lib/ACM-AXN/Common/Types.d.ts +5 -0
  82. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  83. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  84. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  85. package/lib/ACM-AXN/Holiday/FormHoliday.js +1 -0
  86. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  87. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  88. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  89. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
  90. package/lib/ACM-AXN/Page/Constant.js +2 -0
  91. package/lib/ACM-AXN/Page/Container.js +3 -3
  92. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  93. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  94. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -2
  95. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -12
  96. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/TrackingCode.js +1 -1
  97. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  98. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  99. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  100. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  101. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +11 -44
  102. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  103. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +39 -61
  104. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +29 -32
  105. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -6
  106. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +19 -4
  107. package/lib/ACM-AXN/Page/Import/index.js +2 -2
  108. package/lib/ACM-AXN/Page/Types.d.ts +3 -0
  109. package/lib/ACM-AXN/Page/enums.d.ts +5 -0
  110. package/lib/ACM-AXN/Page/enums.js +7 -1
  111. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  112. package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
  113. package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
  114. package/lib/ACM-AXN/PlaceFilter/Tag/component/TagChip.js +1 -1
  115. package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
  116. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
  117. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
  118. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
  119. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
  120. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
  121. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  122. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
  123. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  124. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  125. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  126. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
  127. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
  128. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +13 -10
  129. package/lib/ACM-AXN/Statistics/ControlPanel.js +17 -5
  130. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  131. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  132. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
  133. package/lib/ACM-AXN/StatisticsByProvince/DataTable.js +1 -1
  134. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +4 -4
  135. package/lib/ACM-AXN/Template/Container.js +2 -2
  136. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
  137. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
  138. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
  139. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -37
  140. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
  141. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
  142. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
  143. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
  144. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
  145. package/lib/ACM-AXN/Template/Import.js +2 -2
  146. package/lib/ACM-AXN/Template/Types.d.ts +9 -9
  147. package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
  148. package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
  149. package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.js +23 -11
  150. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  151. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  152. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +42 -129
  153. package/lib/ACM-AXN/ViewTemplate/common.d.ts +2 -1
  154. package/lib/ACM-AXN/ViewTemplate/common.js +47 -7
  155. package/lib/ACM-AXN/ViewTemplate/container.js +8 -2
  156. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  157. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  158. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  159. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  160. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  161. package/lib/ACM-AXN/index.d.ts +1 -0
  162. package/lib/ACM-AXN/index.js +1 -0
  163. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  164. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  165. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  166. package/lib/AWING/Chart/BarLineComponent.js +20 -24
  167. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  168. package/lib/AWING/Chart/PieComponent.js +16 -16
  169. package/lib/AWING/Chart/Styles.js +51 -16
  170. package/lib/AWING/DataForm/DataInput.js +105 -23
  171. package/lib/AWING/DataForm/interface.d.ts +2 -0
  172. package/lib/AWING/DataGrid/index.js +8 -13
  173. package/lib/AWING/DateRangePicker/component.js +81 -33
  174. package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
  175. package/lib/AWING/DateRangePicker/configDate.js +12 -12
  176. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  177. package/lib/AWING/Form/useForm.js +3 -2
  178. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  179. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  180. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  181. package/lib/AWING/GoogleMap/index.js +41 -0
  182. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  183. package/lib/AWING/GoogleMap/interface.js +2 -0
  184. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  185. package/lib/AWING/GoogleMap/utils.js +135 -0
  186. package/lib/AWING/GroupTable/GroupTable.js +2 -2
  187. package/lib/AWING/GroupTable/component.d.ts +1 -0
  188. package/lib/AWING/GroupTable/component.js +2 -2
  189. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  190. package/lib/AWING/NumberFormat/index.js +2 -2
  191. package/lib/AWING/PageManagement/PageManagement.js +4 -3
  192. package/lib/AWING/Pagination/index.js +11 -3
  193. package/lib/AWING/index.d.ts +1 -0
  194. package/lib/AWING/index.js +1 -0
  195. package/lib/AWING/ultis/validation.d.ts +1 -0
  196. package/lib/AWING/ultis/validation.js +25 -6
  197. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  198. package/lib/Commons/Components/HighlightedCode/MarkdownElement.js +6 -1
  199. package/lib/Commons/Hooks/usePath.js +3 -3
  200. package/lib/Utils/Helpers.d.ts +4 -3
  201. package/lib/Utils/Helpers.js +54 -23
  202. package/lib/i18n.js +31 -2
  203. package/lib/translate/en/translation.json +131 -71
  204. package/lib/translate/id/translation.json +893 -0
  205. package/lib/translate/ind/translation.json +893 -0
  206. package/lib/translate/ja/translation.json +893 -0
  207. package/lib/translate/lao/translation.json +893 -0
  208. package/lib/translate/mys/translation.json +893 -0
  209. package/lib/translate/phl/translation.json +893 -0
  210. package/lib/translate/th/translation.json +893 -0
  211. package/lib/translate/vi/translation.json +91 -31
  212. package/package.json +9 -4
@@ -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,41 +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.Engagement'),
76
- i18n_1.default.t('Common.FinalClick'),
77
- 'ER (%)',
78
- 'CTR (%)',
79
- ],
101
+ columns: header,
80
102
  data: exportData,
81
103
  });
82
104
  return result;
83
105
  }
84
106
  exports.convertToExportDataGroupBy = convertToExportDataGroupBy;
85
- function convertToExportData(data, places, timelineType) {
107
+ function convertToExportData(data, places, timelineType, campaignName, fullPlaces) {
86
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)
87
120
  result.push({
88
- columns: [
89
- 'Place',
90
- 'Time',
91
- i18n_1.default.t('Common.Impression'),
92
- i18n_1.default.t('Common.Enagagement'),
93
- i18n_1.default.t('Common.FinalClick'),
94
- 'ER (%)',
95
- 'CTR (%)',
96
- ],
97
- data: dataGroupByTimeline('All', data, timelineType),
121
+ columns: header,
122
+ data: dataGroupByTimelineAndPlaces('All', 'All', 'All', data, timelineType),
98
123
  });
99
124
  Array.prototype.push.apply(result, (0, lodash_1.chain)(data)
100
125
  .groupBy('placeId')
101
126
  .map(function (value, key) {
127
+ var _a, _b;
102
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;
103
131
  var placeData = {
104
132
  columns: Array(7).fill(''),
105
- data: dataGroupByTimeline(place ? place.name : key, value, timelineType),
133
+ data: dataGroupByTimelineAndPlaces(place ? place.name : key, province !== null && province !== void 0 ? province : '', district !== null && district !== void 0 ? district : '', value, timelineType),
106
134
  };
107
135
  return placeData;
108
136
  })
@@ -110,9 +138,22 @@ function convertToExportData(data, places, timelineType) {
110
138
  return result;
111
139
  }
112
140
  exports.convertToExportData = convertToExportData;
113
- function convertToExport(subCampaigns, data, timelineType, places) {
141
+ function convertToExport(subCampaigns, data, timelineType, places, campaignName, fullPlaces) {
114
142
  var result = [];
115
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
+ ];
116
157
  subCampaigns.forEach(function (sub) {
117
158
  var _a;
118
159
  (_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
@@ -122,6 +163,7 @@ function convertToExport(subCampaigns, data, timelineType, places) {
122
163
  return (d.campaignGroupId === ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id) &&
123
164
  d.campaignAdId === ad.id);
124
165
  })
166
+ // eslint-disable-next-line no-sequences
125
167
  .map(function (x) { return (__assign(__assign({}, x), Object.assign.apply(Object, __spreadArray(__spreadArray([{}], Object.values(Enum_1.BaseEvent).map(function (v) {
126
168
  var _a;
127
169
  return (_a = {},
@@ -135,28 +177,21 @@ function convertToExport(subCampaigns, data, timelineType, places) {
135
177
  }), false)))); });
136
178
  result.push({
137
179
  columns: isShouldHeader
138
- ? [
139
- 'Sub-campaign',
140
- 'Ad',
141
- 'Place',
142
- 'Time',
143
- i18n_1.default.t('Common.Impression'),
144
- i18n_1.default.t("Campaign.EngagementPerSpot"),
145
- i18n_1.default.t('Common.FinalClick'),
146
- "ER (%)",
147
- "CTR (%)",
148
- ]
149
- : Array(9).fill(''),
150
- 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); }),
180
+ ? header
181
+ : Array(7).fill(''),
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); }),
151
183
  });
152
184
  isShouldHeader = false;
153
185
  Array.prototype.push.apply(result, (0, lodash_1.chain)(adData)
154
186
  .groupBy('placeId')
155
187
  .map(function (value, key) {
188
+ var _a, _b;
156
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;
157
192
  var placeData = {
158
- columns: Array(9).fill(''),
159
- data: dataGroupByTimeline(place ? (place === null || place === void 0 ? void 0 : place.name) || place.placeId : key, value, timelineType).map(function (d) {
193
+ columns: Array(7).fill(''),
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) {
160
195
  var _a;
161
196
  return __spreadArray([
162
197
  (_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.name,
@@ -172,6 +207,54 @@ function convertToExport(subCampaigns, data, timelineType, places) {
172
207
  return result;
173
208
  }
174
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;
175
258
  function placesToDomains(places, domains) {
176
259
  var _a, _b;
177
260
  if (domains === void 0) { domains = []; }
@@ -202,10 +285,24 @@ function placesToDomains(places, domains) {
202
285
  return groupDomain;
203
286
  }
204
287
  exports.placesToDomains = placesToDomains;
205
- var markBillingType = function (subCampaigns, data) { return data.map(function (x, index) {
206
- var _a = (0, lodash_1.get)(subCampaigns, [x.campaignGroupId - 1]), campaignGroup = _a.campaignGroup, ads = _a.ads;
207
- 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 });
208
- }); };
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
+ };
209
306
  exports.markBillingType = markBillingType;
210
307
  function convertToShowDetail(subCampaigns, data, selectedDomains, selectedPlaces) {
211
308
  var placeIds = selectedPlaces.map(function (p) { return p.placeId; });
@@ -217,20 +314,23 @@ function convertToShowDetail(subCampaigns, data, selectedDomains, selectedPlaces
217
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 })); })) || [])) || [];
218
315
  (0, lodash_1.uniqBy)(
219
316
  // adPlaces.filter((p) => placeIds.includes(p.placeId)),
220
- 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) {
221
320
  var domain = selectedDomains.find(function (s) { return s.domainId === (place === null || place === void 0 ? void 0 : place.domainId); });
222
321
  var totalClick = data
223
322
  .filter(function (d) {
224
323
  var _a;
225
- return d.placeId === place.placeId
226
- && d.campaignGroupId === ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id)
227
- && 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);
228
327
  })
229
328
  .reduce(function (sum, d) {
230
329
  var _a;
231
330
  var event = (_a = d.analyticEventSummaries) === null || _a === void 0 ? void 0 : _a.find(function (_a) {
232
331
  var eventLabel = _a.eventLabel;
233
- return (eventLabel === Enum_1.BaseEvent[sub.campaignGroup.billingUnit]);
332
+ return eventLabel ===
333
+ Enum_1.BaseEvent[sub.campaignGroup.billingUnit];
234
334
  });
235
335
  return sum + ((event === null || event === void 0 ? void 0 : event.total) || 0);
236
336
  }, 0);
@@ -254,37 +354,114 @@ function convertToShowDetail(subCampaigns, data, selectedDomains, selectedPlaces
254
354
  }
255
355
  exports.convertToShowDetail = convertToShowDetail;
256
356
  function dataGroupByTimeline(place, data, timelineType) {
357
+ var isReLabel = data.some(function (d) { return d.billingUnitLabel !== Enum_2.AnalyticType[Enum_2.AnalyticType.Authentication]; });
257
358
  var result = (0, lodash_1.chain)(data)
258
359
  .groupBy('timeline')
259
360
  .map(function (value, key) {
260
361
  var dateString = (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimelineToDateTime)(key, timelineType), timelineType === Helpers_1.TIMELINE_TYPE.DAY
261
362
  ? 'DD/MM/YYYY'
262
363
  : 'DD/MM/YYYY, H:mm');
263
- // let impression = sumBy(value, BaseEvent[AnalyticType.VIEW])
264
- var impression = (0, lodash_1.sumBy)(value, Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]);
265
- var click = (0, lodash_1.sumBy)(value, Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK]);
266
- var authen = (0, lodash_1.sumBy)(value, Enum_1.BaseEvent[Enum_2.AnalyticType.AUTHENTICATION]);
267
- var er = impression !== 0 ? (authen * 100) / impression : 0;
268
- var ctr = impression !== 0 ? (click * 100) / impression : 0;
269
- var arr = [place, dateString, impression, authen, click, Number(er.toFixed(2)), Number(ctr.toFixed(2))];
270
- 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;
271
375
  })
272
376
  .value();
273
- var impr = (0, lodash_1.sumBy)(data, Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]);
274
- var clk = (0, lodash_1.sumBy)(data, Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK]);
275
- var authen = (0, lodash_1.sumBy)(data, Enum_1.BaseEvent[Enum_2.AnalyticType.AUTHENTICATION]);
276
- 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 = [
277
382
  place,
278
383
  i18n_1.default.t('Schedule.Total'),
279
- impr,
280
- authen,
281
- clk,
282
- Number((impr !== 0 ? ((authen * 100) / impr) : 0).toFixed(2)),
283
- Number((impr !== 0 ? ((clk * 100) / impr) : 0).toFixed(2)),
284
- ]);
384
+ impressionTotal,
385
+ ];
386
+ if (isReLabel)
387
+ totalArr.push("", authenTotal);
388
+ else
389
+ totalArr.push(authenTotal, "");
390
+ result.push(totalArr);
285
391
  return result;
286
392
  }
287
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;
288
465
  function dataGroupByPlace(subCampaigns, ids) {
289
466
  return (0, lodash_1.chain)(subCampaigns.filter(function (sub) {
290
467
  var _a, _b, _c;
@@ -312,32 +489,52 @@ function dataGroupByPlace(subCampaigns, ids) {
312
489
  .value();
313
490
  }
314
491
  exports.dataGroupByPlace = dataGroupByPlace;
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;
315
503
  var convertToChartData = function (data, campaignGroups, time) {
316
504
  var _a;
317
- var convertData = Object.assign.apply(Object, __spreadArray([{}], [Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW], '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) {
318
507
  var _a;
319
- return (_a = {}, _a[x] = { total: 0, chartData: [] }, _a);
508
+ return (_a = {},
509
+ _a[x] = { total: 0, chartData: [] },
510
+ _a);
320
511
  }), false));
321
512
  data.forEach(function (x) {
322
513
  var _a;
514
+ if (String(x.timeline).length === 10) {
515
+ timelineType = 'YYYYMMDDHH';
516
+ }
323
517
  var subCampaign = campaignGroups.find(function (c) { return c.campaignGroup.id === x.campaignGroupId; });
324
518
  if (!subCampaign)
325
519
  return;
326
- var billingUnit = subCampaign.campaignGroup.billingUnit;
327
- var hasAuthen = billingUnit === Enum_2.AnalyticType.AUTHENTICATION;
328
- 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;
329
523
  var timeline = x.timeline.toString();
330
524
  x.analyticEventSummaries.forEach(function (event) {
331
525
  var _a;
332
- if ([Enum_1.BaseEvent[billingUnit], Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]].includes(event.eventLabel)) {
526
+ if ([Enum_1.BaseEvent[billingUnit], Enum_1.BaseEvent[Enum_2.AnalyticType.View]].includes(event.eventLabel)) {
333
527
  var objKey = [
334
- Enum_1.BaseEvent[Enum_2.AnalyticType.AUTHENTICATION],
335
- Enum_1.BaseEvent[Enum_2.AnalyticType.CLICK],
528
+ Enum_1.BaseEvent[Enum_2.AnalyticType.Authentication],
529
+ Enum_1.BaseEvent[Enum_2.AnalyticType.Click],
336
530
  ].includes(event.eventLabel)
337
531
  ? isSpot
338
532
  ? 'Spot'
339
533
  : 'Engagement'
340
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
+ }
341
538
  (_a = convertData[objKey]) === null || _a === void 0 ? void 0 : _a.chartData.push({
342
539
  y: event.total,
343
540
  x: timeline,
@@ -349,29 +546,34 @@ var convertToChartData = function (data, campaignGroups, time) {
349
546
  });
350
547
  });
351
548
  var translate = (_a = {},
352
- _a[Enum_1.BaseEvent[Enum_2.AnalyticType.VIEW]] = 'Common.Impression',
353
- _a['Spot'] = 'Campaign.Spot',
354
- _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',
355
553
  _a);
356
- return Object.entries(convertData).map(function (_a, index) {
554
+ var analyticInfo = campaignAnalyticInfo(campaignGroups);
555
+ return Object.entries(convertData)
556
+ .map(function (_a, index) {
357
557
  var key = _a[0], value = _a[1];
358
- 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();
359
- if (data.some(function (_a) {
360
- var y = _a.y;
361
- return Number(y) !== 0;
362
- })) {
363
- return {
364
- label: "".concat(i18n_1.default.t(translate[key]), " ").concat((0, Helpers_1.roundDecimalNumber)(value.total)),
365
- type: 'line',
366
- data: (0, Helpers_1.fillMissingDates)(data, time.startDate, time.endDate),
367
- fill: false,
368
- pointStyle: 'circle',
369
- yAxisID: 'y',
370
- variant: String(index),
371
- };
372
- }
373
- return {};
374
- }).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);
375
577
  };
376
578
  exports.convertToChartData = convertToChartData;
377
579
  function groupBy(array, key) {
@@ -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;