awing-library 2.1.172-dev → 2.1.174-dev

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.
@@ -15,6 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var jsx_runtime_1 = require("react/jsx-runtime");
18
+ /* eslint-disable eqeqeq */
18
19
  var react_1 = require("react");
19
20
  var common_1 = require("../common");
20
21
  var Utils_1 = require("./Utils");
@@ -30,7 +31,6 @@ var AnalyticContainer = function (props) {
30
31
  var client = (0, Context_1.default)().services;
31
32
  var _a = (0, react_1.useState)(true), isLoading = _a[0], setIsLoading = _a[1];
32
33
  var _b = (0, react_1.useState)([]), statisticalChartData = _b[0], setStatisticalChartData = _b[1];
33
- var _c = (0, react_1.useState)([]), statisticalData = _c[0], setStatisticalData = _c[1];
34
34
  var placesOfCampaign = (0, react_1.useMemo)(function () {
35
35
  var result = [];
36
36
  subCampaigns.forEach(function (sub) {
@@ -76,11 +76,17 @@ var AnalyticContainer = function (props) {
76
76
  endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
77
77
  timelineType: timelineType,
78
78
  campaignAdGroups: ids.length ? ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); }) : [{ campaignId: campaignId }],
79
- analyticGroupBies: Object.values(Enum_2.AnalyticGroupBy).filter(function (g) { return !isNaN(Number(g)); }).map(function (g) { return Number(g); }),
79
+ // analyticGroupBies: Object.values(AnalyticGroupBy).filter((g) => !isNaN(Number(g))).map((g) => Number(g)),
80
+ analyticGroupBies: [
81
+ Enum_2.AnalyticGroupBy.GbEventLabel,
82
+ Enum_2.AnalyticGroupBy.GbTimeline,
83
+ Enum_2.AnalyticGroupBy.GbCampaignGroupId,
84
+ Enum_2.AnalyticGroupBy.GbCampaignAdId
85
+ ],
80
86
  placeIds: placeIds,
81
87
  includedEventLabels: Object.values(Enum_1.BaseEvent)
82
88
  }).then(function (res) {
83
- setStatisticalData((0, Utils_1.markBillingType)(subCampaigns, res));
89
+ // setStatisticalData(markBillingType(subCampaigns, res))
84
90
  setStatisticalChartData(statisticType ? (0, Utils_1.convertToShowDetail)(subCampaigns, res, selectedDomains, selectedPlaces) : res);
85
91
  }).finally(function () { return setIsLoading(false); });
86
92
  };
