@ibiz-template/vue3-util 0.5.3-beta.9 → 0.5.4

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.
Files changed (46) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/index.system.min.js +1 -1
  3. package/es/common/badge/badge.css +1 -0
  4. package/es/common/badge/badge.d.ts +26 -0
  5. package/es/common/badge/badge.d.ts.map +1 -0
  6. package/es/common/badge/badge.mjs +32 -0
  7. package/es/common/code-list/code-list.d.ts +2 -2
  8. package/es/common/index.d.ts +1 -0
  9. package/es/common/index.d.ts.map +1 -1
  10. package/es/common/index.mjs +1 -0
  11. package/es/common/view-shell/view-shell.d.ts.map +1 -1
  12. package/es/common/view-shell/view-shell.mjs +21 -9
  13. package/es/index.mjs +1 -0
  14. package/es/plugin/plugin-factory/plugin-factory.d.ts +11 -1
  15. package/es/plugin/plugin-factory/plugin-factory.d.ts.map +1 -1
  16. package/es/plugin/plugin-factory/plugin-factory.mjs +41 -8
  17. package/es/props/editor/autocomplete.d.ts +2 -2
  18. package/es/props/editor/check-box-list.d.ts +2 -2
  19. package/es/props/editor/check-box.d.ts +2 -2
  20. package/es/props/editor/data-picker.d.ts +2 -2
  21. package/es/props/editor/date-picker.d.ts +2 -2
  22. package/es/props/editor/date-range.d.ts +2 -2
  23. package/es/props/editor/dropdown-list.d.ts +2 -2
  24. package/es/props/editor/list-box.d.ts +2 -2
  25. package/es/props/editor/number-range.d.ts +2 -2
  26. package/es/props/editor/radio-button-list.d.ts +2 -2
  27. package/es/props/editor/rate.d.ts +2 -2
  28. package/es/props/editor/raw.d.ts +2 -2
  29. package/es/props/editor/slider.d.ts +2 -2
  30. package/es/props/editor/span.d.ts +2 -2
  31. package/es/props/editor/stepper.d.ts +2 -2
  32. package/es/props/editor/switch.d.ts +2 -2
  33. package/es/props/editor/text-box.d.ts +2 -2
  34. package/es/use/view/use-view-controller/use-view-controller.d.ts.map +1 -1
  35. package/es/use/view/use-view-controller/use-view-controller.mjs +13 -3
  36. package/es/util/store/async-action/async-action.d.ts.map +1 -1
  37. package/es/util/store/async-action/async-action.mjs +8 -0
  38. package/lib/index.cjs +2 -0
  39. package/package.json +6 -6
  40. package/src/common/badge/badge.scss +29 -0
  41. package/src/common/badge/badge.tsx +26 -0
  42. package/src/common/index.ts +1 -0
  43. package/src/common/view-shell/view-shell.tsx +30 -13
  44. package/src/plugin/plugin-factory/plugin-factory.ts +48 -8
  45. package/src/use/view/use-view-controller/use-view-controller.ts +14 -3
  46. package/src/util/store/async-action/async-action.ts +9 -0
@@ -1,4 +1,4 @@
1
- import { IPluginFactory, IPluginItem, ISystemImportMap, RemotePluginItem } from '@ibiz-template/runtime';
1
+ import { IPluginFactory, IPluginItem, ISystemImportMap, RemotePluginConfig, RemotePluginItem } from '@ibiz-template/runtime';
2
2
  import { ISysPFPlugin } from '@ibiz/model-core';
3
3
  import { App, Plugin } from 'vue';
4
4
  /**
@@ -163,6 +163,16 @@ export declare class PluginFactory implements IPluginFactory {
163
163
  * @return {*} {string}
164
164
  */
165
165
  protected parseUrl(pathUrl: string, baseUrl?: string): string;
