awing-library 2.1.16-beta → 2.1.16
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/README.md +4 -19
- package/lib/ACM-AXN/Campaign/Container.js +6 -7
- package/lib/ACM-AXN/Campaign/Container.test.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +2 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.test.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +50 -6
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.d.ts +5 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +6 -18
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +16 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.test.js +1 -1
- package/lib/ACM-AXN/Campaign/Utils.js +1 -1
- package/lib/ACM-AXN/Campaign/index.js +3 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.d.ts +2 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +44 -42
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.js +38 -30
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.d.ts +2 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.js +2 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +4 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +64 -4
- package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.js +82 -34
- package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.js +38 -29
- package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.d.ts +4 -0
- package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +58 -0
- package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +14 -2
- package/lib/ACM-AXN/CampaignSchedule/Enum.js +12 -0
- package/lib/ACM-AXN/CampaignSchedule/component.d.ts +2 -2
- package/lib/ACM-AXN/CampaignSchedule/component.js +17 -14
- package/lib/ACM-AXN/CampaignSchedule/container.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/container.js +100 -99
- package/lib/ACM-AXN/CampaignSchedule/interface.d.ts +16 -3
- package/lib/ACM-AXN/Directory/DomainDirectory/DomainDirectory.test.js +1 -0
- package/lib/ACM-AXN/Directory/DomainDirectory/FolderDetail.test.js +1 -0
- package/lib/ACM-AXN/Directory/MenuDirectory/MenuDirectory.test.js +1 -0
- package/lib/ACM-AXN/Directory/MenuDirectory/index.js +7 -21
- package/lib/ACM-AXN/Directory/SystemDirectory/SystemDirectory.test.js +1 -0
- package/lib/ACM-AXN/Directory/SystemDirectory/index.js +6 -5
- package/lib/ACM-AXN/Directory/components/CreateOrEditFolder.test.js +1 -0
- package/lib/ACM-AXN/Directory/components/Permission/AddAuthen.test.js +2 -0
- package/lib/ACM-AXN/Directory/components/Permission/CreateOrEditPermission.test.js +2 -0
- package/lib/ACM-AXN/Directory/components/Permission/Management.js +7 -5
- package/lib/ACM-AXN/Directory/components/Permission/ManagementPermission.test.js +3 -0
- package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js +9 -7
- package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.test.js +2 -0
- package/lib/ACM-AXN/Directory/function.d.ts +1 -0
- package/lib/ACM-AXN/Directory/function.js +15 -1
- package/lib/ACM-AXN/DomainPreview/PreviewButton.d.ts +15 -0
- package/lib/ACM-AXN/DomainPreview/PreviewButton.js +188 -0
- package/lib/ACM-AXN/DomainPreview/index.d.ts +7 -2
- package/lib/ACM-AXN/DomainPreview/index.js +6 -3
- package/lib/ACM-AXN/GroupUser/Constants.d.ts +7 -0
- package/lib/ACM-AXN/GroupUser/Constants.js +10 -0
- package/lib/ACM-AXN/GroupUser/Container.d.ts +2 -0
- package/lib/ACM-AXN/GroupUser/Container.js +55 -0
- package/lib/ACM-AXN/GroupUser/Container.test.d.ts +1 -0
- package/lib/ACM-AXN/GroupUser/Container.test.js +210 -0
- package/lib/ACM-AXN/GroupUser/CreateOrEdit.d.ts +3 -0
- package/lib/ACM-AXN/GroupUser/CreateOrEdit.js +99 -0
- package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.d.ts +1 -0
- package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.js +235 -0
- package/lib/ACM-AXN/GroupUser/Hooks.d.ts +5 -0
- package/lib/ACM-AXN/GroupUser/Hooks.js +13 -0
- package/lib/ACM-AXN/GroupUser/Types.d.ts +31 -0
- package/lib/ACM-AXN/GroupUser/Types.js +2 -0
- package/lib/ACM-AXN/GroupUser/User/SearchUser.d.ts +9 -0
- package/lib/ACM-AXN/GroupUser/User/SearchUser.js +63 -0
- package/lib/ACM-AXN/GroupUser/User/SearchUser.test.d.ts +1 -0
- package/lib/ACM-AXN/GroupUser/User/SearchUser.test.js +140 -0
- package/lib/ACM-AXN/GroupUser/User/UserComponent.d.ts +9 -0
- package/lib/ACM-AXN/GroupUser/User/UserComponent.js +83 -0
- package/lib/ACM-AXN/GroupUser/User/UserComponent.test.d.ts +1 -0
- package/lib/ACM-AXN/GroupUser/User/UserComponent.test.js +128 -0
- package/lib/ACM-AXN/GroupUser/index.d.ts +4 -0
- package/lib/ACM-AXN/GroupUser/index.js +27 -0
- package/lib/ACM-AXN/Notifications/Constant.d.ts +146 -0
- package/lib/ACM-AXN/Notifications/Constant.js +136 -0
- package/lib/ACM-AXN/Notifications/Context.d.ts +8 -0
- package/lib/ACM-AXN/Notifications/Context.js +10 -0
- package/lib/ACM-AXN/Notifications/Hooks.d.ts +7 -0
- package/lib/ACM-AXN/Notifications/Hooks.js +17 -0
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.d.ts +3 -3
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.js +31 -30
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.d.ts +1 -1
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.js +30 -39
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.d.ts +3 -5
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.js +18 -17
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.d.ts +1 -1
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.js +15 -15
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.js +29 -28
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.d.ts +11 -0
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.js +291 -0
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.d.ts +1 -1
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.js +3 -3
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.js +38 -48
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.d.ts +2 -2
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.js +38 -35
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.js +65 -73
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.d.ts +4 -11
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.js +48 -36
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.js +56 -50
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationLoading.js +30 -30
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.d.ts +3 -15
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.js +35 -4
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.js +88 -83
- package/lib/ACM-AXN/Notifications/NotificationDetail/index.d.ts +5 -2
- package/lib/ACM-AXN/Notifications/NotificationDetail/index.js +115 -101
- package/lib/ACM-AXN/Notifications/{NotificationPopover.d.ts → NotificationPopover/Container.d.ts} +2 -2
- package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +149 -0
- package/lib/ACM-AXN/Notifications/{NotificationPopover.test.d.ts → NotificationPopover/Container.test.d.ts} +1 -1
- package/lib/ACM-AXN/Notifications/{NotificationPopover.test.js → NotificationPopover/Container.test.js} +5 -5
- package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +8 -0
- package/lib/ACM-AXN/Notifications/NotificationPopover/index.js +13 -0
- package/lib/ACM-AXN/Notifications/NotificationScreen.d.ts +1 -1
- package/lib/ACM-AXN/Notifications/NotificationScreen.js +4 -4
- package/lib/ACM-AXN/Notifications/Types.d.ts +84 -0
- package/lib/ACM-AXN/Notifications/Types.js +13 -0
- package/lib/ACM-AXN/Notifications/index.d.ts +2 -2
- package/lib/ACM-AXN/Notifications/index.js +5 -5
- package/lib/ACM-AXN/Page/Container.js +69 -74
- package/lib/ACM-AXN/Page/CreateOrEdit/DrawerAction.js +27 -5
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +1 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +2 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +2 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.d.ts +0 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +15 -6
- package/lib/ACM-AXN/Page/Types.d.ts +9 -0
- package/lib/ACM-AXN/Page/index.js +2 -1
- package/lib/ACM-AXN/Permission/Components/Management.test.js +1 -1
- package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.d.ts +0 -7
- package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.js +0 -135
- package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.test.js +2 -2
- package/lib/ACM-AXN/PlaceGroup/Context.d.ts +1 -1
- package/lib/ACM-AXN/PlaceGroup/CreateOrEdit.js +103 -3
- package/lib/ACM-AXN/Statistics/ControlPanel.js +41 -39
- package/lib/ACM-AXN/Statistics/Enums.d.ts +1 -0
- package/lib/ACM-AXN/Statistics/Enums.js +1 -0
- package/lib/ACM-AXN/Statistics/container.js +1 -1
- package/lib/ACM-AXN/Statistics/interface.d.ts +2 -2
- package/lib/ACM-AXN/StatisticsAudienceDemographic/container.d.ts +1 -1
- package/lib/ACM-AXN/StatisticsAudienceDemographic/container.js +2 -3
- package/lib/ACM-AXN/StatisticsAudienceDemographic/interfaces.d.ts +1 -0
- package/lib/ACM-AXN/StatisticsByProvince/container.d.ts +1 -1
- package/lib/ACM-AXN/StatisticsByProvince/container.js +2 -2
- package/lib/ACM-AXN/TaskScheduler/Components/TriggerInput.js +4 -2
- package/lib/ACM-AXN/TaskScheduler/Constant.d.ts +0 -107
- package/lib/ACM-AXN/TaskScheduler/Constant.js +1 -105
- package/lib/ACM-AXN/TaskScheduler/Container.js +1 -1
- package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +6 -8
- package/lib/ACM-AXN/TaskScheduler/Utils.js +6 -1
- package/lib/ACM-AXN/TransactionLog/Container.js +6 -4
- package/lib/ACM-AXN/TransactionLog/Detail.js +3 -1
- package/lib/ACM-AXN/TransactionLog/Types.d.ts +1 -107
- package/lib/ACM-AXN/TransactionLog/Types.js +1 -109
- package/lib/ACM-AXN/TransactionLog/Utils.d.ts +0 -103
- package/lib/ACM-AXN/TransactionLog/Utils.js +1 -104
- package/lib/ACM-AXN/User/Add.d.ts +2 -0
- package/lib/ACM-AXN/User/Add.js +64 -0
- package/lib/ACM-AXN/User/Add.test.d.ts +1 -0
- package/lib/ACM-AXN/User/Add.test.js +115 -0
- package/lib/ACM-AXN/User/Constants.d.ts +2 -0
- package/lib/ACM-AXN/User/Constants.js +5 -0
- package/lib/ACM-AXN/User/Container.d.ts +2 -0
- package/lib/ACM-AXN/User/Container.js +60 -0
- package/lib/ACM-AXN/User/Container.test.d.ts +1 -0
- package/lib/ACM-AXN/User/Container.test.js +202 -0
- package/lib/ACM-AXN/User/Hook.d.ts +5 -0
- package/lib/ACM-AXN/User/Hook.js +13 -0
- package/lib/ACM-AXN/User/Types.d.ts +45 -0
- package/lib/ACM-AXN/User/Types.js +2 -0
- package/lib/ACM-AXN/User/index.d.ts +4 -0
- package/lib/ACM-AXN/User/index.js +18 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +1 -1
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/ObjectField.d.ts +2 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/ObjectField.js +19 -3
- package/lib/ACM-AXN/ViewTemplate/container.js +2 -1
- package/lib/AWING/AdvancedSearch/component.js +1 -1
- package/lib/AWING/AdvancedSearch/interface.d.ts +1 -0
- package/lib/AWING/BasicDataForm/index.js +3 -1
- package/lib/AWING/BasicDataForm/interface.d.ts +2 -2
- package/lib/AWING/ButtonDateRangePicker/ButtonDateRangePicker.js +2 -2
- package/lib/AWING/ButtonDateRangePicker/interface.d.ts +1 -0
- package/lib/AWING/Chart/BarLineComponent.d.ts +8 -5
- package/lib/AWING/Chart/BarLineComponent.js +34 -28
- package/lib/AWING/Chart/PieComponent.d.ts +8 -7
- package/lib/AWING/Chart/PieComponent.js +1 -2
- package/lib/AWING/Chart/Styles.d.ts +6 -2
- package/lib/AWING/Chart/Styles.js +6 -2
- package/lib/AWING/Chart/index.d.ts +3 -0
- package/lib/AWING/Chart/index.js +10 -0
- package/lib/AWING/DataForm/DataInput.js +19 -10
- package/lib/AWING/DataForm/interface.d.ts +8 -4
- package/lib/AWING/DataGrid/index.js +20 -5
- package/lib/AWING/DataGrid/interface.d.ts +7 -2
- package/lib/AWING/Directory/CreateDirectory.d.ts +3 -0
- package/lib/AWING/Directory/CreateDirectory.js +27 -10
- package/lib/AWING/PageManagement/PageManagement.js +3 -3
- package/lib/AWING/PageManagement/interface.d.ts +2 -1
- package/lib/AWING/index.d.ts +1 -0
- package/lib/AWING/index.js +1 -0
- package/lib/AWING/ultis/validation.d.ts +1 -1
- package/lib/AWING/ultis/validation.js +4 -2
- package/lib/Commons/Components/ClassicBaseDrawer.d.ts +1 -0
- package/lib/Commons/Components/ClassicBaseDrawer.js +7 -3
- package/lib/Commons/Components/ClassicDrawer.js +1 -1
- package/lib/Context/index.js +1 -0
- package/lib/Context/interface.d.ts +1 -0
- package/lib/Utils/Helpers.d.ts +1 -0
- package/lib/Utils/Helpers.js +17 -9
- package/lib/translate/en/translation.json +81 -2
- package/lib/translate/vi/translation.json +81 -2
- package/package.json +4 -2
- package/lib/ACM-AXN/Notifications/NotificationDetail/Common.d.ts +0 -39
- package/lib/ACM-AXN/Notifications/NotificationDetail/Common.js +0 -304
- package/lib/ACM-AXN/Notifications/NotificationPopover.js +0 -69
- package/lib/ACM-AXN/Page/ViewDomain/index.d.ts +0 -9
- package/lib/ACM-AXN/Page/ViewDomain/index.js +0 -148
package/README.md
CHANGED
|
@@ -35,32 +35,17 @@ yarn build
|
|
|
35
35
|
- Step 2: Tạo link thư viện
|
|
36
36
|
|
|
37
37
|
```shell
|
|
38
|
+
yarn build
|
|
38
39
|
yarn link
|
|
39
|
-
```
|
|
40
|
-
- Tạo Link react
|
|
41
|
-
|
|
42
|
-
```shell
|
|
43
40
|
cd node_modules/react
|
|
44
41
|
yarn link
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- Tạo Link react-dom
|
|
48
|
-
|
|
49
|
-
```shell
|
|
42
|
+
cd ../..
|
|
50
43
|
cd node_modules/react-dom
|
|
51
44
|
yarn link
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- Tạo Link @mui/material
|
|
55
|
-
|
|
56
|
-
```shell
|
|
45
|
+
cd ../..
|
|
57
46
|
cd node_modules/@mui/material
|
|
58
47
|
yarn link
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
- Tạo Link @mui/styles
|
|
62
|
-
|
|
63
|
-
```shell
|
|
48
|
+
cd ../../..
|
|
64
49
|
cd node_modules/@mui/styles
|
|
65
50
|
yarn link
|
|
66
51
|
```
|
|
@@ -49,7 +49,7 @@ var CampaignContainer = function () {
|
|
|
49
49
|
var _c = (0, react_1.useState)([]), directories = _c[0], setDirectories = _c[1];
|
|
50
50
|
var _d = (0, react_1.useState)([]), collapseIds = _d[0], setCollapseId = _d[1];
|
|
51
51
|
var _e = (0, react_1.useState)(), listCampaign = _e[0], setListCampaign = _e[1];
|
|
52
|
-
var _f = (0, react_1.useState)(
|
|
52
|
+
var _f = (0, react_1.useState)(true), loading = _f[0], setLoading = _f[1];
|
|
53
53
|
(0, react_1.useEffect)(function () {
|
|
54
54
|
if (location.pathname.endsWith(Constant_1.Constants.CAMPAIGN_PATH)) {
|
|
55
55
|
fetchDirectories();
|
|
@@ -256,20 +256,19 @@ var CampaignContainer = function () {
|
|
|
256
256
|
},
|
|
257
257
|
{
|
|
258
258
|
field: 'booking',
|
|
259
|
-
headerName: t('Campaign.BookingText'),
|
|
259
|
+
headerName: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: '150px', textAlign: 'right' }, children: t('Campaign.BookingText') }),
|
|
260
260
|
valueGetter: function (row) {
|
|
261
261
|
var _a;
|
|
262
|
+
var text = '';
|
|
262
263
|
if ((_a = row === null || row === void 0 ? void 0 : row.campaign) === null || _a === void 0 ? void 0 : _a.id) {
|
|
263
|
-
|
|
264
|
+
text = (0, Utils_1.getTotalBooking)(row === null || row === void 0 ? void 0 : row.campaignGroups);
|
|
264
265
|
}
|
|
265
266
|
else {
|
|
266
|
-
|
|
267
|
+
text = (0, Utils_1.checkPriority)(row.campaignGroup.priority, Types_1.CampaignPriority.ClassB)
|
|
267
268
|
? (0, Helpers_1.roundDecimalNumber)(row.campaignGroup.bookingAmount)
|
|
268
269
|
: 'N/A';
|
|
269
270
|
}
|
|
270
|
-
|
|
271
|
-
TableCellProps: {
|
|
272
|
-
align: 'right',
|
|
271
|
+
return (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: '150px', textAlign: 'right' }, children: text });
|
|
273
272
|
},
|
|
274
273
|
},
|
|
275
274
|
], rows: (0, Utils_1.formatListCampaign)(listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.items, collapseIds) || [], rowActions: [
|
|
@@ -244,7 +244,7 @@ jest.mock('CustomHooks/useAppHelper', function () { return ({
|
|
|
244
244
|
}); },
|
|
245
245
|
}); });
|
|
246
246
|
// Mock PageManagement
|
|
247
|
-
jest.mock('
|
|
247
|
+
jest.mock('AWING/PageManagement', function () { return ({
|
|
248
248
|
PageManagement: function (props) {
|
|
249
249
|
return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("button", { "data-testid": "onChangeQueryInput", onClick: function () {
|
|
250
250
|
props.onChangeQueryInput({
|
|
@@ -98,7 +98,7 @@ exports.campaignAttributesState = (0, recoil_1.selector)({
|
|
|
98
98
|
var campaignModel = get(exports.campaignModelState);
|
|
99
99
|
set(exports.campaignModelState, campaignAttributes instanceof recoil_1.DefaultValue ?
|
|
100
100
|
campaignAttributes : __assign(__assign({}, campaignModel), { campaignAttributes: campaignAttributes }));
|
|
101
|
-
if (!get(exports.confirmExitState))
|
|
101
|
+
if (!get(exports.confirmExitState) && Array.isArray(campaignAttributes) && !!campaignAttributes.at(-1))
|
|
102
102
|
set(exports.confirmExitState, true);
|
|
103
103
|
}
|
|
104
104
|
});
|
|
@@ -47,6 +47,7 @@ var recoil_1 = require("recoil");
|
|
|
47
47
|
var AWING_1 = require("../../../AWING");
|
|
48
48
|
var Recoils_1 = require("./Recoils");
|
|
49
49
|
var Hooks_1 = __importDefault(require("../Hooks"));
|
|
50
|
+
var i18n_1 = __importDefault(require("../../../i18n"));
|
|
50
51
|
var Infomation = function () {
|
|
51
52
|
var service = (0, Hooks_1.default)().service;
|
|
52
53
|
var directories = (0, recoil_1.useRecoilValue)(Recoils_1.directoriesState);
|
|
@@ -54,7 +55,7 @@ var Infomation = function () {
|
|
|
54
55
|
var _a = (0, recoil_1.useRecoilState)(Recoils_1.campaignState), campaign = _a[0], setCampaign = _a[1];
|
|
55
56
|
var _b = (0, recoil_1.useRecoilState)(Recoils_1.campaignAttributesState), campaignAttributes = _b[0], setCampaignAttributes = _b[1];
|
|
56
57
|
var setCampaignModel = (0, recoil_1.useSetRecoilState)(Recoils_1.campaignModelState);
|
|
57
|
-
var t = (0, react_i18next_1.useTranslation)().t;
|
|
58
|
+
var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
|
|
58
59
|
(0, react_1.useEffect)(function () {
|
|
59
60
|
if (!campaign.directoryId) {
|
|
60
61
|
setCampaignModel((0, immer_1.default)(function (draft) {
|
|
@@ -16,7 +16,7 @@ function MockComponent(props) {
|
|
|
16
16
|
// const MockComponentFactory = (name: string) => () => (props: any) => <div><div/>
|
|
17
17
|
jest.mock('Features/PlaceFilter', function () { return MockComponent; });
|
|
18
18
|
jest.mock("Components/Typescript/AsynchronousAutocomplete", function () { return MockComponent; });
|
|
19
|
-
jest.mock("
|
|
19
|
+
jest.mock("AWING/DateRangePicker", function () { return MockComponent; });
|
|
20
20
|
jest.mock('Services/DirectoryPermission', function () { return ({
|
|
21
21
|
getByObjectTypeCode: function () { return new Promise(function (resolve) {
|
|
22
22
|
resolve({
|
|
@@ -60,6 +60,9 @@ var Utils_1 = require("../../Utils");
|
|
|
60
60
|
var Helpers_1 = require("../../../../Utils/Helpers");
|
|
61
61
|
var Context_1 = require("../../../../Context");
|
|
62
62
|
var Recoils_1 = require("../Recoils");
|
|
63
|
+
var DomainPreview_1 = __importDefault(require("../../../../ACM-AXN/DomainPreview"));
|
|
64
|
+
var Constant_1 = require("../../../../ACM-AXN/Campaign/Constant");
|
|
65
|
+
var PreviewButton_1 = __importDefault(require("../../../../ACM-AXN/DomainPreview/PreviewButton"));
|
|
63
66
|
function AdList(props) {
|
|
64
67
|
var onCreate = props.onCreate, onChange = props.onChange, onDelete = props.onDelete, onAdsValidChange = props.onAdsValidChange;
|
|
65
68
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
@@ -70,11 +73,18 @@ function AdList(props) {
|
|
|
70
73
|
var _c = (0, recoil_1.useRecoilState)(atoms_1.adOpenState), adOpen = _c[0], setAdOpen = _c[1];
|
|
71
74
|
var copiedAd = (0, recoil_1.useRecoilValue)(atoms_1.copiedAdState);
|
|
72
75
|
var hasClassC = (0, recoil_1.useRecoilValue)((0, atoms_1.checkGroupsClassCState)(adSelected.map(function (x) { return x.subCampaignId; })));
|
|
76
|
+
var _d = (0, react_1.useState)({
|
|
77
|
+
welcomeId: '',
|
|
78
|
+
loginId: '',
|
|
79
|
+
domainIds: [],
|
|
80
|
+
}), previewId = _d[0], setPreviewId = _d[1];
|
|
81
|
+
var _e = react_1.default.useState(), anchorEl = _e[0], setAnchorEl = _e[1];
|
|
82
|
+
var open = Boolean(anchorEl);
|
|
73
83
|
// valid theo cấu trúc { [campaignGroupId]: { [adId]: boolean } }
|
|
74
|
-
var
|
|
75
|
-
var
|
|
76
|
-
var
|
|
77
|
-
var
|
|
84
|
+
var _f = (0, react_1.useState)({}), adsValid = _f[0], setAdsValid = _f[1];
|
|
85
|
+
var _g = (0, react_1.useState)(false), isAdvancedDrawerOpen = _g[0], setIsAdvancedDrawerOpen = _g[1];
|
|
86
|
+
var _h = (0, recoil_1.useRecoilState)(Recoils_1.weightState), weightProps = _h[0], setWeightState = _h[1];
|
|
87
|
+
var _j = (0, react_1.useState)(false), isMultiEditDrawerOpen = _j[0], setIsMultiEditDrawerOpen = _j[1];
|
|
78
88
|
(0, react_1.useEffect)(function () {
|
|
79
89
|
var newAdValid = {};
|
|
80
90
|
ads.forEach(function (ad) {
|
|
@@ -219,6 +229,33 @@ function AdList(props) {
|
|
|
219
229
|
advanced: t('Campaign.Advanced'),
|
|
220
230
|
delete: t('Common.Delete'),
|
|
221
231
|
};
|
|
232
|
+
/**
|
|
233
|
+
* Hàm khi xem preview
|
|
234
|
+
*/
|
|
235
|
+
var handlePreview = function (e, ad, domainId) {
|
|
236
|
+
e.stopPropagation();
|
|
237
|
+
var url = "".concat(Constant_1.Constants.CAPTIVE_DOMAIN, "/").concat(Constant_1.Constants.PAGE_LOGIN_PREVIEW, "?loginId=").concat(ad.loginId, "&isNetworkCampaign=").concat(Boolean(service.domainsGetAll).toString());
|
|
238
|
+
if (ad.welcomeId.length)
|
|
239
|
+
url += "&welcomeId=".concat(ad.welcomeId);
|
|
240
|
+
if (domainId)
|
|
241
|
+
url += "&domainId=".concat(domainId);
|
|
242
|
+
window.open(url, '_blank');
|
|
243
|
+
};
|
|
244
|
+
var handlePreviewPage = function (e, ad) {
|
|
245
|
+
var _a, _b;
|
|
246
|
+
e.stopPropagation();
|
|
247
|
+
setPreviewId({
|
|
248
|
+
welcomeId: ad.welcomeId,
|
|
249
|
+
loginId: ad.loginId,
|
|
250
|
+
domainIds: (_b = (_a = ad.places) === null || _a === void 0 ? void 0 : _a.map(function (x) { return x.domainId; })) !== null && _b !== void 0 ? _b : [],
|
|
251
|
+
});
|
|
252
|
+
setAnchorEl(e.currentTarget);
|
|
253
|
+
};
|
|
254
|
+
var handlePreviewClose = function (event) {
|
|
255
|
+
event.stopPropagation();
|
|
256
|
+
setPreviewId({});
|
|
257
|
+
setAnchorEl(null);
|
|
258
|
+
};
|
|
222
259
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [weightProps.isOpen && ((0, jsx_runtime_1.jsx)(Weight_1.default, {})), (0, jsx_runtime_1.jsxs)(material_1.TableContainer, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h4", sx: {
|
|
223
260
|
padding: function (theme) { return theme.spacing(2); },
|
|
224
261
|
fontSize: '16px!important',
|
|
@@ -261,6 +298,7 @@ function AdList(props) {
|
|
|
261
298
|
}, onChange: handleMultiUpdate })), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.delete, children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: function () {
|
|
262
299
|
return handleMultiDelete(adSelected);
|
|
263
300
|
}, "aria-label": "delete", children: (0, jsx_runtime_1.jsx)(Delete_1.default, { fontSize: "small" }) }) })] })), (0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: onCreate && ((0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { variant: "outlined", color: "error", children: [(0, jsx_runtime_1.jsx)(material_1.Button, { startIcon: (0, jsx_runtime_1.jsx)(Add_1.default, {}), onClick: function () { return handleAddAd(); }, children: t('Common.Create') }), copiedAd !== undefined && ((0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", "aria-label": "paste", onClick: function () { return handleAddAd(true); }, children: (0, jsx_runtime_1.jsx)(Assignment_1.default, {}) }))] })) })] }) }), (0, jsx_runtime_1.jsx)(material_1.TableBody, { children: ads.map(function (ad, idx) {
|
|
301
|
+
var _a;
|
|
264
302
|
var isOpen = adOpen !== undefined &&
|
|
265
303
|
adOpen.adId === ad.id &&
|
|
266
304
|
adOpen.subCampaignId === ad.campaignGroupId;
|
|
@@ -270,7 +308,9 @@ function AdList(props) {
|
|
|
270
308
|
};
|
|
271
309
|
return ((0, jsx_runtime_1.jsx)(AdRow_1.default, { ad: ad, onChange: function (adSetStateAction) {
|
|
272
310
|
return onChange([adDefine], adSetStateAction);
|
|
273
|
-
},
|
|
311
|
+
}, previewButton: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { "aria-label": "preview", onClick: function (e) {
|
|
312
|
+
handlePreview(e, ad);
|
|
313
|
+
}, disabled: !((_a = ad.loginId) === null || _a === void 0 ? void 0 : _a.length), sx: { borderRadius: '15%' }, children: (0, jsx_runtime_1.jsx)(DomainPreview_1.default, { handlePreviewPage: function (e) { return handlePreviewPage(e, ad); }, isSelectDomain: Boolean(service.domainsGetAll) }) }) }), onChangeStatus: function (status) {
|
|
274
314
|
return handleChangeAdStatus(ad, status);
|
|
275
315
|
}, onDelete: function () {
|
|
276
316
|
return handleMultiDelete([adDefine]);
|
|
@@ -302,6 +342,10 @@ function AdList(props) {
|
|
|
302
342
|
]);
|
|
303
343
|
});
|
|
304
344
|
} }, idx));
|
|
305
|
-
}) })] })] })
|
|
345
|
+
}) })] })] }), open &&
|
|
346
|
+
(0, jsx_runtime_1.jsx)(PreviewButton_1.default, { anchorEl: anchorEl, open: open, domainIds: previewId.domainIds, handlePreviewClose: handlePreviewClose, handlePreviewDomain: function (event, domainId) {
|
|
347
|
+
handlePreview(event, ads.find(function (x) { return x.loginId === previewId.loginId; }), domainId);
|
|
348
|
+
// handlePreview(previewId, domainId)
|
|
349
|
+
}, service: service })] }));
|
|
306
350
|
}
|
|
307
351
|
exports.default = AdList;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { AdDetailProps } from './AdDetail';
|
|
2
3
|
type AdRowProps = AdDetailProps & {
|
|
3
4
|
/**
|
|
@@ -24,6 +25,10 @@ type AdRowProps = AdDetailProps & {
|
|
|
24
25
|
* Trạng thái lỗi hay không của quảng cáo
|
|
25
26
|
*/
|
|
26
27
|
error?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Preview Button
|
|
30
|
+
*/
|
|
31
|
+
previewButton: React.ReactNode;
|
|
27
32
|
};
|
|
28
33
|
export default function AdRow(props: AdRowProps): import("react/jsx-runtime").JSX.Element;
|
|
29
34
|
export {};
|
|
@@ -62,7 +62,6 @@ var react_1 = __importStar(require("react"));
|
|
|
62
62
|
var react_i18next_1 = require("react-i18next");
|
|
63
63
|
var recoil_1 = require("recoil");
|
|
64
64
|
var material_1 = require("@mui/material");
|
|
65
|
-
var Visibility_1 = __importDefault(require("@mui/icons-material/Visibility"));
|
|
66
65
|
var KeyboardArrowDown_1 = __importDefault(require("@mui/icons-material/KeyboardArrowDown"));
|
|
67
66
|
var KeyboardArrowUp_1 = __importDefault(require("@mui/icons-material/KeyboardArrowUp"));
|
|
68
67
|
var CheckCircle_1 = __importDefault(require("@mui/icons-material/CheckCircle"));
|
|
@@ -87,27 +86,16 @@ var AWING_1 = require("../../../../AWING");
|
|
|
87
86
|
var Constant_1 = require("../../Constant");
|
|
88
87
|
var Recoils_1 = require("../Recoils");
|
|
89
88
|
function AdRow(props) {
|
|
90
|
-
var _a, _b, _c, _d
|
|
89
|
+
var _a, _b, _c, _d;
|
|
91
90
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
92
|
-
var ad = props.ad, onChange = props.onChange, onDelete = props.onDelete, open = props.open, onToggle = props.onToggle, isSelected = props.isSelected, onCheck = props.onCheck, error = props.error, other = __rest(props, ["ad", "onChange", "onDelete", "open", "onToggle", "isSelected", "onCheck", "error"]);
|
|
91
|
+
var ad = props.ad, onChange = props.onChange, onDelete = props.onDelete, open = props.open, onToggle = props.onToggle, isSelected = props.isSelected, onCheck = props.onCheck, error = props.error, previewButton = props.previewButton, other = __rest(props, ["ad", "onChange", "onDelete", "open", "onToggle", "isSelected", "onCheck", "error", "previewButton"]);
|
|
93
92
|
var service = (0, Hooks_1.default)().service;
|
|
94
93
|
var setCopiedAd = (0, recoil_1.useSetRecoilState)(atoms_1.copiedAdState);
|
|
95
94
|
var setWeightState = (0, recoil_1.useSetRecoilState)(Recoils_1.weightState);
|
|
96
|
-
var
|
|
97
|
-
var
|
|
98
|
-
var
|
|
99
|
-
var _j = (0, react_1.useState)(false), isWeightDrawerOpen = _j[0], setIsWeightDrawerOpen = _j[1];
|
|
95
|
+
var _e = (0, react_1.useState)(false), openCopiedMessage = _e[0], setOpenCopiedMessage = _e[1];
|
|
96
|
+
var _f = (0, react_1.useState)(false), showTheSource = _f[0], setShowTheSource = _f[1];
|
|
97
|
+
var _g = (0, react_1.useState)(false), isAdvancedDrawerOpen = _g[0], setIsAdvancedDrawerOpen = _g[1];
|
|
100
98
|
var isClassC = (0, recoil_2.useRecoilValue)((0, atoms_2.checkGroupsClassCState)([ad.campaignGroupId]));
|
|
101
|
-
/**
|
|
102
|
-
* Hàm khi xem preview
|
|
103
|
-
*/
|
|
104
|
-
var handlePreview = function (e) {
|
|
105
|
-
e.stopPropagation();
|
|
106
|
-
var url = "".concat(Constant_1.Constants.CAPTIVE_DOMAIN, "/").concat(Constant_1.Constants.PAGE_LOGIN_PREVIEW, "?loginId=").concat(ad.loginId, "&isNetworkCampaign=false");
|
|
107
|
-
if (ad.welcomeId.length)
|
|
108
|
-
url += "&welcomeId=".concat(ad.welcomeId);
|
|
109
|
-
window.open(url, '_blank');
|
|
110
|
-
};
|
|
111
99
|
var translationText = {
|
|
112
100
|
preview: t('Common.Preview'),
|
|
113
101
|
copy: t('Common.Copy'),
|
|
@@ -147,7 +135,7 @@ function AdRow(props) {
|
|
|
147
135
|
Constant_1.Constants.CAMPAIGN_EDIT_PAGE,
|
|
148
136
|
Enum_1.PAGE_CODES.PageCodeWelcome,
|
|
149
137
|
ad.welcomeId,
|
|
150
|
-
].join('/'), children: (_d = ad.welcomePage) === null || _d === void 0 ? void 0 : _d.title }) })] }))] }), (0, jsx_runtime_1.jsxs)(material_1.TableCell, { sx: { padding: function (theme) { return theme.spacing(0, 2); } }, align: "right", children: [(0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.preview, children: (0, jsx_runtime_1.jsx)(
|
|
138
|
+
].join('/'), children: (_d = ad.welcomePage) === null || _d === void 0 ? void 0 : _d.title }) })] }))] }), (0, jsx_runtime_1.jsxs)(material_1.TableCell, { sx: { padding: function (theme) { return theme.spacing(0, 2); } }, align: "right", children: [(0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.preview, children: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: previewButton }) }), (0, jsx_runtime_1.jsx)(AWING_1.Actions, { menus: __spreadArray([
|
|
151
139
|
{
|
|
152
140
|
icon: (0, jsx_runtime_1.jsx)(FileCopyOutlined_1.default, {}),
|
|
153
141
|
action: function () {
|
|
@@ -33,6 +33,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
33
33
|
__setModuleDefault(result, mod);
|
|
34
34
|
return result;
|
|
35
35
|
};
|
|
36
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
37
|
+
var t = {};
|
|
38
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
39
|
+
t[p] = s[p];
|
|
40
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
41
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
42
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
43
|
+
t[p[i]] = s[p[i]];
|
|
44
|
+
}
|
|
45
|
+
return t;
|
|
46
|
+
};
|
|
36
47
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
48
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
49
|
};
|
|
@@ -189,10 +200,14 @@ var Advanced = function (props) {
|
|
|
189
200
|
onClose();
|
|
190
201
|
}
|
|
191
202
|
};
|
|
203
|
+
var ruleType = react_1.default.useMemo(function () {
|
|
204
|
+
var RetargetMacAddress = Utils_1.RuleType.RetargetMacAddress, other = __rest(Utils_1.RuleType, ["RetargetMacAddress"]);
|
|
205
|
+
return (service === null || service === void 0 ? void 0 : service.remarketingListGetAll) ? Utils_1.RuleType : other;
|
|
206
|
+
}, [service]);
|
|
192
207
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ClassicBaseDrawer_1.default, { title: translationText.advanced, open: isOpen, onSubmit: handleSubmit, onClose: handleClose, children: (0, jsx_runtime_1.jsx)(material_1.Paper, { sx: classes.paper, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, children: [(0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, container: true, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, md: true }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, sx: classes.buttonGroup, children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", color: "primary", endIcon: (0, jsx_runtime_1.jsx)(icons_material_1.ExpandMore, {}), "aria-controls": "simple-menu", "aria-haspopup": "true", onClick: function (e) {
|
|
193
208
|
e.stopPropagation();
|
|
194
209
|
setAnchorElRule(e.currentTarget);
|
|
195
|
-
}, children: translationText.addRule }), (0, jsx_runtime_1.jsx)(material_1.Menu, { id: "simple-menu", anchorEl: anchorElRule, keepMounted: true, open: Boolean(anchorElRule), onClose: function () { return handleButtonMenuClose(); }, children: Object.keys(
|
|
210
|
+
}, children: translationText.addRule }), (0, jsx_runtime_1.jsx)(material_1.Menu, { id: "simple-menu", anchorEl: anchorElRule, keepMounted: true, open: Boolean(anchorElRule), onClose: function () { return handleButtonMenuClose(); }, children: Object.keys(ruleType).map(function (type, idx) {
|
|
196
211
|
var _a;
|
|
197
212
|
return ((0, jsx_runtime_1.jsx)(material_1.MenuItem, { onClick: function () { return handleAddRule(type); }, children: ((_a = Object.entries(translationText.type).find(function (_a) {
|
|
198
213
|
var k = _a[0], val = _a[1];
|
|
@@ -14,7 +14,7 @@ var Recoils_1 = require("../Recoils");
|
|
|
14
14
|
function MockComponent(props) {
|
|
15
15
|
return (0, jsx_runtime_1.jsx)("div", {});
|
|
16
16
|
}
|
|
17
|
-
jest.mock('
|
|
17
|
+
jest.mock('AWING', function () { return ({
|
|
18
18
|
Actions: MockComponent,
|
|
19
19
|
}); });
|
|
20
20
|
var RecoilObserver = function (_a) {
|
|
@@ -505,7 +505,7 @@ var getDescription = function (rule) {
|
|
|
505
505
|
case exports.RuleType.RetargetMacAddress:
|
|
506
506
|
{
|
|
507
507
|
var textFormat = i18n_1.default.t('Campaign.Rule.DescriptionFormat.RetargetMacAddress');
|
|
508
|
-
result += textFormat.replace('{0}', rule.
|
|
508
|
+
result += textFormat.replace('{0}', JSON.parse(rule.parameter || '{}').name);
|
|
509
509
|
}
|
|
510
510
|
break;
|
|
511
511
|
default:
|
|
@@ -19,18 +19,19 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
19
19
|
// import Constants from "Commons/Constants";
|
|
20
20
|
var react_helmet_async_1 = require("react-helmet-async");
|
|
21
21
|
var react_i18next_1 = require("react-i18next");
|
|
22
|
+
var CreateDirectory_1 = __importDefault(require("../../AWING/Directory/CreateDirectory"));
|
|
22
23
|
var Router_1 = require("../../AWING/Router");
|
|
23
24
|
var i18n_1 = __importDefault(require("../../i18n"));
|
|
24
25
|
var Constant_1 = require("./Constant");
|
|
25
26
|
var Container_1 = __importDefault(require("./Container"));
|
|
26
27
|
var Context_1 = require("./Context");
|
|
27
28
|
var CreateOrEdit_1 = __importDefault(require("./CreateOrEdit"));
|
|
28
|
-
var
|
|
29
|
+
var Enum_1 = require("./Enum");
|
|
29
30
|
var Campaign = function (props) {
|
|
30
31
|
var paths = [
|
|
31
32
|
{
|
|
32
33
|
param: Constant_1.Constants.DIRECTORY_CREATE_DIRECTORY_PATH + '/:directoryId',
|
|
33
|
-
element: ((0, jsx_runtime_1.jsx)(CreateDirectory_1.default, __assign({ parentDirectory: 'campaign' }, props))),
|
|
34
|
+
element: ((0, jsx_runtime_1.jsx)(CreateDirectory_1.default, __assign({ parentDirectory: 'campaign', directoryRoot: Enum_1.DirectoryRoot.Campaign }, props))),
|
|
34
35
|
},
|
|
35
36
|
{
|
|
36
37
|
param: Constant_1.Constants.CAMPAIGN_CREATE + '/:tabName/*',
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { IFiltersProps } from
|
|
2
|
-
declare const Filters: ({ campaigns, handleFilters, loadingFlags, placeMultiSelectComponent: PlaceMultiSelect, handleExportExcel, }: IFiltersProps) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { IFiltersProps } from '../../interface';
|
|
2
|
+
declare const Filters: ({ campaigns, handleFilters, loadingFlags, placeMultiSelectComponent: PlaceMultiSelect, handleExportExcel, disabledCampaignFilter, }: IFiltersProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default Filters;
|
|
@@ -24,90 +24,92 @@ var moment_1 = __importDefault(require("moment"));
|
|
|
24
24
|
var react_i18next_1 = require("react-i18next");
|
|
25
25
|
var useStyles = (0, styles_1.makeStyles)(function () { return ({
|
|
26
26
|
outlinedInput: {
|
|
27
|
-
|
|
28
|
-
padding:
|
|
27
|
+
'& .MuiOutlinedInput-input': {
|
|
28
|
+
padding: '10.5px !important',
|
|
29
29
|
},
|
|
30
|
-
|
|
30
|
+
'& .MuiFormControl-marginNormal': {
|
|
31
31
|
margin: 0,
|
|
32
32
|
},
|
|
33
|
-
|
|
34
|
-
paddingRight:
|
|
33
|
+
'& .MuiOutlinedInput-adornedEnd': {
|
|
34
|
+
paddingRight: '0.25rem',
|
|
35
35
|
},
|
|
36
|
-
|
|
37
|
-
padding:
|
|
36
|
+
'& .MuiIconButton-root': {
|
|
37
|
+
padding: '0.5rem',
|
|
38
38
|
},
|
|
39
|
-
|
|
40
|
-
padding:
|
|
39
|
+
'& .MuiAutocomplete-inputRoot': {
|
|
40
|
+
padding: '0.125rem',
|
|
41
41
|
},
|
|
42
|
-
|
|
43
|
-
top:
|
|
42
|
+
'& .MuiAutocomplete-endAdornment': {
|
|
43
|
+
top: 'calc(50% - 19px)',
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
46
|
filterPlaceBtn: {
|
|
47
|
-
cursor:
|
|
48
|
-
|
|
49
|
-
transform:
|
|
47
|
+
cursor: 'pointer',
|
|
48
|
+
'&:hover': {
|
|
49
|
+
transform: 'scale(1.2)',
|
|
50
50
|
},
|
|
51
51
|
},
|
|
52
52
|
ellipsisPlaceFilter: {
|
|
53
|
-
|
|
54
|
-
textOverflow:
|
|
53
|
+
'& .MuiInputBase-input': {
|
|
54
|
+
textOverflow: 'ellipsis',
|
|
55
55
|
},
|
|
56
|
-
display:
|
|
56
|
+
display: 'flex',
|
|
57
57
|
},
|
|
58
58
|
lineInfo: {
|
|
59
|
-
paddingBottom:
|
|
60
|
-
display:
|
|
61
|
-
alignItems:
|
|
59
|
+
paddingBottom: '0.25rem',
|
|
60
|
+
display: 'flex',
|
|
61
|
+
alignItems: 'center',
|
|
62
62
|
// [theme.breakpoints.down('md')]: {
|
|
63
63
|
// flexDirection: 'column',
|
|
64
64
|
// },
|
|
65
65
|
},
|
|
66
66
|
dateRangePicker: {
|
|
67
|
-
|
|
68
|
-
height:
|
|
67
|
+
'& .MuiInputBase-input': {
|
|
68
|
+
height: '1.25rem',
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
71
|
labelIsNetwork: {
|
|
72
|
-
backgroundColor:
|
|
73
|
-
color:
|
|
74
|
-
padding:
|
|
75
|
-
marginLeft:
|
|
76
|
-
fontSize:
|
|
72
|
+
backgroundColor: '#c49f47',
|
|
73
|
+
color: '#ffffff',
|
|
74
|
+
padding: '0 4px',
|
|
75
|
+
marginLeft: '4px',
|
|
76
|
+
fontSize: '13px',
|
|
77
77
|
},
|
|
78
78
|
}); });
|
|
79
79
|
var Filters = function (_a) {
|
|
80
80
|
var _b, _c;
|
|
81
|
-
var campaigns = _a.campaigns, handleFilters = _a.handleFilters, loadingFlags = _a.loadingFlags, PlaceMultiSelect = _a.placeMultiSelectComponent, handleExportExcel = _a.handleExportExcel;
|
|
81
|
+
var campaigns = _a.campaigns, handleFilters = _a.handleFilters, loadingFlags = _a.loadingFlags, PlaceMultiSelect = _a.placeMultiSelectComponent, handleExportExcel = _a.handleExportExcel, _d = _a.disabledCampaignFilter, disabledCampaignFilter = _d === void 0 ? false : _d;
|
|
82
82
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
83
|
-
var campaignOptions = __assign(__assign({}, campaigns), { 0: { campaignId: 0, name: t(
|
|
83
|
+
var campaignOptions = __assign(__assign({}, campaigns), { 0: { campaignId: 0, name: t('Common.SelectAll') } });
|
|
84
84
|
var classes = useStyles();
|
|
85
85
|
var handleChangeDateRange = function (value) {
|
|
86
|
-
handleFilters(
|
|
87
|
-
handleFilters(
|
|
86
|
+
handleFilters('startDate', value.startDate);
|
|
87
|
+
handleFilters('endDate', value.endDate);
|
|
88
88
|
};
|
|
89
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, className: classes.dateRangePicker, children: (0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker, { isShowCalendarInfo: true, label: "".concat(t(
|
|
89
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: disabledCampaignFilter ? 6 : 4, className: classes.dateRangePicker, children: (0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker, { isShowCalendarInfo: disabledCampaignFilter !== null && disabledCampaignFilter !== void 0 ? disabledCampaignFilter : true, label: "".concat(t('Common.StartDate'), " - ").concat(t('Common.EndDate')), callback: handleChangeDateRange, initialStartDate: (0, moment_1.default)(), initialEndDate: (0, moment_1.default)(), variant: "outlined", textFieldProps: {
|
|
90
90
|
fullWidth: true,
|
|
91
91
|
className: classes.outlinedInput,
|
|
92
92
|
}, isDayBlocked: function (day) {
|
|
93
|
-
|
|
93
|
+
if (disabledCampaignFilter)
|
|
94
|
+
return false;
|
|
95
|
+
var now = (0, moment_1.default)().startOf('day').valueOf();
|
|
94
96
|
if (day.valueOf() < now) {
|
|
95
97
|
return true;
|
|
96
98
|
}
|
|
97
99
|
else {
|
|
98
100
|
return false;
|
|
99
101
|
}
|
|
100
|
-
} }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(material_1.Autocomplete, { size: "small", disablePortal: true, id: "combo-box-demo", options: (_c = (_b = lodash_1.default.values(campaignOptions)) === null || _b === void 0 ? void 0 : _b.map(function (obj) { return (__assign({}, obj)); })) !== null && _c !== void 0 ? _c : [], getOptionLabel: function (option) { var _a; return (_a = option.name) !== null && _a !== void 0 ? _a :
|
|
102
|
+
} }) }), !disabledCampaignFilter && ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(material_1.Autocomplete, { size: "small", disablePortal: true, id: "combo-box-demo", options: (_c = (_b = lodash_1.default.values(campaignOptions)) === null || _b === void 0 ? void 0 : _b.map(function (obj) { return (__assign({}, obj)); })) !== null && _c !== void 0 ? _c : [], getOptionLabel: function (option) { var _a; return (_a = option.name) !== null && _a !== void 0 ? _a : ''; }, isOptionEqualToValue: function (option, value) {
|
|
101
103
|
return option.Id === value.Id;
|
|
102
104
|
}, onChange: function (event, campaign) {
|
|
103
|
-
handleFilters(
|
|
104
|
-
}, renderInput: function (params) { return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { label: t(
|
|
105
|
-
return handleFilters(
|
|
105
|
+
handleFilters('campaignId', campaign === null || campaign === void 0 ? void 0 : campaign.id);
|
|
106
|
+
}, renderInput: function (params) { return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { label: t('Schedule.CampaignName'), sx: { backgroundColor: 'white' }, variant: "outlined" }))); }, defaultValue: { Id: 0, name: t('Common.SelectAll') } }) })), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: disabledCampaignFilter ? 6 : 4, className: classes.ellipsisPlaceFilter, children: [(0, jsx_runtime_1.jsx)(PlaceMultiSelect, { isDisplayTextField: true, onChange: function (placeIds) {
|
|
107
|
+
return handleFilters('placeIds', placeIds);
|
|
106
108
|
} }), (0, jsx_runtime_1.jsx)(material_1.Button, { sx: {
|
|
107
|
-
height:
|
|
108
|
-
position:
|
|
109
|
-
marginLeft:
|
|
110
|
-
marginTop:
|
|
111
|
-
}, variant: "contained", onClick: handleExportExcel, title: t(
|
|
109
|
+
height: '40px',
|
|
110
|
+
position: 'relative !important',
|
|
111
|
+
marginLeft: '1rem',
|
|
112
|
+
marginTop: '6px',
|
|
113
|
+
}, variant: "contained", onClick: handleExportExcel, title: t('Common.Download'), disabled: loadingFlags === null || loadingFlags === void 0 ? void 0 : loadingFlags.export, color: "inherit", children: (loadingFlags === null || loadingFlags === void 0 ? void 0 : loadingFlags.export) ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(GetApp_1.default, {})) })] })] }));
|
|
112
114
|
};
|
|
113
115
|
exports.default = Filters;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { IGroupPanelProps } from
|
|
1
|
+
import { IGroupPanelProps } from '../../interface';
|
|
2
2
|
declare const GroupPanel: ({ unGroupField, onDragStart, onDragOver, onDrop, panels, }: IGroupPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default GroupPanel;
|
|
@@ -29,37 +29,45 @@ var GroupPanel = function (_a) {
|
|
|
29
29
|
case Enum_1.HEAD_CELL_IDS.CONTROL:
|
|
30
30
|
return __assign(__assign({}, cell), { label: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(UnfoldMore_1.default, {}), "#"] })) });
|
|
31
31
|
case Enum_1.HEAD_CELL_IDS.CAMPAIGN:
|
|
32
|
-
return __assign(__assign({}, cell), { label: t(
|
|
32
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Campaign') });
|
|
33
33
|
case Enum_1.HEAD_CELL_IDS.PLACE:
|
|
34
|
-
return __assign(__assign({}, cell), { label: t(
|
|
34
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Place') });
|
|
35
|
+
case Enum_1.HEAD_CELL_IDS.CAMPAIGN_CAMPAIGN:
|
|
36
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Campaign') });
|
|
37
|
+
case Enum_1.HEAD_CELL_IDS.PLACE_CAMPAIGN:
|
|
38
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Place') });
|
|
35
39
|
case Enum_1.HEAD_CELL_IDS.DATE:
|
|
36
|
-
return __assign(__assign({}, cell), { label: t(
|
|
40
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Date') });
|
|
41
|
+
case Enum_1.HEAD_CELL_IDS.DOMAIN:
|
|
42
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Domain') });
|
|
43
|
+
case Enum_1.HEAD_CELL_IDS.DOMAIN_CAMPAIGN:
|
|
44
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Domain') });
|
|
37
45
|
case Enum_1.HEAD_CELL_IDS.RATE:
|
|
38
|
-
return __assign(__assign({}, cell), { label: "".concat(t(
|
|
46
|
+
return __assign(__assign({}, cell), { label: "".concat(t('Schedule.Rate'), " (%)") });
|
|
39
47
|
case Enum_1.HEAD_CELL_IDS.TOTAL:
|
|
40
|
-
return __assign(__assign({}, cell), { label: "".concat(t(
|
|
48
|
+
return __assign(__assign({}, cell), { label: "".concat(t('Schedule.Total'), " (view)") });
|
|
41
49
|
default:
|
|
42
50
|
return cell;
|
|
43
51
|
}
|
|
44
52
|
});
|
|
45
53
|
return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Paper, { component: "div", id: "group-panel", sx: {
|
|
46
|
-
display:
|
|
47
|
-
justifyContent:
|
|
48
|
-
flexWrap:
|
|
49
|
-
listStyle:
|
|
50
|
-
paddingTop:
|
|
54
|
+
display: 'flex',
|
|
55
|
+
justifyContent: 'flex-start',
|
|
56
|
+
flexWrap: 'wrap',
|
|
57
|
+
listStyle: 'none',
|
|
58
|
+
paddingTop: '8px',
|
|
51
59
|
margin: 0,
|
|
52
|
-
height:
|
|
53
|
-
position:
|
|
54
|
-
|
|
55
|
-
boxShadow:
|
|
56
|
-
border:
|
|
60
|
+
height: '40px',
|
|
61
|
+
position: 'relative !important',
|
|
62
|
+
'&.MuiPaper-elevation1': {
|
|
63
|
+
boxShadow: 'none',
|
|
64
|
+
border: '1px solid #ccc',
|
|
57
65
|
},
|
|
58
|
-
minHeight:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
boxShadow:
|
|
62
|
-
border:
|
|
66
|
+
minHeight: '30px',
|
|
67
|
+
'&:hover': {
|
|
68
|
+
'&.MuiPaper-elevation1': {
|
|
69
|
+
boxShadow: 'none',
|
|
70
|
+
border: '1px solid #263238',
|
|
63
71
|
},
|
|
64
72
|
},
|
|
65
73
|
}, onDragOver: onDragOver, onDrop: function (e) {
|
|
@@ -67,18 +75,18 @@ var GroupPanel = function (_a) {
|
|
|
67
75
|
}, children: panelsCell === null || panelsCell === void 0 ? void 0 : panelsCell.map(function (field, index) {
|
|
68
76
|
return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: field.grouping && ((0, jsx_runtime_1.jsx)(material_1.Chip, { size: "small", label: field.label, id: field.id, onDelete: function () {
|
|
69
77
|
unGroupField(field.id);
|
|
70
|
-
}, deleteIcon: (0, jsx_runtime_1.jsx)(HighlightOff_1.default, {}), sx: { marginLeft:
|
|
78
|
+
}, deleteIcon: (0, jsx_runtime_1.jsx)(HighlightOff_1.default, {}), sx: { marginLeft: '1rem' }, draggable: true, onDragStart: function (e) {
|
|
71
79
|
onDragStart(e, index);
|
|
72
80
|
} })) }, index));
|
|
73
81
|
}) }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", color: "textSecondary", sx: {
|
|
74
|
-
position:
|
|
75
|
-
top:
|
|
76
|
-
left:
|
|
77
|
-
backgroundColor:
|
|
78
|
-
paddingRight:
|
|
79
|
-
paddingLeft:
|
|
80
|
-
marginTop:
|
|
81
|
-
marginLeft:
|
|
82
|
-
}, children: (0, jsx_runtime_1.jsx)("span", { style: { opacity: 0.5 }, children: t(
|
|
82
|
+
position: 'absolute',
|
|
83
|
+
top: '-3px',
|
|
84
|
+
left: '16px',
|
|
85
|
+
backgroundColor: '#FFFFFF',
|
|
86
|
+
paddingRight: '4px',
|
|
87
|
+
paddingLeft: '4px',
|
|
88
|
+
marginTop: '6px',
|
|
89
|
+
marginLeft: '10px',
|
|
90
|
+
}, children: (0, jsx_runtime_1.jsx)("span", { style: { opacity: 0.5 }, children: t('Schedule.DragAndDropLabel') }) })] }));
|
|
83
91
|
};
|
|
84
92
|
exports.default = GroupPanel;
|