awing-library 2.1.8-beta → 2.1.9-beta

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.
@@ -7,6 +7,7 @@ declare const Constants: {
7
7
  DIRECTORY_ADD_PERMISSION_ADD_NEWAUTHEN: string;
8
8
  DIRECTORY_EDIT_PERMISSION: string;
9
9
  MENU_DIRECTORY_PERMISSION: string;
10
+ MENU_DIRECTORY_ADD_PERMISSION: string;
10
11
  SYSTEM_DIRECTORY_PERMISSION: string;
11
12
  };
12
13
  export default Constants;
@@ -9,6 +9,7 @@ var Constants = {
9
9
  DIRECTORY_ADD_PERMISSION_ADD_NEWAUTHEN: 'AddNewAuthen',
10
10
  DIRECTORY_EDIT_PERMISSION: 'EditPermission',
11
11
  MENU_DIRECTORY_PERMISSION: 'MenuPermission',
12
+ MENU_DIRECTORY_ADD_PERMISSION: 'MenuAddPermission',
12
13
  SYSTEM_DIRECTORY_PERMISSION: 'SystemPermission',
13
14
  };
14
15
  exports.default = Constants;
@@ -1,5 +1,9 @@
1
1
  import { IUSerOrGroup } from '../../interface';
2
2
  interface Props {
3
+ initialLoad?: {
4
+ users: IUSerOrGroup[];
5
+ groups: IUSerOrGroup[];
6
+ };
3
7
  oldSelected: IUSerOrGroup[];
4
8
  onSubmit: (selected: IUSerOrGroup[]) => void;
5
9
  }