166
+ /**
167
+ * 加载插件的外部依赖
168
+ *
169
+ * @author chitanda
170
+ * @date 2024-01-19 19:01:39
171
+ * @protected
172
+ * @param {RemotePluginConfig} config
173
+ * @return {*} {Promise<void>}
174
+ */
175
+ protected loadPluginExternal(config: RemotePluginConfig): Promise<void>;
166
176
  /**
167
177
  * 处理 systemjs importmap 配置
168
178
  *
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-factory.d.ts","sourceRoot":"","sources":["../../../src/plugin/plugin-factory/plugin-factory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAEhB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAmB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAElC;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,SAA0B;IAE1C;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAElD;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAa;IAEjE;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAM;IAErC;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IAElE;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAM;IAEhD;;;;;;;OAOG;IACH,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAa;IAE/D;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAS/C;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIzC;;;;;;OAMG;IACH,wBAAwB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAInD;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAMxB;;;;;;;OAOG;IACG,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvD;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO3C;;;;;;;OAOG;IACG,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAuCxD;;;;;;;OAOG;IACG,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAgDnB;;;;;;;;OAQG;cACa,UAAU,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCzE;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAA+B,GACvC,MAAM;IAwBT;;;;;;;;OAQG;IACH,SAAS,CAAC,qBAAqB,CAC7B,SAAS,EAAE,gBAAgB,GAC1B,gBAAgB,GAAG,IAAI;CAgC3B"}
1
+ {"version":3,"file":"plugin-factory.d.ts","sourceRoot":"","sources":["../../../src/plugin/plugin-factory/plugin-factory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAmB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAElC;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,SAA0B;IAE1C;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;IAElD;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAa;IAEjE;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAM;IAErC;;;;;;;OAOG;IACH,SAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IAElE;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAM;IAEhD;;;;;;;OAOG;IACH,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAa;IAE/D;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAS/C;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIzC;;;;;;OAMG;IACH,wBAAwB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAInD;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAMxB;;;;;;;OAOG;IACG,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASvD;;;;;;;OAOG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO3C;;;;;;;OAOG;IACG,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAuCxD;;;;;;;OAOG;IACG,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;IAyCnB;;;;;;;;OAQG;cACa,UAAU,CAAC,YAAY,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCzE;;;;;;;;;OASG;IACH,SAAS,CAAC,QAAQ,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAA+B,GACvC,MAAM;IAwBT;;;;;;;;OAQG;cACa,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC;IA0BhB;;;;;;;;OAQG;IACH,SAAS,CAAC,qBAAqB,CAC7B,SAAS,EAAE,gBAAgB,GAC1B,gBAAgB,GAAG,IAAI;CA0C3B"}
@@ -228,14 +228,7 @@ class PluginFactory {
228
228
  configData
229
229
  );
230
230
  if (remotePlugin) {
231
- if (remotePlugin.config["systemjs-importmap"]) {
232
- const importMap = this.handleSystemImportMap(
233
- remotePlugin.config["systemjs-importmap"]
234
- );
235
- if (importMap) {
236
- System.addImportMap(importMap);
237
- }
238
- }
231
+ await this.loadPluginExternal(remotePlugin.config);
239
232
  try {
240
233
  await this.loadScript(remotePlugin);
241
234
  this.pluginCache.set(rtObjectName, remotePlugin);
@@ -328,6 +321,37 @@ class PluginFactory {
328
321
  }
329
322
  return url;
330
323
  }
324
+ /**
325
+ * 加载插件的外部依赖
326
+ *
327
+ * @author chitanda
328
+ * @date 2024-01-19 19:01:39
329
+ * @protected
330
+ * @param {RemotePluginConfig} config
331
+ * @return {*} {Promise<void>}
332
+ */
333
+ async loadPluginExternal(config) {
334
+ if (!config["systemjs-importmap"]) {
335
+ return;
336
+ }
337
+ const importMap = this.handleSystemImportMap(config["systemjs-importmap"]);
338
+ if (importMap.packages) {
339
+ const pkgs = importMap.packages;
340
+ for (const key in pkgs) {
341
+ const pkgPath = pkgs[key];
342
+ const res = await ibiz.net.axios({
343
+ method: "get",
344
+ headers: { "Access-Control-Allow-Origin": "*" },
345
+ url: pkgPath
346
+ });
347
+ if (res.status !== 200) {
348
+ throw new Error("\u914D\u7F6E\u52A0\u8F7D\u5931\u8D25");
349
+ }
350
+ await this.loadPluginExternal(res.data);
351
+ }
352
+ }
353
+ System.addImportMap(importMap);
354
+ }
331
355
  /**
332
356
  * 处理 systemjs importmap 配置
333
357
  *
@@ -339,6 +363,15 @@ class PluginFactory {
339
363
  */
