awing-library 2.1.7-beta → 2.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/README.md +4 -19
  2. package/lib/ACM-AXN/Campaign/Container.js +6 -7
  3. package/lib/ACM-AXN/Campaign/Container.test.js +1 -1
  4. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +3 -1
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +22 -21
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.d.ts +1 -1
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +79 -24
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.test.js +1 -1
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +50 -6
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.d.ts +5 -0
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +6 -18
  12. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +7 -12
  13. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/RetargetMacAddress/container.d.ts +1 -0
  14. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/RetargetMacAddress/container.js +4 -12
  15. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +16 -1
  16. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.test.js +1 -1
  17. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +19 -3
  18. package/lib/ACM-AXN/Campaign/Types.d.ts +10 -0
  19. package/lib/ACM-AXN/Campaign/Utils.d.ts +8 -0
  20. package/lib/ACM-AXN/Campaign/Utils.js +22 -18
  21. package/lib/ACM-AXN/Campaign/index.js +3 -2
  22. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.d.ts +2 -2
  23. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +44 -42
  24. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.d.ts +1 -1
  25. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.js +38 -30
  26. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.d.ts +2 -2
  27. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.js +2 -2
  28. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.d.ts +1 -1
  29. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +4 -2
  30. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +33 -3
  31. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.d.ts +1 -1
  32. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.js +80 -35
  33. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.d.ts +1 -1
  34. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.js +38 -20
  35. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.d.ts +4 -0
  36. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +58 -0
  37. package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +14 -2
  38. package/lib/ACM-AXN/CampaignSchedule/Enum.js +12 -0
  39. package/lib/ACM-AXN/CampaignSchedule/component.js +6 -5
  40. package/lib/ACM-AXN/CampaignSchedule/container.d.ts +1 -1
  41. package/lib/ACM-AXN/CampaignSchedule/container.js +100 -99
  42. package/lib/ACM-AXN/CampaignSchedule/interface.d.ts +16 -3
  43. package/lib/ACM-AXN/Directory/Constant.d.ts +2 -0
  44. package/lib/ACM-AXN/Directory/Constant.js +2 -0
  45. package/lib/ACM-AXN/Directory/MenuDirectory/MenuDirectory.test.d.ts +1 -0
  46. package/lib/ACM-AXN/Directory/MenuDirectory/MenuDirectory.test.js +90 -0
  47. package/lib/ACM-AXN/Directory/MenuDirectory/index.d.ts +1 -0
  48. package/lib/ACM-AXN/Directory/MenuDirectory/index.js +109 -0
  49. package/lib/ACM-AXN/Directory/SystemDirectory/index.js +6 -5
  50. package/lib/ACM-AXN/Directory/components/Permission/AddAuthen.d.ts +4 -0
  51. package/lib/ACM-AXN/Directory/components/Permission/AddAuthen.js +9 -7
  52. package/lib/ACM-AXN/Directory/components/Permission/CreateOrEditPermission.js +8 -6
  53. package/lib/ACM-AXN/Directory/components/Permission/Management.js +19 -14
  54. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.d.ts +1 -0
  55. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js +185 -0
  56. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.test.d.ts +1 -0
  57. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.test.js +86 -0
  58. package/lib/ACM-AXN/Directory/function.d.ts +2 -0
  59. package/lib/ACM-AXN/Directory/function.js +39 -1
  60. package/lib/ACM-AXN/DomainPreview/PreviewButton.d.ts +15 -0
  61. package/lib/ACM-AXN/DomainPreview/PreviewButton.js +188 -0
  62. package/lib/ACM-AXN/DomainPreview/index.d.ts +7 -0
  63. package/lib/ACM-AXN/DomainPreview/index.js +10 -0
  64. package/lib/ACM-AXN/GroupUser/Constants.d.ts +7 -0
  65. package/lib/ACM-AXN/GroupUser/Constants.js +10 -0
  66. package/lib/ACM-AXN/GroupUser/Container.d.ts +2 -0
  67. package/lib/ACM-AXN/GroupUser/Container.js +55 -0
  68. package/lib/ACM-AXN/GroupUser/Container.test.d.ts +1 -0
  69. package/lib/ACM-AXN/GroupUser/Container.test.js +210 -0
  70. package/lib/ACM-AXN/GroupUser/CreateOrEdit.d.ts +3 -0
  71. package/lib/ACM-AXN/GroupUser/CreateOrEdit.js +93 -0
  72. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.d.ts +1 -0
  73. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.js +235 -0
  74. package/lib/ACM-AXN/GroupUser/Hooks.d.ts +5 -0
  75. package/lib/ACM-AXN/GroupUser/Hooks.js +13 -0
  76. package/lib/ACM-AXN/GroupUser/Types.d.ts +31 -0
  77. package/lib/ACM-AXN/GroupUser/Types.js +2 -0
  78. package/lib/ACM-AXN/GroupUser/User/SearchUser.d.ts +9 -0
  79. package/lib/ACM-AXN/GroupUser/User/SearchUser.js +63 -0
  80. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.d.ts +1 -0
  81. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.js +140 -0
  82. package/lib/ACM-AXN/GroupUser/User/UserComponent.d.ts +8 -0
  83. package/lib/ACM-AXN/GroupUser/User/UserComponent.js +77 -0
  84. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.d.ts +1 -0
  85. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.js +128 -0
  86. package/lib/ACM-AXN/GroupUser/index.d.ts +4 -0
  87. package/lib/ACM-AXN/GroupUser/index.js +27 -0
  88. package/lib/ACM-AXN/Notifications/Constant.d.ts +146 -0
  89. package/lib/ACM-AXN/Notifications/Constant.js +136 -0
  90. package/lib/ACM-AXN/Notifications/Context.d.ts +8 -0
  91. package/lib/ACM-AXN/Notifications/Context.js +10 -0
  92. package/lib/ACM-AXN/Notifications/Hooks.d.ts +7 -0
  93. package/lib/ACM-AXN/Notifications/Hooks.js +17 -0
  94. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.d.ts +3 -3
  95. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.js +27 -30
  96. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.d.ts +1 -1
  97. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.js +30 -39
  98. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.d.ts +2 -5
  99. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.js +17 -15
  100. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.d.ts +1 -1
  101. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.js +15 -15
  102. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.d.ts +0 -6
  103. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.js +29 -28
  104. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.d.ts +10 -0
  105. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.js +393 -0
  106. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.d.ts +1 -1
  107. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.js +3 -3
  108. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.d.ts +0 -6
  109. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.js +38 -48
  110. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.d.ts +2 -2
  111. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.js +32 -34
  112. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.d.ts +0 -6
  113. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.js +65 -73
  114. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.d.ts +4 -11
  115. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.js +46 -36
  116. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.d.ts +0 -6
  117. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.js +56 -50
  118. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationLoading.js +30 -30
  119. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.d.ts +3 -15
  120. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.js +35 -4
  121. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.d.ts +0 -6
  122. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.js +88 -83
  123. package/lib/ACM-AXN/Notifications/NotificationDetail/index.d.ts +1 -1
  124. package/lib/ACM-AXN/Notifications/NotificationDetail/index.js +108 -100
  125. package/lib/ACM-AXN/Notifications/{NotificationPopover.d.ts → NotificationPopover/Container.d.ts} +2 -2
  126. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +149 -0
  127. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.d.ts → NotificationPopover/Container.test.d.ts} +1 -1
  128. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.js → NotificationPopover/Container.test.js} +5 -5
  129. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +8 -0
  130. package/lib/ACM-AXN/Notifications/NotificationPopover/index.js +13 -0
  131. package/lib/ACM-AXN/Notifications/NotificationScreen.d.ts +1 -1
  132. package/lib/ACM-AXN/Notifications/NotificationScreen.js +4 -4
  133. package/lib/ACM-AXN/Notifications/Types.d.ts +242 -0
  134. package/lib/ACM-AXN/Notifications/Types.js +290 -0
  135. package/lib/ACM-AXN/Notifications/index.d.ts +2 -2
  136. package/lib/ACM-AXN/Notifications/index.js +5 -5
  137. package/lib/ACM-AXN/Page/Container.js +101 -63
  138. package/lib/ACM-AXN/Page/CreateOrEdit/DrawerAction.js +22 -5
  139. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +1 -0
  140. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +5 -1
  141. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +1 -1
  142. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +10 -4
  143. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +1 -1
  144. package/lib/ACM-AXN/Page/Types.d.ts +8 -0
  145. package/lib/ACM-AXN/Page/index.js +2 -1
  146. package/lib/ACM-AXN/Permission/Components/Management.test.js +1 -1
  147. package/lib/ACM-AXN/PlaceGroup/Context.d.ts +1 -1
  148. package/lib/ACM-AXN/Statistics/ControlPanel.js +34 -17
  149. package/lib/ACM-AXN/Statistics/Enums.d.ts +1 -0
  150. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  151. package/lib/ACM-AXN/Statistics/container.js +1 -1
  152. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.d.ts +1 -1
  153. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.js +2 -3
  154. package/lib/ACM-AXN/StatisticsAudienceDemographic/interfaces.d.ts +1 -0
  155. package/lib/ACM-AXN/StatisticsByProvince/container.d.ts +1 -1
  156. package/lib/ACM-AXN/StatisticsByProvince/container.js +2 -2
  157. package/lib/ACM-AXN/User/Add.d.ts +2 -0
  158. package/lib/ACM-AXN/User/Add.js +64 -0
  159. package/lib/ACM-AXN/User/Add.test.d.ts +1 -0
  160. package/lib/ACM-AXN/User/Add.test.js +115 -0
  161. package/lib/ACM-AXN/User/Constants.d.ts +2 -0
  162. package/lib/ACM-AXN/User/Constants.js +5 -0
  163. package/lib/ACM-AXN/User/Container.d.ts +2 -0
  164. package/lib/ACM-AXN/User/Container.js +60 -0
  165. package/lib/ACM-AXN/User/Container.test.d.ts +1 -0
  166. package/lib/ACM-AXN/User/Container.test.js +202 -0
  167. package/lib/ACM-AXN/User/Hook.d.ts +5 -0
  168. package/lib/ACM-AXN/User/Hook.js +13 -0
  169. package/lib/ACM-AXN/User/Types.d.ts +45 -0
  170. package/lib/ACM-AXN/User/Types.js +2 -0
  171. package/lib/ACM-AXN/User/index.d.ts +4 -0
  172. package/lib/ACM-AXN/User/index.js +18 -0
  173. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +1 -1
  174. package/lib/AWING/AdvancedSearch/component.js +1 -1
  175. package/lib/AWING/AdvancedSearch/interface.d.ts +1 -0
  176. package/lib/AWING/ButtonDateRangePicker/ButtonDateRangePicker.js +2 -2
  177. package/lib/AWING/ButtonDateRangePicker/interface.d.ts +1 -0
  178. package/lib/AWING/DataForm/DataInput.js +17 -8
  179. package/lib/AWING/DataForm/interface.d.ts +6 -2
  180. package/lib/AWING/DataGrid/index.js +4 -1
  181. package/lib/AWING/DataGrid/interface.d.ts +6 -1
  182. package/lib/AWING/Directory/CreateDirectory.d.ts +3 -0
  183. package/lib/AWING/Directory/CreateDirectory.js +27 -10
  184. package/lib/AWING/ultis/validation.d.ts +1 -1
  185. package/lib/AWING/ultis/validation.js +3 -3
  186. package/lib/Commons/Components/ClassicBaseDrawer.d.ts +1 -0
  187. package/lib/Commons/Components/ClassicBaseDrawer.js +7 -3
  188. package/lib/translate/en/translation.json +79 -2
  189. package/lib/translate/vi/translation.json +79 -2
  190. package/package.json +4 -2
  191. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.d.ts +0 -39
  192. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.js +0 -304
  193. package/lib/ACM-AXN/Notifications/NotificationPopover.js +0 -69