@@ -88,49 +94,58 @@ var AnalyticContainer = function (props) {
88
94
  var selectedPlaces = placeIds.length > 0
89
95
  ? placesOfCampaign.filter(function (p) { return placeIds.includes(p.placeId); })
90
96
  : placesOfCampaign;
91
- // downloadWithDataSet
92
97
  var selectedDomains = (0, Utils_1.placesToDomains)(selectedPlaces, domains);
93
- var exportObj = {
94
- name: "export_statistic_campaign_".concat(campaignId),
95
- data: []
96
- };
97
- switch (exportType) {
98
- case common_1.EXPORT_TYPES.Domain: {
99
- var newObjects = (0, lodash_1.chain)(selectedDomains)
100
- .groupBy('domainId')
101
- .map(function (value) {
102
- var currentPlaces = value
103
- .map(function (x) { return x.places; })
104
- .reduce(function (a, b) { return a.concat(b); }, []);
105
- return {
106
- objectId: value[0].domainId,
107
- objectName: value[0].domainName,
108
- places: currentPlaces,
109
- };
110
- })
111
- .value();
112
- exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(statisticalData, newObjects, timelineType, 'Domain');
113
- exportObj.name += '_groupby_domain';
114
- break;
115
- }
116
- case common_1.EXPORT_TYPES.Export: {
117
- exportObj.data = (0, Utils_1.convertToExport)(subCampaigns, statisticalData, timelineType, selectedPlaces);
118
- exportObj.name += '_total';
119
- break;
120
- }
121
- case common_1.EXPORT_TYPES.LocationGroup: {
122
- exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(statisticalData, (0, Utils_1.dataGroupByPlace)(subCampaigns, ids), timelineType, 'Sub Campaign');
123
- exportObj.name += '_groupby_subcampaign';
124
- break;
125
- }
126
- default: {
127
- exportObj.data = (0, Utils_1.convertToExportData)(statisticalData, selectedPlaces, timelineType);
128
- exportObj.name += '_groupby_place';
129
- break;
98
+ return client.campaignStatisticGet({
99
+ startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
100
+ endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
101
+ timelineType: timelineType,
102
+ campaignAdGroups: ids.length ? ids.map(function (id) { return (__assign(__assign({}, id), { campaignId: campaignId })); }) : [{ campaignId: campaignId }],
103
+ analyticGroupBies: Object.values(Enum_2.AnalyticGroupBy).filter(function (g) { return !isNaN(Number(g)); }).map(function (g) { return Number(g); }),
104
+ placeIds: placeIds,
105
+ includedEventLabels: Object.values(Enum_1.BaseEvent)
106
+ }).then(function (res) {
107
+ var markedData = (0, Utils_1.markBillingType)(subCampaigns, res);
108
+ var exportObj = {
109
+ name: "export_statistic_campaign_".concat(campaignId),
110
+ data: []
111
+ };
112
+ switch (exportType) {
113
+ case common_1.EXPORT_TYPES.Domain: {
114
+ var newObjects = (0, lodash_1.chain)(selectedDomains)
115
+ .groupBy('domainId')
116
+ .map(function (value) {
117
+ var currentPlaces = value
118
+ .map(function (x) { return x.places; })
119
+ .reduce(function (a, b) { return a.concat(b); }, []);
120
+ return {
121
+ objectId: value[0].domainId,
122
+ objectName: value[0].domainName,
123
+ places: currentPlaces,
124
+ };
125
+ })
126
+ .value();
127
+ exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(markedData, newObjects, timelineType, 'Domain');
128
+ exportObj.name += '_groupby_domain';
129
+ break;
130
+ }
131
+ case common_1.EXPORT_TYPES.Export: {
132
+ exportObj.data = (0, Utils_1.convertToExport)(subCampaigns, markedData, timelineType, selectedPlaces);
133
+ exportObj.name += '_total';
134
+ break;
135
+ }
136
+ case common_1.EXPORT_TYPES.LocationGroup: {
137
+ exportObj.data = (0, Utils_1.convertToExportDataGroupBy)(markedData, (0, Utils_1.dataGroupByPlace)(subCampaigns, ids), timelineType, 'Sub Campaign');
138
+ exportObj.name += '_groupby_subcampaign';
139
+ break;
140
+ }
141
+ default: {
142
+ exportObj.data = (0, Utils_1.convertToExportData)(markedData, selectedPlaces, timelineType);
143
+ exportObj.name += '_groupby_place';
144
+ break;
145
+ }
130
146
  }
131
- }
132
- (0, exportFile_1.downloadWithDataSet)(String(exportObj.name).toUpperCase(), exportObj.data);
133
- return;
147
+ (0, exportFile_1.downloadWithDataSet)(String(exportObj.name).toUpperCase(), exportObj.data);
148
+ });
134
149
  };
135
150
  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 }));
136
151
  };
@@ -234,9 +234,10 @@ var ChartFilterBox = function (props) {
234
234
  MONTH: t('Common.Month'),
235
235
  },
236
236
  };
237
- var handleExport = react_1.default.useCallback(function () {
237
+ var handleExport = react_1.default.useCallback(function (type) {
238
+ if (type === void 0) { type = ''; }
238
239
  setLoading(true);
239
- var result = onExportData();
240
+ var result = onExportData(typeof type === 'string' ? type : '');
240
241
  if (result instanceof Promise) {
241
242
  result
242
243
  .then(function () {
@@ -269,6 +270,6 @@ var ChartFilterBox = function (props) {
269
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: {
270
271
  placeGroups: placeGroups,
271
272
  domains: domains.map(function (d) { return (__assign(__assign({}, d), { name: d.domainName })); }),
272
- }, 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, { onSubmit: function (exportType) { return onExportData(exportType); } })) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 1 })] }));
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 })] }));
273
274
  };