340
364
  handleSystemImportMap(importMap) {
341
365
  if (importMap) {
366
+ if (importMap.packages) {
367
+ const pkgs = importMap.packages;
368
+ for (const key in pkgs) {
369
+ if (Object.prototype.hasOwnProperty.call(pkgs, key)) {
370
+ const url = pkgs[key];
371
+ pkgs[key] = this.parseUrl(url, importMap.baseUrl);
372
+ }
373
+ }
374
+ }
342
375
  if (importMap.imports) {
343
376
  const imps = importMap.imports;
344
377
  for (const key in imps) {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getAutoCompleteProps<C>(): {
11
- value: (StringConstructor | NumberConstructor)[];
11
+ value: (NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridAutoCompleteProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (StringConstructor | NumberConstructor)[];
46
+ value: (NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getCheckboxListProps<C>(): {
11
- value: (StringConstructor | NumberConstructor)[];
11
+ value: (NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridCheckboxListProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (StringConstructor | NumberConstructor)[];
46
+ value: (NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getCheckboxProps<C>(): {
11
- value: (StringConstructor | NumberConstructor)[];
11
+ value: (NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridCheckboxProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (StringConstructor | NumberConstructor)[];
46
+ value: (NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getDataPickerProps<C>(): {
11
- value: (ObjectConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
11
+ value: (ObjectConstructor | ArrayConstructor | NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridDataPickerProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (ObjectConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
46
+ value: (ObjectConstructor | ArrayConstructor | NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getDatePickerProps<C>(): {
11
- value: (StringConstructor | NumberConstructor)[];
11
+ value: (NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridDatePickerProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (StringConstructor | NumberConstructor)[];
46
+ value: (NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -6,7 +6,7 @@
6
6
  * @returns {*}
7
7
  */
8
8
  export declare function getDateRangeProps<C>(): {
9
- value: (StringConstructor | NumberConstructor)[];
9
+ value: (NumberConstructor | StringConstructor)[];
10
10
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
11
11
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
12
12
  disabled: {
@@ -39,7 +39,7 @@ export declare function getGridDateRangeProps<C>(): {
39
39
  hasError: {
40
40
  type: BooleanConstructor;
41
41
  };
42
- value: (StringConstructor | NumberConstructor)[];
42
+ value: (NumberConstructor | StringConstructor)[];
43
43
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
44
44
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
45
45
  disabled: {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getDropdownProps<C>(): {
11
- value: (StringConstructor | NumberConstructor)[];
11
+ value: (NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridDropdownProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (StringConstructor | NumberConstructor)[];
46
+ value: (NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getListBoxProps<C>(): {
11
- value: (StringConstructor | NumberConstructor)[];
11
+ value: (NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridListBoxProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (StringConstructor | NumberConstructor)[];
46
+ value: (NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -6,7 +6,7 @@
6
6
  * @returns {*}
7
7
  */
8
8
  export declare function getNumberRangeProps<C>(): {
9
- value: (StringConstructor | NumberConstructor)[];
9
+ value: (NumberConstructor | StringConstructor)[];
10
10
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
11
11
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
12
12
  disabled: {
@@ -39,7 +39,7 @@ export declare function getGridNumberRangeProps<C>(): {
39
39
  hasError: {
40
40
  type: BooleanConstructor;
41
41
  };
42
- value: (StringConstructor | NumberConstructor)[];
42
+ value: (NumberConstructor | StringConstructor)[];
43
43
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
44
44
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
45
45
  disabled: {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getRadioProps<C>(): {
11
- value: (StringConstructor | NumberConstructor)[];
11
+ value: (NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridRadioProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (StringConstructor | NumberConstructor)[];
46
+ value: (NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -6,7 +6,7 @@
6
6
  * @returns {*}
7
7
  */
8
8
  export declare function getRateProps<C>(): {
9
- value: (StringConstructor | NumberConstructor)[];
9
+ value: (NumberConstructor | StringConstructor)[];
10
10
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
11
11
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
12
12
  disabled: {
@@ -39,7 +39,7 @@ export declare function getGridRateProps<C>(): {
39
39
  hasError: {
40
40
  type: BooleanConstructor;
41
41
  };
42
- value: (StringConstructor | NumberConstructor)[];
42
+ value: (NumberConstructor | StringConstructor)[];
43
43
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
44
44
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
45
45
  disabled: {
@@ -6,7 +6,7 @@
6
6
  * @returns {*}
7
7
  */
8
8
  export declare function getRawProps<C>(): {
9
- value: (ArrayConstructor | StringConstructor | NumberConstructor)[];
9
+ value: (ArrayConstructor | NumberConstructor | StringConstructor)[];
10
10
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
11
11
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
12
12
  disabled: {
@@ -39,7 +39,7 @@ export declare function getGridRawProps<C>(): {
39
39
  hasError: {
40
40
  type: BooleanConstructor;
41
41
  };
42
- value: (ArrayConstructor | StringConstructor | NumberConstructor)[];
42
+ value: (ArrayConstructor | NumberConstructor | StringConstructor)[];
43
43
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
44
44
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
45
45
  disabled: {
@@ -6,7 +6,7 @@
6
6
  * @returns {*}
7
7
  */
8
8
  export declare function getSliderProps<C>(): {
9
- value: (StringConstructor | NumberConstructor)[];
9
+ value: (NumberConstructor | StringConstructor)[];
10
10
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
11
11
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
12
12
  disabled: {
@@ -39,7 +39,7 @@ export declare function getGridSliderProps<C>(): {
39
39
  hasError: {
40
40
  type: BooleanConstructor;
41
41
  };
42
- value: (StringConstructor | NumberConstructor)[];
42
+ value: (NumberConstructor | StringConstructor)[];
43
43
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
44
44
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
45
45
  disabled: {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getSpanProps<C>(): {
11
- value: (ObjectConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
11
+ value: (ObjectConstructor | ArrayConstructor | NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridSpanProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (ObjectConstructor | ArrayConstructor | StringConstructor | NumberConstructor)[];
46
+ value: (ObjectConstructor | ArrayConstructor | NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -6,7 +6,7 @@
6
6
  * @returns {*}
7
7
  */
8
8
  export declare function getStepperProps<C>(): {
9
- value: (StringConstructor | NumberConstructor)[];
9
+ value: (NumberConstructor | StringConstructor)[];
10
10
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
11
11
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
12
12
  disabled: {
@@ -39,7 +39,7 @@ export declare function getGridStepperProps<C>(): {
39
39
  hasError: {
40
40
  type: BooleanConstructor;
41
41
  };
42
- value: (StringConstructor | NumberConstructor)[];
42
+ value: (NumberConstructor | StringConstructor)[];
43
43
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
44
44
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
45
45
  disabled: {
@@ -6,7 +6,7 @@
6
6
  * @returns {*}
7
7
  */
8
8
  export declare function getSwitchProps<C>(): {
9
- value: (StringConstructor | NumberConstructor)[];
9
+ value: (NumberConstructor | StringConstructor)[];
10
10
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
11
11
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
12
12
  disabled: {
@@ -39,7 +39,7 @@ export declare function getGridSwitchProps<C>(): {
39
39
  hasError: {
40
40
  type: BooleanConstructor;
41
41
  };
42
- value: (StringConstructor | NumberConstructor)[];
42
+ value: (NumberConstructor | StringConstructor)[];
43
43
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
44
44
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
45
45
  disabled: {
@@ -8,7 +8,7 @@
8
8
  * @returns {*}
9
9
  */
10
10
  export declare function getInputProps<C>(): {
11
- value: (StringConstructor | NumberConstructor)[];
11
+ value: (NumberConstructor | StringConstructor)[];
12
12
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
13
13
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
14
14
  disabled: {
@@ -43,7 +43,7 @@ export declare function getGridInputProps<C>(): {
43
43
  hasError: {
44
44
  type: BooleanConstructor;
45
45
  };
46
- value: (StringConstructor | NumberConstructor)[];
46
+ value: (NumberConstructor | StringConstructor)[];
47
47
  controller: import("..").RequiredProp<import("vue").PropType<C>, undefined, undefined>;
48
48
  data: import("..").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
49
49
  disabled: {
@@ -1 +1 @@
1
- {"version":3,"file":"use-view-controller.d.ts","sourceRoot":"","sources":["../../../../src/use/view/use-view-controller/use-view-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,EAEf,cAAc,EACf,MAAM,wBAAwB,CAAC;AAmEhC;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,eAAe,EACzD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,GAC/D,CAAC,CAuDH"}
1
+ {"version":3,"file":"use-view-controller.d.ts","sourceRoot":"","sources":["../../../../src/use/view/use-view-controller/use-view-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,EAEf,cAAc,EACf,MAAM,wBAAwB,CAAC;AAmEhC;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,eAAe,EACzD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,GAC/D,CAAC,CAkEH"}
@@ -51,6 +51,7 @@ function useViewController(fn) {
51
51
  } else {
52
52
  c = fn(props.modelData, props.context, props.params, ctx);
53
53
  }
54
+ ibiz.util.viewStack.add(c.id, c);
54
55
  watchAndUpdateContextParams(props, c);
55
56
  watchAndUpdateState(props, c);
56
57
  provide("ctx", c.ctx);
@@ -59,15 +60,24 @@ function useViewController(fn) {
59
60
  if (props.modal) {
60
61
  c.modal = props.modal;
61
62
  }
62
- onActivated(() => c.onActivated());
63
- onDeactivated(() => c.onDeactivated());
63
+ onActivated(() => {
64
+ c.onActivated();
65
+ ibiz.util.viewStack.active(c.id);
66
+ });
67
+ onDeactivated(() => {
68
+ c.onDeactivated();
69
+ ibiz.util.viewStack.deactivate(c.id);
70
+ });
64
71
  c.force = useForce();
65
72
  const vue = getCurrentInstance().proxy;
66
73
  c.evt.onAll((eventName, event) => {
67
74
  vue.$emit(eventName.slice(2), event);
68
75
  });
69
76
  c.created();
70
- onBeforeUnmount(() => c.destroyed());
77
+ onBeforeUnmount(() => {
78
+ c.destroyed();
79
+ ibiz.util.viewStack.remove(c.id);
80
+ });
71
81
  return c;
72
82
  }
73
83
 
@@ -1 +1 @@
1
- {"version":3,"file":"async-action.d.ts","sourceRoot":"","sources":["../../../../src/util/store/async-action/async-action.ts"],"names":[],"mappings":"AAwCA;;;;;;GAMG;AACH,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6D7B"}
1
+ {"version":3,"file":"async-action.d.ts","sourceRoot":"","sources":["../../../../src/util/store/async-action/async-action.ts"],"names":[],"mappings":"AAiDA;;;;;;GAMG;AACH,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6D7B"}
@@ -22,6 +22,14 @@ function formatAsyncAction(data) {
22
22
  } catch (error) {
23
23
  }
24
24
  }
25
+ if (isNil(data.completionrate)) {
26
+ const num = Number(data.completionrate);
27
+ if (Number.isNaN(num)) {
28
+ data.completionrate = void 0;
29
+ } else {
30
+ data.completionrate = num;
31
+ }
32
+ }
25
33
  return data;
26
34
  }
27
35
  function useAsyncAction() {
package/lib/index.cjs CHANGED
@@ -16,6 +16,7 @@ var controlShell = require('./common/control-shell/control-shell.cjs');
16
16
  var viewShell = require('./common/view-shell/view-shell.cjs');
17
17
  var codeList = require('./common/code-list/code-list.cjs');
18
18
  var controlLoadingPlaceholder = require('./common/control-loading-placeholder/control-loading-placeholder.cjs');
19
+ var badge = require('./common/badge/badge.cjs');
19
20
  var panelContainer_state = require('./panel-component/panel-container/panel-container.state.cjs');
20
21
  var panelContainer_controller = require('./panel-component/panel-container/panel-container.controller.cjs');
21
22
  var index = require('./panel-component/panel-container/index.cjs');
@@ -115,6 +116,7 @@ exports.IBizControlShell = controlShell.IBizControlShell;
115
116
  exports.IBizViewShell = viewShell.IBizViewShell;
116
117
  exports.IBizCodeList = codeList.IBizCodeList;
117
118
  exports.ControlLoadingPlaceholder = controlLoadingPlaceholder.ControlLoadingPlaceholder;
119
+ exports.IBizBadge = badge.IBizBadge;
118
120
  exports.PanelContainerState = panelContainer_state.PanelContainerState;
119
121
  exports.PanelContainerController = panelContainer_controller.PanelContainerController;
120
122
  exports.IBizPanelContainer = index.IBizPanelContainer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-util",
3
- "version": "0.5.3-beta.9",
3
+ "version": "0.5.4",
4
4
  "description": "vue3 工具包",
5
5
  "type": "module",
6
6
  "module": "es/index.mjs",
@@ -31,10 +31,10 @@
31
31
  "license": "MIT",
32
32
  "devDependencies": {
33
33
  "@ibiz-template/cli": "^0.3.10",
34
- "@ibiz-template/core": "^0.5.3-beta.7",
35
- "@ibiz-template/runtime": "^0.5.3-beta.9",
34
+ "@ibiz-template/core": "^0.5.3",
35
+ "@ibiz-template/runtime": "^0.5.4",
36
36
  "@ibiz-template/theme": "^0.5.0",
37
- "@ibiz/model-core": "^0.1.3",
37
+ "@ibiz/model-core": "^0.1.5",
38
38
  "@types/path-browserify": "^1.0.2",
39
39
  "@types/qs": "^6.9.11",
40
40
  "@types/systemjs": "^6.13.5",
@@ -51,7 +51,7 @@
51
51
  "peerDependencies": {
52
52
  "@ibiz-template/core": "^0.5.0-beta.0",
53
53
  "@ibiz-template/runtime": "^0.5.0-beta.0",
54
- "@ibiz/model-core": "^0.1.3",
54
+ "@ibiz/model-core": "^0.1.5",
55
55
  "dayjs": "^1.11.10",
56
56
  "path-browserify": "^1.0.1",
57
57
  "pinia": "^2.1.7",
@@ -61,5 +61,5 @@
61
61
  "vue": "^3.3.4",
62
62
  "vue-router": "^4.2.4"
63
63
  },
64
- "gitHead": "1d099a8c47c71f97618d5edbc0876853c35e90bc"
64
+ "gitHead": "627ad2605158cf11f72c589e6bf239467f2f90eb"
65
65
  }
@@ -0,0 +1,29 @@
1
+ $badge: (
2
+ bg-color: getCssVar(color, danger),
3
+ );
4
+
5
+
6
+ @include b(badge) {
7
+ display: inline-block;
8
+ padding: 3px 6px;
9
+ line-height: 1rem;
10
+ color: #fff;
11
+ background-color: getCssVar(badge, bg-color);
12
+ border-radius: 10px;
13
+
14
+ @include m(danger){
15
+ #{getCssVarName(badge, bg-color)}: getCssVar(color,danger);
16
+ }
17
+ @include m(success){
18
+ #{getCssVarName(badge, bg-color)}: getCssVar(color,success);
19
+ }
20
+ @include m(warning){
21
+ #{getCssVarName(badge, bg-color)}: getCssVar(color,warning);
22
+ }
23
+ @include m(info){
24
+ #{getCssVarName(badge, bg-color)}: getCssVar(color,info);
25
+ }
26
+ @include m(primary){
27
+ #{getCssVarName(badge, bg-color)}: getCssVar(color,primary);
28
+ }
29
+ }
@@ -0,0 +1,26 @@
1
+ import { defineComponent, PropType } from 'vue';
2
+ import { useNamespace } from '../../use';
3
+ import './badge.scss';
4
+
5
+ export const IBizBadge = defineComponent({
6
+ name: 'IBizBadge',
7
+ props: {
8
+ value: {
9
+ type: Number,
10
+ required: true,
11
+ },
12
+ type: {
13
+ type: String as PropType<
14
+ 'primary' | 'success' | 'warning' | 'danger' | 'info'
15
+ >,
16
+ default: 'danger',
17
+ },
18
+ },
19
+ setup() {
20
+ const ns = useNamespace('badge');
21
+ return { ns };
22
+ },
23
+ render() {
24
+ return <div class={[this.ns.b(), this.ns.m(this.type)]}>{this.value}</div>;
25
+ },
26
+ });
@@ -6,3 +6,4 @@ export * from './view-shell/view-shell';
6
6
  export * from './code-list/code-list';
7
7
  export * from './code-list/code-list';
8
8
  export * from './control-loading-placeholder/control-loading-placeholder';
9
+ export * from './badge/badge';