x-essential-lib 0.11.4 → 0.11.6

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.js CHANGED
@@ -1,5 +1,5 @@
1
1
  (function(){try{document.getElementById(`x-essential-lib`)?.remove();const e = document.createElement(`style`);e.setAttribute(`id`, `x-essential-lib`);const t = document.createTextNode(`.fade-leave-active[data-v-x-essential-lib-c3545c8d]{transition:opacity .5s}.fade-leave-to[data-v-x-essential-lib-c3545c8d]{opacity:0}.x-cont[data-v-x-essential-lib-c3545c8d]{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lds-spinner[data-v-x-essential-lib-c3545c8d]{color:official;width:40px;height:40px;display:inline-block;position:relative}.lds-spinner div[data-v-x-essential-lib-c3545c8d]{transform-origin:20px 20px;animation:1.2s linear infinite lds-spinner-x-essential-lib-c3545c8d}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:after{content:" ";background:#9e9e9e;border-radius:5%;width:2px;height:6px;display:block;position:absolute;top:3px;left:18px}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:first-child{animation-delay:-1.1s;transform:rotate(0)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(2){animation-delay:-1s;transform:rotate(30deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(3){animation-delay:-.9s;transform:rotate(60deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(4){animation-delay:-.8s;transform:rotate(90deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(5){animation-delay:-.7s;transform:rotate(120deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(6){animation-delay:-.6s;transform:rotate(150deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(7){animation-delay:-.5s;transform:rotate(180deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(8){animation-delay:-.4s;transform:rotate(210deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(9){animation-delay:-.3s;transform:rotate(240deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(10){animation-delay:-.2s;transform:rotate(270deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(11){animation-delay:-.1s;transform:rotate(300deg)}.lds-spinner div[data-v-x-essential-lib-c3545c8d]:nth-child(12){animation-delay:0s;transform:rotate(330deg)}@keyframes lds-spinner-x-essential-lib-c3545c8d{0%{opacity:1}to{opacity:0}}.x-item[data-v-x-essential-lib-cfcda9d9]{width:600px}@media (width<=600px){.x-item[data-v-x-essential-lib-cfcda9d9]{width:calc(100vw - 16px)}}.x-cont[data-v-x-essential-lib-b973907d]{z-index:9999;position:fixed;bottom:50px;left:50%;transform:translate(-50%)}`);e.appendChild(t);document.head.appendChild(e);}catch(e){console.error('rolldown-plugin-inject-css', e);}})()
2
- import { a as email$1, c as mitt_default, i as custom, l as usePreferredDark, o as string, r as toLower, s as api } from "./vendor.go3lw3gz.js";
2
+ import { a as email$1, c as mitt_default, i as custom, l as usePreferredDark, o as string, r as toLower, s as api } from "./vendor.jfvj7vh6.js";
3
3
  import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, inject, isRef, normalizeStyle, onBeforeMount, onBeforeUnmount, onMounted, openBlock, provide, ref, renderList, resolveComponent, toDisplayString, unref, useTemplateRef, watch, watchEffect, withCtx, withKeys, withModifiers } from "vue";
4
4
  import { useI18n } from "vue-i18n";
5
5
  import { useDisplay, useTheme } from "vuetify";
@@ -36,7 +36,7 @@ function useColor() {
36
36
  }
37
37
 
38
38
  //#endregion
