@mu-cabin/opms-permission 0.8.22 → 0.8.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -148,7 +148,10 @@ function iterateNestedArray(items, callback) {
148
148
  return items2.map((item) => {
149
149
  const handledItem = callback(item, parent);
150
150
  if (handledItem && handledItem.children) {
151
- handledItem.children = travel(handledItem.children, handledItem);
151
+ handledItem.children = travel(
152
+ handledItem.children,
153
+ handledItem
154
+ );
152
155
  }
153
156
  return handledItem;
154
157
  }).filter((v) => v);
@@ -185,6 +188,22 @@ function findAllEnableTopLevelCodes(nodes) {
185
188
  findEnabledNodes(nodes);
186
189
  return codes;
187
190
  }
191
+ function findFirstEnableNode(data) {
192
+ if (!Array.isArray(data) || data.length === 0) {
193
+ return null;
194
+ }
195
+ let queue = [...data];
196
+ while (queue.length > 0) {
197
+ const node = queue.shift();
198
+ if (!node?.disabled) {
199
+ return node || null;
200
+ }
201
+ if (Array.isArray(node.children) && node.children.length > 0) {
202
+ queue = queue.concat(node.children);
203
+ }
204
+ }
205
+ return null;
206
+ }
188
207
 
189
208
  // src/api.ts
190
209
  var import_axios = __toESM(require("axios"));
@@ -314,7 +333,8 @@ var DataHandler = {
314
333
  },
315
334
  getFirstUnitOrgCode(orgTree) {
316
335
  return findFirstEnableCode(orgTree) ?? "";
317
- }
336
+ },
337
+ findFirstEnableNode
318
338
  };