@@ -17,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var jsx_runtime_1 = require("react/jsx-runtime");
18
18
  var icons_material_1 = require("@mui/icons-material");
19
19
  var material_1 = require("@mui/material");
20
+ var DomainPreview_1 = __importDefault(require("../../ACM-AXN/DomainPreview"));
21
+ var PreviewButton_1 = __importDefault(require("../../ACM-AXN/DomainPreview/PreviewButton"));
20
22
  var lodash_1 = require("lodash");
21
23
  var react_1 = require("react");
22
24
  var react_i18next_1 = require("react-i18next");
@@ -36,14 +38,24 @@ var PageContainer = function () {
36
38
  var t = (0, react_i18next_1.useTranslation)().t;
37
39
  var navigate = (0, react_router_1.useNavigate)();
38
40
  var location = (0, react_router_1.useLocation)();
39
- var _d = (0, react_1.useState)(false), loading = _d[0], setLoading = _d[1];
40
- var _e = (0, react_1.useState)([]), directories = _e[0], setDirectories = _e[1];
41
- var _f = (0, react_1.useState)(true), tempLoading = _f[0], setTempLoading = _f[1];
41
+ var _d = (0, react_1.useState)(true), loading = _d[0], setLoading = _d[1];
42
+ var _e = (0, react_1.useState)(true), init = _e[0], setInit = _e[1]; // First time render
43
+ var _f = (0, react_1.useState)([]), directories = _f[0], setDirectories = _f[1];
44
+ var _g = (0, react_1.useState)(true), isLoadDirectory = _g[0], setLoadLoadDirectory = _g[1];
45
+ var _h = (0, react_1.useState)(true), tempLoading = _h[0], setTempLoading = _h[1];
46
+ var _j = (0, react_1.useState)(), anchorEl = _j[0], setAnchorEl = _j[1];
47
+ var _k = (0, react_1.useState)(''), previewId = _k[0], setPreviewId = _k[1];
48
+ var open = Boolean(anchorEl);
49
+ var handlePreviewPage = function (e, id) {
50
+ e.stopPropagation();
51
+ setPreviewId(id);
52
+ setAnchorEl(e.currentTarget);
53
+ };
42
54
  var prevQuery = (0, react_1.useRef)({});
43
- var _g = (0, react_1.useState)({
55
+ var _l = (0, react_1.useState)({
44
56
  items: [],
45
57
  totalItemCount: 0,
46
- }), pageList = _g[0], setPage = _g[1];
58
+ }), pageList = _l[0], setPage = _l[1];
47
59
  var columnDefinitions = (0, react_1.useMemo)(function () { return [
48
60
  {
49
61
  field: 'stt',
@@ -57,12 +69,16 @@ var PageContainer = function () {
57
69
  return params.at(-1);
58
70
  },
59
71
  },
60
- { field: 'pageId', headerName: 'Id', TableCellProps: {
72
+ {
73
+ field: 'pageId',
74
+ headerName: 'Id',
75
+ TableCellProps: {
61
76
  sx: {
62
77
  minWidth: '180px',
63
78
  width: '20%',
64
79
  },
65
- } },
80
+ },
81
+ },
66
82
  {
67
83
  field: 'title',
68
84
  headerName: t('Page.Name'),
@@ -73,10 +89,21 @@ var PageContainer = function () {
73
89
  valueGetter: function (row) {
74
90
  return (0, Helpers_1.timestampToStringDDMMYYYY)(row.createdDate);
75
91
  },
92
+ TableCellProps: {
93
+ sx: {
94
+ width: '250px',
95
+ },
96
+ },
76
97
  },
77
98
  ]; }, [t]);
99
+ var handlePreviewClose = function (event) {
100
+ event.stopPropagation();
101
+ setAnchorEl(null);
102
+ };
78
103
  (0, react_1.useLayoutEffect)(function () {
79
104
  setDirectories([]);
105
+ setInit(true);
106
+ setLoading(true);
80
107
  setPage({
81
108
  items: [],
82
109
  totalItemCount: 0,
@@ -91,19 +118,21 @@ var PageContainer = function () {
91
118
  }, [pageCode]);
92
119
  (0, react_1.useEffect)(function () {
93
120
  var _a;
94
- if (((_a = location.state) === null || _a === void 0 ? void 0 : _a.action) === ClassicDrawer_1.CloseAction.ReloadDirectory || !directories.length) {
121
+ if (((_a = location.state) === null || _a === void 0 ? void 0 : _a.action) === ClassicDrawer_1.CloseAction.ReloadDirectory || init) {
95
122
  fetchDirectories();
123
+ setInit(false);
96
124
  }
97
125
  // eslint-disable-next-line react-hooks/exhaustive-deps
98
- }, [location.pathname, directories]);
126
+ }, [location.pathname, init]);
99
127
  var fetchDirectories = function () {
128
+ setLoadLoadDirectory(true);
100
129
  service
101
130
  .directoriesGetByObjectTypeCode(Enum_1.DirectoryRoot[pageCode === enums_1.PageCode.Lgn ? 'PageLogin' : 'PageWelcome'])
102
- .then(function (res) {
103
- var _a;
104
- setDirectories(res);
105
- getPagePaging(prevQuery.current, (_a = (0, lodash_1.minBy)(res, 'level')) === null || _a === void 0 ? void 0 : _a.directoryId);
106
- }).finally(function () { return navigate(location.pathname, { replace: true }); });
131
+ .then(setDirectories)
132
+ .finally(function () {
133
+ // navigate(location.pathname, { replace: true })
134
+ setLoadLoadDirectory(false);
135
+ });
107
136
  };
108
137
  var handleRowClick = function (id) {
109
138
  navigate([Constant_1.pageConstants.EDIT_PAGE, id].join('/'));
@@ -123,69 +152,78 @@ var PageContainer = function () {
123
152
  }, 100), []);
124
153
  var getPagePaging = (0, react_1.useCallback)(function (input, directoryId) {
125
154
  var _a;
126
- console.log("call");
127
155
  var searchString = input.searchString, pageSize = input.pageSize, pageIndex = input.pageIndex, advancedObject = input.advancedObject;
128
156
  handleFetchPaging(searchString, pageSize, pageIndex, directoryId ||
129
157
  (advancedObject === null || advancedObject === void 0 ? void 0 : advancedObject.directoryId) ||
130
158
  ((_a = (0, lodash_1.minBy)(directories, 'level')) === null || _a === void 0 ? void 0 : _a.directoryId));
131
159
  prevQuery.current = (0, lodash_1.cloneDeep)(input);
132
160
  }, [directories, handleFetchPaging]);
133
- var handlePreview = function (id) {
161
+ var handlePreview = function (id, domainId) {
134
162
  var url = "".concat(CONFIGS.CAPTIVE_DOMAIN, "/").concat(CONFIGS.PAGE_LOGIN_PREVIEW, "?loginId=").concat(id, "&domainId=").concat(domainId, "&isNetworkCampaign=false");
135
163
  window.open(url, '_blank');
136
164
  };
165
+ var handlePreviewClick = function (id) {
166
+ handlePreview(id, domainId || CONFIGS.DEFAULT_PREVIEW_DOMAIN_ID || '');
167
+ };
137
168
  var handleExport = function (id) {
138
169
  service.pagesExport(id).then(function (res) {
139
170
  (0, Helpers_1.downloadZipFile)(res, "Page_".concat(pageCode === enums_1.PageCode.Lgn ? 'lgn' : 'wlc', "_"));
140
171
  });
141
172
  };
142
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: tempLoading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(AWING_1.PageManagement, { title: t([
143
- 'Page',
144
- pageCode === enums_1.PageCode.Lgn
145
- ? 'LoginTitle'
146
- : 'WelcomeTitle',
147
- ].join('.')), advancedSearchFields: [
148
- {
149
- fieldName: 'directoryId',
150
- label: t('Common.Directory'),
151
- type: 'directory',
152
- icon: (0, jsx_runtime_1.jsx)(icons_material_1.FolderOpen, { fontSize: "small" }),
153
- rootId: (_a = (0, lodash_1.minBy)(directories, 'level')) === null || _a === void 0 ? void 0 : _a.directoryId,
154
- options: directories.map(function (directory) { return (__assign(__assign({}, directory), { text: directory.name, value: directory.directoryId })); }),
155
- },
156
- ], columns: columnDefinitions, rows: pageList.items, onChangeQueryInput: getPagePaging, getRowId: function (obj) { return obj.pageId; }, loading: loading, totalOfRows: pageList.totalItemCount, onCreateButtonClick: function () {
157
- navigate(Constant_1.pageConstants.CREATE_PAGE);
158
- }, onCreateFolderButtonClick: function () {
159
- var _a;
160
- navigate([
161
- Constant_1.pageConstants.PAGE_CREATE_DIRECTORY,
162
- (_a = (0, lodash_1.minBy)(directories, 'level')) === null || _a === void 0 ? void 0 : _a.directoryId,
163
- ].join('/'));
164
- }, rowActions: [
165
- {
166
- icon: (0, jsx_runtime_1.jsx)(icons_material_1.Visibility, {}),
167
- tooltipTitle: t('Common.Preview'),
168
- action: handlePreview,
169
- sx: {
170
- display: pageCode === enums_1.PageCode.Wlc
171
- ? 'none'
172
- : 'unset',
173
+ return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
174
+ '& th:last-of-type': {
175
+ width: '250px!important',
176
+ },
177
+ }, children: [tempLoading || isLoadDirectory ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(AWING_1.PageManagement, { title: t([
178
+ 'Page',
179
+ pageCode === enums_1.PageCode.Lgn
180
+ ? 'LoginTitle'
181
+ : 'WelcomeTitle',
182
+ ].join('.')), advancedSearchFields: [
183
+ {
184
+ fieldName: 'directoryId',
185
+ label: t('Common.Directory'),
186
+ type: 'directory',
187
+ icon: (0, jsx_runtime_1.jsx)(icons_material_1.FolderOpen, { fontSize: "small" }),
188
+ rootId: (_a = (0, lodash_1.minBy)(directories, 'level')) === null || _a === void 0 ? void 0 : _a.directoryId,
189
+ options: directories.map(function (directory) { return (__assign(__assign({}, directory), { text: directory.name, value: directory.directoryId })); }),
173
190
  },
174
- },
175
- {
176
- icon: (0, jsx_runtime_1.jsx)(icons_material_1.GetApp, {}),
177
- tooltipTitle: t('Common.Export'),
178
- action: handleExport,
179
- },
180
- {
181
- icon: (0, jsx_runtime_1.jsx)(icons_material_1.FileCopyOutlined, {}),
182
- tooltipTitle: t('Common.Duplicate'),
183
- action: handleClone,
184
- },
185
- ], onRowClick: handleRowClick, onDelete: service.pagesDelete, showNotificationSuccess: function () { return snackbar('success'); }, confirmDelete: confirm, customActions: (0, jsx_runtime_1.jsx)(material_1.Button, { sx: {
186
- marginLeft: function (theme) { return theme.spacing(1); },
187
- }, color: "inherit", variant: "outlined", onClick: function () {
188
- navigate(Constant_1.pageConstants.IMPORT_PAGE);
189
- }, children: t('Common.Import') }) })) }));
191
+ ], columns: columnDefinitions, rows: pageList.items, onChangeQueryInput: getPagePaging, getRowId: function (obj) { return obj.pageId; }, loading: loading, totalOfRows: pageList.totalItemCount, onCreateButtonClick: function () {
192
+ navigate(Constant_1.pageConstants.CREATE_PAGE);
193
+ }, onCreateFolderButtonClick: function () {
194
+ var _a;
195
+ navigate([
196
+ Constant_1.pageConstants.PAGE_CREATE_DIRECTORY,
197
+ (_a = (0, lodash_1.minBy)(directories, 'level')) === null || _a === void 0 ? void 0 : _a.directoryId,
198
+ ].join('/'));
199
+ }, rowActions: [
200
+ {
201
+ icon: function (props) { return (0, jsx_runtime_1.jsx)(DomainPreview_1.default, { handlePreviewPage: function (e) { return handlePreviewPage(e, props.id); }, isSelectDomain: Boolean(service.domainsGetAll) }); },
202
+ tooltipTitle: t('Common.Preview'),
203
+ action: handlePreviewClick,
204
+ sx: {
205
+ display: pageCode === enums_1.PageCode.Wlc
206
+ ? 'none'
207
+ : 'unset',
208
+ },
209
+ },
210
+ {
211
+ icon: (0, jsx_runtime_1.jsx)(icons_material_1.GetApp, {}),
212
+ tooltipTitle: t('Common.Export'),
213
+ action: handleExport,
214
+ },
215
+ {
216
+ icon: (0, jsx_runtime_1.jsx)(icons_material_1.FileCopyOutlined, {}),
217
+ tooltipTitle: t('Common.Duplicate'),
218
+ action: handleClone,
219
+ },
220
+ ], onRowClick: handleRowClick, onDelete: service.pagesDelete, showNotificationSuccess: function () { return snackbar('success'); }, confirmDelete: confirm, customActions: (0, jsx_runtime_1.jsx)(material_1.Button, { sx: {
221
+ marginLeft: function (theme) { return theme.spacing(1); },
222
+ }, color: "inherit", variant: "outlined", onClick: function () {
223
+ navigate(Constant_1.pageConstants.IMPORT_PAGE);
224
+ }, children: t('Common.Import') }) })), open &&
225
+ (0, jsx_runtime_1.jsx)(PreviewButton_1.default, { anchorEl: anchorEl, open: open, domainIds: [], handlePreviewClose: handlePreviewClose, handlePreviewDomain: function (event, domainId) {
226
+ handlePreview(previewId, domainId);
227
+ }, service: service })] }));
190
228
  };
