@ditari/store 1.0.7 → 1.0.9

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ditari/store
2
2
 
3
+ ## 1.0.9
4
+
5
+ ### Patch Changes
6
+
7
+ - 1. 菜单自动生成 ID
8
+
9
+ ## 1.0.8
10
+
11
+ ### Patch Changes
12
+
13
+ - 1. 调用 show 组件的关闭标签方法的时候,会报错
14
+
3
15
  ## 1.0.7
4
16
 
5
17
  ### Patch Changes
@@ -3,6 +3,25 @@
3
3
  var pinia = require('pinia');
4
4
  var types = require('../types.cjs');
5
5
 
6
+ var __defProp = Object.defineProperty;
7
+ var __defProps = Object.defineProperties;
8
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
6
25
  const useMenuStore = pinia.defineStore(types.MENU_ID, {
7
26
  state: () => {
8
27
  return {
@@ -21,11 +40,26 @@ const useMenuStore = pinia.defineStore(types.MENU_ID, {
21
40
  },
22
41
  actions: {
23
42
  save(data) {
24
- this.list = data;
43
+ this.list = _addMenuIds(data);
25
44
  }
26
45
  },
27
46
  persist: true
28
47
  });
48
+ function _addMenuIds(menuData, parentId = null, idPrefix = "") {
49
+ let counter = 0;
50
+ return menuData.map((menuItem) => {
51
+ const id = `${idPrefix}${counter++}`;
52
+ const newItem = __spreadProps(__spreadValues({}, menuItem), {
53
+ id,
54
+ key: id,
55
+ parentId
56
+ });
57
+ if (menuItem.children) {
58
+ newItem.children = _addMenuIds(menuItem.children, id, `${id}-`);
59
+ }
60
+ return newItem;
61
+ });
62
+ }
29
63
 
30
64
  exports.useMenuStore = useMenuStore;
31
65
  //# sourceMappingURL=Menu.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.cjs","sources":["../../../src/modules/Menu.ts"],"sourcesContent":["/**\n * 菜单数据\n */\nimport { defineStore } from \"pinia\";\nimport { MENU_ID } from \"../types\";\n\nexport const useMenuStore = defineStore(MENU_ID, {\n state: () => {\n return {\n // 菜单数据\n list: [],\n // 展开的菜单数据\n openMenusKeys: [] as any,\n // 当前激活的菜单\n selectedMenuKeys: [] as any\n };\n },\n getters: {\n getMenu: (state) => {\n return state.list;\n }\n },\n actions: {\n save(data: any) {\n this.list = data;\n }\n },\n persist: true\n});\n"],"names":["defineStore","MENU_ID"],"mappings":";;;;;AAMa,MAAA,YAAA,GAAgBA,kBAAYC,aAAS,EAAA;AAAA,EAChD,OAAO,MAAM;AACX,IAAO,OAAA;AAAA;AAAA,MAEL,MAAM,EAAC;AAAA;AAAA,MAEP,eAAe,EAAC;AAAA;AAAA,MAEhB,kBAAkB,EAAC;AAAA,KACrB,CAAA;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,OAAA,EAAS,CAAC,KAAU,KAAA;AAClB,MAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,KACf;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,KAAK,IAAW,EAAA;AACd,MAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAA;AAAA,KACd;AAAA,GACF;AAAA,EACA,OAAS,EAAA,IAAA;AACX,CAAC;;;;"}
1
+ {"version":3,"file":"Menu.cjs","sources":["../../../src/modules/Menu.ts"],"sourcesContent":["/**\n * 菜单数据\n */\nimport { defineStore } from \"pinia\";\nimport { MENU_ID } from \"../types\";\n\nexport const useMenuStore = defineStore(MENU_ID, {\n state: () => {\n return {\n // 菜单数据\n list: [],\n // 展开的菜单数据\n openMenusKeys: [] as any,\n // 当前激活的菜单\n selectedMenuKeys: [] as any\n };\n },\n getters: {\n getMenu: (state) => {\n return state.list;\n }\n },\n actions: {\n save(data: any) {\n this.list = _addMenuIds(data);\n }\n },\n persist: true\n});\n\nfunction _addMenuIds(menuData: any, parentId: any = null, idPrefix = \"\") {\n let counter = 0;\n\n return menuData.map((menuItem: any) => {\n const id = `${idPrefix}${counter++}`;\n const newItem = {\n ...menuItem,\n id,\n key: id,\n parentId\n };\n\n if (menuItem.children) {\n newItem.children = _addMenuIds(menuItem.children, id, `${id}-`);\n }\n\n return newItem;\n });\n}\n"],"names":["defineStore","MENU_ID"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMa,MAAA,YAAA,GAAeA,kBAAYC,aAAS,EAAA;AAAA,EAC/C,OAAO,MAAM;AACX,IAAO,OAAA;AAAA;AAAA,MAEL,MAAM,EAAC;AAAA;AAAA,MAEP,eAAe,EAAC;AAAA;AAAA,MAEhB,kBAAkB,EAAC;AAAA,KACrB,CAAA;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,OAAA,EAAS,CAAC,KAAU,KAAA;AAClB,MAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,KACf;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,KAAK,IAAW,EAAA;AACd,MAAK,IAAA,CAAA,IAAA,GAAO,YAAY,IAAI,CAAA,CAAA;AAAA,KAC9B;AAAA,GACF;AAAA,EACA,OAAS,EAAA,IAAA;AACX,CAAC,EAAA;AAED,SAAS,WAAY,CAAA,QAAA,EAAe,QAAgB,GAAA,IAAA,EAAM,WAAW,EAAI,EAAA;AACvE,EAAA,IAAI,OAAU,GAAA,CAAA,CAAA;AAEd,EAAO,OAAA,QAAA,CAAS,GAAI,CAAA,CAAC,QAAkB,KAAA;AACrC,IAAA,MAAM,EAAK,GAAA,CAAA,EAAG,QAAQ,CAAA,EAAG,OAAS,EAAA,CAAA,CAAA,CAAA;AAClC,IAAM,MAAA,OAAA,GAAU,iCACX,QADW,CAAA,EAAA;AAAA,MAEd,EAAA;AAAA,MACA,GAAK,EAAA,EAAA;AAAA,MACL,QAAA;AAAA,KACF,CAAA,CAAA;AAEA,IAAA,IAAI,SAAS,QAAU,EAAA;AACrB,MAAA,OAAA,CAAQ,WAAW,WAAY,CAAA,QAAA,CAAS,UAAU,EAAI,EAAA,CAAA,EAAG,EAAE,CAAG,CAAA,CAAA,CAAA,CAAA;AAAA,KAChE;AAEA,IAAO,OAAA,OAAA,CAAA;AAAA,GACR,CAAA,CAAA;AACH;;;;"}
@@ -74,7 +74,7 @@ const useNavTabsStore = pinia.defineStore(types.NAV_TAB_ID, {
74
74
  this.list.findIndex((v) => v.fullPath === key),
75
75
  1
76
76
  );
77
- if (curRoute.name) {
77
+ if (curRoute == null ? void 0 : curRoute.name) {
78
78
  deleteKeepAlive(curRoute.name);
79
79
  }
80
80
  },
@@ -1 +1 @@
1
- {"version":3,"file":"NavTab.cjs","sources":["../../../src/modules/NavTab.ts"],"sourcesContent":["/**\n * 多标签数据\n */\nimport { defineStore } from \"pinia\";\nimport {\n LocationQuery,\n RouteLocationNormalized,\n RouteMeta,\n RouteParams\n} from \"vue-router\";\nimport { useKeepAliveStore } from \"./KeepAlive\";\nimport { NAV_TAB_ID } from \"../types\";\n\nexport interface NavTabsState {\n path: string;\n fullPath: string;\n query: LocationQuery;\n params: RouteParams;\n meta: RouteMeta | any;\n name: string;\n}\n\n\nexport const useNavTabsStore = defineStore(NAV_TAB_ID, {\n state: () => {\n return {\n // 多标签列表\n list: [] as NavTabsState[],\n // 当前激活的地址\n activeKey: \"\" as string\n };\n },\n getters: {\n getList: (state): NavTabsState[] => {\n return state.list;\n },\n getActiveKey: (state): string => {\n return state.activeKey;\n }\n },\n actions: {\n /**\n * 设置激活的标签\n * @param key\n */\n setActiveKey(key: string) {\n this.activeKey = key;\n },\n /**\n * 保存标签信息\n * @param route\n */\n save(route: RouteLocationNormalized) {\n if (!route.meta?.title) {\n // 没有设置title,则不进入缓存\n return;\n }\n const flag = this.list.some(\n (item: NavTabsState) => item.path === route.path\n );\n if (flag) {\n // 如果有相同的路由变化,更新对应的参数信息\n this.list.forEach((item: NavTabsState) => {\n if (item.path === route.path) {\n item.query = route.query;\n item.fullPath = route.fullPath;\n item.params = route.params;\n item.meta = route.meta;\n item.name = <string>route.name || \"\";\n }\n });\n return;\n }\n const data: NavTabsState = {\n path: route.path,\n fullPath: route.fullPath,\n query: route.query,\n params: route.params,\n meta: route.meta,\n name: <string>route.name || \"\"\n };\n this.list.push(data);\n },\n /**\n * 删除标签\n * @param key url路径\n */\n deleteTabs(key: string) {\n const { deleteKeepAlive } = useKeepAliveStore();\n const curRoute: any = this.list.find((v) => v.fullPath === key);\n this.list.splice(\n this.list.findIndex((v) => v.fullPath === key),\n 1\n );\n // 根据name 删除缓存的组件\n if (curRoute.name) {\n deleteKeepAlive(curRoute.name);\n }\n },\n /**\n * 设置标题\n * @param title 标题\n * @param path url\n */\n setNavTitle(title: string, path: string) {\n for (let i = 0; i < this.list.length; i++) {\n if (this.list[i].fullPath === path) {\n this.list[i].meta.title = title;\n break;\n }\n }\n }\n },\n persist: true\n});\n"],"names":["defineStore","NAV_TAB_ID","useKeepAliveStore"],"mappings":"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"}
1
+ {"version":3,"file":"NavTab.cjs","sources":["../../../src/modules/NavTab.ts"],"sourcesContent":["/**\n * 多标签数据\n */\nimport { defineStore } from \"pinia\";\nimport {\n LocationQuery,\n RouteLocationNormalized,\n RouteMeta,\n RouteParams\n} from \"vue-router\";\nimport { useKeepAliveStore } from \"./KeepAlive\";\nimport { NAV_TAB_ID } from \"../types\";\n\nexport interface NavTabsState {\n path: string;\n fullPath: string;\n query: LocationQuery;\n params: RouteParams;\n meta: RouteMeta | any;\n name: string;\n}\n\n\nexport const useNavTabsStore = defineStore(NAV_TAB_ID, {\n state: () => {\n return {\n // 多标签列表\n list: [] as NavTabsState[],\n // 当前激活的地址\n activeKey: \"\" as string\n };\n },\n getters: {\n getList: (state): NavTabsState[] => {\n return state.list;\n },\n getActiveKey: (state): string => {\n return state.activeKey;\n }\n },\n actions: {\n /**\n * 设置激活的标签\n * @param key\n */\n setActiveKey(key: string) {\n this.activeKey = key;\n },\n /**\n * 保存标签信息\n * @param route\n */\n save(route: RouteLocationNormalized) {\n if (!route.meta?.title) {\n // 没有设置title,则不进入缓存\n return;\n }\n const flag = this.list.some(\n (item: NavTabsState) => item.path === route.path\n );\n if (flag) {\n // 如果有相同的路由变化,更新对应的参数信息\n this.list.forEach((item: NavTabsState) => {\n if (item.path === route.path) {\n item.query = route.query;\n item.fullPath = route.fullPath;\n item.params = route.params;\n item.meta = route.meta;\n item.name = <string>route.name || \"\";\n }\n });\n return;\n }\n const data: NavTabsState = {\n path: route.path,\n fullPath: route.fullPath,\n query: route.query,\n params: route.params,\n meta: route.meta,\n name: <string>route.name || \"\"\n };\n this.list.push(data);\n },\n /**\n * 删除标签\n * @param key url路径\n */\n deleteTabs(key: string) {\n const { deleteKeepAlive } = useKeepAliveStore();\n const curRoute: any = this.list.find((v) => v.fullPath === key);\n this.list.splice(\n this.list.findIndex((v) => v.fullPath === key),\n 1\n );\n // 根据name 删除缓存的组件\n if (curRoute?.name) {\n deleteKeepAlive(curRoute.name);\n }\n },\n /**\n * 设置标题\n * @param title 标题\n * @param path url\n */\n setNavTitle(title: string, path: string) {\n for (let i = 0; i < this.list.length; i++) {\n if (this.list[i].fullPath === path) {\n this.list[i].meta.title = title;\n break;\n }\n }\n }\n },\n persist: true\n});\n"],"names":["defineStore","NAV_TAB_ID","useKeepAliveStore"],"mappings":"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"}
@@ -1,6 +1,25 @@
1
1
  import { defineStore } from 'pinia';
2
2
  import { MENU_ID } from '../types.mjs';
3
3
 
4
+ var __defProp = Object.defineProperty;
5
+ var __defProps = Object.defineProperties;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp.call(b, prop))
14
+ __defNormalProp(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b)) {
17
+ if (__propIsEnum.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
4
23
  const useMenuStore = defineStore(MENU_ID, {
5
24
  state: () => {
6
25
  return {
@@ -19,11 +38,26 @@ const useMenuStore = defineStore(MENU_ID, {
19
38
  },
20
39
  actions: {
21
40
  save(data) {
22
- this.list = data;
41
+ this.list = _addMenuIds(data);
23
42
  }
24
43
  },
25
44
  persist: true
26
45
  });
46
+ function _addMenuIds(menuData, parentId = null, idPrefix = "") {
47
+ let counter = 0;
48
+ return menuData.map((menuItem) => {
49
+ const id = `${idPrefix}${counter++}`;
50
+ const newItem = __spreadProps(__spreadValues({}, menuItem), {
51
+ id,
52
+ key: id,
53
+ parentId
54
+ });
55
+ if (menuItem.children) {
56
+ newItem.children = _addMenuIds(menuItem.children, id, `${id}-`);
57
+ }
58
+ return newItem;
59
+ });
60
+ }
27
61
 
28
62
  export { useMenuStore };
29
63
  //# sourceMappingURL=Menu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.mjs","sources":["../../../src/modules/Menu.ts"],"sourcesContent":["/**\n * 菜单数据\n */\nimport { defineStore } from \"pinia\";\nimport { MENU_ID } from \"../types\";\n\nexport const useMenuStore = defineStore(MENU_ID, {\n state: () => {\n return {\n // 菜单数据\n list: [],\n // 展开的菜单数据\n openMenusKeys: [] as any,\n // 当前激活的菜单\n selectedMenuKeys: [] as any\n };\n },\n getters: {\n getMenu: (state) => {\n return state.list;\n }\n },\n actions: {\n save(data: any) {\n this.list = data;\n }\n },\n persist: true\n});\n"],"names":[],"mappings":";;;AAMa,MAAA,YAAA,GAAgB,YAAY,OAAS,EAAA;AAAA,EAChD,OAAO,MAAM;AACX,IAAO,OAAA;AAAA;AAAA,MAEL,MAAM,EAAC;AAAA;AAAA,MAEP,eAAe,EAAC;AAAA;AAAA,MAEhB,kBAAkB,EAAC;AAAA,KACrB,CAAA;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,OAAA,EAAS,CAAC,KAAU,KAAA;AAClB,MAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,KACf;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,KAAK,IAAW,EAAA;AACd,MAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAA;AAAA,KACd;AAAA,GACF;AAAA,EACA,OAAS,EAAA,IAAA;AACX,CAAC;;;;"}
1
+ {"version":3,"file":"Menu.mjs","sources":["../../../src/modules/Menu.ts"],"sourcesContent":["/**\n * 菜单数据\n */\nimport { defineStore } from \"pinia\";\nimport { MENU_ID } from \"../types\";\n\nexport const useMenuStore = defineStore(MENU_ID, {\n state: () => {\n return {\n // 菜单数据\n list: [],\n // 展开的菜单数据\n openMenusKeys: [] as any,\n // 当前激活的菜单\n selectedMenuKeys: [] as any\n };\n },\n getters: {\n getMenu: (state) => {\n return state.list;\n }\n },\n actions: {\n save(data: any) {\n this.list = _addMenuIds(data);\n }\n },\n persist: true\n});\n\nfunction _addMenuIds(menuData: any, parentId: any = null, idPrefix = \"\") {\n let counter = 0;\n\n return menuData.map((menuItem: any) => {\n const id = `${idPrefix}${counter++}`;\n const newItem = {\n ...menuItem,\n id,\n key: id,\n parentId\n };\n\n if (menuItem.children) {\n newItem.children = _addMenuIds(menuItem.children, id, `${id}-`);\n }\n\n return newItem;\n });\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMa,MAAA,YAAA,GAAe,YAAY,OAAS,EAAA;AAAA,EAC/C,OAAO,MAAM;AACX,IAAO,OAAA;AAAA;AAAA,MAEL,MAAM,EAAC;AAAA;AAAA,MAEP,eAAe,EAAC;AAAA;AAAA,MAEhB,kBAAkB,EAAC;AAAA,KACrB,CAAA;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,OAAA,EAAS,CAAC,KAAU,KAAA;AAClB,MAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,KACf;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,KAAK,IAAW,EAAA;AACd,MAAK,IAAA,CAAA,IAAA,GAAO,YAAY,IAAI,CAAA,CAAA;AAAA,KAC9B;AAAA,GACF;AAAA,EACA,OAAS,EAAA,IAAA;AACX,CAAC,EAAA;AAED,SAAS,WAAY,CAAA,QAAA,EAAe,QAAgB,GAAA,IAAA,EAAM,WAAW,EAAI,EAAA;AACvE,EAAA,IAAI,OAAU,GAAA,CAAA,CAAA;AAEd,EAAO,OAAA,QAAA,CAAS,GAAI,CAAA,CAAC,QAAkB,KAAA;AACrC,IAAA,MAAM,EAAK,GAAA,CAAA,EAAG,QAAQ,CAAA,EAAG,OAAS,EAAA,CAAA,CAAA,CAAA;AAClC,IAAM,MAAA,OAAA,GAAU,iCACX,QADW,CAAA,EAAA;AAAA,MAEd,EAAA;AAAA,MACA,GAAK,EAAA,EAAA;AAAA,MACL,QAAA;AAAA,KACF,CAAA,CAAA;AAEA,IAAA,IAAI,SAAS,QAAU,EAAA;AACrB,MAAA,OAAA,CAAQ,WAAW,WAAY,CAAA,QAAA,CAAS,UAAU,EAAI,EAAA,CAAA,EAAG,EAAE,CAAG,CAAA,CAAA,CAAA,CAAA;AAAA,KAChE;AAEA,IAAO,OAAA,OAAA,CAAA;AAAA,GACR,CAAA,CAAA;AACH;;;;"}
@@ -72,7 +72,7 @@ const useNavTabsStore = defineStore(NAV_TAB_ID, {
72
72
  this.list.findIndex((v) => v.fullPath === key),
73
73
  1
74
74
  );
75
- if (curRoute.name) {
75
+ if (curRoute == null ? void 0 : curRoute.name) {
76
76
  deleteKeepAlive(curRoute.name);
77
77
  }
78
78
  },
@@ -1 +1 @@
1
- {"version":3,"file":"NavTab.mjs","sources":["../../../src/modules/NavTab.ts"],"sourcesContent":["/**\n * 多标签数据\n */\nimport { defineStore } from \"pinia\";\nimport {\n LocationQuery,\n RouteLocationNormalized,\n RouteMeta,\n RouteParams\n} from \"vue-router\";\nimport { useKeepAliveStore } from \"./KeepAlive\";\nimport { NAV_TAB_ID } from \"../types\";\n\nexport interface NavTabsState {\n path: string;\n fullPath: string;\n query: LocationQuery;\n params: RouteParams;\n meta: RouteMeta | any;\n name: string;\n}\n\n\nexport const useNavTabsStore = defineStore(NAV_TAB_ID, {\n state: () => {\n return {\n // 多标签列表\n list: [] as NavTabsState[],\n // 当前激活的地址\n activeKey: \"\" as string\n };\n },\n getters: {\n getList: (state): NavTabsState[] => {\n return state.list;\n },\n getActiveKey: (state): string => {\n return state.activeKey;\n }\n },\n actions: {\n /**\n * 设置激活的标签\n * @param key\n */\n setActiveKey(key: string) {\n this.activeKey = key;\n },\n /**\n * 保存标签信息\n * @param route\n */\n save(route: RouteLocationNormalized) {\n if (!route.meta?.title) {\n // 没有设置title,则不进入缓存\n return;\n }\n const flag = this.list.some(\n (item: NavTabsState) => item.path === route.path\n );\n if (flag) {\n // 如果有相同的路由变化,更新对应的参数信息\n this.list.forEach((item: NavTabsState) => {\n if (item.path === route.path) {\n item.query = route.query;\n item.fullPath = route.fullPath;\n item.params = route.params;\n item.meta = route.meta;\n item.name = <string>route.name || \"\";\n }\n });\n return;\n }\n const data: NavTabsState = {\n path: route.path,\n fullPath: route.fullPath,\n query: route.query,\n params: route.params,\n meta: route.meta,\n name: <string>route.name || \"\"\n };\n this.list.push(data);\n },\n /**\n * 删除标签\n * @param key url路径\n */\n deleteTabs(key: string) {\n const { deleteKeepAlive } = useKeepAliveStore();\n const curRoute: any = this.list.find((v) => v.fullPath === key);\n this.list.splice(\n this.list.findIndex((v) => v.fullPath === key),\n 1\n );\n // 根据name 删除缓存的组件\n if (curRoute.name) {\n deleteKeepAlive(curRoute.name);\n }\n },\n /**\n * 设置标题\n * @param title 标题\n * @param path url\n */\n setNavTitle(title: string, path: string) {\n for (let i = 0; i < this.list.length; i++) {\n if (this.list[i].fullPath === path) {\n this.list[i].meta.title = title;\n break;\n }\n }\n }\n },\n persist: true\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavTab.mjs","sources":["../../../src/modules/NavTab.ts"],"sourcesContent":["/**\n * 多标签数据\n */\nimport { defineStore } from \"pinia\";\nimport {\n LocationQuery,\n RouteLocationNormalized,\n RouteMeta,\n RouteParams\n} from \"vue-router\";\nimport { useKeepAliveStore } from \"./KeepAlive\";\nimport { NAV_TAB_ID } from \"../types\";\n\nexport interface NavTabsState {\n path: string;\n fullPath: string;\n query: LocationQuery;\n params: RouteParams;\n meta: RouteMeta | any;\n name: string;\n}\n\n\nexport const useNavTabsStore = defineStore(NAV_TAB_ID, {\n state: () => {\n return {\n // 多标签列表\n list: [] as NavTabsState[],\n // 当前激活的地址\n activeKey: \"\" as string\n };\n },\n getters: {\n getList: (state): NavTabsState[] => {\n return state.list;\n },\n getActiveKey: (state): string => {\n return state.activeKey;\n }\n },\n actions: {\n /**\n * 设置激活的标签\n * @param key\n */\n setActiveKey(key: string) {\n this.activeKey = key;\n },\n /**\n * 保存标签信息\n * @param route\n */\n save(route: RouteLocationNormalized) {\n if (!route.meta?.title) {\n // 没有设置title,则不进入缓存\n return;\n }\n const flag = this.list.some(\n (item: NavTabsState) => item.path === route.path\n );\n if (flag) {\n // 如果有相同的路由变化,更新对应的参数信息\n this.list.forEach((item: NavTabsState) => {\n if (item.path === route.path) {\n item.query = route.query;\n item.fullPath = route.fullPath;\n item.params = route.params;\n item.meta = route.meta;\n item.name = <string>route.name || \"\";\n }\n });\n return;\n }\n const data: NavTabsState = {\n path: route.path,\n fullPath: route.fullPath,\n query: route.query,\n params: route.params,\n meta: route.meta,\n name: <string>route.name || \"\"\n };\n this.list.push(data);\n },\n /**\n * 删除标签\n * @param key url路径\n */\n deleteTabs(key: string) {\n const { deleteKeepAlive } = useKeepAliveStore();\n const curRoute: any = this.list.find((v) => v.fullPath === key);\n this.list.splice(\n this.list.findIndex((v) => v.fullPath === key),\n 1\n );\n // 根据name 删除缓存的组件\n if (curRoute?.name) {\n deleteKeepAlive(curRoute.name);\n }\n },\n /**\n * 设置标题\n * @param title 标题\n * @param path url\n */\n setNavTitle(title: string, path: string) {\n for (let i = 0; i < this.list.length; i++) {\n if (this.list[i].fullPath === path) {\n this.list[i].meta.title = title;\n break;\n }\n }\n }\n },\n persist: true\n});\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditari/store",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "store",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -4,7 +4,7 @@
4
4
  import { defineStore } from "pinia";
5
5
  import { MENU_ID } from "../types";
6
6
 
7
- export const useMenuStore = defineStore(MENU_ID, {
7
+ export const useMenuStore = defineStore(MENU_ID, {
8
8
  state: () => {
9
9
  return {
10
10
  // 菜单数据
@@ -22,8 +22,28 @@ export const useMenuStore = defineStore(MENU_ID, {
22
22
  },
23
23
  actions: {
24
24
  save(data: any) {
25
- this.list = data;
25
+ this.list = _addMenuIds(data);
26
26
  }
27
27
  },
28
28
  persist: true
29
29
  });
30
+
31
+ function _addMenuIds(menuData: any, parentId: any = null, idPrefix = "") {
32
+ let counter = 0;
33
+
34
+ return menuData.map((menuItem: any) => {
35
+ const id = `${idPrefix}${counter++}`;
36
+ const newItem = {
37
+ ...menuItem,
38
+ id,
39
+ key: id,
40
+ parentId
41
+ };
42
+
43
+ if (menuItem.children) {
44
+ newItem.children = _addMenuIds(menuItem.children, id, `${id}-`);
45
+ }
46
+
47
+ return newItem;
48
+ });
49
+ }
@@ -93,7 +93,7 @@ export const useNavTabsStore = defineStore(NAV_TAB_ID, {
93
93
  1
94
94
  );
95
95
  // 根据name 删除缓存的组件
96
- if (curRoute.name) {
96
+ if (curRoute?.name) {
97
97
  deleteKeepAlive(curRoute.name);
98
98
  }
99
99
  },