@@ -61,12 +61,12 @@ function AddAuthen(props) {
61
61
  var t = (0, react_i18next_1.useTranslation)().t;
62
62
  var navigate = (0, react_router_dom_1.useNavigate)();
63
63
  var _a = (0, react_1.useContext)(Context_1.default), service = _a.service, snackbar = _a.appHelper.snackbar;
64
- var oldSelected = props.oldSelected, onSubmit = props.onSubmit;
64
+ var initialLoad = props.initialLoad, oldSelected = props.oldSelected, onSubmit = props.onSubmit;
65
65
  var _b = (0, react_1.useState)(false), loading = _b[0], setLoading = _b[1];
66
66
  var _c = (0, react_1.useState)(''), searchKey = _c[0], setSearchKey = _c[1];
67
67
  var _d = (0, react_1.useState)(false), confirmExit = _d[0], setConfirmExit = _d[1];
68
- var _e = (0, react_1.useState)([]), users = _e[0], setUsers = _e[1];
69
- var _f = (0, react_1.useState)([]), groups = _f[0], setGroups = _f[1];
68
+ var _e = (0, react_1.useState)(initialLoad ? initialLoad.users : []), users = _e[0], setUsers = _e[1];
69
+ var _f = (0, react_1.useState)(initialLoad ? initialLoad.groups : []), groups = _f[0], setGroups = _f[1];
70
70
  var _g = (0, react_1.useState)(oldSelected), selected = _g[0], setSelected = _g[1];
71
71
  var usersFilter = users.filter(function (user) {
72
72
  return ((0, Helpers_1.changeToAlias)((user === null || user === void 0 ? void 0 : user.username) || '').includes((0, Helpers_1.changeToAlias)(searchKey)) ||
@@ -76,8 +76,10 @@ function AddAuthen(props) {
76
76
  return (0, Helpers_1.changeToAlias)((group === null || group === void 0 ? void 0 : group.name) || '').includes((0, Helpers_1.changeToAlias)(searchKey));
77
77
  });
78
78
  (0, react_1.useEffect)(function () {
79
- setLoading(true);
80
- fetchAllUserAndGroup();
79
+ if (!initialLoad) {
80
+ setLoading(true);
81
+ fetchAllUserAndGroup();
82
+ }
81
83
  }, []);
82
84
  var fetchAllUserAndGroup = function () { return __awaiter(_this, void 0, void 0, function () {
83
85
  var responses, userData, groupData, err_1;
@@ -1,6 +1,5 @@
1
1
  interface Props {
2
2
  isSystemDirectory?: boolean;
3
- isMenuDirectory?: boolean;
4
3
  }
5
4
  export default function CreateOrEditPermission(props: Props): import("react/jsx-runtime").JSX.Element;
6
5
  export {};
@@ -40,7 +40,7 @@ function CreateOrEditPermission(props) {
40
40
  exports.default = CreateOrEditPermission;
41
41
  function Permission(props) {
42
42
  var t = (0, react_i18next_1.useTranslation)().t;
43
- var isSystemDirectory = props.isSystemDirectory, isMenuDirectory = props.isMenuDirectory;
43
+ var isSystemDirectory = props.isSystemDirectory;
44
44
  var _a = (0, react_1.useContext)(Context_1.default), service = _a.service, snackbar = _a.appHelper.snackbar;
45
45
  var _b = (0, AWING_1.useDrawer)(), drawerState = _b.drawerState, setDrawerState = _b.setDrawerState, setDrawerTitle = _b.setDrawerTitle, setConfirmExit = _b.setConfirmExit;
46
46
  var _c = (0, react_router_dom_1.useParams)(), directoryId = _c.directoryId, type = _c.type, id = _c.id;
@@ -53,15 +53,10 @@ function Permission(props) {
53
53
  setDrawerTitle(t('Directory.EditPermission'));
54
54
  setLoading(true);
55
55
  setDrawerState(AWING_1.DrawerStateEnum.LOADING);
56
- var getPermission = isSystemDirectory
57
- ? service.systemDirectoryPermissionGet
58
- : service.directoryPermissionGet;
56
+ var getPermission = service.directoryPermissionGet;
59
57
  if (isSystemDirectory) {
60
58
  getPermission = service.systemDirectoryPermissionGet;
61
59
  }
62
- if (isMenuDirectory) {
63
- getPermission = service.menuPermissionGet;
64
- }
65
60
  getPermission(directoryId)
66
61
  .then(function (res) {
67
62
  var currentPermission = res.permissions.find(function (p) { return p.authenId == id; });
@@ -221,9 +216,6 @@ function Permission(props) {
221
216
  if (isSystemDirectory) {
222
217
  updatePermission = service.systemDirectoryPermissionPut;
223
218
  }
224
- if (isMenuDirectory) {
225
- updatePermission = service.menuPermissionPut;
226
- }
227
219
  return updatePermission(directoryId, {
228
220
  directoryId: directoryId,
229
221
  permissions: convertPermissions,
@@ -1,6 +1,5 @@
1
1
  interface Props {
2
2
  isSystemDirectory?: boolean;
3
- isMenuDirectory?: boolean;
4
3
  }
5
4
  export default function Permission(props: Props): import("react/jsx-runtime").JSX.Element;
6
5
  export {};
@@ -58,7 +58,7 @@ function Permission(props) {
58
58
  exports.default = Permission;
59
59
  function FolderPermission(props) {
60
60
  var t = (0, react_i18next_1.useTranslation)().t;
61
- var isSystemDirectory = props.isSystemDirectory, isMenuDirectory = props.isMenuDirectory;
61
+ var isSystemDirectory = props.isSystemDirectory;
62
62
  var setDrawerTitle = (0, AWING_1.useDrawer)().setDrawerTitle;
63
63
  var navigate = (0, react_router_dom_1.useNavigate)();
64
64
  var directoryId = (0, react_router_dom_1.useParams)().directoryId;
@@ -71,9 +71,6 @@ function FolderPermission(props) {
71
71
  if (isSystemDirectory) {
72
72
  getDirectory = service.systemDirectoriesGet;
73
73
  }
74
- if (isMenuDirectory) {
75
- getDirectory = service.menusGet;
76
- }
77
74
  getDirectory(directoryId).then(function (res) {
78
75
  setDrawerTitle("".concat(t('Directory.ObjectPermission'), ": ").concat(res.name));
79
76
  });
@@ -94,12 +91,8 @@ function FolderPermission(props) {
94
91
  if (isSystemDirectory) {
95
92
  getPermission = service.systemDirectoryPermissionGet;
96
93
  }
97
- if (isMenuDirectory) {
98
- getPermission = service.menuPermissionGet;
99
- }
100
94
  getPermission(directoryId)
101
95
  .then(function (res) {
102
- console.log({ res: res });
103
96
  setPermissions(res.permissions.map(function (p) { return convertPermission(p); }));
104
97
  setLoading(false);
105
98
  })
@@ -114,9 +107,6 @@ function FolderPermission(props) {
114
107
  if (isSystemDirectory) {
115
108
  deletePermission = service.systemDirectoryPermissionDelete;
116
109
  }
117
- if (isMenuDirectory) {
118
- deletePermission = service.menuPermissionDelete;
119
- }
120
110
  deletePermission(directoryId, authenId, authenType)
121
111
  .then(function () {
122
112
  snackbar('success');
@@ -13,10 +13,11 @@ var react_router_dom_1 = require("react-router-dom");
13
13
  var Context_1 = __importDefault(require("../../../../../Context"));
14
14
  var Constant_1 = __importDefault(require("../../../Constant"));
15
15
  var PubSub_1 = require("../../../../../AWING/PubSub");
16
+ var AddAuthen_1 = __importDefault(require("../AddAuthen"));
16
17
  function Permission() {
17
18
  var i18next = (0, react_1.useContext)(Context_1.default).i18next;
18
19
  var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18next }).t;
19
- return ((0, jsx_runtime_1.jsx)(AWING_1.DrawerNavigate, { title: t('Directory.ObjectPermission'), customButtonSubmit: (0, jsx_runtime_1.jsx)(material_1.Button, { component: react_router_dom_1.Link, color: 'primary', variant: "contained", to: Constant_1.default.DIRECTORY_ADD_PERMISSION, children: t('Directory.AddPermission') }), childrenWrapperStyle: { padding: function (theme) { return theme.spacing(3); } }, children: (0, jsx_runtime_1.jsx)(MenuPermissions, {}) }));
20
+ return ((0, jsx_runtime_1.jsx)(AWING_1.DrawerNavigate, { title: t('Directory.ObjectPermission'), customButtonSubmit: (0, jsx_runtime_1.jsx)(material_1.Button, { component: react_router_dom_1.Link, color: 'primary', variant: "contained", to: Constant_1.default.MENU_DIRECTORY_ADD_PERMISSION, children: t('Directory.AddPermission') }), childrenWrapperStyle: { padding: function (theme) { return theme.spacing(3); } }, children: (0, jsx_runtime_1.jsx)(MenuPermissions, {}) }));
20
21
  }
21
22
  exports.default = Permission;
22
23
  function MenuPermissions() {
@@ -67,7 +68,6 @@ function MenuPermissions() {
67
68
  var getPermission = service.menuPermissionGet;
68
69
  getPermission(directoryId)
69
70
  .then(function (res) {
70
- console.log({ res: res });
71
71
  setPermissions(res.permissions);
72
72
  setLoading(false);
73
73
  })
@@ -90,56 +90,94 @@ function MenuPermissions() {
90
90
  });
91
91
  });
92
92
  };
93
- return loading && loadingAuthen ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(AWING_1.DataGrid, { columns: [
94
- {
95
- field: '',
96
- width: 50,
97
- headerName: '#',
98
- valueGetter: function (row, idx) {
99
- return idx + 1;
100
- },
101
- },
102
- {
103
- field: 'authenType',
104
- width: 50,
105
- headerName: '',
106
- valueGetter: function (row, idx) {
107
- return row.authenType == 0 ? ((0, jsx_runtime_1.jsx)(icons_material_1.Person, { fontSize: "small" })) : ((0, jsx_runtime_1.jsx)(icons_material_1.Group, { fontSize: "small" }));
108
- },
109
- },
110
- {
111
- field: 'name',
112
- headerName: t('Common.UserGroupUser'),
113
- valueGetter: function (row, idx) {
114
- var _a, _b;
115
- return row.authenType == 0
116
- ? (_a = users.find(function (u) { return u.userId == row.authenId; })) === null || _a === void 0 ? void 0 : _a.username
117
- : (_b = groups.find(function (g) { return g.groupId == row.authenId; })) === null || _b === void 0 ? void 0 : _b.name;
118
- },
119
- },
120
- {
121
- field: 'inheritedPermission',
122
- headerName: t('Directory.InheritedPermission'),
123
- valueGetter: function (row, idx) {
124
- return row.inheritedPermission ? ((0, jsx_runtime_1.jsx)(icons_material_1.Check, { color: "primary" })) : ('');
125
- },
126
- },
127
- {
128
- field: 'explicitPermission',
129
- headerName: t('Directory.ExplicitPermission'),
130
- valueGetter: function (row, idx) {
131
- return row.explicitPermission ? ((0, jsx_runtime_1.jsx)(icons_material_1.Check, { color: "primary" })) : ('');
132
- },
133
- },
134
- ], rows: permissions, rowActions: [
135
- {
136
- icon: (0, jsx_runtime_1.jsx)(icons_material_1.Clear, { fontSize: "small" }),
137
- tooltipTitle: t('Common.Delete'),
138
- action: function (id) {
139
- var row = permissions[id];
140
- handleDeletePermission(row.authenId, row.authenType);
141
- },
142
- isShouldHideActions: function (row) { return !row.explicitPermission; },
143
- },
144
- ] }));
93
+ var handleUpdateMenuPermission = function (selected) {
94
+ var temp = selected.map(function (s) {
95
+ var isGroup = s.groupId !== undefined;
96
+ return {
97
+ authenId: isGroup ? s.groupId : s.userId,
98
+ authenType: isGroup ? 1 : 0,
99
+ explicitPermission: true,
100
+ };
101
+ });
102
+ service
103
+ .menuPermissionPut(directoryId, {
104
+ menuId: directoryId,
105
+ permissions: temp,
106
+ })
107
+ .then(function () {
108
+ snackbar('success');
109
+ (0, PubSub_1.pub)('update-directory-permission');
110
+ })
111
+ .catch(function (err) {
112
+ snackbar('error');
113
+ console.log(err);
114
+ });
115
+ };
116
+ return loading && loadingAuthen ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(AWING_1.DataGrid, { columns: [
117
+ {
118
+ field: '',
119
+ width: 50,
120
+ headerName: '#',
121
+ valueGetter: function (row, idx) {
122
+ return idx + 1;
123
+ },
124
+ },
125
+ {
126
+ field: 'authenType',
127
+ width: 50,
128
+ headerName: '',
129
+ valueGetter: function (row, idx) {
130
+ return row.authenType == 0 ? ((0, jsx_runtime_1.jsx)(icons_material_1.Person, { fontSize: "small" })) : ((0, jsx_runtime_1.jsx)(icons_material_1.Group, { fontSize: "small" }));
131
+ },
132
+ },
133
+ {
134
+ field: 'name',
135
+ headerName: t('Common.UserGroupUser'),
136
+ valueGetter: function (row, idx) {
137
+ var _a, _b;
138
+ return row.authenType == 0
139
+ ? (_a = users.find(function (u) { return u.userId == row.authenId; })) === null || _a === void 0 ? void 0 : _a.username
140
+ : (_b = groups.find(function (g) { return g.groupId == row.authenId; })) === null || _b === void 0 ? void 0 : _b.name;
141
+ },
142
+ },
143
+ {
144
+ field: 'inheritedPermission',
145
+ headerName: t('Directory.InheritedPermission'),
146
+ valueGetter: function (row, idx) {
147
+ return row.inheritedPermission ? ((0, jsx_runtime_1.jsx)(icons_material_1.Check, { color: "primary" })) : ('');
148
+ },
149
+ },
150
+ {
151
+ field: 'explicitPermission',
152
+ headerName: t('Directory.ExplicitPermission'),
153
+ valueGetter: function (row, idx) {
154
+ return row.explicitPermission ? ((0, jsx_runtime_1.jsx)(icons_material_1.Check, { color: "primary" })) : ('');
155
+ },
156
+ },
157
+ ], rows: permissions, rowActions: [
158
+ {
159
+ icon: (0, jsx_runtime_1.jsx)(icons_material_1.Clear, { fontSize: "small" }),
160
+ tooltipTitle: t('Common.Delete'),
161
+ action: function (id) {
162
+ var row = permissions[id];
163
+ handleDeletePermission(row.authenId, row.authenType);
164
+ },
165
+ isShouldHideActions: function (row) {
166
+ return !row.explicitPermission;
167
+ },
168
+ },
169
+ ] }), (0, jsx_runtime_1.jsx)(react_router_dom_1.Routes, { children: (0, jsx_runtime_1.jsx)(react_router_dom_1.Route, { path: Constant_1.default.MENU_DIRECTORY_ADD_PERMISSION, element: (0, jsx_runtime_1.jsx)(AddAuthen_1.default, { initialLoad: {
170
+ users: users.filter(function (u) {
171
+ return !permissions.find(function (p) {
172
+ return p.explicitPermission &&
173
+ p.authenId == u.userId;
174
+ });
175
+ }),
176
+ groups: groups.filter(function (g) {
177
+ return !permissions.find(function (p) {
178
+ return p.explicitPermission &&
179
+ p.authenId == g.groupId;
180
+ });
181
+ }),
182
+ }, oldSelected: [], onSubmit: handleUpdateMenuPermission }) }) })] }));
145
183
  }
@@ -1,6 +1,5 @@
1
1
  interface Props {
2
2
  isSystemDirectory?: boolean;
3
- isMenuDirectory?: boolean;
4
3
  }
5
4
  export default function DirectoryPermission(props: Props): import("react/jsx-runtime").JSX.Element;
6
5
  export {};
@@ -13,10 +13,10 @@ var CreateOrEditPermission_1 = __importDefault(require("./CreateOrEditPermission
13
13
  var react_router_dom_1 = require("react-router-dom");
14
14
  function DirectoryPermission(props) {
15
15
  var i18next = (0, react_1.useContext)(Context_1.default).i18next;
16
- var isSystemDirectory = props.isSystemDirectory, isMenuDirectory = props.isMenuDirectory;
17
- return ((0, jsx_runtime_1.jsxs)(react_i18next_1.I18nextProvider, { i18n: i18next, children: [(0, jsx_runtime_1.jsx)(Management_1.default, { isSystemDirectory: isSystemDirectory, isMenuDirectory: isMenuDirectory }), (0, jsx_runtime_1.jsxs)(react_router_dom_1.Routes, { children: [(0, jsx_runtime_1.jsx)(react_router_dom_1.Route, { path: Constant_1.default.DIRECTORY_ADD_PERMISSION + '/*', element: (0, jsx_runtime_1.jsx)(CreateOrEditPermission_1.default, { isSystemDirectory: isSystemDirectory, isMenuDirectory: isMenuDirectory }) }), (0, jsx_runtime_1.jsx)(react_router_dom_1.Route, { path: Constant_1.default.DIRECTORY_EDIT_PERMISSION +
16
+ var isSystemDirectory = props.isSystemDirectory;
17
+ return ((0, jsx_runtime_1.jsxs)(react_i18next_1.I18nextProvider, { i18n: i18next, children: [(0, jsx_runtime_1.jsx)(Management_1.default, { isSystemDirectory: isSystemDirectory }), (0, jsx_runtime_1.jsxs)(react_router_dom_1.Routes, { children: [(0, jsx_runtime_1.jsx)(react_router_dom_1.Route, { path: Constant_1.default.DIRECTORY_ADD_PERMISSION + '/*', element: (0, jsx_runtime_1.jsx)(CreateOrEditPermission_1.default, { isSystemDirectory: isSystemDirectory }) }), (0, jsx_runtime_1.jsx)(react_router_dom_1.Route, { path: Constant_1.default.DIRECTORY_EDIT_PERMISSION +
18
18
  '/:type' +
19
19
  '/:id' +
20
- '/*', element: (0, jsx_runtime_1.jsx)(CreateOrEditPermission_1.default, { isSystemDirectory: isSystemDirectory, isMenuDirectory: isMenuDirectory }) })] })] }));
20
+ '/*', element: (0, jsx_runtime_1.jsx)(CreateOrEditPermission_1.default, { isSystemDirectory: isSystemDirectory }) })] })] }));
21
21
  }
22
22
  exports.default = DirectoryPermission;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awing-library",
3
- "version": "2.1.8-beta",
3
+ "version": "2.1.9-beta",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",