191
229
  exports.default = PageContainer;
@@ -12,11 +12,15 @@ var Helpers_1 = require("../../../Utils/Helpers");
12
12
  var Context_1 = __importDefault(require("../Context"));
13
13
  var enums_1 = require("../enums");
14
14
  var react_i18next_1 = require("react-i18next");
15
+ var DomainPreview_1 = __importDefault(require("../../../ACM-AXN/DomainPreview"));
16
+ var PreviewButton_1 = __importDefault(require("../../../ACM-AXN/DomainPreview/PreviewButton"));
15
17
  var DrawerAction = function (_a) {
16
18
  var type = _a.type;
17
19
  var pageId = (0, react_router_dom_1.useParams)().pageId;
18
20
  var _b = (0, Context_1.default)(), pageCode = _b.pageCode, CONFIGS = _b.configs, domainId = _b.domainId, service = _b.service;
19
21
  var _c = react_1.default.useState(false), loadingExport = _c[0], setLoadingExport = _c[1];
22
+ var _d = react_1.default.useState(), anchorEl = _d[0], setAnchorEl = _d[1];
23
+ var open = Boolean(anchorEl);
20
24
  var t = (0, react_i18next_1.useTranslation)().t;
21
25
  var handleExport = function () {
22
26
  setLoadingExport(true);
@@ -27,10 +31,23 @@ var DrawerAction = function (_a) {
27
31
  })
28
32
  .finally(function () { return setLoadingExport(false); });
29
33
  };
