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.
- package/lib/ACM-AXN/AuthenticationProfile/Container.js +4 -4
- package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/index.js +2 -2
- package/lib/ACM-AXN/Campaign/Container.js +52 -54
- package/lib/ACM-AXN/Campaign/Container.test.js +1 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +8 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +27 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.d.ts +17 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.js +121 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.js +219 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.d.ts +2 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +306 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.js +123 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.js +253 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +21 -5
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.d.ts +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.js +47 -78
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +2 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +2 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +2 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +2 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +19 -42
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +298 -96
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +119 -54
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +6 -4
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.d.ts +9 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.js +56 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +12 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +22 -7
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +63 -12
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +10 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -29
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +44 -33
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +3 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +172 -59
- package/lib/ACM-AXN/Campaign/Enum.d.ts +24 -6
- package/lib/ACM-AXN/Campaign/Enum.js +30 -11
- package/lib/ACM-AXN/Campaign/Types.d.ts +53 -5
- package/lib/ACM-AXN/Campaign/Utils.d.ts +6 -1
- package/lib/ACM-AXN/Campaign/Utils.js +50 -3
- package/lib/ACM-AXN/Campaign/index.js +2 -2
- package/lib/ACM-AXN/CampaignPlan/Container.js +4 -6
- package/lib/ACM-AXN/CampaignPlan/Detail.js +3 -3
- package/lib/ACM-AXN/CampaignPlan/Filter.js +3 -3
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
- package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +5 -7
- package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
- package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
- package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
- package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
- package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
- package/lib/ACM-AXN/Common/Constant.js +2 -0
- package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
- package/lib/ACM-AXN/Common/Enum.js +19 -4
- package/lib/ACM-AXN/Common/Types.d.ts +5 -0
- package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
- package/lib/ACM-AXN/GeoFencing/component.js +7 -7
- package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
- package/lib/ACM-AXN/Holiday/FormHoliday.js +1 -0
- package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
- package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
- package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
- package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
- package/lib/ACM-AXN/Page/Constant.js +2 -0
- package/lib/ACM-AXN/Page/Container.js +3 -3
- package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -2
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -12
- package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/TrackingCode.js +1 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +11 -44
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +39 -61
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +29 -32
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -6
- package/lib/ACM-AXN/Page/CreateOrEdit/index.js +19 -4
- package/lib/ACM-AXN/Page/Import/index.js +2 -2
- package/lib/ACM-AXN/Page/Types.d.ts +3 -0
- package/lib/ACM-AXN/Page/enums.d.ts +5 -0
- package/lib/ACM-AXN/Page/enums.js +7 -1
- package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
- package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
- package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
- package/lib/ACM-AXN/PlaceFilter/Tag/component/TagChip.js +1 -1
- package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
- package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
- package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
- package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
- package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
- package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
- package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
- package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
- package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
- package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
- package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
- package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
- package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
- package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +13 -10
- package/lib/ACM-AXN/Statistics/ControlPanel.js +17 -5
- package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
- package/lib/ACM-AXN/Statistics/Enums.js +1 -0
- package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
- package/lib/ACM-AXN/StatisticsByProvince/DataTable.js +1 -1
- package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +4 -4
- package/lib/ACM-AXN/Template/Container.js +2 -2
- package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -37
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
- package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
- package/lib/ACM-AXN/Template/Import.js +2 -2
- package/lib/ACM-AXN/Template/Types.d.ts +9 -9
- package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
- package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.js +23 -11
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +42 -129
- package/lib/ACM-AXN/ViewTemplate/common.d.ts +2 -1
- package/lib/ACM-AXN/ViewTemplate/common.js +47 -7
- package/lib/ACM-AXN/ViewTemplate/container.js +8 -2
- package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
- package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
- package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
- package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
- package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
- package/lib/ACM-AXN/index.d.ts +1 -0
- package/lib/ACM-AXN/index.js +1 -0
- package/lib/AWING/AsyncAutocomplete/index.js +2 -2
- package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
- package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
- package/lib/AWING/Chart/BarLineComponent.js +20 -24
- package/lib/AWING/Chart/PieComponent.d.ts +3 -4
- package/lib/AWING/Chart/PieComponent.js +16 -16
- package/lib/AWING/Chart/Styles.js +51 -16
- package/lib/AWING/DataForm/DataInput.js +105 -23
- package/lib/AWING/DataForm/interface.d.ts +2 -0
- package/lib/AWING/DataGrid/index.js +8 -13
- package/lib/AWING/DateRangePicker/component.js +81 -33
- package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
- package/lib/AWING/DateRangePicker/configDate.js +12 -12
- package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
- package/lib/AWING/Form/useForm.js +3 -2
- package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
- package/lib/AWING/GoogleMap/GGMap.js +256 -0
- package/lib/AWING/GoogleMap/index.d.ts +4 -0
- package/lib/AWING/GoogleMap/index.js +41 -0
- package/lib/AWING/GoogleMap/interface.d.ts +21 -0
- package/lib/AWING/GoogleMap/interface.js +2 -0
- package/lib/AWING/GoogleMap/utils.d.ts +25 -0
- package/lib/AWING/GoogleMap/utils.js +135 -0
- package/lib/AWING/GroupTable/GroupTable.js +2 -2
- package/lib/AWING/GroupTable/component.d.ts +1 -0
- package/lib/AWING/GroupTable/component.js +2 -2
- package/lib/AWING/NumberFormat/index.d.ts +3 -1
- package/lib/AWING/NumberFormat/index.js +2 -2
- package/lib/AWING/PageManagement/PageManagement.js +4 -3
- package/lib/AWING/Pagination/index.js +11 -3
- package/lib/AWING/index.d.ts +1 -0
- package/lib/AWING/index.js +1 -0
- package/lib/AWING/ultis/validation.d.ts +1 -0
- package/lib/AWING/ultis/validation.js +25 -6
- package/lib/Commons/Components/ClassicDrawer.js +5 -4
- package/lib/Commons/Components/HighlightedCode/MarkdownElement.js +6 -1
- package/lib/Commons/Hooks/usePath.js +3 -3
- package/lib/Utils/Helpers.d.ts +4 -3
- package/lib/Utils/Helpers.js +54 -23
- package/lib/i18n.js +31 -2
- package/lib/translate/en/translation.json +131 -71
- package/lib/translate/id/translation.json +893 -0
- package/lib/translate/ind/translation.json +893 -0
- package/lib/translate/ja/translation.json +893 -0
- package/lib/translate/lao/translation.json +893 -0
- package/lib/translate/mys/translation.json +893 -0
- package/lib/translate/phl/translation.json +893 -0
- package/lib/translate/th/translation.json +893 -0
- package/lib/translate/vi/translation.json +91 -31
- 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
|
|
55
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
140
|
-
|
|
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(
|
|
159
|
-
data:
|
|
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) {
|
|
206
|
-
|
|
207
|
-
|
|
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
|
|
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
|
-
|
|
227
|
-
|
|
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
|
|
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
|
-
|
|
264
|
-
var
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
var
|
|
269
|
-
|
|
270
|
-
|
|
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
|
|
274
|
-
var
|
|
275
|
-
|
|
276
|
-
|
|
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
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
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
|
|
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 = {},
|
|
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
|
|
327
|
-
var
|
|
328
|
-
|
|
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.
|
|
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.
|
|
335
|
-
Enum_1.BaseEvent[Enum_2.AnalyticType.
|
|
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.
|
|
353
|
-
_a
|
|
354
|
-
_a
|
|
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
|
-
|
|
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
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
return
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
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;
|