@pinnacle0/web-ui 0.4.8 → 0.4.9

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.
@@ -1,54 +1,16 @@
1
- import React from "react";
2
- import { AdminAppContext } from "./context";
3
- import type { RouteComponentProps } from "react-router-dom";
4
- import "antd/es/menu/style";
1
+ /// <reference types="react" />
5
2
  import type { NavigationGroupItem } from "../../util/AdminNavigationUtil";
6
- interface Props<Feature, Field> extends RouteComponentProps {
3
+ import "antd/es/menu/style";
4
+ interface Badges {
5
+ [key: string]: number;
6
+ }
7
+ interface Props<Feature, Field> {
7
8
  siteName: string;
8
9
  permissions: Feature[];
9
10
  superAdminPermission: Feature;
10
11
  navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
11
12
  menuExpanded: boolean;
12
- badges?: {
13
- [key: string]: number;
14
- };
15
- }
16
- interface State {
17
- currentOpenedMenuKey: string | null;
18
- currentSelectedMenuKey: string | null;
19
- }
20
- declare class RouterAwareMenu<Feature, Field> extends React.PureComponent<Props<Feature, Field>, State> {
21
- static displayName: string;
22
- static contextType: React.Context<import("./context").AdminAppContextType>;
23
- context: React.ContextType<typeof AdminAppContext>;
24
- private readonly soundEnabledKey;
25
- constructor(props: Props<Feature, Field>);
26
- componentDidUpdate(prevProps: Props<Feature, Field>): void;
27
- /**
28
- * Return true if any field of currentBadges > prevBadges.
29
- */
30
- shouldAlertNewBadge: (prevBadges: {
31
- [key: string]: number;
32
- }, currentBadges: {
33
- [key: string]: number;
34
- }) => boolean;
35
- calculateTotalBadge: (badges: {
36
- [key: string]: number;
37
- }) => number;
38
- calculateMenuKeyByURL: (prevBadges?: {
39
- [key: string]: number;
40
- } | undefined) => State;
41
- onMenuOpenChange: (openKeys: string[]) => void;
42
- renderMenuGroup: (groupItem: NavigationGroupItem<any, any>) => {
43
- children: {
44
- label: JSX.Element;
45
- key: string;
46
- onClick(): void;
47
- }[];
48
- label: JSX.Element;
49
- key: string;
50
- };
51
- render(): JSX.Element;
13
+ badges?: Badges;
52
14
  }
53
- export declare const Menu: React.ComponentClass<Pick<Props<unknown, unknown>, "navigationGroups" | "siteName" | "permissions" | "superAdminPermission" | "menuExpanded" | "badges">, any> & import("react-router").WithRouterStatics<typeof RouterAwareMenu>;
15
+ export declare function Menu<Feature, Field>({ siteName, permissions, superAdminPermission, navigationGroups, menuExpanded, badges }: Props<Feature, Field>): JSX.Element;
54
16
  export {};
@@ -1,29 +1,3 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __values = (this && this.__values) || function(o) {
17
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
18
- if (m) return m.call(o);
19
- if (o && typeof o.length === "number") return {
20
- next: function () {
21
- if (o && i >= o.length) o = void 0;
22
- return { value: o && o[i++], done: !o };
23
- }
24
- };
25
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
26
- };
27
1
  var __read = (this && this.__read) || function (o, n) {
28
2
  var m = typeof Symbol === "function" && o[Symbol.iterator];
29
3
  if (!m) return o;
@@ -40,137 +14,139 @@ var __read = (this && this.__read) || function (o, n) {
40
14
  }
41
15
  return ar;
42
16
  };
17
+ var __values = (this && this.__values) || function(o) {
18
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
+ if (m) return m.call(o);
20
+ if (o && typeof o.length === "number") return {
21
+ next: function () {
22
+ if (o && i >= o.length) o = void 0;
23
+ return { value: o && o[i++], done: !o };
24
+ }
25
+ };
26
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
+ };
43
28
  import React from "react";
44
- import { withRouter } from "react-router-dom";
29
+ import { useHistory, useLocation } from "react-router-dom";
45
30
  import AntMenu from "antd/es/menu";
46
31
  import { LocalStorageUtil } from "../../util/LocalStorageUtil";
47
32
  import { MediaUtil } from "../../util/MediaUtil";
48
33
  import { Badge } from "../../core/Badge";
49
- import { AdminAppContext } from "./context";
50
- import "antd/es/menu/style";
51
34
  import { AdminNavigationUtil } from "../../util/AdminNavigationUtil";
52
- var RouterAwareMenu = /** @class */ (function (_super) {
53
- __extends(RouterAwareMenu, _super);
54
- function RouterAwareMenu(props) {
55
- var _this = _super.call(this, props) || this;
56
- _this.soundEnabledKey = "admin-sound-enabled";
57
- /**
58
- * Return true if any field of currentBadges > prevBadges.
59
- */
60
- _this.shouldAlertNewBadge = function (prevBadges, currentBadges) {
61
- var e_1, _a;
62
- try {
63
- for (var _b = __values(Object.entries(currentBadges)), _c = _b.next(); !_c.done; _c = _b.next()) {
64
- var _d = __read(_c.value, 2), key = _d[0], badge = _d[1];
65
- if (prevBadges[key] === undefined || badge > prevBadges[key]) {
66
- return true;
67
- }
68
- }
69
- }
70
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
71
- finally {
72
- try {
73
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
74
- }
75
- finally { if (e_1) throw e_1.error; }
76
- }
77
- return false;
78
- };
79
- _this.calculateTotalBadge = function (badges) {
80
- var _a = _this.props, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
81
- var totalCount = 0;
82
- AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, false).forEach(function (_a) {
83
- var modules = _a.modules;
84
- modules.forEach(function (_) { return (totalCount += badges[_.url] || 0); });
85
- });
86
- return totalCount;
87
- };
88
- _this.calculateMenuKeyByURL = function (prevBadges) {
89
- var _a;
90
- var _b = _this.props, location = _b.location, menuExpanded = _b.menuExpanded, siteName = _b.siteName, badges = _b.badges, navigationGroups = _b.navigationGroups, permissions = _b.permissions, superAdminPermission = _b.superAdminPermission;
91
- var allNavigationGroups = AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, true);
92
- var currentOpenedMenuKey = ((_a = allNavigationGroups === null || allNavigationGroups === void 0 ? void 0 : allNavigationGroups[0]) === null || _a === void 0 ? void 0 : _a.title) || null; // Fallback opened key
93
- var currentSelectedMenuKey = null;
94
- var currentModule = AdminNavigationUtil.moduleByURL(location.pathname, navigationGroups, permissions, superAdminPermission);
95
- var totalBadgeCount = badges ? _this.calculateTotalBadge(badges) : 0;
96
- var titlePrefix = (totalBadgeCount > 0 ? "(".concat(totalBadgeCount, ") ") : "") + siteName;
97
- var soundEnabled = LocalStorageUtil.getBool(_this.soundEnabledKey, true);
98
- if (soundEnabled && prevBadges && badges && _this.shouldAlertNewBadge(prevBadges, badges)) {
99
- MediaUtil.playAudio(require("./asset/alert.mp3"));
100
- }
101
- if (currentModule) {
102
- var matchedGroup = allNavigationGroups.find(function (_) { return _.modules.includes(currentModule); });
103
- if (matchedGroup) {
104
- currentOpenedMenuKey = matchedGroup.title;
105
- currentSelectedMenuKey = currentModule.url;
35
+ import "antd/es/menu/style";
36
+ var SOUND_ENABLED_KEY = "admin-sound-enabled";
37
+ export function Menu(_a) {
38
+ var siteName = _a.siteName, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission, navigationGroups = _a.navigationGroups, menuExpanded = _a.menuExpanded, badges = _a.badges;
39
+ var _b = __read(React.useState(null), 2), currentOpenedMenuKey = _b[0], setCurrentOpenedMenuKey = _b[1];
40
+ var _c = __read(React.useState(null), 2), currentSelectedMenuKey = _c[0], setCurrentSelectedMenuKey = _c[1];
41
+ var _d = __read(React.useState(undefined), 2), prevBadges = _d[0], setPrevBadges = _d[1];
42
+ var history = useHistory();
43
+ var location = useLocation();
44
+ var shownNavigationGroups = React.useMemo(function () { return AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, false); }, [navigationGroups, permissions, superAdminPermission]);
45
+ var modules = React.useMemo(function () { return AdminNavigationUtil.modules(shownNavigationGroups); }, [shownNavigationGroups]);
46
+ /**
47
+ * Return true if any field of currentBadges > prevBadges.
48
+ */
49
+ var shouldAlertNewBadge = React.useCallback(function (badges) {
50
+ var e_1, _a;
51
+ try {
52
+ for (var _b = __values(Object.entries(badges)), _c = _b.next(); !_c.done; _c = _b.next()) {
53
+ var _d = __read(_c.value, 2), key = _d[0], badge = _d[1];
54
+ if (prevBadges && (prevBadges[key] === undefined || badge > prevBadges[key])) {
55
+ return true;
106
56
  }
107
- document.title = titlePrefix + " - " + currentModule.title;
108
- }
109
- else {
110
- document.title = titlePrefix;
111
57
  }
112
- if (!menuExpanded) {
113
- currentOpenedMenuKey = null; // Otherwise, AntD will pop this menu
114
- }
115
- return { currentOpenedMenuKey: currentOpenedMenuKey, currentSelectedMenuKey: currentSelectedMenuKey };
116
- };
117
- _this.onMenuOpenChange = function (openKeys) {
118
- var length = openKeys.length;
119
- if (length === 0) {
120
- _this.setState({ currentOpenedMenuKey: null });
58
+ }
59
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
60
+ finally {
61
+ try {
62
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
121
63
  }
122
- else if (length === 1) {
123
- _this.setState({ currentOpenedMenuKey: openKeys[0] });
64
+ finally { if (e_1) throw e_1.error; }
65
+ }
66
+ return false;
67
+ }, [prevBadges]);
68
+ var calculateTotalBadge = React.useCallback(function (badges) {
69
+ var totalCount = 0;
70
+ shownNavigationGroups.forEach(function (_a) {
71
+ var modules = _a.modules;
72
+ modules.forEach(function (_) { return (totalCount += badges[_.url] || 0); });
73
+ });
74
+ return totalCount;
75
+ }, [shownNavigationGroups]);
76
+ var calculateMenuKeyByURL = React.useCallback(function () {
77
+ var _a;
78
+ var currentOpenedMenuKey = ((_a = shownNavigationGroups === null || shownNavigationGroups === void 0 ? void 0 : shownNavigationGroups[0]) === null || _a === void 0 ? void 0 : _a.title) || null; // Fallback opened key
79
+ var currentSelectedMenuKey = null;
80
+ var currentModule = AdminNavigationUtil.moduleByURL(location.pathname, modules);
81
+ var totalBadgeCount = badges ? calculateTotalBadge(badges) : 0;
82
+ var titlePrefix = (totalBadgeCount > 0 ? "(".concat(totalBadgeCount, ") ") : "") + siteName;
83
+ var soundEnabled = LocalStorageUtil.getBool(SOUND_ENABLED_KEY, true);
84
+ if (soundEnabled && prevBadges && badges && shouldAlertNewBadge(badges)) {
85
+ MediaUtil.playAudio(require("./asset/alert.mp3"));
86
+ }
87
+ if (currentModule) {
88
+ var matchedGroup = shownNavigationGroups.find(function (_) { return _.modules.includes(currentModule); });
89
+ if (matchedGroup) {
90
+ currentOpenedMenuKey = matchedGroup.title;
91
+ currentSelectedMenuKey = currentModule.url;
124
92
  }
125
- else {
126
- var index = openKeys.indexOf(_this.state.currentOpenedMenuKey); // By logic, index should be 0/1 (length should be 2)
127
- if (index >= 0) {
128
- _this.setState({ currentOpenedMenuKey: openKeys[length - 1 - index] });
129
- }
93
+ document.title = titlePrefix + " - " + currentModule.title;
94
+ }
95
+ else {
96
+ document.title = titlePrefix;
97
+ }
98
+ if (!menuExpanded) {
99
+ currentOpenedMenuKey = null; // Otherwise, AntD will pop this menu
100
+ }
101
+ return { currentOpenedMenuKey: currentOpenedMenuKey, currentSelectedMenuKey: currentSelectedMenuKey };
102
+ }, [shownNavigationGroups, location, modules, badges, calculateTotalBadge, menuExpanded, prevBadges, shouldAlertNewBadge, siteName]);
103
+ var onMenuOpenChange = function (openKeys) {
104
+ var length = openKeys.length;
105
+ if (length === 0) {
106
+ setCurrentOpenedMenuKey(null);
107
+ }
108
+ else if (length === 1) {
109
+ setCurrentOpenedMenuKey(openKeys[0]);
110
+ }
111
+ else {
112
+ var index = openKeys.indexOf(currentOpenedMenuKey); // By logic, index should be 0/1 (length should be 2)
113
+ if (index >= 0) {
114
+ setCurrentOpenedMenuKey(openKeys[length - 1 - index]);
130
115
  }
131
- };
132
- _this.renderMenuGroup = function (groupItem) {
133
- var _a = _this.props, history = _a.history, badges = _a.badges, menuExpanded = _a.menuExpanded;
134
- var totalCount = 0;
135
- var children = groupItem.modules.map(function (_a) {
136
- var title = _a.title, url = _a.url;
137
- var count = (badges === null || badges === void 0 ? void 0 : badges[url]) || 0;
138
- totalCount += count;
139
- return {
140
- label: React.createElement(Badge, { count: count }, title),
141
- key: url,
142
- onClick: function () {
143
- history.push(url);
144
- },
145
- };
146
- });
147
- var label = (React.createElement(Badge, { count: totalCount },
148
- groupItem.icon,
149
- " ",
150
- menuExpanded ? groupItem.title : ""));
116
+ }
117
+ };
118
+ var renderMenuGroup = function (groupItem) {
119
+ var totalCount = 0;
120
+ var children = groupItem.modules.map(function (_a) {
121
+ var title = _a.title, url = _a.url;
122
+ var count = (badges === null || badges === void 0 ? void 0 : badges[url]) || 0;
123
+ totalCount += count;
151
124
  return {
152
- children: children,
153
- label: label,
154
- key: groupItem.title,
125
+ label: React.createElement(Badge, { count: count }, title),
126
+ key: url,
127
+ onClick: function () {
128
+ history.push(url);
129
+ },
155
130
  };
131
+ });
132
+ var label = (React.createElement(Badge, { count: totalCount },
133
+ groupItem.icon,
134
+ " ",
135
+ menuExpanded ? groupItem.title : ""));
136
+ return {
137
+ children: children,
138
+ label: label,
139
+ key: groupItem.title,
156
140
  };
157
- _this.state = _this.calculateMenuKeyByURL();
158
- return _this;
159
- }
160
- RouterAwareMenu.prototype.componentDidUpdate = function (prevProps) {
161
- var _a = this.props, location = _a.location, menuExpanded = _a.menuExpanded, badges = _a.badges;
162
- if (prevProps.location.pathname !== location.pathname || prevProps.menuExpanded !== menuExpanded || prevProps.badges !== badges) {
163
- this.setState(this.calculateMenuKeyByURL(prevProps.badges));
164
- }
165
- };
166
- RouterAwareMenu.prototype.render = function () {
167
- var _a = this.props, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
168
- var _b = this.state, currentOpenedMenuKey = _b.currentOpenedMenuKey, currentSelectedMenuKey = _b.currentSelectedMenuKey;
169
- return (React.createElement(AntMenu, { theme: "dark", mode: "inline", openKeys: currentOpenedMenuKey ? [currentOpenedMenuKey] : [], selectedKeys: currentSelectedMenuKey ? [currentSelectedMenuKey] : [], onOpenChange: this.onMenuOpenChange, items: AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, false).map(this.renderMenuGroup) }));
170
141
  };
171
- RouterAwareMenu.displayName = "Menu";
172
- RouterAwareMenu.contextType = AdminAppContext;
173
- return RouterAwareMenu;
174
- }(React.PureComponent));
175
- export var Menu = withRouter(RouterAwareMenu);
142
+ React.useEffect(function () {
143
+ var _a = calculateMenuKeyByURL(), currentOpenedMenuKey = _a.currentOpenedMenuKey, currentSelectedMenuKey = _a.currentSelectedMenuKey;
144
+ setCurrentOpenedMenuKey(currentOpenedMenuKey);
145
+ setCurrentSelectedMenuKey(currentSelectedMenuKey);
146
+ }, [location.pathname, menuExpanded, badges, calculateMenuKeyByURL]);
147
+ React.useEffect(function () {
148
+ setPrevBadges(badges);
149
+ }, [badges]);
150
+ return (React.createElement(AntMenu, { theme: "dark", mode: "inline", openKeys: currentOpenedMenuKey ? [currentOpenedMenuKey] : [], selectedKeys: currentSelectedMenuKey ? [currentSelectedMenuKey] : [], onOpenChange: onMenuOpenChange, items: shownNavigationGroups.map(renderMenuGroup) }));
151
+ }
176
152
  //# sourceMappingURL=Menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Menu.tsx"],"names":[],"mappings":"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"}
@@ -1,32 +1,9 @@
1
- import React from "react";
2
- import type { RouteComponentProps } from "react-router-dom";
3
- import { AdminAppContext } from "./context";
4
- import type { NavigationGroupItem, NavigationModuleItem } from "../../util/AdminNavigationUtil";
5
- interface NavigatorTabItem {
6
- url: string;
7
- module: NavigationModuleItem<any, any>;
8
- historyState?: any;
9
- customTitle?: string | null;
10
- }
11
- interface Props<Feature, Field> extends RouteComponentProps {
1
+ /// <reference types="react" />
2
+ import type { NavigationGroupItem } from "../../util/AdminNavigationUtil";
3
+ interface Props<Feature, Field> {
4
+ navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
12
5
  permissions: Feature[];
13
6
  superAdminPermission: Feature;
14
- navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
15
- }
16
- interface State {
17
- tabs: NavigatorTabItem[];
18
- }
19
- declare class RouterAwareNavigator<Feature, Field> extends React.PureComponent<Props<Feature, Field>, State> {
20
- static displayName: string;
21
- static contextType: React.Context<import("./context").AdminAppContextType>;
22
- context: React.ContextType<typeof AdminAppContext>;
23
- constructor(props: Props<Feature, Field>);
24
- componentDidMount(): void;
25
- componentDidUpdate(prevProps: Props<Feature, Field>): void;
26
- computeIndexByURL: (url: string) => number;
27
- onTabClose: (key: string | React.MouseEvent | React.KeyboardEvent) => void;
28
- onTabChange: (url: string) => void;
29
- render(): JSX.Element;
30
7
  }
31
- export declare const Navigator: React.ComponentClass<Pick<Props<unknown, unknown>, "navigationGroups" | "permissions" | "superAdminPermission">, any> & import("react-router").WithRouterStatics<typeof RouterAwareNavigator>;
8
+ export declare function Navigator<Feature, Field>({ permissions, superAdminPermission, navigationGroups }: Props<Feature, Field>): JSX.Element;
32
9
  export {};
@@ -1,18 +1,3 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
1
  var __read = (this && this.__read) || function (o, n) {
17
2
  var m = typeof Symbol === "function" && o[Symbol.iterator];
18
3
  if (!m) return o;
@@ -40,115 +25,87 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
40
25
  };
41
26
  import React from "react";
42
27
  import { Tabs } from "../../core/Tabs";
43
- import { withRouter } from "react-router-dom";
28
+ import { useHistory, useLocation } from "react-router-dom";
44
29
  import { AdminAppContext } from "./context";
45
30
  import { i18n } from "../../internal/i18n/admin";
46
31
  import { Spin } from "../../core/Spin";
47
32
  import { AdminNavigationUtil } from "../../util/AdminNavigationUtil";
48
- var RouterAwareNavigator = /** @class */ (function (_super) {
49
- __extends(RouterAwareNavigator, _super);
50
- function RouterAwareNavigator(props) {
51
- var _this = _super.call(this, props) || this;
52
- _this.computeIndexByURL = function (url) {
53
- // If url is null, then use current URL
54
- var _a = _this.props, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
55
- var tabs = _this.state.tabs;
56
- var matchedModule = AdminNavigationUtil.moduleByURL(url, navigationGroups, permissions, superAdminPermission);
57
- if (matchedModule) {
58
- if (matchedModule.separateTab) {
59
- return tabs.findIndex(function (_) { return _.url === url; });
60
- }
61
- else {
62
- return tabs.findIndex(function (_) { return _.module === matchedModule; });
63
- }
33
+ import { useDidMountEffect } from "../../hooks";
34
+ export function Navigator(_a) {
35
+ var permissions = _a.permissions, superAdminPermission = _a.superAdminPermission, navigationGroups = _a.navigationGroups;
36
+ var _b = __read(React.useState([]), 2), tabs = _b[0], setTabs = _b[1];
37
+ var location = useLocation();
38
+ var history = useHistory();
39
+ var t = i18n();
40
+ var context = React.useContext(AdminAppContext);
41
+ var groups = React.useMemo(function () { return AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, true); }, [navigationGroups, permissions, superAdminPermission]);
42
+ var modules = React.useMemo(function () { return AdminNavigationUtil.modules(groups); }, [groups]);
43
+ var computeIndexByURL = React.useCallback(function (url, tabs) {
44
+ // If url is null, then use current URL
45
+ var matchedModule = AdminNavigationUtil.moduleByURL(url, modules);
46
+ if (matchedModule) {
47
+ if (matchedModule.separateTab) {
48
+ return tabs.findIndex(function (_) { return _.url === url; });
64
49
  }
65
50
  else {
66
- return -1;
51
+ return tabs.findIndex(function (_) { return _.module === matchedModule; });
67
52
  }
68
- };
69
- _this.onTabClose = function (key) {
70
- var _a = _this.props, history = _a.history, location = _a.location;
71
- var tabs = _this.state.tabs;
72
- var currentURL = location.pathname;
73
- var closedURL = key;
74
- var closedIndex = _this.computeIndexByURL(closedURL);
75
- if (closedIndex >= 0) {
76
- var newTabs = __spreadArray([], __read(tabs), false);
77
- newTabs.splice(closedIndex, 1);
78
- _this.setState({ tabs: newTabs });
79
- if (currentURL === closedURL) {
80
- // Close current tab, then re-open the previous tab, or the first tab
81
- var followingItem = newTabs[closedIndex - 1];
82
- if (followingItem) {
83
- history.push(followingItem.url, followingItem.historyState);
84
- }
85
- else {
86
- history.push("/");
87
- }
53
+ }
54
+ else {
55
+ return -1;
56
+ }
57
+ }, [modules]);
58
+ var onTabClose = function (key) {
59
+ var currentURL = location.pathname;
60
+ var closedURL = key;
61
+ var closedIndex = computeIndexByURL(closedURL, tabs);
62
+ if (closedIndex >= 0) {
63
+ var newTabs = __spreadArray([], __read(tabs), false);
64
+ newTabs.splice(closedIndex, 1);
65
+ setTabs(newTabs);
66
+ if (currentURL === closedURL) {
67
+ // Close current tab, then re-open the previous tab, or the first tab
68
+ var followingItem = newTabs[closedIndex - 1];
69
+ if (followingItem) {
70
+ history.push(followingItem.url, followingItem.historyState);
71
+ }
72
+ else {
73
+ history.push("/");
88
74
  }
89
75
  }
90
- };
91
- _this.onTabChange = function (url) {
92
- var history = _this.props.history;
93
- var index = _this.computeIndexByURL(url);
94
- if (index >= 0) {
95
- // Trigger URL change, then the flow will go to componentDidUpdate
96
- var existedItem = _this.state.tabs[index];
97
- history.push(existedItem.url, existedItem.historyState);
98
- }
99
- else {
100
- // Open homepage tab
101
- history.push("/");
102
- }
103
- };
104
- _this.state = { tabs: [] };
105
- return _this;
106
- }
107
- RouterAwareNavigator.prototype.componentDidMount = function () {
108
- var _this = this;
76
+ }
77
+ };
78
+ var onTabChange = function (url) {
79
+ var index = computeIndexByURL(url, tabs);
80
+ if (index >= 0) {
81
+ // Trigger URL change, then the flow will go to componentDidUpdate
82
+ var existedItem = tabs[index];
83
+ history.push(existedItem.url, existedItem.historyState);
84
+ }
85
+ else {
86
+ // Open homepage tab
87
+ history.push("/");
88
+ }
89
+ };
90
+ useDidMountEffect(function () {
109
91
  // Register context
110
- this.context.registerTitleUpdater(function (title) {
111
- var url = _this.props.location.pathname;
112
- var index = _this.computeIndexByURL(url);
92
+ context.registerTitleUpdater(function (title) {
93
+ var url = location.pathname;
94
+ var index = computeIndexByURL(url, tabs);
113
95
  if (index >= 0) {
114
- var newTabs = __spreadArray([], __read(_this.state.tabs), false);
96
+ var newTabs = __spreadArray([], __read(tabs), false);
115
97
  newTabs[index].customTitle = title;
116
- _this.setState({ tabs: newTabs });
98
+ setTabs(newTabs);
117
99
  }
118
100
  });
119
- // Create initial tab, unless homepage or 404
120
- var _a = this.props, location = _a.location, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
121
- var url = location.pathname;
122
- var targetModule = AdminNavigationUtil.moduleByURL(url, navigationGroups, permissions, superAdminPermission);
123
- if (targetModule) {
124
- this.setState({
125
- tabs: [
126
- {
127
- url: url,
128
- module: targetModule,
129
- historyState: location.state,
130
- },
131
- ],
132
- });
133
- }
134
- };
135
- RouterAwareNavigator.prototype.componentDidUpdate = function (prevProps) {
136
- if (prevProps.location !== this.props.location) {
137
- var tabs = this.state.tabs;
101
+ });
102
+ React.useEffect(function () {
103
+ setTabs(function (tabs) {
138
104
  var newTabs = __spreadArray([], __read(tabs), false);
139
- // Save the previous tab (both URL and history state)
140
- var prevURL = prevProps.location.pathname;
141
- var prevHistoryState = prevProps.location.state;
142
- var prevItemIndex = this.computeIndexByURL(prevURL);
143
- if (prevItemIndex >= 0) {
144
- newTabs[prevItemIndex].url = prevURL;
145
- newTabs[prevItemIndex].historyState = prevHistoryState;
146
- }
147
- // Then determine whether create a new tab, or update the existing tab
148
- var _a = this.props, location_1 = _a.location, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
149
- var newURL = location_1.pathname;
150
- var newHistoryState = location_1.state;
151
- var newIndex = this.computeIndexByURL(newURL);
105
+ // Determine whether create a new tab, or update the existing tab
106
+ var newURL = location.pathname;
107
+ var newHistoryState = location.state;
108
+ var newIndex = computeIndexByURL(newURL, newTabs);
152
109
  if (newIndex >= 0) {
153
110
  // Update the existing tab
154
111
  newTabs[newIndex].url = newURL;
@@ -157,7 +114,7 @@ var RouterAwareNavigator = /** @class */ (function (_super) {
157
114
  else {
158
115
  // If module exists, create a new tab
159
116
  // Else, it means, the user goes to the homepage tab, so just do nothing
160
- var targetModule = AdminNavigationUtil.moduleByURL(newURL, navigationGroups, permissions, superAdminPermission);
117
+ var targetModule = AdminNavigationUtil.moduleByURL(newURL, modules);
161
118
  if (targetModule) {
162
119
  newTabs.push({
163
120
  url: newURL,
@@ -166,36 +123,26 @@ var RouterAwareNavigator = /** @class */ (function (_super) {
166
123
  });
167
124
  }
168
125
  }
169
- // Finalize the component state
170
- this.setState({ tabs: newTabs });
171
- }
172
- };
173
- RouterAwareNavigator.prototype.render = function () {
174
- var location = this.props.location;
175
- var tabs = this.state.tabs;
176
- var t = i18n();
177
- return (React.createElement(Tabs, { className: "navigator-bar", hideAdd: true, onEdit: this.onTabClose, type: "editable-card", activeKey: location.pathname, onChange: this.onTabChange },
178
- React.createElement(Tabs.TabPane, { tab: t.homePageTitle, key: "/", closable: false }),
179
- tabs.map(function (_a) {
180
- var customTitle = _a.customTitle, url = _a.url, module = _a.module;
181
- var tab;
182
- if (customTitle) {
183
- tab = customTitle;
184
- }
185
- else if (module.separateTab) {
186
- tab = (React.createElement(React.Fragment, null,
187
- module.title,
188
- React.createElement(Spin, { spinning: true, size: "small" })));
189
- }
190
- else {
191
- tab = module.title;
192
- }
193
- return React.createElement(Tabs.TabPane, { tab: tab, key: url, closable: true });
194
- })));
195
- };
196
- RouterAwareNavigator.displayName = "Navigator";
197
- RouterAwareNavigator.contextType = AdminAppContext;
198
- return RouterAwareNavigator;
199
- }(React.PureComponent));
200
- export var Navigator = withRouter(RouterAwareNavigator);
126
+ return newTabs;
127
+ });
128
+ }, [location, modules, computeIndexByURL]);
129
+ return (React.createElement(Tabs, { className: "navigator-bar", hideAdd: true, onEdit: onTabClose, type: "editable-card", activeKey: location.pathname, onChange: onTabChange },
130
+ React.createElement(Tabs.TabPane, { tab: t.homePageTitle, key: "/", closable: false }),
131
+ tabs.map(function (_a) {
132
+ var customTitle = _a.customTitle, url = _a.url, module = _a.module;
133
+ var tab;
134
+ if (customTitle) {
135
+ tab = customTitle;
136
+ }
137
+ else if (module.separateTab) {
138
+ tab = (React.createElement(React.Fragment, null,
139
+ module.title,
140
+ React.createElement(Spin, { spinning: true, size: "small" })));
141
+ }
142
+ else {
143
+ tab = module.title;
144
+ }
145
+ return React.createElement(Tabs.TabPane, { tab: tab, key: url, closable: true });
146
+ })));
147
+ }
201
148
  //# sourceMappingURL=Navigator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Navigator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Navigator.tsx"],"names":[],"mappings":"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"}
@@ -43,7 +43,8 @@ var RouteSwitch = /** @class */ (function (_super) {
43
43
  return (React.createElement(AdminPage, null,
44
44
  React.createElement(AdminPage.Result, { type: "success", title: TextUtil.interpolate(t.welcome, name), subtitle: t.homePageSubtitle, hideButton: true })));
45
45
  };
46
- _this.navigationModules = AdminNavigationUtil.modules(props.navigationGroups, props.permissions, props.superAdminPermission);
46
+ var enabledNavigationGroups = AdminNavigationUtil.groups(props.navigationGroups, props.permissions, props.superAdminPermission, false);
47
+ _this.navigationModules = AdminNavigationUtil.modules(enabledNavigationGroups);
47
48
  return _this;
48
49
  }
49
50
  RouteSwitch.prototype.render = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"RouteSwitch.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/RouteSwitch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAW1C;IAAiD,+BAA0C;IAOvF,qBAAY,KAA4B;QAAxC,YACI,kBAAM,KAAK,CAAC,SAEf;QAED,mBAAa,GAAG;YACL,IAAA,IAAI,GAAI,KAAI,CAAC,OAAO,KAAhB,CAAiB;YAC5B,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,OAAO,CACH,oBAAC,SAAS;gBACN,oBAAC,SAAS,CAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,SAAG,CAClH,CACf,CAAC;QACN,CAAC,CAAC;QAXE,KAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;;IAChI,CAAC;IAYD,4BAAM,GAAN;QACU,IAAA,KAAmD,IAAI,CAAC,KAAK,EAA5D,gBAAgB,sBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAc,CAAC;QACpE,OAAO,CACH,oBAAC,MAAM;YACH,oBAAC,KAAK,IAAC,KAAK,QAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,gBAAgB,IAAI,IAAI,CAAC,aAAa,GAAI;YAC1E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,EAAgD;oBAA/C,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAiB,cAAc,mBAAA;gBAAM,OAAA,CAC9E,oBAAC,KAAK,IACF,KAAK,QACL,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EACzC,SAAS,EAAE,UAAC,KAAU,IAAK,OAAA,CACvB,oBAAC,iBAAiB,IAAC,gBAAgB,EAAE,gBAAgB;wBACjD,oBAAC,cAAc,eAAK,KAAK,EAAI,CACb,CACvB,EAJ0B,CAI1B,GACH,CACL;YAXiF,CAWjF,CAAC;YACF,oBAAC,KAAK,IAAC,SAAS,EAAE,cAAM,OAAA,oBAAC,QAAQ,IAAC,UAAU,EAAE,UAAU,GAAI,EAApC,CAAoC,GAAI,CAC3D,CACZ,CAAC;IACN,CAAC;IAzCM,uBAAW,GAAG,aAAa,CAAC;IAC5B,uBAAW,GAAG,eAAe,CAAC;IAyCzC,kBAAC;CAAA,AA3CD,CAAiD,KAAK,CAAC,aAAa,GA2CnE;SA3CY,WAAW"}
1
+ {"version":3,"file":"RouteSwitch.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/RouteSwitch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAW1C;IAAiD,+BAA0C;IAOvF,qBAAY,KAA4B;QAAxC,YACI,kBAAM,KAAK,CAAC,SAGf;QAED,mBAAa,GAAG;YACL,IAAA,IAAI,GAAI,KAAI,CAAC,OAAO,KAAhB,CAAiB;YAC5B,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,OAAO,CACH,oBAAC,SAAS;gBACN,oBAAC,SAAS,CAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,SAAG,CAClH,CACf,CAAC;QACN,CAAC,CAAC;QAZE,IAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACzI,KAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;;IAClF,CAAC;IAYD,4BAAM,GAAN;QACU,IAAA,KAAmD,IAAI,CAAC,KAAK,EAA5D,gBAAgB,sBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAc,CAAC;QACpE,OAAO,CACH,oBAAC,MAAM;YACH,oBAAC,KAAK,IAAC,KAAK,QAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,gBAAgB,IAAI,IAAI,CAAC,aAAa,GAAI;YAC1E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,EAAgD;oBAA/C,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAiB,cAAc,mBAAA;gBAAM,OAAA,CAC9E,oBAAC,KAAK,IACF,KAAK,QACL,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EACzC,SAAS,EAAE,UAAC,KAAU,IAAK,OAAA,CACvB,oBAAC,iBAAiB,IAAC,gBAAgB,EAAE,gBAAgB;wBACjD,oBAAC,cAAc,eAAK,KAAK,EAAI,CACb,CACvB,EAJ0B,CAI1B,GACH,CACL;YAXiF,CAWjF,CAAC;YACF,oBAAC,KAAK,IAAC,SAAS,EAAE,cAAM,OAAA,oBAAC,QAAQ,IAAC,UAAU,EAAE,UAAU,GAAI,EAApC,CAAoC,GAAI,CAC3D,CACZ,CAAC;IACN,CAAC;IA1CM,uBAAW,GAAG,aAAa,CAAC;IAC5B,uBAAW,GAAG,eAAe,CAAC;IA0CzC,kBAAC;CAAA,AA5CD,CAAiD,KAAK,CAAC,aAAa,GA4CnE;SA5CY,WAAW"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pinnacle0/web-ui",
3
- "version": "0.4.8",
3
+ "version": "0.4.9",
4
4
  "author": "Pinnacle",
5
5
  "license": "MIT",
6
6
  "sideEffects": [
@@ -51,8 +51,8 @@
51
51
  "react-dom": "18.2.0",
52
52
  "react-router-dom": "5.3.0",
53
53
  "typescript": "4.9.4",
54
- "@pinnacle0/webpack-util": "0.3.42",
55
- "@pinnacle0/devtool-util": "1.1.5"
54
+ "@pinnacle0/devtool-util": "1.1.5",
55
+ "@pinnacle0/webpack-util": "0.3.42"
56
56
  },
57
57
  "publishConfig": {
58
58
  "directory": "build"
@@ -48,8 +48,8 @@ export interface NavigationGroupItem<Feature, Field = never> {
48
48
  modules: Array<NavigationModuleItem<Feature, Field>>;
49
49
  }
50
50
  export declare class AdminNavigationUtil {
51
- static groups<Feature, Field>(navigationGroupItems: NavigationGroupItem<Feature, Field>[], permissions: Feature[], superAdminPermission: Feature, showHidden: boolean): Array<NavigationGroupItem<Feature, Field>>;
52
- static modules<Feature, Field>(navigationGroupItems: NavigationGroupItem<Feature, Field>[], permissions: Feature[], superAdminPermission: Feature): Array<NavigationModuleItem<Feature, Field>>;
53
- static moduleByURL<Feature, Field>(url: string, navigationGroupItems: NavigationGroupItem<Feature, Field>[], permissions: Feature[], superAdminPermission: Feature): NavigationModuleItem<Feature, Field> | undefined;
51
+ static groups<Feature, Field>(navigationGroupItems: Array<NavigationGroupItem<Feature, Field>>, permissions: Feature[], superAdminPermission: Feature, showHidden: boolean): Array<NavigationGroupItem<Feature, Field>>;
52
+ static modules<Feature, Field>(navigationGroupItems: NavigationGroupItem<Feature, Field>[]): Array<NavigationModuleItem<Feature, Field>>;
53
+ static moduleByURL<Feature, Field>(url: string, modules: Array<NavigationModuleItem<Feature, Field>>): NavigationModuleItem<Feature, Field> | undefined;
54
54
  private static canAccessModule;
55
55
  }
@@ -9,15 +9,6 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
- return c > 3 && r && Object.defineProperty(target, key, r), r;
17
- };
18
- var __metadata = (this && this.__metadata) || function (k, v) {
19
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
- };
21
12
  var __read = (this && this.__read) || function (o, n) {
22
13
  var m = typeof Symbol === "function" && o[Symbol.iterator];
23
14
  if (!m) return o;
@@ -44,7 +35,6 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
44
35
  return to.concat(ar || Array.prototype.slice.call(from));
45
36
  };
46
37
  import { matchPath } from "react-router-dom";
47
- import { Memo } from "../internal/Memo";
48
38
  var AdminNavigationUtil = /** @class */ (function () {
49
39
  function AdminNavigationUtil() {
50
40
  }
@@ -56,12 +46,12 @@ var AdminNavigationUtil = /** @class */ (function () {
56
46
  })
57
47
  .filter(function (_) { return _; });
58
48
  };
59
- AdminNavigationUtil.modules = function (navigationGroupItems, permissions, superAdminPermission) {
49
+ AdminNavigationUtil.modules = function (navigationGroupItems) {
60
50
  var list = [];
61
- AdminNavigationUtil.groups(navigationGroupItems, permissions, superAdminPermission, true).forEach(function (_) { return list.push.apply(list, __spreadArray([], __read(_.modules), false)); });
51
+ navigationGroupItems.forEach(function (_) { return list.push.apply(list, __spreadArray([], __read(_.modules), false)); });
62
52
  return list;
63
53
  };
64
- AdminNavigationUtil.moduleByURL = function (url, navigationGroupItems, permissions, superAdminPermission) {
54
+ AdminNavigationUtil.moduleByURL = function (url, modules) {
65
55
  var isMatched = function (item) {
66
56
  return matchPath(url, {
67
57
  path: item.routeParam ? item.url + item.routeParam : item.url,
@@ -69,24 +59,11 @@ var AdminNavigationUtil = /** @class */ (function () {
69
59
  strict: false,
70
60
  }) !== null;
71
61
  };
72
- return AdminNavigationUtil.modules(navigationGroupItems, permissions, superAdminPermission).find(isMatched);
62
+ return modules.find(isMatched);
73
63
  };
74
64
  AdminNavigationUtil.canAccessModule = function (module, permissions, superAdminPermission) {
75
65
  return permissions.includes(superAdminPermission) || !module.featurePermissions || module.featurePermissions.some(function (_) { return permissions.includes(_); });
76
66
  };
77
- var _a, _b;
78
- __decorate([
79
- Memo(),
80
- __metadata("design:type", Function),
81
- __metadata("design:paramtypes", [Array, Array, typeof (_a = typeof Feature !== "undefined" && Feature) === "function" ? _a : Object, Boolean]),
82
- __metadata("design:returntype", Array)
83
- ], AdminNavigationUtil, "groups", null);
84
- __decorate([
85
- Memo(),
86
- __metadata("design:type", Function),
87
- __metadata("design:paramtypes", [Array, Array, typeof (_b = typeof Feature !== "undefined" && Feature) === "function" ? _b : Object]),
88
- __metadata("design:returntype", Array)
89
- ], AdminNavigationUtil, "modules", null);
90
67
  return AdminNavigationUtil;
91
68
  }());
92
69
  export { AdminNavigationUtil };
@@ -1 +1 @@
1
- {"version":3,"file":"AdminNavigationUtil.js","sourceRoot":"","sources":["../../src/util/AdminNavigationUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAoDtC;IAAA;IA2CA,CAAC;IAzCU,0BAAM,GAAN,UACH,oBAA2D,EAC3D,WAAsB,EACtB,oBAA6B,EAC7B,UAAmB;QAEnB,OAAO,oBAAoB;aACtB,GAAG,CAAC,UAAA,CAAC;YACF,IAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CACrC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,mBAAmB,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,oBAAoB,CAAC,EAA9J,CAA8J,CAC3K,CAAC;YACF,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,uBAAK,CAAC,KAAE,OAAO,EAAE,gBAAgB,IAAE,CAAC,CAAC,IAAI,CAAC;QAClF,CAAC,CAAC;aACD,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAD,CAAC,CAA+C,CAAC;IACtE,CAAC;IAGM,2BAAO,GAAP,UAAwB,oBAA2D,EAAE,WAAsB,EAAE,oBAA6B;QAC7I,IAAM,IAAI,GAAgD,EAAE,CAAC;QAC7D,mBAAmB,CAAC,MAAM,CAAC,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,IAAI,OAAT,IAAI,2BAAS,CAAC,CAAC,OAAO,YAAtB,CAAuB,CAAC,CAAC;QAChI,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,+BAAW,GAAlB,UACI,GAAW,EACX,oBAA2D,EAC3D,WAAsB,EACtB,oBAA6B;QAE7B,IAAM,SAAS,GAAG,UAAC,IAA0C;YACzD,OAAA,SAAS,CAAC,GAAG,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;gBAC7D,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,KAAK;aAChB,CAAC,KAAK,IAAI;QAJX,CAIW,CAAC;QAChB,OAAO,mBAAmB,CAAC,OAAO,CAAC,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChH,CAAC;IAEc,mCAAe,GAA9B,UAA+C,MAA4C,EAAE,WAAsB,EAAE,oBAA6B;QAC9I,OAAO,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC;IACpJ,CAAC;;IAxCM;QADN,IAAI,EAAE;;2EAImB,OAAO,oBAAP,OAAO;wCAE9B,KAAK;2CASP;IAGM;QADN,IAAI,EAAE;;2EACmI,OAAO,oBAAP,OAAO;wCAAG,KAAK;4CAIxJ;IAoBL,0BAAC;CAAA,AA3CD,IA2CC;SA3CY,mBAAmB"}
1
+ {"version":3,"file":"AdminNavigationUtil.js","sourceRoot":"","sources":["../../src/util/AdminNavigationUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAoD3C;IAAA;IAoCA,CAAC;IAnCU,0BAAM,GAAb,UACI,oBAAgE,EAChE,WAAsB,EACtB,oBAA6B,EAC7B,UAAmB;QAEnB,OAAO,oBAAoB;aACtB,GAAG,CAAC,UAAA,CAAC;YACF,IAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CACrC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,mBAAmB,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,oBAAoB,CAAC,EAA9J,CAA8J,CAC3K,CAAC;YACF,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,uBAAK,CAAC,KAAE,OAAO,EAAE,gBAAgB,IAAE,CAAC,CAAC,IAAI,CAAC;QAClF,CAAC,CAAC;aACD,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAD,CAAC,CAA+C,CAAC;IACtE,CAAC;IAEM,2BAAO,GAAd,UAA+B,oBAA2D;QACtF,IAAM,IAAI,GAAgD,EAAE,CAAC;QAC7D,oBAAoB,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,IAAI,OAAT,IAAI,2BAAS,CAAC,CAAC,OAAO,YAAtB,CAAuB,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,+BAAW,GAAlB,UAAmC,GAAW,EAAE,OAAoD;QAChG,IAAM,SAAS,GAAG,UAAC,IAA0C;YACzD,OAAA,SAAS,CAAC,GAAG,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;gBAC7D,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,KAAK;aAChB,CAAC,KAAK,IAAI;QAJX,CAIW,CAAC;QAChB,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEc,mCAAe,GAA9B,UAA+C,MAA4C,EAAE,WAAsB,EAAE,oBAA6B;QAC9I,OAAO,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC;IACpJ,CAAC;IACL,0BAAC;AAAD,CAAC,AApCD,IAoCC"}