274
275
  exports.default = ChartFilterBox;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  interface Props {
3
3
  onSubmit: (value: string) => void;
4
+ loading?: boolean;
4
5
  }
5
6
  declare const SplitButtonExportType: React.FC<Props>;
6
7
  export default SplitButtonExportType;
@@ -21,12 +21,23 @@ var ArrowDropDown_1 = __importDefault(require("@mui/icons-material/ArrowDropDown
21
21
  var common_1 = require("./common");
22
22
  var react_i18next_1 = require("react-i18next");
23
23
  var i18n_1 = __importDefault(require("../../../../i18n"));
24
- var options = Object.values(common_1.EXPORT_TYPES).map(function (type, idx) { return type; });
24
+ var lab_1 = require("@mui/lab");
25
+ var Context_1 = __importDefault(require("./Context"));
25
26
  var SplitButtonExportType = function (props) {
26
- var onSubmit = props.onSubmit;
27
+ var onSubmit = props.onSubmit, loading = props.loading;
28
+ var services = (0, Context_1.default)().services;
27
29
  var _a = react_1.default.useState(false), open = _a[0], setOpen = _a[1];
28
30
  var anchorRef = react_1.default.useRef(null);
29
31
  var _b = react_1.default.useState(0), selectedIndex = _b[0], setSelectedIndex = _b[1];
32
+ var options = react_1.default.useMemo(function () {
33
+ return Object.values(common_1.EXPORT_TYPES)
34
+ .map(function (type, idx) { return type; })
35
+ .filter(function (type) {
36
+ return services.domainsGetAll ? true : type !== 'Domain';
37
+ });
38
+ },
39
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40
+ []);
30
41
  var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
31
42
  var handleClick = function () {
32
43
  onSubmit(options[selectedIndex]);
@@ -51,7 +62,7 @@ var SplitButtonExportType = function (props) {
51
62
  Location: t('Campaign.ExportType.Location'),
52
63
  LocationGroup: t('Campaign.ExportType.LocationGroup'),
53
64
  };
54
- return ((0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, direction: "column", alignItems: "center", children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, children: [(0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { variant: "outlined", color: "inherit", ref: anchorRef, "aria-label": "split button", children: [(0, jsx_runtime_1.jsx)(material_1.Button, { onClick: handleClick, children: translationText[options[selectedIndex]] }), (0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", "aria-controls": open ? 'split-button-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-label": "select merge strategy", "aria-haspopup": "menu", onClick: handleToggle, children: (0, jsx_runtime_1.jsx)(ArrowDropDown_1.default, {}) })] }), (0, jsx_runtime_1.jsx)(material_1.Popper, { style: { zIndex: 99999 }, open: open, anchorEl: anchorRef.current, transition: true, children: function (_a) {
65
+ return ((0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, direction: "column", alignItems: "center", children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, children: [(0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { disabled: loading, variant: "outlined", color: "inherit", ref: anchorRef, "aria-label": "split button", children: [(0, jsx_runtime_1.jsx)(lab_1.LoadingButton, { variant: 'outlined', onClick: handleClick, loading: loading, children: translationText[options[selectedIndex]] }), (0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", "aria-controls": open ? 'split-button-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-label": "select merge strategy", "aria-haspopup": "menu", onClick: handleToggle, children: (0, jsx_runtime_1.jsx)(ArrowDropDown_1.default, {}) })] }), (0, jsx_runtime_1.jsx)(material_1.Popper, { style: { zIndex: 99999 }, open: open, anchorEl: anchorRef.current, transition: true, children: function (_a) {
55
66
  var TransitionProps = _a.TransitionProps, placement = _a.placement;
56
67
  return ((0, jsx_runtime_1.jsx)(material_1.Grow, __assign({}, TransitionProps, { style: {
57
68
  transformOrigin: placement === 'bottom'
@@ -36,7 +36,7 @@ var constants_1 = require("../../constants");
36
36
  var lodash_1 = require("lodash");
37
37
  function GroupTable(props) {
38
38
  var headCells = props.headCells, filters = props.filters, onGetData = props.onGetData, customRow = props.customRow, onRowClicked = props.onRowClicked;
39
- var row = customRow || CustomRow_1.default;
39
+ var row = (0, react_1.useMemo)(function () { return customRow || CustomRow_1.default; }, [customRow]);
40
40
  var _a = (0, react_1.useState)([]), data = _a[0], setData = _a[1];
41
41
  var _b = (0, react_1.useState)(0), groupPageIndex = _b[0], setGroupPageIndex = _b[1];
42
42
  var _c = (0, react_1.useState)(constants_1.PAGE_SIZE_DEFAULT), groupPageSize = _c[0], setGroupPageSize = _c[1];
@@ -72,7 +72,7 @@ function GroupTable(props) {
72
72
  field: groupKeys[filters.length],
73
73
  value: dt[groupKeys[filters.length]],
74
74
  },
75
- ], false), displayData: __assign(__assign({}, dt), { groupIndex: groupPageIndex * groupPageSize + index }), onGetData: onGetData, onRowClicked: onRowClicked }, index)); }) })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: data.map(function (dt, index) {
75
+ ], false), displayData: __assign(__assign({}, dt), { groupIndex: groupPageIndex * groupPageSize + index }), onGetData: onGetData, onRowClicked: onRowClicked, customRow: row }, index)); }) })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: data.map(function (dt, index) {
76
76
  var CustomRow = row;
77
77
  return ((0, jsx_runtime_1.jsx)(CustomRow, __assign({}, row.props, { info: __assign(__assign({}, dt), { rowIndex: groupPageIndex * groupPageSize + index }), headCells: headCells, onRowClicked: onRowClicked }), index));
78
78
  }) })), data.length === 0 ? ((0, jsx_runtime_1.jsx)(material_1.TableRow, { children: (0, jsx_runtime_1.jsx)(material_1.TableCell, { colSpan: headCells.length + 1, padding: "none", style: { borderBottom: "1px solid #a3a3a345" }, children: (0, jsx_runtime_1.jsx)(NoData_1.default, {}) }) })) : ((0, jsx_runtime_1.jsx)(material_1.TableRow, { children: (0, jsx_runtime_1.jsx)(material_1.TableCell, { colSpan: headCells.length + 1, padding: "none", style: {
@@ -8,6 +8,7 @@ interface GroupComponentProps {
8
8
  totalCount: number;
9
9
  }>;
10
10
  onRowClicked?: (rowInfo: any) => void;
11
+ customRow?: any;
11
12
  }
12
13
  export default function GroupComponent(props: GroupComponentProps): import("react/jsx-runtime").JSX.Element;
13
14
  export {};
@@ -9,7 +9,7 @@ var material_1 = require("@mui/material");
9
9
  var icons_material_1 = require("@mui/icons-material");
10
10
  var GroupTable_1 = __importDefault(require("./GroupTable"));
11
11
  function GroupComponent(props) {
12
- var headCells = props.headCells, filters = props.filters, displayData = props.displayData, onGetData = props.onGetData, onRowClicked = props.onRowClicked;
12
+ var headCells = props.headCells, filters = props.filters, displayData = props.displayData, onGetData = props.onGetData, onRowClicked = props.onRowClicked, customRow = props.customRow;
13
13
  var _a = (0, react_1.useState)(false), open = _a[0], setOpen = _a[1];
14
14
  var handleOpen = function () {
15
15
  setOpen(!open);
@@ -47,6 +47,6 @@ function GroupComponent(props) {
47
47
  } }, ind));
48
48
  }
49
49
  }
50
- })] }, "group-header-filters.length-".concat(filters.length)), open && ((0, jsx_runtime_1.jsx)(GroupTable_1.default, { headCells: headCells, filters: filters, onGetData: onGetData, onRowClicked: onRowClicked }))] }));
50
+ })] }, "group-header-filters.length-".concat(filters.length)), open && ((0, jsx_runtime_1.jsx)(GroupTable_1.default, { headCells: headCells, filters: filters, onGetData: onGetData, onRowClicked: onRowClicked, customRow: customRow }))] }));
51
51
  }
52
52
  exports.default = GroupComponent;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awing-library",
3
- "version": "2.1.172-dev",
3
+ "version": "2.1.174-dev",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",