39
- //#region src/utils/misc.ts
39
+ //#region src/logic/basic/global.ts
40
40
  const globalObjects = (function() {
41
41
  if (!window.globalObjects) {
42
42
  window.globalObjects = {
@@ -54,6 +54,40 @@ const eventBus = (function() {
54
54
  }
55
55
  return window.eventBus;
56
56
  })();
57
+
58
+ //#endregion
59
+ //#region src/logic/basic/type.ts
60
+ const types = [
61
+ "string",
62
+ "number",
63
+ "boolean",
64
+ "array",
65
+ "object",
66
+ "any"
67
+ ];
68
+ function getTypeColor(type) {
69
+ switch (type) {
70
+ case "string": return "#5ba58c";
71
+ case "number": return "#5b67a5";
72
+ case "boolean": return "#5b80a5";
73
+ case "array": return "#745ba5";
74
+ case "object": return "#80a55b";
75
+ case "any": return "#9e9e9e";
76
+ }
77
+ }
78
+ function getTypeDefault(type) {
79
+ switch (type) {
80
+ case "string": return "";
81
+ case "number": return 0;
82
+ case "boolean": return false;
83
+ case "array": return [];
84
+ case "object": return {};
85
+ case "any": return null;
86
+ }
87
+ }
88
+
89
+ //#endregion
90
+ //#region src/logic/basic/utils.ts
57
91
  async function waitMs(ms) {
58
92
  return new Promise((resolve) => {
59
93
  setTimeout(resolve, ms);
@@ -70,20 +104,9 @@ async function waitUtil(conditionFunc, timeout, interval) {
70
104
  check();
71
105
  });
72
106
  }
73
- function appAppear(name, diff) {
74
- const appElement = document.getElementById("single-spa-application:" + name);
75
- if (!appElement) return;
76
- appElement.classList.remove("app-fade", "app-left", "app-right", "app-reset");
77
- if (diff === 0) return;
78
- if (diff > 0) appElement.classList.add("app-left");
79
- else appElement.classList.add("app-right");
80
- setTimeout(() => {
81
- appElement.classList.add("app-reset");
82
- }, 50);
83
- }
84
107
 
85
108
  //#endregion
86
- //#region src/utils/axios/error.ts
109
+ //#region src/logic/axios/error.ts
87
110
  function transformError(error) {
88
111
  const result = {
89
112
  main: "",
@@ -101,13 +124,13 @@ function transformError(error) {
101
124
  }
102
125
  function getErrorMessage(error) {
103
126
  const { i18n } = globalObjects;
104
- if (typeof error !== "string") return i18n.global.t("x-essential-lib.err.network error", error);
127
+ if (typeof error !== "string") return i18n.global.t("x-error-lib.err.network error", error);
105
128
  const err = transformError(error);
106
- let msg = i18n.global.t(`x-essential-lib.err.${err.main}`);
129
+ let msg = i18n.global.t(`x-error-lib.err.${err.main}`);
107
130
  let extras = "";
108
131
  for (const key in err.extras) {
109
132
  const value = err.extras[key];
110
- const str = i18n.global.t(`x-essential-lib.obj.${key}=${value}`);
133
+ const str = i18n.global.t(`x-error-lib.obj.${key}=${value}`);
111
134
  if (extras !== "") extras += ", ";
112
135
  extras += str;
113
136
  }
@@ -119,7 +142,7 @@ function getErrorMessage(error) {
119
142
  }
120
143
 
121
144
  //#endregion
122
- //#region src/utils/axios/instance.ts
145
+ //#region src/logic/axios/instance.ts
123
146
  function createAxios(options) {
124
147
  const instance = axios.create({ timeout: 6e3 });
125
148
  instance.defaults.baseURL = options.baseUrl;
@@ -140,1427 +163,73 @@ function onReqFulfilled(config) {
140
163
  config.headers["Authorization"] = "Basic " + token;
141
164
  config.headers["Content-Type"] = "application/json";
142
165
  config.data = JSON.stringify(config.data);
143
- return config;
144
- }
145
- function onReqRejected(error, onError) {
146
- console.error(error);
147
- onError("request timeout");
148
- }
149
- function onRespFullfilled(resp) {
150
- return resp.data;
151
- }
152
- function onRespRejected(error, onError) {
153
- const resp = error.response;
154
- if (!resp) return Promise.reject(error);
155
- if (resp.status === 401) onUnauthorized();
156
- const msg = resp.data?.message;
157
- if (msg) {
158
- onError(msg);
159
- return Promise.reject(msg);
160
- } else {
161
- const obj = {
162
- code: resp.status,
163
- message: resp.statusText
164
- };
165
- onError(obj);
166
- return Promise.reject(obj);
167
- }
168
- }
169
- function onUnauthorized() {
170
- const { router } = globalObjects;
171
- api.remove("accessToken");
172
- api.remove("refreshToken");
173
- router.replace({ path: `/passport/login` });
174
- }
175
-
176
- //#endregion
177
- //#region src/utils/permission/category.ts
178
- const funcPlaneCategories = [
179
- "app",
180
- "compute",
181
- "data",
182
- "resource",
183
- "org"
184
- ];
185
- const dataPlaneCategories = ["filter"];
186
- const permissionCategories = [...funcPlaneCategories, ...dataPlaneCategories];
187
- function getCategoryPlane(category) {
188
- if (funcPlaneCategories.find((entry) => entry === category) !== void 0) return "func";
189
- if (dataPlaneCategories.find((entry) => entry === category) !== void 0) return "data";
190
- }
191
-
192
- //#endregion
193
- //#region src/pb/orgbase/v1/permission.ts
194
- let Permission = /* @__PURE__ */ function(Permission) {
195
- Permission["unknown_permission"] = "unknown_permission";
196
- Permission["list_app_group"] = "list_app_group";
197
- Permission["create_app_group"] = "create_app_group";
198
- Permission["delete_app_group"] = "delete_app_group";
199
- Permission["update_app_group"] = "update_app_group";
200
- Permission["arrange_app_group"] = "arrange_app_group";
201
- Permission["list_app"] = "list_app";
202
- Permission["get_app"] = "get_app";
203
- Permission["create_app"] = "create_app";
204
- Permission["delete_app"] = "delete_app";
205
- Permission["update_app"] = "update_app";
206
- Permission["list_app_release"] = "list_app_release";
207
- Permission["get_app_release"] = "get_app_release";
208
- Permission["create_app_release"] = "create_app_release";
209
- Permission["delete_app_release"] = "delete_app_release";
210
- Permission["deploy_app_release"] = "deploy_app_release";
211
- Permission["open_app_layer"] = "open_app_layer";
212
- Permission["open_app"] = "open_app";
213
- Permission["list_compute_space"] = "list_compute_space";
214
- Permission["get_compute_space"] = "get_compute_space";
215
- Permission["create_compute_space"] = "create_compute_space";
216
- Permission["delete_compute_space"] = "delete_compute_space";
217
- Permission["update_compute_space"] = "update_compute_space";
218
- Permission["arrange_compute_space"] = "arrange_compute_space";
219
- Permission["list_func_group"] = "list_func_group";
220
- Permission["create_func_group"] = "create_func_group";
221
- Permission["delete_func_group"] = "delete_func_group";
222
- Permission["update_func_group"] = "update_func_group";
223
- Permission["arrange_func_group"] = "arrange_func_group";
224
- Permission["list_func"] = "list_func";
225
- Permission["get_func"] = "get_func";
226
- Permission["create_func"] = "create_func";
227
- Permission["delete_func"] = "delete_func";
228
- Permission["update_func"] = "update_func";
229
- Permission["debug_func"] = "debug_func";
230
- Permission["call_func"] = "call_func";
231
- Permission["list_func_release"] = "list_func_release";
232
- Permission["get_func_release"] = "get_func_release";
233
- Permission["create_func_release"] = "create_func_release";
234
- Permission["delete_func_release"] = "delete_func_release";
235
- Permission["deploy_func_release"] = "deploy_func_release";
236
- Permission["list_flow_group"] = "list_flow_group";
237
- Permission["create_flow_group"] = "create_flow_group";
238
- Permission["delete_flow_group"] = "delete_flow_group";
239
- Permission["update_flow_group"] = "update_flow_group";
240
- Permission["arrange_flow_group"] = "arrange_flow_group";
241
- Permission["list_flow"] = "list_flow";
242
- Permission["get_flow"] = "get_flow";
243
- Permission["create_flow"] = "create_flow";
244
- Permission["delete_flow"] = "delete_flow";
245
- Permission["update_flow"] = "update_flow";
246
- Permission["debug_flow"] = "debug_flow";
247
- Permission["call_flow"] = "call_flow";
248
- Permission["list_flow_release"] = "list_flow_release";
249
- Permission["get_flow_release"] = "get_flow_release";
250
- Permission["create_flow_release"] = "create_flow_release";
251
- Permission["delete_flow_release"] = "delete_flow_release";
252
- Permission["deploy_flow_release"] = "deploy_flow_release";
253
- Permission["list_task_group"] = "list_task_group";
254
- Permission["create_task_group"] = "create_task_group";
255
- Permission["delete_task_group"] = "delete_task_group";
256
- Permission["update_task_group"] = "update_task_group";
257
- Permission["arrange_task_group"] = "arrange_task_group";
258
- Permission["list_task"] = "list_task";
259
- Permission["create_task"] = "create_task";
260
- Permission["delete_task"] = "delete_task";
261
- Permission["update_task"] = "update_task";
262
- Permission["open_compute_layer"] = "open_compute_layer";
263
- Permission["open_task"] = "open_task";
264
- Permission["list_data_space"] = "list_data_space";
265
- Permission["get_data_space"] = "get_data_space";
266
- Permission["create_data_space"] = "create_data_space";
267
- Permission["delete_data_space"] = "delete_data_space";
268
- Permission["update_data_space"] = "update_data_space";
269
- Permission["arrange_data_space"] = "arrange_data_space";
270
- Permission["list_table_group"] = "list_table_group";
271
- Permission["create_table_group"] = "create_table_group";
272
- Permission["delete_table_group"] = "delete_table_group";
273
- Permission["update_table_group"] = "update_table_group";
274
- Permission["arrange_table_group"] = "arrange_table_group";
275
- Permission["list_table"] = "list_table";
276
- Permission["get_table"] = "get_table";
277
- Permission["create_table"] = "create_table";
278
- Permission["delete_table"] = "delete_table";
279
- Permission["update_table"] = "update_table";
280
- Permission["get_data"] = "get_data";
281
- Permission["create_data"] = "create_data";
282
- Permission["delete_data"] = "delete_data";
283
- Permission["update_data"] = "update_data";
284
- Permission["get_relation_graph"] = "get_relation_graph";
285
- Permission["update_relation_graph"] = "update_relation_graph";
286
- Permission["list_change"] = "list_change";
287
- Permission["apply_change"] = "apply_change";
288
- Permission["open_data_layer"] = "open_data_layer";
289
- Permission["list_resource_space"] = "list_resource_space";
290
- Permission["get_resource_space"] = "get_resource_space";
291
- Permission["create_resource_space"] = "create_resource_space";
292
- Permission["delete_resource_space"] = "delete_resource_space";
293
- Permission["update_resource_space"] = "update_resource_space";
294
- Permission["arrange_resource_space"] = "arrange_resource_space";
295
- Permission["list_dir"] = "list_dir";
296
- Permission["create_dir"] = "create_dir";
297
- Permission["delete_dir"] = "delete_dir";
298
- Permission["update_dir"] = "update_dir";
299
- Permission["move_dir"] = "move_dir";
300
- Permission["list_resource"] = "list_resource";
301
- Permission["get_resource"] = "get_resource";
302
- Permission["create_resource"] = "create_resource";
303
- Permission["delete_resource"] = "delete_resource";
304
- Permission["update_resource"] = "update_resource";
305
- Permission["move_resource"] = "move_resource";
306
- Permission["list_resource_release"] = "list_resource_release";
307
- Permission["get_resource_release"] = "get_resource_release";
308
- Permission["create_resource_release"] = "create_resource_release";
309
- Permission["delete_resource_release"] = "delete_resource_release";
310
- Permission["deploy_resource_release"] = "deploy_resource_release";
311
- Permission["open_resource_layer"] = "open_resource_layer";
312
- Permission["list_org_member"] = "list_org_member";
313
- Permission["add_org_member"] = "add_org_member";
314
- Permission["remove_org_member"] = "remove_org_member";
315
- Permission["update_org_member"] = "update_org_member";
316
- Permission["list_org_role_group"] = "list_org_role_group";
317
- Permission["create_org_role_group"] = "create_org_role_group";
318
- Permission["delete_org_role_group"] = "delete_org_role_group";
319
- Permission["update_org_role_group"] = "update_org_role_group";
320
- Permission["arrange_org_role_group"] = "arrange_org_role_group";
321
- Permission["list_org_role"] = "list_org_role";
322
- Permission["get_org_role"] = "get_org_role";
323
- Permission["create_org_role"] = "create_org_role";
324
- Permission["delete_org_role"] = "delete_org_role";
325
- Permission["update_org_role"] = "update_org_role";
326
- Permission["get_org_structure"] = "get_org_structure";
327
- Permission["update_org_structure"] = "update_org_structure";
328
- /** filter_table - 实例:空间/表 */
329
- Permission["filter_table"] = "filter_table";
330
- Permission["UNRECOGNIZED"] = "UNRECOGNIZED";
331
- return Permission;
332
- }({});
333
-
334
- //#endregion
335
- //#region src/utils/permission/types.ts
336
- const planes = ["func", "data"];
337
- const categories = [
338
- "app",
339
- "compute",
340
- "data",
341
- "resource",
342
- "org",
343
- "filter"
344
- ];
345
- const groups = [
346
- "space",
347
- "misc",
348
- "appGroup",
349
- "app",
350
- "appRelease",
351
- "funcGroup",
352
- "func",
353
- "funcRelease",
354
- "flowGroup",
355
- "flow",
356
- "flowRelease",
357
- "taskGroup",
358
- "task",
359
- "tableGroup",
360
- "table",
361
- "data",
362
- "relationGraph",
363
- "change",
364
- "dir",
365
- "resource",
366
- "member",
367
- "role",
368
- "structure"
369
- ];
370
- const layers = [
371
- "env",
372
- "space",
373
- "app",
374
- "func",
375
- "flow",
376
- "task",
377
- "table",
378
- "resource"
379
- ];
380
-
381
- //#endregion
382
- //#region src/utils/permission/meta.ts
383
- const appPermissionMetas = [
384
- {
385
- permission: "list_app_group",
386
- group: "appGroup",
387
- layers: []
388
- },
389
- {
390
- permission: "create_app_group",
391
- group: "appGroup",
392
- layers: []
393
- },
394
- {
395
- permission: "delete_app_group",
396
- group: "appGroup",
397
- layers: []
398
- },
399
- {
400
- permission: "update_app_group",
401
- group: "appGroup",
402
- layers: []
403
- },
404
- {
405
- permission: "arrange_app_group",
406
- group: "appGroup",
407
- layers: []
408
- },
409
- {
410
- permission: "list_app",
411
- group: "app",
412
- layers: []
413
- },
414
- {
415
- permission: "get_app",
416
- group: "app",
417
- layers: ["app"]
418
- },
419
- {
420
- permission: "create_app",
421
- group: "app",
422
- layers: []
423
- },
424
- {
425
- permission: "delete_app",
426
- group: "app",
427
- layers: ["app"]
428
- },
429
- {
430
- permission: "update_app",
431
- group: "app",
432
- layers: ["app"]
433
- },
434
- {
435
- permission: "list_app_release",
436
- group: "appRelease",
437
- layers: ["app"]
438
- },
439
- {
440
- permission: "get_app_release",
441
- group: "appRelease",
442
- layers: ["app"]
443
- },
444
- {
445
- permission: "create_app_release",
446
- group: "appRelease",
447
- layers: ["app"]
448
- },
449
- {
450
- permission: "delete_app_release",
451
- group: "appRelease",
452
- layers: ["app"]
453
- },
454
- {
455
- permission: "deploy_app_release",
456
- group: "appRelease",
457
- layers: ["env", "app"]
458
- },
459
- {
460
- permission: "open_app_layer",
461
- group: "misc",
462
- layers: []
463
- },
464
- {
465
- permission: "open_app",
466
- group: "misc",
467
- layers: ["env", "app"]
468
- }
469
- ];
470
- const computePermissionMetas = [
471
- {
472
- permission: "list_compute_space",
473
- group: "space",
474
- layers: []
475
- },
476
- {
477
- permission: "get_compute_space",
478
- group: "space",
479
- layers: []
480
- },
481
- {
482
- permission: "create_compute_space",
483
- group: "space",
484
- layers: []
485
- },
486
- {
487
- permission: "delete_compute_space",
488
- group: "space",
489
- layers: ["space"]
490
- },
491
- {
492
- permission: "update_compute_space",
493
- group: "space",
494
- layers: ["space"]
495
- },
496
- {
497
- permission: "arrange_compute_space",
498
- group: "space",
499
- layers: []
500
- },
501
- {
502
- permission: "list_func_group",
503
- group: "funcGroup",
504
- layers: ["space"]
505
- },
506
- {
507
- permission: "create_func_group",
508
- group: "funcGroup",
509
- layers: ["space"]
510
- },
511
- {
512
- permission: "delete_func_group",
513
- group: "funcGroup",
514
- layers: ["space"]
515
- },
516
- {
517
- permission: "update_func_group",
518
- group: "funcGroup",
519
- layers: ["space"]
520
- },
521
- {
522
- permission: "arrange_func_group",
523
- group: "funcGroup",
524
- layers: ["space"]
525
- },
526
- {
527
- permission: "list_func",
528
- group: "func",
529
- layers: ["space"]
530
- },
531
- {
532
- permission: "get_func",
533
- group: "func",
534
- layers: ["space", "func"]
535
- },
536
- {
537
- permission: "create_func",
538
- group: "func",
539
- layers: ["space"]
540
- },
541
- {
542
- permission: "delete_func",
543
- group: "func",
544
- layers: ["space", "func"]
545
- },
546
- {
547
- permission: "update_func",
548
- group: "func",
549
- layers: ["space", "func"]
550
- },
551
- {
552
- permission: "debug_func",
553
- group: "func",
554
- layers: ["space", "func"]
555
- },
556
- {
557
- permission: "call_func",
558
- group: "func",
559
- layers: [
560
- "env",
561
- "space",
562
- "func"
563
- ]
564
- },
565
- {
566
- permission: "list_func_release",
567
- group: "funcRelease",
568
- layers: ["space", "func"]
569
- },
570
- {
571
- permission: "get_func_release",
572
- group: "funcRelease",
573
- layers: ["space", "func"]
574
- },
575
- {
576
- permission: "create_func_release",
577
- group: "funcRelease",
578
- layers: ["space", "func"]
579
- },
580
- {
581
- permission: "delete_func_release",
582
- group: "funcRelease",
583
- layers: ["space", "func"]
584
- },
585
- {
586
- permission: "deploy_func_release",
587
- group: "funcRelease",
588
- layers: [
589
- "env",
590
- "space",
591
- "func"
592
- ]
593
- },
594
- {
595
- permission: "list_flow_group",
596
- group: "flowGroup",
597
- layers: ["space"]
598
- },
599
- {
600
- permission: "create_flow_group",
601
- group: "flowGroup",
602
- layers: ["space"]
603
- },
604
- {
605
- permission: "delete_flow_group",
606
- group: "flowGroup",
607
- layers: ["space"]
608
- },
609
- {
610
- permission: "update_flow_group",
611
- group: "flowGroup",
612
- layers: ["space"]
613
- },
614
- {
615
- permission: "arrange_flow_group",
616
- group: "flowGroup",
617
- layers: ["space"]
618
- },
619
- {
620
- permission: "list_flow",
621
- group: "flow",
622
- layers: ["space"]
623
- },
624
- {
625
- permission: "get_flow",
626
- group: "flow",
627
- layers: ["space", "flow"]
628
- },
629
- {
630
- permission: "create_flow",
631
- group: "flow",
632
- layers: ["space"]
633
- },
634
- {
635
- permission: "delete_flow",
636
- group: "flow",
637
- layers: ["space", "flow"]
638
- },
639
- {
640
- permission: "update_flow",
641
- group: "flow",
642
- layers: ["space", "flow"]
643
- },
644
- {
645
- permission: "debug_flow",
646
- group: "flow",
647
- layers: ["space", "flow"]
648
- },
649
- {
650
- permission: "call_flow",
651
- group: "flow",
652
- layers: [
653
- "env",
654
- "space",
655
- "flow"
656
- ]
657
- },
658
- {
659
- permission: "list_flow_release",
660
- group: "flowRelease",
661
- layers: ["space", "flow"]
662
- },
663
- {
664
- permission: "get_flow_release",
665
- group: "flowRelease",
666
- layers: ["space", "flow"]
667
- },
668
- {
669
- permission: "create_flow_release",
670
- group: "flowRelease",
671
- layers: ["space", "flow"]
672
- },
673
- {
674
- permission: "delete_flow_release",
675
- group: "flowRelease",
676
- layers: ["space", "flow"]
677
- },
678
- {
679
- permission: "deploy_flow_release",
680
- group: "flowRelease",
681
- layers: [
682
- "env",
683
- "space",
684
- "flow"
685
- ]
686
- },
687
- {
688
- permission: "list_task_group",
689
- group: "taskGroup",
690
- layers: []
691
- },
692
- {
693
- permission: "create_task_group",
694
- group: "taskGroup",
695
- layers: []
696
- },
697
- {
698
- permission: "delete_task_group",
699
- group: "taskGroup",
700
- layers: []
701
- },
702
- {
703
- permission: "update_task_group",
704
- group: "taskGroup",
705
- layers: []
706
- },
707
- {
708
- permission: "arrange_task_group",
709
- group: "taskGroup",
710
- layers: []
711
- },
712
- {
713
- permission: "list_task",
714
- group: "task",
715
- layers: []
716
- },
717
- {
718
- permission: "create_task",
719
- group: "task",
720
- layers: []
721
- },
722
- {
723
- permission: "delete_task",
724
- group: "task",
725
- layers: []
726
- },
727
- {
728
- permission: "update_task",
729
- group: "task",
730
- layers: []
731
- },
732
- {
733
- permission: "open_compute_layer",
734
- group: "misc",
735
- layers: []
736
- }
737
- ];
738
- const dataPermissionMetas = [
739
- {
740
- permission: "list_data_space",
741
- group: "space",
742
- layers: ["env"]
743
- },
744
- {
745
- permission: "get_data_space",
746
- group: "space",
747
- layers: ["env", "space"]
748
- },
749
- {
750
- permission: "create_data_space",
751
- group: "space",
752
- layers: ["env"]
753
- },
754
- {
755
- permission: "delete_data_space",
756
- group: "space",
757
- layers: ["env", "space"]
758
- },
759
- {
760
- permission: "update_data_space",
761
- group: "space",
762
- layers: ["env", "space"]
763
- },
764
- {
765
- permission: "arrange_data_space",
766
- group: "space",
767
- layers: ["env"]
768
- },
769
- {
770
- permission: "list_table_group",
771
- group: "tableGroup",
772
- layers: ["env", "space"]
773
- },
774
- {
775
- permission: "create_table_group",
776
- group: "tableGroup",
777
- layers: ["env", "space"]
778
- },
779
- {
780
- permission: "delete_table_group",
781
- group: "tableGroup",
782
- layers: ["env", "space"]
783
- },
784
- {
785
- permission: "update_table_group",
786
- group: "tableGroup",
787
- layers: ["env", "space"]
788
- },
789
- {
790
- permission: "arrange_table_group",
791
- group: "tableGroup",
792
- layers: ["env", "space"]
793
- },
794
- {
795
- permission: "list_table",
796
- group: "table",
797
- layers: ["env", "space"]
798
- },
799
- {
800
- permission: "get_table",
801
- group: "table",
802
- layers: [
803
- "env",
804
- "space",
805
- "table"
806
- ]
807
- },
808
- {
809
- permission: "create_table",
810
- group: "table",
811
- layers: ["env", "space"]
812
- },
813
- {
814
- permission: "delete_table",
815
- group: "table",
816
- layers: [
817
- "env",
818
- "space",
819
- "table"
820
- ]
821
- },
822
- {
823
- permission: "update_table",
824
- group: "table",
825
- layers: [
826
- "env",
827
- "space",
828
- "table"
829
- ]
830
- },
831
- {
832
- permission: "get_data",
833
- group: "data",
834
- layers: [
835
- "env",
836
- "space",
837
- "table"
838
- ]
839
- },
840
- {
841
- permission: "create_data",
842
- group: "data",
843
- layers: [
844
- "env",
845
- "space",
846
- "table"
847
- ]
848
- },
849
- {
850
- permission: "delete_data",
851
- group: "data",
852
- layers: [
853
- "env",
854
- "space",
855
- "table"
856
- ]
857
- },
858
- {
859
- permission: "update_data",
860
- group: "data",
861
- layers: [
862
- "env",
863
- "space",
864
- "table"
865
- ]
866
- },
867
- {
868
- permission: "get_relation_graph",
869
- group: "relationGraph",
870
- layers: ["env"]
871
- },
872
- {
873
- permission: "update_relation_graph",
874
- group: "relationGraph",
875
- layers: ["env"]
876
- },
877
- {
878
- permission: "list_change",
879
- group: "change",
880
- layers: ["env"]
881
- },
882
- {
883
- permission: "apply_change",
884
- group: "change",
885
- layers: ["env"]
886
- },
887
- {
888
- permission: "open_data_layer",
889
- group: "misc",
890
- layers: []
891
- }
892
- ];
893
- const resourcePermissionMetas = [
894
- {
895
- permission: "list_resource_space",
896
- group: "space",
897
- layers: []
898
- },
899
- {
900
- permission: "get_resource_space",
901
- group: "space",
902
- layers: ["space"]
903
- },
904
- {
905
- permission: "create_resource_space",
906
- group: "space",
907
- layers: []
908
- },
909
- {
910
- permission: "delete_resource_space",
911
- group: "space",
912
- layers: ["space"]
913
- },
914
- {
915
- permission: "update_resource_space",
916
- group: "space",
917
- layers: ["space"]
918
- },
919
- {
920
- permission: "arrange_resource_space",
921
- group: "space",
922
- layers: []
923
- },
924
- {
925
- permission: "list_dir",
926
- group: "dir",
927
- layers: ["space"]
928
- },
929
- {
930
- permission: "create_dir",
931
- group: "dir",
932
- layers: ["space"]
933
- },
934
- {
935
- permission: "delete_dir",
936
- group: "dir",
937
- layers: ["space"]
938
- },
939
- {
940
- permission: "update_dir",
941
- group: "dir",
942
- layers: ["space"]
943
- },
944
- {
945
- permission: "move_dir",
946
- group: "dir",
947
- layers: ["space"]
948
- },
949
- {
950
- permission: "list_resource",
951
- group: "resource",
952
- layers: ["space"]
953
- },
954
- {
955
- permission: "get_resource",
956
- group: "resource",
957
- layers: ["space"]
958
- },
959
- {
960
- permission: "create_resource",
961
- group: "resource",
962
- layers: ["space"]
963
- },
964
- {
965
- permission: "delete_resource",
966
- group: "resource",
967
- layers: ["space"]
968
- },
969
- {
970
- permission: "update_resource",
971
- group: "resource",
972
- layers: ["space"]
973
- },
974
- {
975
- permission: "move_resource",
976
- group: "resource",
977
- layers: ["space"]
978
- },
979
- {
980
- permission: "open_resource_layer",
981
- group: "misc",
982
- layers: []
983
- }
984
- ];
985
- const orgPermissionMetas = [
986
- {
987
- permission: "list_org_member",
988
- group: "member",
989
- layers: []
990
- },
991
- {
992
- permission: "add_org_member",
993
- group: "member",
994
- layers: []
995
- },
996
- {
997
- permission: "remove_org_member",
998
- group: "member",
999
- layers: []
1000
- },
1001
- {
1002
- permission: "update_org_member",
1003
- group: "member",
1004
- layers: []
1005
- },
1006
- {
1007
- permission: "create_org_role_group",
1008
- group: "role",
1009
- layers: []
1010
- },
1011
- {
1012
- permission: "delete_org_role_group",
1013
- group: "role",
1014
- layers: []
1015
- },
1016
- {
1017
- permission: "update_org_role_group",
1018
- group: "role",
1019
- layers: []
1020
- },
1021
- {
1022
- permission: "arrange_app_group",
1023
- group: "role",
1024
- layers: []
1025
- },
1026
- {
1027
- permission: "list_org_role_group",
1028
- group: "role",
1029
- layers: []
1030
- },
1031
- {
1032
- permission: "list_org_role",
1033
- group: "role",
1034
- layers: []
1035
- },
1036
- {
1037
- permission: "get_org_role",
1038
- group: "role",
1039
- layers: []
1040
- },
1041
- {
1042
- permission: "create_org_role",
1043
- group: "role",
1044
- layers: []
1045
- },
1046
- {
1047
- permission: "delete_org_role",
1048
- group: "role",
1049
- layers: []
1050
- },
1051
- {
1052
- permission: "update_org_role",
1053
- group: "role",
1054
- layers: []
1055
- },
1056
- {
1057
- permission: "get_org_structure",
1058
- group: "structure",
1059
- layers: []
1060
- },
1061
- {
1062
- permission: "update_org_structure",
1063
- group: "structure",
1064
- layers: []
1065
- }
1066
- ];
1067
- const filterPermissionMetas = [{
1068
- permission: "filter_table",
1069
- group: "table",
1070
- layers: []
1071
- }];
1072
- const allPermissionMetas = [
1073
- ...appPermissionMetas,
1074
- ...computePermissionMetas,
1075
- ...dataPermissionMetas,
1076
- ...resourcePermissionMetas,
1077
- ...orgPermissionMetas,
1078
- ...filterPermissionMetas
1079
- ];
1080
- function getCategoryPermissionMetas(category) {
1081
- switch (category) {
1082
- case "app": return appPermissionMetas;
1083
- case "compute": return computePermissionMetas;
1084
- case "data": return dataPermissionMetas;
1085
- case "resource": return resourcePermissionMetas;
1086
- case "org": return orgPermissionMetas;
1087
- case "filter": return filterPermissionMetas;
1088
- default: return [];
1089
- }
1090
- }
1091
- function getPermissionMeta(permission) {
1092
- return allPermissionMetas.find((entry) => entry.permission === permission);
1093
- }
1094
-
1095
- //#endregion
1096
- //#region src/api/appbase/instance.ts
1097
- const instance$4 = createAxios({
1098
- baseUrl: "http://localhost/appbase/",
1099
- onError: (error) => {
1100
- messageError(getErrorMessage(error));
1101
- }
1102
- });
1103
- if (window.API_URL) instance$4.defaults.baseURL = window.API_URL + "/appbase/";
1104
-
1105
- //#endregion
1106
- //#region src/api/appbase/index.ts
1107
- function GetAppList(request) {
1108
- return instance$4.post("getAppList", request);
1109
- }
1110
-
1111
- //#endregion
1112
- //#region src/api/computebase/instance.ts
1113
- const instance$3 = createAxios({
1114
- baseUrl: "http://localhost/computebase/",
1115
- onError: (error) => {
1116
- messageError(getErrorMessage(error));
1117
- }
1118
- });
1119
- if (window.API_URL) instance$3.defaults.baseURL = window.API_URL + "/computebase/";
1120
-
1121
- //#endregion
1122
- //#region src/api/computebase/index.ts
1123
- function GetComputeSpaceList(request) {
1124
- return instance$3.post("getSpaceList", request);
1125
- }
1126
- function GetFuncGroupList(request) {
1127
- return instance$3.post("getFuncGroupList", request);
1128
- }
1129
- function GetFuncList(request) {
1130
- return instance$3.post("getFuncList", request);
1131
- }
1132
- function GetFlowGroupList(request) {
1133
- return instance$3.post("getFlowGroupList", request);
1134
- }
1135
- function GetFlowList(request) {
1136
- return instance$3.post("getFlowList", request);
1137
- }
1138
-
1139
- //#endregion
1140
- //#region src/api/data/instance.ts
1141
- const instance$2 = createAxios({
1142
- baseUrl: "http://localhost/data/",
1143
- onError: (error) => {
1144
- messageError(getErrorMessage(error));
1145
- }
1146
- });
1147
- if (window.API_URL) instance$2.defaults.baseURL = window.API_URL + "/data/";
1148
-
1149
- //#endregion
1150
- //#region src/api/data/index.ts
1151
- function GetDataSpaceList(request) {
1152
- return instance$2.post("getSpaceList", request);
1153
- }
1154
- function GetTableGroupList(request) {
1155
- return instance$2.post("getTableGroupList", request);
1156
- }
1157
- function GetTableList(request) {
1158
- return instance$2.post("getTableList", request);
1159
- }
1160
-
1161
- //#endregion
1162
- //#region src/api/resource/instance.ts
1163
- const instance$1 = createAxios({
1164
- baseUrl: "http://localhost/resource/",
1165
- onError: (error) => {
1166
- messageError(getErrorMessage(error));
1167
- }
1168
- });
1169
- if (window.API_URL) instance$1.defaults.baseURL = window.API_URL + "/resource/";
1170
-
1171
- //#endregion
1172
- //#region src/api/resource/index.ts
1173
- function GetResourceSpaceList(request) {
1174
- return instance$1.post("getSpaceList", request);
1175
- }
1176
-
1177
- //#endregion
1178
- //#region src/utils/permission/object.ts
1179
- function initObjects() {
1180
- return {
1181
- app: { apps: [] },
1182
- compute: { spaces: [] },
1183
- data: {
1184
- devSpaces: [],
1185
- prodSpaces: []
1186
- },
1187
- resource: { spaces: [] }
1188
- };
1189
- }
1190
- async function fetchObjectNames(orgId) {
1191
- const objects = initObjects();
1192
- const names = {};
1193
- await fetchApp(orgId, objects, names);
1194
- await fetchCompute(orgId, objects, names);
1195
- await fetchData(orgId, objects, names);
1196
- await fetchResource(orgId, objects, names);
1197
- return {
1198
- objects,
1199
- names
1200
- };
1201
- }
1202
- async function fetchApp(orgId, objects, names) {
1203
- const { appInfos } = await GetAppList({
1204
- orgId,
1205
- ids: []
1206
- });
1207
- for (const { id, name } of appInfos) {
1208
- objects.app.apps.push(id);
1209
- names[id] = name;
1210
- }
1211
- }
1212
- async function fetchCompute(orgId, objects, names) {
1213
- const { spaceInfos } = await GetComputeSpaceList({ orgId });
1214
- spaceInfos.sort((a, b) => a.position - b.position);
1215
- for (const { id, name } of spaceInfos) {
1216
- const space = {
1217
- id,
1218
- funcGroups: [],
1219
- funcs: [],
1220
- flowGroups: [],
1221
- flows: []
1222
- };
1223
- objects.compute.spaces.push(space);
1224
- names[id] = name;
1225
- const { funcGroupInfos } = await GetFuncGroupList({
1226
- orgId,
1227
- spaceId: id
1228
- });
1229
- funcGroupInfos.sort((a, b) => a.position - b.position);
1230
- for (const { id } of funcGroupInfos) space.funcGroups.push(id);
1231
- const { funcInfos } = await GetFuncList({
1232
- orgId,
1233
- spaceId: id,
1234
- ids: []
1235
- });
1236
- funcInfos.sort((a, b) => {
1237
- const agp = getGroupPos(funcGroupInfos, a.groupId);
1238
- const bgp = getGroupPos(funcGroupInfos, b.groupId);
1239
- if (agp !== bgp) return agp - bgp;
1240
- return a.position - b.position;
1241
- });
1242
- for (const { id, name } of funcInfos) {
1243
- space.funcs.push(id);
1244
- names[id] = name;
1245
- }
1246
- const { flowGroupInfos } = await GetFlowGroupList({
1247
- orgId,
1248
- spaceId: id
1249
- });
1250
- flowGroupInfos.sort((a, b) => a.position - b.position);
1251
- for (const { id } of flowGroupInfos) space.flowGroups.push(id);
1252
- const { flowInfos } = await GetFlowList({
1253
- orgId,
1254
- spaceId: id,
1255
- ids: []
1256
- });
1257
- flowInfos.sort((a, b) => {
1258
- const agp = getGroupPos(funcGroupInfos, a.groupId);
1259
- const bgp = getGroupPos(funcGroupInfos, b.groupId);
1260
- if (agp !== bgp) return agp - bgp;
1261
- return a.position - b.position;
1262
- });
1263
- for (const { id, name } of flowInfos) {
1264
- space.flows.push(id);
1265
- names[id] = name;
1266
- }
1267
- }
1268
- }
1269
- async function fetchData(orgId, objects, names) {
1270
- const { spaceInfos: devSpaceInfos } = await GetDataSpaceList({
1271
- orgId,
1272
- env: "dev"
1273
- });
1274
- devSpaceInfos.sort((a, b) => a.position - b.position);
1275
- for (const { id, name } of devSpaceInfos) {
1276
- const space = {
1277
- id,
1278
- tableGroups: [],
1279
- tables: []
1280
- };
1281
- objects.data.devSpaces.push(space);
1282
- names[id + "dev"] = name;
1283
- const { tableGroupInfos } = await GetTableGroupList({
1284
- orgId,
1285
- env: "dev",
1286
- spaceId: id,
1287
- ids: []
1288
- });
1289
- tableGroupInfos.sort((a, b) => a.position - b.position);
1290
- for (const { id } of tableGroupInfos) space.tableGroups.push(id);
1291
- const { tableInfos } = await GetTableList({
1292
- orgId,
1293
- env: "dev",
1294
- spaceId: id
1295
- });
1296
- tableInfos.sort((a, b) => {
1297
- const agp = getGroupPos(tableGroupInfos, a.groupId);
1298
- const bgp = getGroupPos(tableGroupInfos, b.groupId);
1299
- if (agp !== bgp) return agp - bgp;
1300
- return a.position - b.position;
1301
- });
1302
- for (const { id, name } of tableInfos) {
1303
- space.tables.push(id);
1304
- names[id + "dev"] = name;
1305
- }
1306
- }
1307
- const { spaceInfos: prodSpaceInfos } = await GetDataSpaceList({
1308
- orgId,
1309
- env: "prod"
1310
- });
1311
- prodSpaceInfos.sort((a, b) => a.position - b.position);
1312
- for (const { id, name } of prodSpaceInfos) {
1313
- const space = {
1314
- id,
1315
- tableGroups: [],
1316
- tables: []
1317
- };
1318
- objects.data.prodSpaces.push(space);
1319
- names[id + "prod"] = name;
1320
- const { tableGroupInfos } = await GetTableGroupList({
1321
- orgId,
1322
- env: "prod",
1323
- spaceId: id,
1324
- ids: []
1325
- });
1326
- tableGroupInfos.sort((a, b) => a.position - b.position);
1327
- for (const { id } of tableGroupInfos) space.tableGroups.push(id);
1328
- const { tableInfos } = await GetTableList({
1329
- orgId,
1330
- env: "prod",
1331
- spaceId: id
1332
- });
1333
- tableInfos.sort((a, b) => {
1334
- const agp = getGroupPos(tableGroupInfos, a.groupId);
1335
- const bgp = getGroupPos(tableGroupInfos, b.groupId);
1336
- if (agp !== bgp) return agp - bgp;
1337
- return a.position - b.position;
1338
- });
1339
- for (const { id, name } of tableInfos) {
1340
- space.tables.push(id);
1341
- names[id + "prod"] = name;
1342
- }
1343
- }
1344
- }
1345
- async function fetchResource(orgId, objects, names) {
1346
- const { spaceInfos } = await GetResourceSpaceList({ orgId });
1347
- spaceInfos.sort((a, b) => a.position - b.position);
1348
- for (const { id, name } of spaceInfos) {
1349
- const space = { id };
1350
- objects.resource.spaces.push(space);
1351
- names[id] = name;
1352
- }
1353
- }
1354
- function getGroupPos(groups, id) {
1355
- return groups.find((group) => group.id === id)?.position ?? -1;
1356
- }
1357
- function getLayerObjects(objects, permission, category, layer, keys) {
1358
- const ids = [];
1359
- if (!getPermissionMeta(permission)) return ids;
1360
- if (layer === "env") return ["dev", "prod"];
1361
- if (category === "app") {
1362
- if (layer === "app") for (const id of objects.app.apps) ids.push(id);
1363
- } else if (category === "compute") {
1364
- if (layer === "space") for (const { id } of objects.compute.spaces) ids.push(id);
1365
- else if (layer === "flow") {
1366
- for (const { id, flows } of objects.compute.spaces) if (id === keys[1]) for (const id of flows) ids.push(id);
1367
- } else if (layer === "func") {
1368
- for (const { id, funcs } of objects.compute.spaces) if (id === keys[1]) for (const id of funcs) ids.push(id);
1369
- }
1370
- } else if (category === "data") {
1371
- if (layer === "space") {
1372
- if (keys[0] === "dev") for (const { id } of objects.data.devSpaces) ids.push(id);
1373
- else if (keys[0] === "prod") for (const { id } of objects.data.prodSpaces) ids.push(id);
1374
- } else if (layer === "table") {
1375
- if (keys[0] === "dev") {
1376
- for (const { id, tables } of objects.data.devSpaces) if (id === keys[1]) for (const id of tables) ids.push(id);
1377
- } else if (keys[0] === "prod") {
1378
- for (const { id, tables } of objects.data.prodSpaces) if (id === keys[1]) for (const id of tables) ids.push(id);
1379
- }
1380
- }
1381
- } else if (category === "org") console.assert(false);
1382
- else if (category === "resource") {
1383
- if (layer === "space") for (const { id } of objects.resource.spaces) ids.push(id);
1384
- else if (layer === "resource") console.assert(false);
1385
- } else if (category === "filter") console.assert(false);
1386
- else console.assert(false);
1387
- return ids;
1388
- }
1389
-
1390
- //#endregion
1391
- //#region src/utils/permission/permission.ts
1392
- function toPermissionObjects(permissions) {
1393
- const permissionObjects = {};
1394
- for (const key in permissions) {
1395
- if (key === "checksum") continue;
1396
- const value = permissions[key];
1397
- permissionObjects[key] = JSON.parse(value);
1398
- }
1399
- return permissionObjects;
1400
- }
1401
- function isExist(instanceTree, instance) {
1402
- if (!instanceTree) return false;
1403
- let curr = instanceTree;
1404
- if (Object.keys(curr).length <= 0) return true;
1405
- instance.split("/").forEach((part) => {
1406
- if (Object.keys(curr).length <= 0) return true;
1407
- if (curr[part]) curr = curr[part];
1408
- else return false;
1409
- });
1410
- if (Object.keys(curr).length <= 0) return true;
1411
- else return false;
1412
- }
1413
- function verifyPermission(permissionObjects, permission, instance) {
1414
- const permissionObject = permissionObjects[permission];
1415
- if (!permissionObject) return false;
1416
- if (!instance) return true;
1417
- if (!isExist(permissionObject.includes, instance)) return false;
1418
- if (isExist(permissionObject.excludes, instance)) return false;
1419
- return true;
1420
- }
1421
-
1422
- //#endregion
1423
- //#region src/utils/rules/index.ts
1424
- function i18n(key, obj) {
1425
- const { i18n } = globalObjects$1;
1426
- return i18n.global.t(`x-essential-lib.rule.${key}`, obj);
1427
- }
1428
- function required(value) {
1429
- const { success } = custom((v) => v === 0 || !!v).safeParse(value);
1430
- return success ? success : i18n("required");
1431
- }
1432
- function email(value) {
1433
- const { success } = email$1().safeParse(value);
1434
- return success ? success : i18n("email");
1435
- }
1436
- function minLength(length) {
1437
- return (value) => {
1438
- const { success } = string().min(length).safeParse(value);
1439
- return success ? success : i18n("minLength", { length });
1440
- };
1441
- }
1442
- function maxLength(length) {
1443
- return (value) => {
1444
- const { success } = string().max(length).safeParse(value);
1445
- return success ? success : i18n("maxLength", { length });
1446
- };
1447
- }
1448
- function length(length) {
1449
- return (value) => {
1450
- const { success } = string().length(length).safeParse(value);
1451
- return success ? success : i18n("length", { length });
1452
- };
1453
- }
1454
-
1455
- //#endregion
1456
- //#region src/utils/dialog.ts
1457
- let lastTime = Date.now();
1458
- function tryCooldown() {
1459
- const now = Date.now();
1460
- if (now - lastTime > 500) {
1461
- lastTime = now;
1462
- return true;
1463
- }
1464
- return false;
1465
- }
1466
- let sequence = 0;
1467
- function getSequence() {
1468
- return ++sequence;
1469
- }
1470
- async function openConfirmDlg(params) {
1471
- if (!tryCooldown()) return;
1472
- let resp = false;
1473
- let result;
1474
- const onResult = (res) => {
1475
- result = res;
1476
- resp = true;
1477
- };
1478
- const seq = getSequence();
1479
- eventBus.on("confirmDlgResult" + seq, onResult);
1480
- eventBus.emit("confirmDlg", {
1481
- ...params,
1482
- seq
1483
- });
1484
- await waitUtil(() => resp);
1485
- eventBus.off("confirmDlgResult" + seq, onResult);
1486
- return result;
1487
- }
1488
- async function openNumberDlg(params) {
1489
- if (!tryCooldown()) return;
1490
- let resp = false;
1491
- let result;
1492
- const onResult = (res) => {
1493
- result = res;
1494
- resp = true;
1495
- };
1496
- const seq = getSequence();
1497
- eventBus.on("numberDlgResult" + seq, onResult);
1498
- eventBus.emit("numberDlg", {
1499
- ...params,
1500
- seq
1501
- });
1502
- await waitUtil(() => resp);
1503
- eventBus.off("numberDlgResult" + seq, onResult);
1504
- return result;
1505
- }
1506
- async function openPromptDlg(params) {
1507
- if (!tryCooldown()) return;
1508
- let resp = false;
1509
- let result;
1510
- const onResult = (res) => {
1511
- result = res;
1512
- resp = true;
1513
- };
1514
- const seq = getSequence();
1515
- eventBus.on("promptDlgResult" + seq, onResult);
1516
- eventBus.emit("promptDlg", {
1517
- ...params,
1518
- seq
1519
- });
1520
- await waitUtil(() => resp);
1521
- eventBus.off("promptDlgResult" + seq, onResult);
1522
- return result;
166
+ return config;
1523
167
  }
1524
- function openWaitDlg(text) {
1525
- eventBus.emit("waitDlg", { text });
168
+ function onReqRejected(error, onError) {
169
+ console.error(error);
170
+ onError("request timeout");
1526
171
  }
1527
- function closeWaitDlg() {
1528
- eventBus.emit("closeWaitDlg");
172
+ function onRespFullfilled(resp) {
173
+ return resp.data;
174
+ }
175
+ function onRespRejected(error, onError) {
176
+ const resp = error.response;
177
+ if (!resp) return Promise.reject(error);
178
+ if (resp.status === 401) onUnauthorized();
179
+ const msg = resp.data?.message;
180
+ if (msg) {
181
+ onError(msg);
182
+ return Promise.reject(msg);
183
+ } else {
184
+ const obj = {
185
+ code: resp.status,
186
+ message: resp.statusText
187
+ };
188
+ onError(obj);
189
+ return Promise.reject(obj);
190
+ }
191
+ }
192
+ function onUnauthorized() {
193
+ const { router } = globalObjects;
194
+ api.remove("accessToken");
195
+ api.remove("refreshToken");
196
+ router.replace({ path: `/passport/login` });
1529
197
  }
1530
198
 
1531
199
  //#endregion
1532
- //#region src/utils/message.ts
1533
- function messageError(text, timeout) {
1534
- eventBus.emit("message", {
1535
- type: "error",
1536
- text,
1537
- timeout
1538
- });
1539
- }
1540
- function messageInfo(text, timeout) {
1541
- eventBus.emit("message", {
1542
- type: "info",
1543
- text,
1544
- timeout
1545
- });
200
+ //#region src/logic/permission/index.ts
201
+ function toPermissionObjects(permissions) {
202
+ const permissionObjects = {};
203
+ for (const key in permissions) {
204
+ if (key === "checksum") continue;
205
+ const value = permissions[key];
206
+ permissionObjects[key] = JSON.parse(value);
207
+ }
208
+ return permissionObjects;
1546
209
  }
1547
- function messageSuccess(text, timeout) {
1548
- eventBus.emit("message", {
1549
- type: "success",
1550
- text,
1551
- timeout
210
+ function isExist(instanceTree, instance) {
211
+ if (!instanceTree) return false;
212
+ let curr = instanceTree;
213
+ if (Object.keys(curr).length <= 0) return true;
214
+ instance.split("/").forEach((part) => {
215
+ if (Object.keys(curr).length <= 0) return true;
216
+ if (curr[part]) curr = curr[part];
217
+ else return false;
1552
218
  });
219
+ if (Object.keys(curr).length <= 0) return true;
220
+ else return false;
1553
221
  }
1554
- function messageWarning(text, timeout) {
1555
- eventBus.emit("message", {
1556
- type: "warning",
1557
- text,
1558
- timeout
1559
- });
222
+ function verifyPermission(permissionObjects, permission, instance) {
223
+ const permissionObject = permissionObjects[permission];
224
+ if (!permissionObject) return false;
225
+ if (!instance) return true;
226
+ if (!isExist(permissionObject.includes, instance)) return false;
227
+ if (isExist(permissionObject.excludes, instance)) return false;
228
+ return true;
1560
229
  }
1561
230
 
1562
231
  //#endregion
1563
- //#region src/utils/provideInject.ts
232
+ //#region src/logic/provideInject/index.ts
1564
233
  function provideDark(dark) {
1565
234
  provide("essentialDark", dark);
1566
235
  }
@@ -1587,7 +256,7 @@ function injectViews() {
1587
256
  }
1588
257
 
1589
258
  //#endregion
1590
- //#region src/utils/router.ts
259
+ //#region src/logic/router/index.ts
1591
260
  const routeMetas = [
1592
261
  {
1593
262
  app: "x-passport-mf",
@@ -1756,40 +425,160 @@ function onBeforeEnter(toPath, fromPath, lastAppPath) {
1756
425
  appAppear(toRouteMeta.app, diff);
1757
426
  }
1758
427
  }
428
+ function appAppear(name, diff) {
429
+ const appElement = document.getElementById("single-spa-application:" + name);
430
+ if (!appElement) return;
431
+ appElement.classList.remove("app-fade", "app-left", "app-right", "app-reset");
432
+ if (diff === 0) return;
433
+ if (diff > 0) appElement.classList.add("app-left");
434
+ else appElement.classList.add("app-right");
435
+ setTimeout(() => {
436
+ appElement.classList.add("app-reset");
437
+ }, 50);
438
+ }
1759
439
 
1760
440
  //#endregion
1761
- //#region src/utils/type.ts
1762
- const types = [
1763
- "string",
1764
- "number",
1765
- "boolean",
1766
- "array",
1767
- "object",
1768
- "any"
1769
- ];
1770
- function getTypeColor(type) {
1771
- switch (type) {
1772
- case "string": return "#5ba58c";
1773
- case "number": return "#5b67a5";
1774
- case "boolean": return "#5b80a5";
1775
- case "array": return "#745ba5";
1776
- case "object": return "#80a55b";
1777
- case "any": return "#9e9e9e";
1778
- }
441
+ //#region src/logic/rules/index.ts
442
+ function i18n(key, obj) {
443
+ const { i18n } = globalObjects$1;
444
+ return i18n.global.t(`x-essential-lib.rule.${key}`, obj);
1779
445
  }
1780
- function getTypeDefault(type) {
1781
- switch (type) {
1782
- case "string": return "";
1783
- case "number": return 0;
1784
- case "boolean": return false;
1785
- case "array": return [];
1786
- case "object": return {};
1787
- case "any": return null;
446
+ function required(value) {
447
+ const { success } = custom((v) => v === 0 || !!v).safeParse(value);
448
+ return success ? success : i18n("required");
449
+ }
450
+ function email(value) {
451
+ const { success } = email$1().safeParse(value);
452
+ return success ? success : i18n("email");
453
+ }
454
+ function minLength(length) {
455
+ return (value) => {
456
+ const { success } = string().min(length).safeParse(value);
457
+ return success ? success : i18n("minLength", { length });
458
+ };
459
+ }
460
+ function maxLength(length) {
461
+ return (value) => {
462
+ const { success } = string().max(length).safeParse(value);
463
+ return success ? success : i18n("maxLength", { length });
464
+ };
465
+ }
466
+ function length(length) {
467
+ return (value) => {
468
+ const { success } = string().length(length).safeParse(value);
469
+ return success ? success : i18n("length", { length });
470
+ };
471
+ }
472
+
473
+ //#endregion
474
+ //#region src/logic/view/dialog.ts
475
+ let lastTime = Date.now();
476
+ function tryCooldown() {
477
+ const now = Date.now();
478
+ if (now - lastTime > 500) {
479
+ lastTime = now;
480
+ return true;
1788
481
  }
482
+ return false;
483
+ }
484
+ let sequence = 0;
485
+ function getSequence() {
486
+ return ++sequence;
487
+ }
488
+ async function openConfirmDlg(params) {
489
+ if (!tryCooldown()) return;
490
+ let resp = false;
491
+ let result;
492
+ const onResult = (res) => {
493
+ result = res;
494
+ resp = true;
495
+ };
496
+ const seq = getSequence();
497
+ eventBus.on("confirmDlgResult" + seq, onResult);
498
+ eventBus.emit("confirmDlg", {
499
+ ...params,
500
+ seq
501
+ });
502
+ await waitUtil(() => resp);
503
+ eventBus.off("confirmDlgResult" + seq, onResult);
504
+ return result;
505
+ }
506
+ async function openNumberDlg(params) {
507
+ if (!tryCooldown()) return;
508
+ let resp = false;
509
+ let result;
510
+ const onResult = (res) => {
511
+ result = res;
512
+ resp = true;
513
+ };
514
+ const seq = getSequence();
515
+ eventBus.on("numberDlgResult" + seq, onResult);
516
+ eventBus.emit("numberDlg", {
517
+ ...params,
518
+ seq
519
+ });
520
+ await waitUtil(() => resp);
521
+ eventBus.off("numberDlgResult" + seq, onResult);
522
+ return result;
523
+ }
524
+ async function openPromptDlg(params) {
525
+ if (!tryCooldown()) return;
526
+ let resp = false;
527
+ let result;
528
+ const onResult = (res) => {
529
+ result = res;
530
+ resp = true;
531
+ };
532
+ const seq = getSequence();
533
+ eventBus.on("promptDlgResult" + seq, onResult);
534
+ eventBus.emit("promptDlg", {
535
+ ...params,
536
+ seq
537
+ });
538
+ await waitUtil(() => resp);
539
+ eventBus.off("promptDlgResult" + seq, onResult);
540
+ return result;
541
+ }
542
+ function openWaitDlg(text) {
543
+ eventBus.emit("waitDlg", { text });
544
+ }
545
+ function closeWaitDlg() {
546
+ eventBus.emit("closeWaitDlg");
547
+ }
548
+
549
+ //#endregion
550
+ //#region src/logic/view/message.ts
551
+ function messageError(text, timeout) {
552
+ eventBus.emit("message", {
553
+ type: "error",
554
+ text,
555
+ timeout
556
+ });
557
+ }
558
+ function messageInfo(text, timeout) {
559
+ eventBus.emit("message", {
560
+ type: "info",
561
+ text,
562
+ timeout
563
+ });
564
+ }
565
+ function messageSuccess(text, timeout) {
566
+ eventBus.emit("message", {
567
+ type: "success",
568
+ text,
569
+ timeout
570
+ });
571
+ }
572
+ function messageWarning(text, timeout) {
573
+ eventBus.emit("message", {
574
+ type: "warning",
575
+ text,
576
+ timeout
577
+ });
1789
578
  }
1790
579
 
1791
580
  //#endregion
1792
- //#region src/utils/viewMgr.ts
581
+ //#region src/logic/view/viewMgr.ts
1793
582
  function isEmpty(views) {
1794
583
  return views.value.length <= 0;
1795
584
  }
@@ -2015,18 +804,18 @@ function useSystem() {
2015
804
  const isCurvedScreen = computed(() => {
2016
805
  return false;
2017
806
  });
2018
- const isMobile = () => {
807
+ function isMobile() {
2019
808
  return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
2020
- };
2021
- const nameList = (entries, instances) => {
809
+ }
810
+ function nameList(entries, instances) {
2022
811
  let name;
2023
812
  const names = entries.map((entry) => t(entry));
2024
813
  if (instances) name = `${names.join("/")} <${instances.join("/")}>`;
2025
814
  else if (locale.value === "en") name = names.join(" ");
2026
815
  else name = names.join("");
2027
816
  return name;
2028
- };
2029
- const sentenceOfAsk = (verb, object, name) => {
817
+ }
818
+ function sentenceOfAsk(verb, object, name) {
2030
819
  if (locale.value === "en") return t("x-essential-lib.dlg.ask", {
2031
820
  verb: toLower(t(verb)),
2032
821
  object: toLower(t(object)),
@@ -2037,7 +826,7 @@ function useSystem() {
2037
826
  object: t(object),
2038
827
  name
2039
828
  });
2040
- };
829
+ }
2041
830
  return {
2042
831
  sysBarAvail,
2043
832
  compactWidth,
@@ -2753,8 +1542,8 @@ const install = (app) => {
2753
1542
  //#endregion
2754
1543
  //#region src/i18n/index.ts
2755
1544
  async function loadLocaleMessageEssential(locale) {
2756
- if (locale === "en") return (await import("./i18n-en.hm01fzzv.js").then((n) => n.t)).default;
2757
- else if (locale === "zhHans") return (await import("./i18n-zhHans.jeakpcf8.js").then((n) => n.t)).default;
1545
+ if (locale === "en") return (await import("./i18n-en.b05zxa4b.js").then((n) => n.t)).default;
1546
+ else if (locale === "zhHans") return (await import("./i18n-zhHans.bl5d1n9h.js").then((n) => n.t)).default;
2758
1547
  else throw new Error(`invalid locale=${locale}`);
2759
1548
  }
2760
1549
 
@@ -2763,4 +1552,4 @@ async function loadLocaleMessageEssential(locale) {
2763
1552
  var src_default = { install };
2764
1553
 
2765
1554
  //#endregion
2766
- export { Permission, addView, allPermissionMetas, appAppear, categories, clearViews, closeWaitDlg, createAxios, dataPlaneCategories, src_default as default, delView, email, eventBus, fetchObjectNames, funcPlaneCategories, getCategoryPermissionMetas, getCategoryPlane, getErrorMessage, getLayerObjects, getPermissionMeta, getTypeColor, getTypeDefault, globalObjects, groups, hasView, initObjects, injectDark, injectLocale, injectPermissionObjects, injectViews, isEmpty, isExist, lastView, layers, length, loadLocaleMessageEssential, matchRouteMeta, maxLength, messageError, messageInfo, messageSuccess, messageWarning, minLength, onBeforeEnter, openConfirmDlg, openNumberDlg, openPromptDlg, openWaitDlg, permissionCategories, planes, popView, provideDark, provideLocale, providePermissionObjects, provideViews, required, routeTransName, toPermissionObjects, types, useColor, useGlobalStates, useMicroApp, usePageRoute, usePermission, useSystem, useViewStack, verifyPermission, waitMs, waitUtil };
1555
+ export { addView, clearViews, closeWaitDlg, createAxios, src_default as default, delView, email, eventBus, getErrorMessage, getTypeColor, getTypeDefault, globalObjects, hasView, injectDark, injectLocale, injectPermissionObjects, injectViews, isEmpty, isExist, lastView, length, loadLocaleMessageEssential, matchRouteMeta, maxLength, messageError, messageInfo, messageSuccess, messageWarning, minLength, onBeforeEnter, openConfirmDlg, openNumberDlg, openPromptDlg, openWaitDlg, popView, provideDark, provideLocale, providePermissionObjects, provideViews, required, routeTransName, toPermissionObjects, types, useColor, useGlobalStates, useMicroApp, usePageRoute, usePermission, useSystem, useViewStack, verifyPermission, waitMs, waitUtil };