30
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(material_1.Box, { children: [pageCode === enums_1.PageCode.Lgn && ((0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: t('Campaign.Preview'), children: (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", color: "secondary", onClick: function (e) {
31
- e.stopPropagation();
32
- var url = "".concat(CONFIGS.CAPTIVE_DOMAIN, "/").concat(CONFIGS.PAGE_LOGIN_PREVIEW, "?loginId=").concat(pageId, "&domainId=").concat(domainId, "&isNetworkCampaign=false");
33
- window.open(url, '_blank');
34
- }, children: (0, jsx_runtime_1.jsx)(icons_material_1.VisibilityOutlined, {}) }) })), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: t('Common.Export'), children: (0, jsx_runtime_1.jsx)(material_1.Button, { disabled: loadingExport, variant: "outlined", color: "secondary", style: { margin: '0px 16px' }, onClick: handleExport, children: (0, jsx_runtime_1.jsx)(icons_material_1.GetAppOutlined, {}) }) })] }) }));
34
+ var handlePreviewClose = function (event) {
35
+ event.stopPropagation();
36
+ setAnchorEl(null);
37
+ };
38
+ var handlePreview = function (domainId) {
39
+ var url = "".concat(CONFIGS.CAPTIVE_DOMAIN, "/").concat(CONFIGS.PAGE_LOGIN_PREVIEW, "?loginId=").concat(pageId, "&domainId=").concat(domainId, "&isNetworkCampaign=false");
40
+ window.open(url, '_blank');
41
+ };
42
+ var handlePreviewPage = function (e) {
43
+ e.stopPropagation();
44
+ setAnchorEl(e.currentTarget);
45
+ };
46
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { children: [pageCode === enums_1.PageCode.Lgn && ((0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: t('Campaign.Preview'), children: (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", color: "secondary", onClick: function (e) {
47
+ handlePreview(domainId || CONFIGS.DEFAULT_PREVIEW_DOMAIN_ID);
48
+ }, children: (0, jsx_runtime_1.jsx)(DomainPreview_1.default, { handlePreviewPage: handlePreviewPage, isSelectDomain: Boolean(service.domainsGetAll) }) }) })), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: t('Common.Export'), children: (0, jsx_runtime_1.jsx)(material_1.Button, { disabled: loadingExport, variant: "outlined", color: "secondary", style: { margin: '0px 16px' }, onClick: handleExport, children: (0, jsx_runtime_1.jsx)(icons_material_1.GetAppOutlined, {}) }) })] }), open &&
49
+ (0, jsx_runtime_1.jsx)(PreviewButton_1.default, { anchorEl: anchorEl, open: open, domainIds: [], handlePreviewClose: handlePreviewClose, handlePreviewDomain: function (event, domainId) {
50
+ handlePreview(domainId);
51
+ }, service: service })] }));
35
52
  };
