x-essential-lib 0.11.5 → 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: "",
@@ -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;
@@ -135,1432 +158,78 @@ function createAxios(options) {
135
158
  });
136
159
  return instance;
137
160
  }
138
- function onReqFulfilled(config) {
139
- const token = api.get("accessToken") ?? "";
140
- config.headers["Authorization"] = "Basic " + token;
141
- config.headers["Content-Type"] = "application/json";
142
- 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;
1523
- }
1524
- function openWaitDlg(text) {
1525
- eventBus.emit("waitDlg", { text });
161
+ function onReqFulfilled(config) {
162
+ const token = api.get("accessToken") ?? "";
163
+ config.headers["Authorization"] = "Basic " + token;
164
+ config.headers["Content-Type"] = "application/json";
165
+ config.data = JSON.stringify(config.data);
166
+ return config;
1526
167
  }
1527
- function closeWaitDlg() {
1528
- eventBus.emit("closeWaitDlg");
168
+ function onReqRejected(error, onError) {
169
+ console.error(error);
170
+ onError("request timeout");
171
+ }
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
  }
@@ -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.mhphfhwb.js").then((n) => n.t)).default;
2757
- else if (locale === "zhHans") return (await import("./i18n-zhHans.i8y823t5.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 };