awing-library 2.1.136-beta → 2.1.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +6 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +3 -22
- 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 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +22 -42
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +317 -104
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.js +1 -1
- 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 +8 -6
- 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 +23 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +3 -3
- 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 +5 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +2 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +6 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.d.ts +8 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.js +47 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +52 -6
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.js +3 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.d.ts +4 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +13 -7
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +69 -124
- 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.d.ts +2 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +8 -3
- 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 +176 -59
- package/lib/ACM-AXN/Campaign/Enum.d.ts +23 -4
- package/lib/ACM-AXN/Campaign/Enum.js +30 -10
- package/lib/ACM-AXN/Campaign/Types.d.ts +55 -6
- package/lib/ACM-AXN/Campaign/Utils.d.ts +6 -0
- package/lib/ACM-AXN/Campaign/Utils.js +60 -2
- package/lib/ACM-AXN/Campaign/index.js +2 -2
- package/lib/ACM-AXN/CampaignPlan/Container.js +5 -7
- package/lib/ACM-AXN/CampaignPlan/Detail.js +3 -3
- package/lib/ACM-AXN/CampaignPlan/Filter.js +1 -1
- 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 +7 -5
- 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 +10 -9
- package/lib/ACM-AXN/Page/CreateOrEdit/index.js +19 -4
- 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/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 -39
- 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 +46 -160
- package/lib/ACM-AXN/ViewTemplate/common.d.ts +2 -1
- package/lib/ACM-AXN/ViewTemplate/common.js +48 -9
- package/lib/ACM-AXN/ViewTemplate/container.js +23 -24
- 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 -25
- 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 +104 -22
- package/lib/AWING/DataForm/interface.d.ts +2 -0
- package/lib/AWING/DataGrid/index.js +8 -13
- package/lib/AWING/DateRangePicker/component.js +56 -30
- 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 +4 -5
- 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/DeprecatedEnhancedDialog.js +1 -1
- package/lib/Commons/Components/HighlightedCode/MarkdownElement.js +6 -1
- package/lib/Commons/Hooks/usePath.js +3 -3
- package/lib/Utils/Helpers.d.ts +3 -2
- package/lib/Utils/Helpers.js +48 -8
- package/lib/i18n.js +18 -2
- package/lib/translate/en/translation.json +137 -73
- package/lib/translate/id/translation.json +893 -0
- package/lib/translate/ja/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 +97 -33
- package/package.json +131 -126
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.d.ts +0 -5
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.js +0 -14
|
@@ -10,26 +10,36 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
13
22
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
24
|
};
|
|
16
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
26
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
27
|
+
var Enum_1 = require("../../../../../ACM-AXN/Campaign/Enum");
|
|
28
|
+
var exportFile_1 = require("../../../../../ACM-AXN/CampaignSchedule/exportFile");
|
|
29
|
+
var Enum_2 = require("../../../../../ACM-AXN/Common/Enum");
|
|
30
|
+
var Helpers_1 = require("../../../../../Utils/Helpers");
|
|
31
|
+
var lodash_1 = require("lodash");
|
|
32
|
+
var moment_1 = __importDefault(require("moment"));
|
|
18
33
|
var react_1 = require("react");
|
|
34
|
+
var Context_1 = __importDefault(require("../Context"));
|
|
19
35
|
var common_1 = require("../common");
|
|
20
36
|
var Utils_1 = require("./Utils");
|
|
21
37
|
var component_1 = __importDefault(require("./component"));
|
|
22
|
-
var moment_1 = __importDefault(require("moment"));
|
|
23
|
-
var Enum_1 = require("../../../../../ACM-AXN/Campaign/Enum");
|
|
24
|
-
var lodash_1 = require("lodash");
|
|
25
|
-
var Context_1 = __importDefault(require("../Context"));
|
|
26
|
-
var exportFile_1 = require("../../../../../ACM-AXN/CampaignSchedule/exportFile");
|
|
27
38
|
var AnalyticContainer = function (props) {
|
|
28
|
-
var campaignId = props.campaignId, startDate = props.startDate, endDate = props.endDate, subCampaigns = props.subCampaigns, domains = props.domains;
|
|
39
|
+
var campaignId = props.campaignId, startDate = props.startDate, endDate = props.endDate, subCampaigns = props.subCampaigns, domains = props.domains, campaignName = props.campaignName, fullPlaces = props.fullPlaces;
|
|
29
40
|
var client = (0, Context_1.default)().services;
|
|
30
41
|
var _a = (0, react_1.useState)(true), isLoading = _a[0], setIsLoading = _a[1];
|
|
31
42
|
var _b = (0, react_1.useState)([]), statisticalChartData = _b[0], setStatisticalChartData = _b[1];
|
|
32
|
-
var _c = (0, react_1.useState)([]), statisticalData = _c[0], setStatisticalData = _c[1];
|
|
33
43
|
var placesOfCampaign = (0, react_1.useMemo)(function () {
|
|
34
44
|
var result = [];
|
|
35
45
|
subCampaigns.forEach(function (sub) {
|
|
@@ -51,7 +61,11 @@ var AnalyticContainer = function (props) {
|
|
|
51
61
|
var _a;
|
|
52
62
|
(_a = sub === null || sub === void 0 ? void 0 : sub.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
|
|
53
63
|
var _a;
|
|
54
|
-
if (ids.find(function (id) {
|
|
64
|
+
if (ids.find(function (id) {
|
|
65
|
+
var _a;
|
|
66
|
+
return id.campaignGroupId == ((_a = sub === null || sub === void 0 ? void 0 : sub.campaignGroup) === null || _a === void 0 ? void 0 : _a.id) &&
|
|
67
|
+
(!id.campaignAdId || id.campaignAdId == (ad === null || ad === void 0 ? void 0 : ad.id));
|
|
68
|
+
})) {
|
|
55
69
|
(_a = ad === null || ad === void 0 ? void 0 : ad.places) === null || _a === void 0 ? void 0 : _a.forEach(function (place) {
|
|
56
70
|
if (!result.find(function (r) { return r.placeId == place.placeId; })) {
|
|
57
71
|
result.push(place);
|
|
@@ -70,65 +84,116 @@ var AnalyticContainer = function (props) {
|
|
|
70
84
|
: selectedPlaces;
|
|
71
85
|
var selectedDomains = (0, Utils_1.placesToDomains)(selectedPlaces, domains);
|
|
72
86
|
setIsLoading(true);
|
|
73
|
-
client
|
|
87
|
+
client
|
|
88
|
+
.campaignStatisticGet({
|
|
74
89
|
startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
|
|
75
90
|
endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
|
|
76
91
|
timelineType: timelineType,
|
|
77
|
-
campaignAdGroups: ids.length
|
|
92
|
+
campaignAdGroups: ids.length
|
|
93
|
+
? ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); })
|
|
94
|
+
: [{ campaignId: campaignId }],
|
|
95
|
+
analyticGroupBies: __spreadArray([
|
|
96
|
+
Enum_2.AnalyticGroupBy.GbEventLabel,
|
|
97
|
+
Enum_2.AnalyticGroupBy.GbTimeline,
|
|
98
|
+
Enum_2.AnalyticGroupBy.GbCampaignGroupId,
|
|
99
|
+
Enum_2.AnalyticGroupBy.GbCampaignAdId
|
|
100
|
+
], statisticType ? [Enum_2.AnalyticGroupBy.GbPlaceId] : [], true),
|
|
78
101
|
placeIds: placeIds,
|
|
79
|
-
includedEventLabels: Object.values(Enum_1.BaseEvent)
|
|
80
|
-
})
|
|
81
|
-
|
|
82
|
-
setStatisticalChartData(statisticType
|
|
83
|
-
|
|
102
|
+
includedEventLabels: Object.values(Enum_1.BaseEvent),
|
|
103
|
+
})
|
|
104
|
+
.then(function (res) {
|
|
105
|
+
setStatisticalChartData(statisticType
|
|
106
|
+
? (0, Utils_1.convertToShowDetail)(subCampaigns, res, selectedDomains, selectedPlaces)
|
|
107
|
+
: res);
|
|
108
|
+
})
|
|
109
|
+
.finally(function () { return setIsLoading(false); });
|
|
84
110
|
};
|
|
85
111
|
var exportData = function (time, placeIds, timelineType, exportType, ids) {
|
|
86
112
|
var selectedPlaces = placeIds.length > 0
|
|
87
113
|
? placesOfCampaign.filter(function (p) { return placeIds.includes(p.placeId); })
|
|
88
114
|
: placesOfCampaign;
|
|
89
|
-
// downloadWithDataSet
|
|
90
115
|
var selectedDomains = (0, Utils_1.placesToDomains)(selectedPlaces, domains);
|
|
91
|
-
var
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
var analyticInfo = (0, Utils_1.campaignAnalyticInfo)(ids.length ? subCampaigns.filter(function (s) { return ids.map(function (i) { return String(i.campaignGroupId); }).includes(String(s.campaignGroup.id)); }) : subCampaigns);
|
|
117
|
+
return client
|
|
118
|
+
.campaignStatisticGet({
|
|
119
|
+
startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
|
|
120
|
+
endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
|
|
121
|
+
timelineType: timelineType,
|
|
122
|
+
campaignAdGroups: ids.length
|
|
123
|
+
? ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); })
|
|
124
|
+
: [{ campaignId: campaignId }],
|
|
125
|
+
analyticGroupBies: [
|
|
126
|
+
Enum_2.AnalyticGroupBy.GbEventLabel,
|
|
127
|
+
Enum_2.AnalyticGroupBy.GbTimeline,
|
|
128
|
+
Enum_2.AnalyticGroupBy.GbCampaignGroupId,
|
|
129
|
+
Enum_2.AnalyticGroupBy.GbCampaignAdId,
|
|
130
|
+
Enum_2.AnalyticGroupBy.GbPlaceId,
|
|
131
|
+
],
|
|
132
|
+
placeIds: placeIds,
|
|
133
|
+
includedEventLabels: Object.values(Enum_1.BaseEvent),
|
|
134
|
+
})
|
|
135
|
+
.then(function (res) {
|
|
136
|
+
var statisticalData = (0, Utils_1.markBillingType)(subCampaigns, res);
|
|
137
|
+
var exportObj = {
|
|
138
|
+
name: '',
|
|
139
|
+
data: [],
|
|
140
|
+
};
|
|
141
|
+
switch (exportType) {
|
|
142
|
+
case common_1.EXPORT_TYPES.Domain: {
|
|
143
|
+
var domainObj = (0, lodash_1.chain)(selectedDomains)
|
|
144
|
+
.groupBy('domainId')
|
|
145
|
+
.map(function (value) {
|
|
146
|
+
var currentPlaces = value
|
|
147
|
+
.map(function (x) { return x.places; })
|
|
148
|
+
.reduce(function (a, b) { return a.concat(b); }, []);
|
|
149
|
+
return {
|
|
150
|
+
objectId: value[0].domainId,
|
|
151
|
+
objectName: value[0].domainName,
|
|
152
|
+
places: currentPlaces,
|
|
153
|
+
};
|
|
154
|
+
})
|
|
155
|
+
.value();
|
|
156
|
+
exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(statisticalData, domainObj, timelineType, 'Domain', campaignName !== null && campaignName !== void 0 ? campaignName : '');
|
|
157
|
+
exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'groupby_domain');
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
case common_1.EXPORT_TYPES.Export: {
|
|
161
|
+
exportObj.data = (0, Utils_1.convertToExport)(subCampaigns, statisticalData, timelineType, selectedPlaces, campaignName !== null && campaignName !== void 0 ? campaignName : '', fullPlaces);
|
|
162
|
+
exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'total');
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
case common_1.EXPORT_TYPES.LocationGroup: {
|
|
166
|
+
exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(statisticalData, (0, Utils_1.dataGroupByPlace)(subCampaigns, ids), timelineType, 'Sub Campaign', campaignName !== null && campaignName !== void 0 ? campaignName : '');
|
|
167
|
+
exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'groupby_subcampaign');
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
case common_1.EXPORT_TYPES.Ad: {
|
|
171
|
+
exportObj.data = (0, Utils_1.convertToExportByAd)(subCampaigns, statisticalData, timelineType, campaignName !== null && campaignName !== void 0 ? campaignName : '');
|
|
172
|
+
exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'ad');
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
default: {
|
|
176
|
+
exportObj.data = (0, Utils_1.convertToExportData)(statisticalData, selectedPlaces, timelineType, campaignName !== null && campaignName !== void 0 ? campaignName : '', fullPlaces);
|
|
177
|
+
exportObj.name += (0, Helpers_1.nameExportStandard)('Campaign', campaignName, 'groupby_place');
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
118
180
|
}
|
|
119
|
-
|
|
120
|
-
exportObj.data
|
|
121
|
-
|
|
122
|
-
|
|
181
|
+
if (analyticInfo === null || analyticInfo === void 0 ? void 0 : analyticInfo.isAllReLabel) {
|
|
182
|
+
exportObj.data.forEach(function (data, index) {
|
|
183
|
+
exportObj.data[index].columns = data.columns.filter(function (_, index) { return index !== data.columns.length - 2; });
|
|
184
|
+
exportObj.data[index].data = data.data.map(function (col) { return col.filter(function (_, index) { return index !== col.length - 2; }); });
|
|
185
|
+
});
|
|
123
186
|
}
|
|
124
|
-
|
|
125
|
-
exportObj.data
|
|
126
|
-
|
|
127
|
-
|
|
187
|
+
if (!(analyticInfo === null || analyticInfo === void 0 ? void 0 : analyticInfo.hasClick)) {
|
|
188
|
+
exportObj.data.forEach(function (data, index) {
|
|
189
|
+
exportObj.data[index].columns = data.columns.filter(function (_, index) { return index !== data.columns.length - 1; });
|
|
190
|
+
exportObj.data[index].data = data.data.map(function (col) { return col.filter(function (_, index) { return index !== col.length - 1; }); });
|
|
191
|
+
});
|
|
128
192
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
193
|
+
(0, Utils_1.addHeaderExcel)(exportObj.data, campaignName !== null && campaignName !== void 0 ? campaignName : '');
|
|
194
|
+
(0, exportFile_1.downloadWithDataSet)(String(exportObj.name).toUpperCase(), exportObj.data);
|
|
195
|
+
return;
|
|
196
|
+
});
|
|
132
197
|
};
|
|
133
198
|
return ((0, jsx_runtime_1.jsx)(component_1.default, { domains: domains, startDate: startDate, endDate: endDate, subCampaigns: subCampaigns, isLoading: isLoading, statisticalData: statisticalChartData, getStatisticalData: getStatisticalData, exportData: exportData }));
|
|
134
199
|
};
|
|
@@ -5,7 +5,7 @@ interface Props {
|
|
|
5
5
|
isExportType: boolean;
|
|
6
6
|
onChangeQueryInput: (changeType: string, newValue: any) => void;
|
|
7
7
|
onQueryData: () => void;
|
|
8
|
-
onExportData: (exportType?: string) => void
|
|
8
|
+
onExportData: (exportType?: string) => void | Promise<void>;
|
|
9
9
|
domains: any[];
|
|
10
10
|
}
|
|
11
11
|
declare const ChartFilterBox: (props: Props) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
13
36
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
37
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
38
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -53,7 +76,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
53
76
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
54
77
|
var GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
|
|
55
78
|
var material_1 = require("@mui/material");
|
|
56
|
-
var react_1 = require("react");
|
|
79
|
+
var react_1 = __importStar(require("react"));
|
|
57
80
|
var react_i18next_1 = require("react-i18next");
|
|
58
81
|
// import { EnhancedDateRangePicker } from 'Components/DateRangePicker'
|
|
59
82
|
var Helpers_1 = require("../../../../Utils/Helpers");
|
|
@@ -65,6 +88,7 @@ var SplitButtonExportType_1 = __importDefault(require("./SplitButtonExportType")
|
|
|
65
88
|
var Enum_1 = require("../../../../ACM-AXN/Campaign/Enum");
|
|
66
89
|
var i18n_1 = __importDefault(require("../../../../i18n"));
|
|
67
90
|
var Context_1 = __importDefault(require("./Context"));
|
|
91
|
+
var lab_1 = require("@mui/lab");
|
|
68
92
|
var textFieldStyle = {
|
|
69
93
|
'& .MuiOutlinedInput-input': {
|
|
70
94
|
padding: '10.5px !important',
|
|
@@ -89,7 +113,8 @@ var ChartFilterBox = function (props) {
|
|
|
89
113
|
var
|
|
90
114
|
// startDate, endDate,
|
|
91
115
|
subCampaigns = props.subCampaigns, queryInput = props.queryInput, isExportType = props.isExportType, onChangeQueryInput = props.onChangeQueryInput, onQueryData = props.onQueryData, onExportData = props.onExportData, domains = props.domains;
|
|
92
|
-
var _a =
|
|
116
|
+
var _a = react_1.default.useState(false), loading = _a[0], setLoading = _a[1];
|
|
117
|
+
var _b = (0, Context_1.default)(), client = _b.services, PlaceMultiSelect = _b.placeMultiSelectComponent;
|
|
93
118
|
var placeGroups = (0, react_1.useMemo)(function () {
|
|
94
119
|
return subCampaigns.map(function (x) { return ({
|
|
95
120
|
groupId: x.campaignGroup.id,
|
|
@@ -209,6 +234,23 @@ var ChartFilterBox = function (props) {
|
|
|
209
234
|
MONTH: t('Common.Month'),
|
|
210
235
|
},
|
|
211
236
|
};
|
|
237
|
+
var handleExport = react_1.default.useCallback(function (type) {
|
|
238
|
+
if (type === void 0) { type = ''; }
|
|
239
|
+
setLoading(true);
|
|
240
|
+
var result = onExportData(typeof type === 'string' ? type : '');
|
|
241
|
+
if (result instanceof Promise) {
|
|
242
|
+
result
|
|
243
|
+
.then(function () {
|
|
244
|
+
setLoading(false);
|
|
245
|
+
})
|
|
246
|
+
.catch(function () {
|
|
247
|
+
setLoading(false);
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
setLoading(false);
|
|
252
|
+
}
|
|
253
|
+
}, [onExportData]);
|
|
212
254
|
return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1 }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker
|
|
213
255
|
// noBorder
|
|
214
256
|
, {
|
|
@@ -225,13 +267,9 @@ var ChartFilterBox = function (props) {
|
|
|
225
267
|
variant: "outlined", textFieldProps: {
|
|
226
268
|
fullWidth: true,
|
|
227
269
|
sx: textFieldStyle,
|
|
228
|
-
} }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(PlaceMultiSelect
|
|
229
|
-
// disableCheckPermission={true}
|
|
230
|
-
, {
|
|
231
|
-
// disableCheckPermission={true}
|
|
232
|
-
onChange: placeMultiSelectSubmit, initialOption: {
|
|
270
|
+
} }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(PlaceMultiSelect, { disableCheckPermission: !client.domainsGetAll, onChange: placeMultiSelectSubmit, initialOption: {
|
|
233
271
|
placeGroups: placeGroups,
|
|
234
272
|
domains: domains.map(function (d) { return (__assign(__assign({}, d), { name: d.domainName })); }),
|
|
235
|
-
}, isDisplayTextField: true, TextFieldProps: { sx: textFieldStyle }, onGetPlacesByFilter: handleGetPlacesByFilter }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: (0, jsx_runtime_1.jsx)(material_1.Button, { color: "primary", variant: "contained", fullWidth: true, onClick: function () { return onQueryData(); }, children: translationText.view }) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: !isExportType ? ((0, jsx_runtime_1.jsx)(
|
|
273
|
+
}, isDisplayTextField: true, TextFieldProps: { sx: textFieldStyle }, onGetPlacesByFilter: handleGetPlacesByFilter }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: (0, jsx_runtime_1.jsx)(material_1.Button, { color: "primary", variant: "contained", fullWidth: true, onClick: function () { return onQueryData(); }, children: translationText.view }) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(material_1.FormControl, { children: !isExportType ? ((0, jsx_runtime_1.jsx)(lab_1.LoadingButton, { variant: "outlined", onClick: handleExport, loading: loading, children: (0, jsx_runtime_1.jsx)(GetApp_1.default, {}) })) : ((0, jsx_runtime_1.jsx)(SplitButtonExportType_1.default, { loading: loading, onSubmit: onExportData })) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1 })] }));
|
|
236
274
|
};
|
|
237
275
|
exports.default = ChartFilterBox;
|
|
@@ -53,10 +53,11 @@ var Customer = function (props) {
|
|
|
53
53
|
// noBorder
|
|
54
54
|
label: t('Common.View'), callback: function (value) {
|
|
55
55
|
var _a, _b;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
Object.values(value).filter(Boolean).length > 1 &&
|
|
57
|
+
changeQueryInput('time', {
|
|
58
|
+
startDate: (0, Helpers_1.getStartOfDay)((_a = value === null || value === void 0 ? void 0 : value.startDate) === null || _a === void 0 ? void 0 : _a.toDate()),
|
|
59
|
+
endDate: (0, Helpers_1.getStartOfDay)((_b = value === null || value === void 0 ? void 0 : value.endDate) === null || _b === void 0 ? void 0 : _b.toDate()),
|
|
60
|
+
});
|
|
60
61
|
}, initialStartDate: (0, moment_1.default)(queryInput.time.startDate), initialEndDate: (0, moment_1.default)(queryInput.time.endDate), isShowCalendarInfo: true, variant: "outlined", textFieldProps: {
|
|
61
62
|
fullWidth: true,
|
|
62
63
|
sx: {
|
|
@@ -103,10 +104,10 @@ var Customer = function (props) {
|
|
|
103
104
|
' ' +
|
|
104
105
|
(0, Helpers_1.roundDecimalNumber)(customerData.totalUser),
|
|
105
106
|
type: 'line',
|
|
106
|
-
data: customerData === null || customerData === void 0 ? void 0 : customerData.audienceObjects.map(function (item) { return ({
|
|
107
|
+
data: (0, Helpers_1.fillMissingDates)(customerData === null || customerData === void 0 ? void 0 : customerData.audienceObjects.map(function (item) { return ({
|
|
107
108
|
x: String(item.timeline),
|
|
108
109
|
y: item.totalUser,
|
|
109
|
-
}); })
|
|
110
|
+
}); }), queryInput.time.startDate, queryInput.time.endDate),
|
|
110
111
|
fill: false,
|
|
111
112
|
pointStyle: 'rect',
|
|
112
113
|
yAxisID: 'y',
|
|
@@ -118,6 +119,7 @@ var Customer = function (props) {
|
|
|
118
119
|
title: {
|
|
119
120
|
text: t('Statistics.View'),
|
|
120
121
|
},
|
|
122
|
+
beginAtZero: true,
|
|
121
123
|
},
|
|
122
124
|
yAxis: {
|
|
123
125
|
display: false,
|
|
@@ -41,7 +41,7 @@ var CustomerContainer = function (props) {
|
|
|
41
41
|
var getCustomerData = function (time) {
|
|
42
42
|
setIsLoading(true);
|
|
43
43
|
client
|
|
44
|
-
.campaignStatisticGetCustomer((0, moment_1.default)(startDate).format(Enum_1.DATE_FORMAT), (0, moment_1.default)(endDate).format(Enum_1.DATE_FORMAT), campaignId)
|
|
44
|
+
.campaignStatisticGetCustomer((0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT), (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT), campaignId)
|
|
45
45
|
.then(function (res) {
|
|
46
46
|
var tmp_audienceOverviews = filteredData(res.audienceObjects, lodash_1.default.cloneDeep(time.startDate), lodash_1.default.cloneDeep(time.endDate));
|
|
47
47
|
setCustomerData({
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface PasswordDialogProps {
|
|
2
|
+
open: boolean;
|
|
3
|
+
onConfirm: (password: string) => void;
|
|
4
|
+
onCancel: () => void;
|
|
5
|
+
errorExport?: string;
|
|
6
|
+
resetErrorExport?: () => void;
|
|
7
|
+
}
|
|
8
|
+
declare const PasswordDialog: (props: PasswordDialogProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default PasswordDialog;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
var react_1 = require("react");
|
|
8
|
+
var material_1 = require("@mui/material");
|
|
9
|
+
var react_i18next_1 = require("react-i18next");
|
|
10
|
+
var i18n_1 = __importDefault(require("../../../../../i18n"));
|
|
11
|
+
var Visibility_1 = __importDefault(require("@mui/icons-material/Visibility"));
|
|
12
|
+
var VisibilityOff_1 = __importDefault(require("@mui/icons-material/VisibilityOff"));
|
|
13
|
+
// Component dialog nhập mật khẩu sử dụng MUI
|
|
14
|
+
var PasswordDialog = function (props) {
|
|
15
|
+
var open = props.open, onConfirm = props.onConfirm, onCancel = props.onCancel, errorExport = props.errorExport, resetErrorExport = props.resetErrorExport;
|
|
16
|
+
var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
|
|
17
|
+
var _a = (0, react_1.useState)(''), password = _a[0], setPassword = _a[1];
|
|
18
|
+
var _b = (0, react_1.useState)(false), showPassword = _b[0], setShowPassword = _b[1];
|
|
19
|
+
var handleConfirm = function () {
|
|
20
|
+
onConfirm(password);
|
|
21
|
+
};
|
|
22
|
+
var handleCancel = function () {
|
|
23
|
+
onCancel();
|
|
24
|
+
setPassword('');
|
|
25
|
+
if (resetErrorExport)
|
|
26
|
+
resetErrorExport();
|
|
27
|
+
};
|
|
28
|
+
var handleKeyDown = function (e) {
|
|
29
|
+
if (e.key === 'Enter') {
|
|
30
|
+
handleConfirm();
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var handlePasswordChange = function (e) {
|
|
34
|
+
setPassword(e.target.value);
|
|
35
|
+
if (resetErrorExport)
|
|
36
|
+
resetErrorExport();
|
|
37
|
+
};
|
|
38
|
+
var handleClickShowPassword = function () {
|
|
39
|
+
setShowPassword(!showPassword);
|
|
40
|
+
};
|
|
41
|
+
var handleMouseDownPassword = function (event) {
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
};
|
|
44
|
+
(0, react_1.useEffect)(function () {
|
|
45
|
+
// Reset password when dialog opens
|
|
46
|
+
if (open) {
|
|
47
|
+
setPassword('');
|
|
48
|
+
if (resetErrorExport)
|
|
49
|
+
resetErrorExport();
|
|
50
|
+
}
|
|
51
|
+
}, [open]);
|
|
52
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Dialog, { open: open, onClose: handleCancel, "aria-labelledby": "password-dialog-title", children: [(0, jsx_runtime_1.jsx)(material_1.DialogTitle, { id: "password-dialog-title", children: t('Campaign.Password.DialogTitle') }), (0, jsx_runtime_1.jsxs)(material_1.DialogContent, { children: [(0, jsx_runtime_1.jsx)(material_1.DialogContentText, { children: t('Campaign.Password.DialogMessage') }), (0, jsx_runtime_1.jsx)(material_1.TextField, { autoFocus: true, margin: "dense", type: showPassword ? 'text' : 'password', fullWidth: true, variant: "outlined", value: password, onChange: handlePasswordChange, onKeyDown: handleKeyDown, error: !!errorExport, helperText: errorExport || '', autoComplete: "new-password", InputProps: {
|
|
53
|
+
endAdornment: ((0, jsx_runtime_1.jsx)(material_1.InputAdornment, { position: "end", children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { "aria-label": "toggle password visibility", onClick: handleClickShowPassword, onMouseDown: handleMouseDownPassword, edge: "end", children: showPassword ? ((0, jsx_runtime_1.jsx)(VisibilityOff_1.default, {})) : ((0, jsx_runtime_1.jsx)(Visibility_1.default, {})) }) })),
|
|
54
|
+
} })] }), (0, jsx_runtime_1.jsxs)(material_1.DialogActions, { children: [(0, jsx_runtime_1.jsx)(material_1.Button, { onClick: handleCancel, color: "secondary", children: t('Common.Cancel') }), (0, jsx_runtime_1.jsx)(material_1.Button, { onClick: handleConfirm, color: "primary", variant: "contained", children: t('Common.Confirm') })] })] }));
|
|
55
|
+
};
|
|
56
|
+
exports.default = PasswordDialog;
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
7
|
var styles_1 = require("@mui/styles");
|
|
5
8
|
var material_1 = require("@mui/material");
|
|
6
9
|
var react_i18next_1 = require("react-i18next");
|
|
7
10
|
var Helpers_1 = require("../../../../../Utils/Helpers");
|
|
11
|
+
var i18n_1 = __importDefault(require("../../../../../i18n"));
|
|
8
12
|
var useStyles = (0, styles_1.makeStyles)({
|
|
9
13
|
table: {
|
|
10
14
|
minWidth: 400,
|
|
@@ -19,7 +23,7 @@ var useStyles = (0, styles_1.makeStyles)({
|
|
|
19
23
|
var EventTable = function (props) {
|
|
20
24
|
var classes = useStyles();
|
|
21
25
|
var eventDetails = props.data;
|
|
22
|
-
var t = (0, react_i18next_1.useTranslation)().t;
|
|
26
|
+
var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
|
|
23
27
|
var translationText = {
|
|
24
28
|
eventLabel: t('Campaign.Detail.EventLabel'),
|
|
25
29
|
number: t('Campaign.Detail.TotalEvents'),
|
|
@@ -5,3 +5,15 @@ export declare function convertToExportData(data: AnalyticEvent[], places: NonNu
|
|
|
5
5
|
columns: string[];
|
|
6
6
|
data: string[][];
|
|
7
7
|
}[];
|
|
8
|
+
/**
|
|
9
|
+
* Mã hóa password sang định dạng Base64
|
|
10
|
+
* @param password Chuỗi password cần mã hóa
|
|
11
|
+
* @returns Chuỗi Base64 đã mã hóa
|
|
12
|
+
*/
|
|
13
|
+
export declare function encodePassword(password: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Giải mã password từ định dạng Base64
|
|
16
|
+
* @param encodedPassword Chuỗi Base64 cần giải mã
|
|
17
|
+
* @returns Chuỗi password gốc
|
|
18
|
+
*/
|
|
19
|
+
export declare function decodePassword(encodedPassword: string): string;
|
|
@@ -43,22 +43,19 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
43
43
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
44
44
|
};
|
|
45
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
-
exports.convertToExportData = exports.convertEventData = void 0;
|
|
46
|
+
exports.decodePassword = exports.encodePassword = exports.convertToExportData = exports.convertEventData = void 0;
|
|
47
47
|
var Helpers_1 = require("../../../../../Utils/Helpers");
|
|
48
48
|
var lodash_1 = __importStar(require("lodash"));
|
|
49
49
|
var Utils_1 = require("../Utils");
|
|
50
|
-
var convertEventData = function (data) { return
|
|
50
|
+
var convertEventData = function (data) { return data.map(function (el) {
|
|
51
51
|
return el.analyticEventSummaries.map(function (x, index, events) { return ({
|
|
52
52
|
timeline: el.timeline,
|
|
53
53
|
eventLabel: (0, Utils_1.extractEvent)(x.eventLabel).eventName,
|
|
54
54
|
total: events
|
|
55
|
-
.filter(function (e) {
|
|
56
|
-
return (0, Utils_1.extractEvent)(e.eventLabel).eventName ===
|
|
57
|
-
(0, Utils_1.extractEvent)(x.eventLabel).eventName;
|
|
58
|
-
})
|
|
55
|
+
.filter(function (e) { return (0, lodash_1.isEqual)((0, Utils_1.extractEvent)(e.eventLabel), (0, Utils_1.extractEvent)(x.eventLabel)); })
|
|
59
56
|
.reduce(function (total, e) { return total + e.total; }, 0),
|
|
60
57
|
}); });
|
|
61
|
-
}).flat()
|
|
58
|
+
}).flat(); };
|
|
62
59
|
exports.convertEventData = convertEventData;
|
|
63
60
|
function convertToExportData(data, places) {
|
|
64
61
|
var headCell = new Set(['Place', 'Mac Address', 'Created date', 'View Number', 'Event label']);
|
|
@@ -75,7 +72,7 @@ function convertToExportData(data, places) {
|
|
|
75
72
|
var columns = Array.from(headCell);
|
|
76
73
|
var analytic = data.find(function (x) { return String(x.id) === el.analyticId; });
|
|
77
74
|
var place = places.find(function (x) { return x.placeId === (analytic === null || analytic === void 0 ? void 0 : analytic.placeId); });
|
|
78
|
-
var rowData =
|
|
75
|
+
var rowData = [
|
|
79
76
|
place ? place.name : analytic === null || analytic === void 0 ? void 0 : analytic.placeId,
|
|
80
77
|
analytic === null || analytic === void 0 ? void 0 : analytic.macAddress,
|
|
81
78
|
(0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimestampToDateTime)(analytic.createdDate), 'DD/MM/YYYY, HH'),
|
|
@@ -99,3 +96,21 @@ function convertToExportData(data, places) {
|
|
|
99
96
|
];
|
|
100
97
|
}
|
|
101
98
|
exports.convertToExportData = convertToExportData;
|
|
99
|
+
/**
|
|
100
|
+
* Mã hóa password sang định dạng Base64
|
|
101
|
+
* @param password Chuỗi password cần mã hóa
|
|
102
|
+
* @returns Chuỗi Base64 đã mã hóa
|
|
103
|
+
*/
|
|
104
|
+
function encodePassword(password) {
|
|
105
|
+
return Buffer.from(password).toString('base64');
|
|
106
|
+
}
|
|
107
|
+
exports.encodePassword = encodePassword;
|
|
108
|
+
/**
|
|
109
|
+
* Giải mã password từ định dạng Base64
|
|
110
|
+
* @param encodedPassword Chuỗi Base64 cần giải mã
|
|
111
|
+
* @returns Chuỗi password gốc
|
|
112
|
+
*/
|
|
113
|
+
function decodePassword(encodedPassword) {
|
|
114
|
+
return Buffer.from(encodedPassword, 'base64').toString('utf8');
|
|
115
|
+
}
|
|
116
|
+
exports.decodePassword = decodePassword;
|
|
@@ -49,7 +49,7 @@ var Event = function (props) {
|
|
|
49
49
|
var queryData = function () {
|
|
50
50
|
getEventData(queryInput.time, queryInput.placeIds, queryInput.ids);
|
|
51
51
|
};
|
|
52
|
-
function convertDataSetPattern(eventData) {
|
|
52
|
+
function convertDataSetPattern(eventData, time) {
|
|
53
53
|
return lodash_1.default.chain(eventData)
|
|
54
54
|
.groupBy('eventLabel')
|
|
55
55
|
.map(function (data, eventLabel) {
|
|
@@ -69,7 +69,7 @@ var Event = function (props) {
|
|
|
69
69
|
return {
|
|
70
70
|
label: value.eventLabel + ' ' + (0, Helpers_1.roundDecimalNumber)(value.total),
|
|
71
71
|
type: 'line',
|
|
72
|
-
data: value.data,
|
|
72
|
+
data: (0, Helpers_1.fillMissingDates)(value.data, time.startDate, time.endDate),
|
|
73
73
|
fill: false,
|
|
74
74
|
pointStyle: 'rect',
|
|
75
75
|
yAxisID: 'y',
|
|
@@ -134,7 +134,7 @@ var Event = function (props) {
|
|
|
134
134
|
}
|
|
135
135
|
return result;
|
|
136
136
|
};
|
|
137
|
-
var dataConvert = convertDataSetPattern(eventData);
|
|
137
|
+
var dataConvert = convertDataSetPattern(eventData, queryInput.time);
|
|
138
138
|
return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(ChartFilter_1.default, { isExportType: false, subCampaigns: subCampaigns, queryInput: queryInput, onChangeQueryInput: changeQueryInput, onQueryData: queryData, onExportData: function () {
|
|
139
139
|
return exportData(queryInput.time, queryInput.placeIds, queryInput.ids);
|
|
140
140
|
}, domains: domains }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: isLoading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, spacing: 2, sx: {
|