36
53
  exports.default = DrawerAction;
@@ -1,6 +1,7 @@
1
1
  import { Directory } from '../../Campaign/Types';
2
2
  import { FormValid, PageModel } from '../Types';
3
3
  export declare const pageDirectoriesState: import("recoil").RecoilState<Directory[]>;
4
+ export declare const wiewMounted: import("recoil").RecoilState<boolean>;
4
5
  export declare const pageRootDeirectory: import("recoil").RecoilState<string>;
5
6
  export declare const pageChangedFormState: import("recoil").RecoilState<Record<keyof PageModel, boolean>>;
6
7
  export declare const pageRootState: import("recoil").RecoilState<PageModel>;
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.pageState = exports.validForm = exports.pageRootState = exports.pageChangedFormState = exports.pageRootDeirectory = exports.pageDirectoriesState = void 0;
14
+ exports.pageState = exports.validForm = exports.pageRootState = exports.pageChangedFormState = exports.pageRootDeirectory = exports.wiewMounted = exports.pageDirectoriesState = void 0;
15
15
  var lodash_1 = require("lodash");
16
16
  var recoil_1 = require("recoil");
17
17
  var Constant_1 = require("../Constant");
@@ -21,6 +21,10 @@ exports.pageDirectoriesState = (0, recoil_1.atom)({
21
21
  key: 'pageDirectoriesState',
22
22
  default: [],
23
23
  });
