@mu-cabin/opms-permission 0.8.23 → 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
@@ -188,6 +188,22 @@ function findAllEnableTopLevelCodes(nodes) {
188
188
  findEnabledNodes(nodes);
189
189
  return codes;
190
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
+ }
191
207
 
192
208
  // src/api.ts
193
209
  var import_axios = __toESM(require("axios"));
@@ -317,7 +333,8 @@ var DataHandler = {
317
333
  },
318
334
  getFirstUnitOrgCode(orgTree) {
319
335
  return findFirstEnableCode(orgTree) ?? "";
320
- }
336
+ },
337
+ findFirstEnableNode
321
338
  };
322
339
  var Permission = class {
323
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
@@ -149,6 +149,22 @@ function findAllEnableTopLevelCodes(nodes) {
149
149
  findEnabledNodes(nodes);
150
150
  return codes;
151
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
+ }
152
168
 
153
169
  // src/api.ts
154
170
  import axios from "axios";
@@ -278,7 +294,8 @@ var DataHandler = {
278
294
  },
279
295
  getFirstUnitOrgCode(orgTree) {
280
296
  return findFirstEnableCode(orgTree) ?? "";
281
- }
297
+ },
298
+ findFirstEnableNode
282
299
  };
283
300
  var Permission = class {
284
301
  constructor(options) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mu-cabin/opms-permission",
3
- "version": "0.8.23",
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",