319
339
  var Permission = class {
320
340
  constructor(options) {
package/dist/index.d.mts CHANGED
@@ -1,13 +1,3 @@
1
- interface OrgRecord$1 {
2
- orgId: number;
3
- orgName: string;
4
- orgShortName: string;
5
- orgCode: string;
6
- nodeLevel: number;
7
- hasPermission: boolean;
8
- children?: OrgRecord$1[];
9
- }
10
-
11
1
  interface Resource {
12
2
  resourceId: number;
13
3
  resourceCode: string;
@@ -68,7 +58,7 @@ interface ChildOrganization {
68
58
  orgShortName: string;
69
59
  orgType: string;
70
60
  }
71
- interface OrgRecord {
61
+ interface OrgRecord$1 {
72
62
  allOrgTags: boolean;
73
63
  allSystem: boolean;
74
64
  canModify: boolean;
@@ -91,6 +81,18 @@ interface OrgRecord {
91
81
  systemList: any[];
92
82
  }
93
83
 
84
+ declare function findFirstEnableNode(data: OrgTreeItem[]): OrgTreeItem | null;
85
+
86
+ interface OrgRecord {
87
+ orgId: number;
88
+ orgName: string;
89
+ orgShortName: string;
90
+ orgCode: string;
91
+ nodeLevel: number;
92
+ hasPermission: boolean;
93
+ children?: OrgRecord[];
94
+ }
95
+
94
96
  interface PermissionOptions {
95
97
  systemId: string;
96
98
  baseUrl: string;
@@ -99,7 +101,7 @@ interface PermissionOptions {
99
101
  * 组织树处理工具
100
102
  */
101
103
  declare const DataHandler: {
102
- iterateOrgTree(orgTree: OrgRecord$1[]): OrgTreeItem[];
104
+ iterateOrgTree(orgTree: OrgRecord[]): OrgTreeItem[];
103
105
  getAllUnitOptions(orgTree: OrgTreeItem[]): Option[];
104
106
  getCompaniesOptions(orgTree: OrgTreeItem[], hasRootAuth: boolean): Option[];
105
107
  topLevelUnitOrgCodes(orgTree: OrgTreeItem[]): string[];
@@ -118,6 +120,7 @@ declare const DataHandler: {
118
120
  };
119
121
  };
120
122
  getFirstUnitOrgCode(orgTree: OrgTreeItem[]): string;
123
+ findFirstEnableNode: typeof findFirstEnableNode;
121
124
  };
122
125
  declare class Permission {
123
126
  private _userInfo;
@@ -165,7 +168,7 @@ declare class Permission {
165
168
  * Query and process organization tree
166
169
  */
167
170
  queryUserOrgs(): Promise<any[] | null>;
168
- queryCompanies(): Promise<OrgRecord$1[]>;
171
+ queryCompanies(): Promise<OrgRecord[]>;
169
172
  isLogin(): boolean;
170
173
  getToken(): string | null;
171
174
  setToken(token: string): void;
@@ -203,4 +206,4 @@ declare function jumpToSSOLogout({ baseUrl, redirectToUrl, clientId, }: {
203
206
  clientId?: string;
204
207
  }): void;
205
208
 
206
- export { type ChildOrganization, DataHandler, type MenuItem, Permission as OpmsPermission, type Option, type OrgRecord, type OrgTreeItem, type Resource, type UserInfo, type UserOrganization, jumpToSSOLogin, jumpToSSOLogout };
209
+ export { type ChildOrganization, DataHandler, type MenuItem, Permission as OpmsPermission, type Option, type OrgRecord$1 as OrgRecord, type OrgTreeItem, type Resource, type UserInfo, type UserOrganization, jumpToSSOLogin, jumpToSSOLogout };
package/dist/index.d.ts CHANGED
@@ -1,13 +1,3 @@
1
- interface OrgRecord$1 {
2
- orgId: number;
3
- orgName: string;
4
- orgShortName: string;
5
- orgCode: string;
6
- nodeLevel: number;
7
- hasPermission: boolean;
8
- children?: OrgRecord$1[];
9
- }
10
-
11
1
  interface Resource {
12
2
  resourceId: number;
13
3
  resourceCode: string;
@@ -68,7 +58,7 @@ interface ChildOrganization {
68
58
  orgShortName: string;
69
59
  orgType: string;
70
60
  }
71
- interface OrgRecord {
61
+ interface OrgRecord$1 {
72
62
  allOrgTags: boolean;
73
63
  allSystem: boolean;
74
64
  canModify: boolean;
@@ -91,6 +81,18 @@ interface OrgRecord {
91
81
  systemList: any[];
92
82
  }
93
83
 
84
+ declare function findFirstEnableNode(data: OrgTreeItem[]): OrgTreeItem | null;
85
+
86
+ interface OrgRecord {
87
+ orgId: number;
88
+ orgName: string;
89
+ orgShortName: string;
90
+ orgCode: string;
91
+ nodeLevel: number;
92
+ hasPermission: boolean;
93
+ children?: OrgRecord[];
94
+ }
95
+
94
96
  interface PermissionOptions {
95
97
  systemId: string;
96
98
  baseUrl: string;
@@ -99,7 +101,7 @@ interface PermissionOptions {
99
101
  * 组织树处理工具
100
102
  */
101
103
  declare const DataHandler: {
102
- iterateOrgTree(orgTree: OrgRecord$1[]): OrgTreeItem[];
104
+ iterateOrgTree(orgTree: OrgRecord[]): OrgTreeItem[];
103
105
  getAllUnitOptions(orgTree: OrgTreeItem[]): Option[];
104
106
  getCompaniesOptions(orgTree: OrgTreeItem[], hasRootAuth: boolean): Option[];
105
107
  topLevelUnitOrgCodes(orgTree: OrgTreeItem[]): string[];
@@ -118,6 +120,7 @@ declare const DataHandler: {
118
120
  };
119
121
  };
120
122
  getFirstUnitOrgCode(orgTree: OrgTreeItem[]): string;
123
+ findFirstEnableNode: typeof findFirstEnableNode;
121
124
  };
122
125
  declare class Permission {
123
126
  private _userInfo;
@@ -165,7 +168,7 @@ declare class Permission {
165
168
  * Query and process organization tree
166
169
  */
167
170
  queryUserOrgs(): Promise<any[] | null>;
168
- queryCompanies(): Promise<OrgRecord$1[]>;
171
+ queryCompanies(): Promise<OrgRecord[]>;
169
172
  isLogin(): boolean;
170
173
  getToken(): string | null;
171
174
  setToken(token: string): void;
@@ -203,4 +206,4 @@ declare function jumpToSSOLogout({ baseUrl, redirectToUrl, clientId, }: {
203
206
  clientId?: string;
204
207
  }): void;
205
208
 
206
- export { type ChildOrganization, DataHandler, type MenuItem, Permission as OpmsPermission, type Option, type OrgRecord, type OrgTreeItem, type Resource, type UserInfo, type UserOrganization, jumpToSSOLogin, jumpToSSOLogout };
209
+ export { type ChildOrganization, DataHandler, type MenuItem, Permission as OpmsPermission, type Option, type OrgRecord$1 as OrgRecord, type OrgTreeItem, type Resource, type UserInfo, type UserOrganization, jumpToSSOLogin, jumpToSSOLogout };
package/dist/index.mjs CHANGED
@@ -109,7 +109,10 @@ function iterateNestedArray(items, callback) {
109
109
  return items2.map((item) => {
110
110
  const handledItem = callback(item, parent);
111
111
  if (handledItem && handledItem.children) {
112
- handledItem.children = travel(handledItem.children, handledItem);
112
+ handledItem.children = travel(
113
+ handledItem.children,
114
+ handledItem
115
+ );
113
116
  }
114
117
  return handledItem;
115
118
  }).filter((v) => v);
@@ -146,6 +149,22 @@ function findAllEnableTopLevelCodes(nodes) {
146
149
  findEnabledNodes(nodes);
147
150
  return codes;
148
151
  }
152
+ function findFirstEnableNode(data) {
153
+ if (!Array.isArray(data) || data.length === 0) {
154
+ return null;
155
+ }
156
+ let queue = [...data];
157
+ while (queue.length > 0) {
158
+ const node = queue.shift();
159
+ if (!node?.disabled) {
160
+ return node || null;
161
+ }
162
+ if (Array.isArray(node.children) && node.children.length > 0) {
163
+ queue = queue.concat(node.children);
164
+ }
165
+ }
166
+ return null;
167
+ }
149
168
 
150
169
  // src/api.ts
151
170
  import axios from "axios";
@@ -275,7 +294,8 @@ var DataHandler = {
275
294
  },
276
295
  getFirstUnitOrgCode(orgTree) {
277
296
  return findFirstEnableCode(orgTree) ?? "";
278
- }
297
+ },
298
+ findFirstEnableNode
279
299
  };
280
300
  var Permission = class {
281
301
  constructor(options) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mu-cabin/opms-permission",
3
- "version": "0.8.22",
3
+ "version": "0.8.24",
4
4
  "description": "Frontend SDK for OPMS permission and auth management.",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",