24
+ exports.wiewMounted = (0, recoil_1.atom)({
25
+ key: 'wiewMounted',
26
+ default: false,
27
+ });
24
28
  exports.pageRootDeirectory = (0, recoil_1.atom)({
25
29
  key: 'pageRootDeirectory',
26
30
  default: (0, recoil_1.selector)({
@@ -75,7 +75,7 @@ var ViewContent = function (_a) {
75
75
  onChange(['viewDatas'], []);
76
76
  }
77
77
  // eslint-disable-next-line react-hooks/exhaustive-deps
78
- }, [service, viewInfoData.templateId, viewInfoData.viewDatas.length]);
78
+ }, [viewInfoData.templateId, viewInfoData.viewDatas.length]);
79
79
  var handleResData = function (res) {
80
80
  onChange(['viewDatas'], (0, Utils_1.getTemplateDatas)(res.templateParameters, viewInfoData, pageId, viewNumber));
81
81
  onChange(['templateValidation'], res.template.validation);
@@ -47,6 +47,8 @@ var enums_1 = require("../../enums");
47
47
  var Utils_1 = require("../Utils");
48
48
  var Constant_1 = require("../../../../ACM-AXN/Page/Constant");
49
49
  var react_router_dom_1 = require("react-router-dom");
50
+ var recoil_1 = require("recoil");
51
+ var Recoil_1 = require("../Recoil");
50
52
  var ViewInfo = function (_a) {
51
53
  var directories = _a.directories, templateTypes = _a.templateTypes, onChange = _a.onChange, viewInfoData = _a.viewInfoData;
52
54
  var pageId = (0, react_router_dom_1.useParams)().pageId;
@@ -54,20 +56,24 @@ var ViewInfo = function (_a) {
54
56
  var cacheDirectoryId = react_1.default.useRef('');
55
57
  var _b = react_1.default.useState([]), templates = _b[0], setTemplates = _b[1];
56
58
  var _c = react_1.default.useState(false), loadingTemplate = _c[0], setLoadingTemplate = _c[1];
57
- var _d = (0, Context_1.default)(), service = _d.service, pageCode = _d.pageCode;
59
+ var _d = (0, recoil_1.useRecoilState)(Recoil_1.wiewMounted), isMounted = _d[0], setIsMounted = _d[1];
60
+ var _e = (0, Context_1.default)(), service = _e.service, pageCode = _e.pageCode, domainId = _e.domainId;
58
61
  var t = (0, react_i18next_1.useTranslation)().t;
59
62
  (0, react_1.useEffect)(function () {
60
- var savedDirectoryId = localStorage.getItem(Constant_1.PAGE_LOGIN_DIRECTORY_SELECTED);
61
- if (savedDirectoryId && !pageId) {
63
+ var savedDirectoryId = JSON.parse(localStorage.getItem(Constant_1.PAGE_LOGIN_DIRECTORY_SELECTED) || '{}')[Array.isArray(domainId) ? 'awingPge' : domainId];
64
+ if (savedDirectoryId && !pageId && !isMounted) {
65
+ setIsMounted(true);
62
66
  handleChangeForm({ directoryId: savedDirectoryId }, true, 'directoryId');
63
67
  }
68
+ // eslint-disable-next-line react-hooks/exhaustive-deps
64
69
  }, []);
65
70
  var handleChangeForm = react_1.default.useCallback(function (obj, _valid, keyUpdate) {
71
+ var _a;
66
72
  if ((0, lodash_1.isEmpty)(obj))
67
73
  return;
68
74
  if (['templateTypeId', 'directoryId'].includes(keyUpdate)) {
69
75
  if (keyUpdate === 'directoryId') {
70
- localStorage.setItem(Constant_1.PAGE_LOGIN_DIRECTORY_SELECTED, obj[keyUpdate]);
76
+ localStorage.setItem(Constant_1.PAGE_LOGIN_DIRECTORY_SELECTED, JSON.stringify((_a = {}, _a[Array.isArray(domainId) ? 'awingPge' : domainId] = obj[keyUpdate], _a)));
71
77
  }
72
78
  onChange(['templateId'], null);
73
79
  }
@@ -59,7 +59,7 @@ var setObject = function (obj, arrKey, value) {
59
59
  exports.setObject = setObject;
60
60
  var convertTreeArrayToFlatArray = function (treeArray) {
61
61
  var result = [];
62
- treeArray.forEach(function (data) {
62
+ treeArray === null || treeArray === void 0 ? void 0 : treeArray.forEach(function (data) {
63
63
  getChilds(data, function (item) { return result.push(item); });
64
64
  });
65
65
  return result;
@@ -110,6 +110,12 @@ export interface SystemPhysicalObject {
110
110
  name: string;
111
111
  path: string;
112
112
  }
113
+ export interface IDomain {
114
+ domainId: string;
115
+ name: string | undefined;
116
+ rateSharing: number;
117
+ description: string | undefined;
118
+ }
113
119
  export interface PageService {
114
120
  directoriesGetByObjectTypeCode: (type: DirectoryRoot) => Promise<Directory[]>;
115
121
  pagesPaging: (searchString?: string, pageSize?: number, pageIndex?: number, directoryId?: string) => Promise<PagesPaging>;
@@ -138,6 +144,8 @@ export interface PageService {
138
144
  pagesPut: (id: string, body: PageModel) => Promise<void>;
139
145
  pagesGet: (id: string) => Promise<PageModel>;
140
146
  pagesClone: (id: string) => Promise<PageModel>;
147
+ domainsGetAll?: () => Promise<IDomain[]>;
148
+ domainsGetByIds?: (body: string[]) => Promise<IDomain[]>;
141
149
  }
142
150
  export interface PageProps {
143
151
  service: PageService;
@@ -29,6 +29,7 @@ var Context_1 = require("./Context");
29
29
  var enums_1 = require("./enums");
30
30
  var CreateOrEdit_1 = __importDefault(require("./CreateOrEdit"));
31
31
  var index_1 = __importDefault(require("./Import/index"));
32
+ var Enum_1 = require("../../ACM-AXN/Campaign/Enum");
32
33
  var Page = function (props) {
33
34
  var paths = [
34
35
  { path: Constant_1.pageConstants.IMPORT_PAGE, element: (0, jsx_runtime_1.jsx)(index_1.default, {}) },
@@ -46,7 +47,7 @@ var Page = function (props) {
46
47
  },
47
48
  {
48
49
  path: Constant_1.pageConstants.PAGE_CREATE_DIRECTORY + '/:directoryId',
49
- element: ((0, jsx_runtime_1.jsx)(CreateDirectory_1.default, __assign({ parentDirectory: props.pageCode === enums_1.PageCode.Lgn
50
+ element: ((0, jsx_runtime_1.jsx)(CreateDirectory_1.default, __assign({ directoryRoot: Enum_1.DirectoryRoot[props.pageCode === enums_1.PageCode.Lgn ? 'PageLogin' : 'PageWelcome'], parentDirectory: props.pageCode === enums_1.PageCode.Lgn
50
51
  ? 'pageLogin'
51
52
  : 'pageWelcome' }, props))),
52
53
  },
@@ -66,7 +66,7 @@ jest.mock("Commons/Client", function () { return ({
66
66
  },
67
67
  }); });
68
68
  // Mock DataGrid
69
- jest.mock("awing-library/lib/AWING", function () { return ({
69
+ jest.mock("AWING", function () { return ({
70
70
  DataGrid: function (props) { return ((0, jsx_runtime_1.jsxs)("div", { "data-testid": "DataGrid", children: [props.columns
71
71
  .filter(function (item) { return item.valueGetter; })
72
72
  .map(function (getter, idx) { return ((0, jsx_runtime_1.jsxs)("span", { children: [getter.valueGetter(mockPermissions[0], idx), getter.valueGetter(mockPermissions[1], idx)] }, idx)); }), (0, jsx_runtime_1.jsx)("div", { children: props.getRowId(mockPermissions.at(-1)) }), (0, jsx_runtime_1.jsx)("div", { children: props.rowActions.map(function (rowAction, idx) { return ((0, jsx_runtime_1.jsxs)("button", { onClick: function () { return rowAction.action(mockPermissions[0].authenId); }, "data-testid": rowAction.tooltipTitle, children: [rowAction.icon, (0, jsx_runtime_1.jsx)("span", { children: rowAction.isShouldHideActions(mockPermissions[0]) })] }, idx)); }) }), (0, jsx_runtime_1.jsx)("button", { "data-testid": "row-click", onClick: function () {
@@ -4,5 +4,5 @@
4
4
  *
5
5
  **/
6
6
  /// <reference types="react" />
7
- import { PlaceGroupPropsContext } from "./Types";
7
+ import { PlaceGroupPropsContext } from './Types';
8
8
  export declare const placeGroupPropsContext: import("react").Context<PlaceGroupPropsContext>;
@@ -24,15 +24,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  var jsx_runtime_1 = require("react/jsx-runtime");
27
+ var icons_material_1 = require("@mui/icons-material");
27
28
  var GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
28
29
  var material_1 = require("@mui/material");
30
+ var styles_1 = require("@mui/styles");
29
31
  var moment_1 = __importDefault(require("moment"));
30
32
  var react_1 = require("react");
31
33
  var react_i18next_1 = require("react-i18next");
32
- var Enums_1 = require("./Enums");
33
- var styles_1 = require("@mui/styles");
34
34
  var AWING_1 = require("../../AWING");
35
- var icons_material_1 = require("@mui/icons-material");
35
+ var Enums_1 = require("./Enums");
36
36
  var useStyles = (0, styles_1.makeStyles)(function () { return ({
37
37
  outlinedInput: {
38
38
  '& .MuiOutlinedInput-input': {
@@ -63,6 +63,14 @@ function ControlPanel(_a) {
63
63
  var _c = (0, react_1.useState)(), queryInput = _c[0], setQueryInput = _c[1];
64
64
  var _d = (0, react_1.useState)([]), elementInputs = _d[0], setElementInputs = _d[1];
65
65
  var _e = (0, react_1.useState)(false), isShowFilterEnhanced = _e[0], setIsHideFieldAdvanced = _e[1];
66
+ var flagRef = (0, react_1.useRef)('-1');
67
+ var getView = function () {
68
+ var _a;
69
+ onChangeQueryInput(queryInput);
70
+ flagRef.current = ((_a = queryInput === null || queryInput === void 0 ? void 0 : queryInput.campaignIds) === null || _a === void 0 ? void 0 : _a.at(-1)) || '-1';
71
+ };
72
+ var disabledViewBy = ((_b = queryInput === null || queryInput === void 0 ? void 0 : queryInput.campaignIds) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
73
+ (queryInput === null || queryInput === void 0 ? void 0 : queryInput.campaignIds.includes(flagRef.current));
66
74
  var handleInitialFilter = function (initialFilters) {
67
75
  var initValue = initialFilters === null || initialFilters === void 0 ? void 0 : initialFilters.reduce(function (acc, curr) {
68
76
  if ((curr === null || curr === void 0 ? void 0 : curr.type) === Enums_1.TYPE_FILTERS.DATE_RANGE_PICKER) {
@@ -86,14 +94,14 @@ function ControlPanel(_a) {
86
94
  var handleElementInput = function (initialFilters) {
87
95
  var updatedElementInputs = [];
88
96
  initialFilters.map(function (item, idx) {
89
- var _a, _b, _c;
97
+ var _a, _b;
90
98
  switch (item === null || item === void 0 ? void 0 : item.type) {
91
99
  case Enums_1.TYPE_FILTERS.VIEW_BY: {
92
100
  var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.TextField, { select: true, fullWidth: true, label: t('Common.ViewBy'), size: "small", onChange: function (e) {
93
101
  return item === null || item === void 0 ? void 0 : item.onChange(Number(e.target.value));
94
102
  }, SelectProps: {
95
103
  native: true,
96
- }, variant: "outlined", style: { minWidth: 160 }, disabled: isLoadings === null || isLoadings === void 0 ? void 0 : isLoadings.chartLoading, children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("option", { value: Number(item === null || item === void 0 ? void 0 : item.initialData[0].value), children: item === null || item === void 0 ? void 0 : item.initialData[0].label }), (0, jsx_runtime_1.jsx)("option", { value: Number(item === null || item === void 0 ? void 0 : item.initialData[1].value), children: item === null || item === void 0 ? void 0 : item.initialData[1].label })] }) }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'viewBy' }, item);
104
+ }, variant: "outlined", style: { minWidth: 160 }, disabled: (isLoadings === null || isLoadings === void 0 ? void 0 : isLoadings.chartLoading) || !disabledViewBy, children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("option", { value: Number(item === null || item === void 0 ? void 0 : item.initialData[0].value), children: item === null || item === void 0 ? void 0 : item.initialData[0].label }), (0, jsx_runtime_1.jsx)("option", { value: Number(item === null || item === void 0 ? void 0 : item.initialData[1].value), children: item === null || item === void 0 ? void 0 : item.initialData[1].label })] }) }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'viewBy' }, item);
97
105
  updatedElementInputs.push(element);
98
106
  break;
99
107
  }
@@ -132,7 +140,7 @@ function ControlPanel(_a) {
132
140
  }
133
141
  case Enums_1.TYPE_FILTERS.CAMPAIGN: {
134
142
  var CampaignFilter = item === null || item === void 0 ? void 0 : item.nodeElement;
135
- var element = __assign({ component: ((0, jsx_runtime_1.jsx)(CampaignFilter, { defaultValue: [], disabled: queryInput === null || queryInput === void 0 ? void 0 : queryInput.isCampaignDefault, onSubmit: function (campaignIds) {
143
+ var element = __assign({ component: ((0, jsx_runtime_1.jsx)(CampaignFilter, { defaultValue: [], disabled: (queryInput === null || queryInput === void 0 ? void 0 : queryInput.isCampaignDefault) === '-1', onSubmit: function (campaignIds) {
136
144
  return handleChangeQueryInput(item === null || item === void 0 ? void 0 : item.name, campaignIds);
137
145
  }, disableMulti: item === null || item === void 0 ? void 0 : item.disableMulti }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'campaign' }, item);
138
146
  updatedElementInputs.push(element);
@@ -150,6 +158,15 @@ function ControlPanel(_a) {
150
158
  var PlaceFilter = item === null || item === void 0 ? void 0 : item.nodeElement;
151
159
  var element = __assign({ component: ((0, jsx_runtime_1.jsx)(PlaceFilter, { onChange: function (event, value) {
152
160
  return handleChangeQueryInput(item === null || item === void 0 ? void 0 : item.name, value === null || value === void 0 ? void 0 : value.placeId);
161
+ }, disabled: (queryInput === null || queryInput === void 0 ? void 0 : queryInput.domainId) === '0' }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'placeAutoComplete' }, item);
162
+ updatedElementInputs.push(element);
163
+ break;
164
+ }
165
+ case Enums_1.TYPE_FILTERS.DOMAIN_AUTOCOMPLETE: {
166
+ var DomainFilter = item === null || item === void 0 ? void 0 : item.nodeElement;
167
+ var element = __assign({ component: ((0, jsx_runtime_1.jsx)(DomainFilter, { onChange: function (event, value) {
168
+ item === null || item === void 0 ? void 0 : item.onChange(value === null || value === void 0 ? void 0 : value.domainId);
169
+ handleChangeQueryInput(item === null || item === void 0 ? void 0 : item.name, value === null || value === void 0 ? void 0 : value.domainId);
153
170
  } }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'placeAutoComplete' }, item);
154
171
  updatedElementInputs.push(element);
155
172
  break;
@@ -162,14 +179,14 @@ function ControlPanel(_a) {
162
179
  break;
163
180
  }
164
181
  case Enums_1.TYPE_FILTERS.CAMPAIGN_DEFAULT: {
165
- var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { color: "primary", defaultChecked: (_b = queryInput === null || queryInput === void 0 ? void 0 : queryInput.isCampaignDefault) !== null && _b !== void 0 ? _b : false }), label: t('Statistic.CampaignDefault'), labelPlacement: "start", onChange: function (e) {
166
- handleChangeQueryInput(item === null || item === void 0 ? void 0 : item.name, e.target.checked);
167
- } }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'isCampaignDefault' }, item);
182
+ var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.FormControl, { children: (0, jsx_runtime_1.jsxs)(material_1.RadioGroup, { row: true, "aria-labelledby": "demo-radio-buttons-group-label", defaultValue: queryInput === null || queryInput === void 0 ? void 0 : queryInput.isCampaignDefault, name: "radio-buttons-group", onChange: function (e) {
183
+ handleChangeQueryInput(item === null || item === void 0 ? void 0 : item.name, e.target.value);
184
+ }, children: [(0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { value: '0', control: (0, jsx_runtime_1.jsx)(material_1.Radio, {}), label: t('Filter.AllCampaign') }), (0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { value: '-1', control: (0, jsx_runtime_1.jsx)(material_1.Radio, {}), label: t('Filter.CampaignDefault') })] }) }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'isCampaignDefault' }, item);
168
185
  updatedElementInputs.push(element);
169
186
  break;
170
187
  }
171
188
  case Enums_1.TYPE_FILTERS.INCLUDE_RESERVED: {
172
- var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { color: "primary", defaultChecked: (_c = queryInput === null || queryInput === void 0 ? void 0 : queryInput.includeReserved) !== null && _c !== void 0 ? _c : true }), label: t('StatisticSchedulePlan.IncludeCampaignReserved'), labelPlacement: "start", onChange: function (e) {
189
+ var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { color: "primary", defaultChecked: (_b = queryInput === null || queryInput === void 0 ? void 0 : queryInput.includeReserved) !== null && _b !== void 0 ? _b : true }), label: t('StatisticSchedulePlan.IncludeCampaignReserved'), labelPlacement: "start", onChange: function (e) {
173
190
  handleChangeQueryInput(item === null || item === void 0 ? void 0 : item.name, e.target.checked);
174
191
  } }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'includeReserved' }, item);
175
192
  updatedElementInputs.push(element);
@@ -200,7 +217,7 @@ function ControlPanel(_a) {
200
217
  return item.isEnhanced === false ||
201
218
  item.isEnhanced === undefined;
202
219
  })
203
- .map(function (fieldFilterEnhanced) {
220
+ .map(function (fieldFilterEnhanced, idx) {
204
221
  return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(material_1.Grid, __assign({ item: true, xs: (fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.col)
205
222
  ? fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.col
206
223
  : 3 }, ((fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.type) ===
@@ -212,14 +229,14 @@ function ControlPanel(_a) {
212
229
  },
213
230
  },
214
231
  }
215
- : {}), { children: fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.component })) }));
232
+ : {}), { children: fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.component }), idx) }));
216
233
  }) }) }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 2, style: {
217
234
  paddingTop: '24px',
218
235
  display: 'flex',
219
236
  flex: 'none',
220
- }, justifyContent: "flex-end", children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "primary", onClick: function () {
221
- onChangeQueryInput(queryInput);
222
- }, style: { height: '40px' }, disabled: (_b = isLoadings === null || isLoadings === void 0 ? void 0 : isLoadings.chartLoading) !== null && _b !== void 0 ? _b : false, children: t('Common.View') }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", title: t('Common.Download'), onClick: function () { return onChangeExportInput(queryInput); }, color: "inherit", disabled: isLoadings === null || isLoadings === void 0 ? void 0 : isLoadings.exportLoading, style: {
237
+ }, justifyContent: "flex-end", children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", color: "primary", onClick: getView, style: { height: '40px' }, disabled: (isLoadings === null || isLoadings === void 0 ? void 0 : isLoadings.chartLoading) ||
238
+ (queryInput === null || queryInput === void 0 ? void 0 : queryInput.domainId) === '0', children: t('Common.View') }), (0, jsx_runtime_1.jsx)(material_1.Button, { variant: "contained", title: t('Common.Download'), onClick: function () { return onChangeExportInput(queryInput); }, color: "inherit", disabled: (isLoadings === null || isLoadings === void 0 ? void 0 : isLoadings.exportLoading) ||
239
+ (queryInput === null || queryInput === void 0 ? void 0 : queryInput.domainId) === '0', style: {
223
240
  marginLeft: '16px',
224
241
  height: '40px',
225
242
  }, children: (isLoadings === null || isLoadings === void 0 ? void 0 : isLoadings.exportLoading) ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, { styleWrap: {
@@ -231,7 +248,7 @@ function ControlPanel(_a) {
231
248
  } })) : ((0, jsx_runtime_1.jsx)(GetApp_1.default, {})) }), elementInputs.filter(function (item) { return item.isEnhanced === true; })
232
249
  .length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: { marginLeft: '10px' }, children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: onShowFilterEnhanced, children: isShowFilterEnhanced ? ((0, jsx_runtime_1.jsx)(icons_material_1.ExpandMore, {})) : ((0, jsx_runtime_1.jsx)(icons_material_1.ExpandLess, {})) }) }))] })] }), isShowFilterEnhanced && ((0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, justifyContent: "flex-end", spacing: 2, sx: { paddingRight: '3rem' }, children: elementInputs
233
250
  .filter(function (item) { return item.isEnhanced === true; })
234
- .map(function (fieldFilterEnhanced) {
251
+ .map(function (fieldFilterEnhanced, idx) {
235
252
  return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: (fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.col)
236
253
  ? fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.col
237
254
  : 3, style: __assign({}, ((fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.type) ===
@@ -242,7 +259,7 @@ function ControlPanel(_a) {
242
259
  display: 'flex',
243
260
  flex: 'none',
244
261
  }
245
- : null)), children: fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.component }) }));
262
+ : null)), children: fieldFilterEnhanced === null || fieldFilterEnhanced === void 0 ? void 0 : fieldFilterEnhanced.component }, idx) }));
246
263
  }) }))] }));
247
264
  }
248
265
  exports.default = ControlPanel;
@@ -5,6 +5,7 @@ export declare enum TYPE_FILTERS {
5
5
  CAMPAIGN = "Campaign",
6
6
  PLACE = "Place",
7
7
  PLACE_AUTOCOMPLETE = "PlaceAutoComplete",
8
+ DOMAIN_AUTOCOMPLETE = "DomainAutoComplete",
8
9
  NETWORK = "NetWork",
9
10
  CAMPAIGN_DEFAULT = "CampaignDefault",
10
11
  INCLUDE_RESERVED = "IncludeReserved",
@@ -9,6 +9,7 @@ var TYPE_FILTERS;
9
9
  TYPE_FILTERS["CAMPAIGN"] = "Campaign";
10
10
  TYPE_FILTERS["PLACE"] = "Place";
11
11
  TYPE_FILTERS["PLACE_AUTOCOMPLETE"] = "PlaceAutoComplete";
12
+ TYPE_FILTERS["DOMAIN_AUTOCOMPLETE"] = "DomainAutoComplete";
12
13
  TYPE_FILTERS["NETWORK"] = "NetWork";
13
14
  TYPE_FILTERS["CAMPAIGN_DEFAULT"] = "CampaignDefault";
14
15
  TYPE_FILTERS["INCLUDE_RESERVED"] = "IncludeReserved";
@@ -17,7 +17,7 @@ function StatisticsContainer(_a) {
17
17
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [title && ((0, jsx_runtime_1.jsx)(react_helmet_async_1.HelmetProvider, { children: (0, jsx_runtime_1.jsx)(react_helmet_async_1.Helmet, { children: (0, jsx_runtime_1.jsx)("title", { children: title }) }) })), (0, jsx_runtime_1.jsx)(ContentHeader_1.default, { title: title }), (0, jsx_runtime_1.jsx)(material_1.Paper, { children: (0, jsx_runtime_1.jsxs)("div", { style: { padding: '1rem' }, children: [(0, jsx_runtime_1.jsx)(ControlPanel_1.default, { onChangeQueryInput: onChangeQueryInput, onChangeExportInput: onChangeExportInput, initialFilters: initialFilters, isLoadings: isLoadings, infoSX: infoSX }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, item: true, xs: 12, justifyContent: "center", sx: {
18
18
  marginTop: '1.5rem',
19
19
  width: '100%',
20
- }, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (dataChart === null || dataChart === void 0 ? void 0 : dataChart.length) > 0 &&
20
+ }, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, className: 'chart-region', children: (dataChart === null || dataChart === void 0 ? void 0 : dataChart.length) > 0 &&
21
21
  (isLoadings === null || isLoadings === void 0 ? void 0 : isLoadings.chartLoading) === false ? ((configChart === null || configChart === void 0 ? void 0 : configChart.type) === Enums_1.TYPE_CHART.BAR_LINE ? ((0, jsx_runtime_1.jsx)(BarLineComponent_1.default, { type: 'bar', dataChart: dataChart, data: [], optionCustom: configChart === null || configChart === void 0 ? void 0 : configChart.options, timeline: timeline, chart: chart === null || chart === void 0 ? void 0 : chart.barChart })) : ((0, jsx_runtime_1.jsx)(PieComponent_1.default, { type: 'pie', data: dataChart, chart: chart === null || chart === void 0 ? void 0 : chart.pieChart }))) : ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) }), children && ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: children }))] })] }) })] }));
22
22
  }
23
23
  exports.default = StatisticsContainer;
@@ -1,2 +1,2 @@
1
1
  import { IStatisticsAudienceDemographicContainerProps } from './interfaces';
2
- export default function StatisticsAudienceDemographicContainer<F>({ onChangeQueryInput, onChangeExportInput, isLoadings, initialFilters, title, dataDisplay, chart, infoSX }: IStatisticsAudienceDemographicContainerProps<F>): import("react/jsx-runtime").JSX.Element;
2
+ export default function StatisticsAudienceDemographicContainer<F>({ onChangeQueryInput, onChangeExportInput, isLoadings, initialFilters, title, dataDisplay, chart, infoSX, children, }: IStatisticsAudienceDemographicContainerProps<F>): import("react/jsx-runtime").JSX.Element;