@ditari/store 1.0.4 → 1.0.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/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var pinia = require('pinia');
|
|
4
|
+
var KeepAlive = require('./KeepAlive.cjs');
|
|
4
5
|
var types = require('../types.cjs');
|
|
5
6
|
|
|
7
|
+
const { deleteKeepAlive } = KeepAlive.useKeepAliveStore();
|
|
6
8
|
const useNavTabsStore = pinia.defineStore(types.NAV_TAB_ID, {
|
|
7
9
|
state: () => {
|
|
8
10
|
return {
|
|
@@ -37,7 +39,9 @@ const useNavTabsStore = pinia.defineStore(types.NAV_TAB_ID, {
|
|
|
37
39
|
if (!((_a = route.meta) == null ? void 0 : _a.title)) {
|
|
38
40
|
return;
|
|
39
41
|
}
|
|
40
|
-
const flag = this.list.some(
|
|
42
|
+
const flag = this.list.some(
|
|
43
|
+
(item) => item.path === route.path
|
|
44
|
+
);
|
|
41
45
|
if (flag) {
|
|
42
46
|
this.list.forEach((item) => {
|
|
43
47
|
if (item.path === route.path) {
|
|
@@ -65,10 +69,15 @@ const useNavTabsStore = pinia.defineStore(types.NAV_TAB_ID, {
|
|
|
65
69
|
* @param key url路径
|
|
66
70
|
*/
|
|
67
71
|
deleteTabs(key) {
|
|
72
|
+
const curRoute = this.list.find((v) => v.fullPath === key);
|
|
68
73
|
this.list.splice(
|
|
69
74
|
this.list.findIndex((v) => v.fullPath === key),
|
|
70
75
|
1
|
|
71
76
|
);
|
|
77
|
+
if (curRoute.name) {
|
|
78
|
+
console.log(curRoute.name);
|
|
79
|
+
deleteKeepAlive(curRoute.name);
|
|
80
|
+
}
|
|
72
81
|
},
|
|
73
82
|
/**
|
|
74
83
|
* 设置标题
|
|
@@ -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\";\
|
|
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}\nconst { deleteKeepAlive } = useKeepAliveStore();\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 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 console.log(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":["useKeepAliveStore","defineStore","NAV_TAB_ID"],"mappings":";;;;;;AAqBA,MAAM,EAAE,eAAgB,EAAA,GAAIA,2BAAkB,EAAA,CAAA;AAEjC,MAAA,eAAA,GAAkBC,kBAAYC,gBAAY,EAAA;AAAA,EACrD,OAAO,MAAM;AACX,IAAO,OAAA;AAAA;AAAA,MAEL,MAAM,EAAC;AAAA;AAAA,MAEP,SAAW,EAAA,EAAA;AAAA,KACb,CAAA;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,OAAA,EAAS,CAAC,KAA0B,KAAA;AAClC,MAAA,OAAO,KAAM,CAAA,IAAA,CAAA;AAAA,KACf;AAAA,IACA,YAAA,EAAc,CAAC,KAAkB,KAAA;AAC/B,MAAA,OAAO,KAAM,CAAA,SAAA,CAAA;AAAA,KACf;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,aAAa,GAAa,EAAA;AACxB,MAAA,IAAA,CAAK,SAAY,GAAA,GAAA,CAAA;AAAA,KACnB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAK,KAAgC,EAAA;AApDzC,MAAA,IAAA,EAAA,CAAA;AAqDM,MAAA,IAAI,EAAC,CAAA,EAAA,GAAA,KAAA,CAAM,IAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAY,KAAO,CAAA,EAAA;AAEtB,QAAA,OAAA;AAAA,OACF;AACA,MAAM,MAAA,IAAA,GAAO,KAAK,IAAK,CAAA,IAAA;AAAA,QACrB,CAAC,IAAA,KAAuB,IAAK,CAAA,IAAA,KAAS,KAAM,CAAA,IAAA;AAAA,OAC9C,CAAA;AACA,MAAA,IAAI,IAAM,EAAA;AAER,QAAK,IAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,CAAC,IAAuB,KAAA;AACxC,UAAI,IAAA,IAAA,CAAK,IAAS,KAAA,KAAA,CAAM,IAAM,EAAA;AAC5B,YAAA,IAAA,CAAK,QAAQ,KAAM,CAAA,KAAA,CAAA;AACnB,YAAA,IAAA,CAAK,WAAW,KAAM,CAAA,QAAA,CAAA;AACtB,YAAA,IAAA,CAAK,SAAS,KAAM,CAAA,MAAA,CAAA;AACpB,YAAA,IAAA,CAAK,OAAO,KAAM,CAAA,IAAA,CAAA;AAClB,YAAK,IAAA,CAAA,IAAA,GAAe,MAAM,IAAQ,IAAA,EAAA,CAAA;AAAA,WACpC;AAAA,SACD,CAAA,CAAA;AACD,QAAA,OAAA;AAAA,OACF;AACA,MAAA,MAAM,IAAqB,GAAA;AAAA,QACzB,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,UAAU,KAAM,CAAA,QAAA;AAAA,QAChB,OAAO,KAAM,CAAA,KAAA;AAAA,QACb,QAAQ,KAAM,CAAA,MAAA;AAAA,QACd,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,IAAA,EAAc,MAAM,IAAQ,IAAA,EAAA;AAAA,OAC9B,CAAA;AACA,MAAK,IAAA,CAAA,IAAA,CAAK,KAAK,IAAI,CAAA,CAAA;AAAA,KACrB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAW,GAAa,EAAA;AACtB,MAAM,MAAA,QAAA,GAAgB,KAAK,IAAK,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,aAAa,GAAG,CAAA,CAAA;AAC9D,MAAA,IAAA,CAAK,IAAK,CAAA,MAAA;AAAA,QACR,KAAK,IAAK,CAAA,SAAA,CAAU,CAAC,CAAM,KAAA,CAAA,CAAE,aAAa,GAAG,CAAA;AAAA,QAC7C,CAAA;AAAA,OACF,CAAA;AAEA,MAAA,IAAI,SAAS,IAAM,EAAA;AACjB,QAAQ,OAAA,CAAA,GAAA,CAAI,SAAS,IAAI,CAAA,CAAA;AACzB,QAAA,eAAA,CAAgB,SAAS,IAAI,CAAA,CAAA;AAAA,OAC/B;AAAA,KACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA,CAAY,OAAe,IAAc,EAAA;AACvC,MAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,IAAK,CAAA,IAAA,CAAK,QAAQ,CAAK,EAAA,EAAA;AACzC,QAAA,IAAI,IAAK,CAAA,IAAA,CAAK,CAAC,CAAA,CAAE,aAAa,IAAM,EAAA;AAClC,UAAA,IAAA,CAAK,IAAK,CAAA,CAAC,CAAE,CAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AAC1B,UAAA,MAAA;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAAA,EACA,OAAS,EAAA,IAAA;AACX,CAAC;;;;"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { defineStore } from 'pinia';
|
|
2
|
+
import { useKeepAliveStore } from './KeepAlive.mjs';
|
|
2
3
|
import { NAV_TAB_ID } from '../types.mjs';
|
|
3
4
|
|
|
5
|
+
const { deleteKeepAlive } = useKeepAliveStore();
|
|
4
6
|
const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
5
7
|
state: () => {
|
|
6
8
|
return {
|
|
@@ -35,7 +37,9 @@ const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
|
35
37
|
if (!((_a = route.meta) == null ? void 0 : _a.title)) {
|
|
36
38
|
return;
|
|
37
39
|
}
|
|
38
|
-
const flag = this.list.some(
|
|
40
|
+
const flag = this.list.some(
|
|
41
|
+
(item) => item.path === route.path
|
|
42
|
+
);
|
|
39
43
|
if (flag) {
|
|
40
44
|
this.list.forEach((item) => {
|
|
41
45
|
if (item.path === route.path) {
|
|
@@ -63,10 +67,15 @@ const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
|
63
67
|
* @param key url路径
|
|
64
68
|
*/
|
|
65
69
|
deleteTabs(key) {
|
|
70
|
+
const curRoute = this.list.find((v) => v.fullPath === key);
|
|
66
71
|
this.list.splice(
|
|
67
72
|
this.list.findIndex((v) => v.fullPath === key),
|
|
68
73
|
1
|
|
69
74
|
);
|
|
75
|
+
if (curRoute.name) {
|
|
76
|
+
console.log(curRoute.name);
|
|
77
|
+
deleteKeepAlive(curRoute.name);
|
|
78
|
+
}
|
|
70
79
|
},
|
|
71
80
|
/**
|
|
72
81
|
* 设置标题
|
|
@@ -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\";\
|
|
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}\nconst { deleteKeepAlive } = useKeepAliveStore();\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 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 console.log(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
package/src/modules/NavTab.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
RouteMeta,
|
|
9
9
|
RouteParams
|
|
10
10
|
} from "vue-router";
|
|
11
|
-
|
|
11
|
+
import { useKeepAliveStore } from "./KeepAlive";
|
|
12
12
|
import { NAV_TAB_ID } from "../types";
|
|
13
13
|
|
|
14
14
|
export interface NavTabsState {
|
|
@@ -19,6 +19,7 @@ export interface NavTabsState {
|
|
|
19
19
|
meta: RouteMeta | any;
|
|
20
20
|
name: string;
|
|
21
21
|
}
|
|
22
|
+
const { deleteKeepAlive } = useKeepAliveStore();
|
|
22
23
|
|
|
23
24
|
export const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
24
25
|
state: () => {
|
|
@@ -54,7 +55,9 @@ export const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
|
54
55
|
// 没有设置title,则不进入缓存
|
|
55
56
|
return;
|
|
56
57
|
}
|
|
57
|
-
const flag = this.list.some(
|
|
58
|
+
const flag = this.list.some(
|
|
59
|
+
(item: NavTabsState) => item.path === route.path
|
|
60
|
+
);
|
|
58
61
|
if (flag) {
|
|
59
62
|
// 如果有相同的路由变化,更新对应的参数信息
|
|
60
63
|
this.list.forEach((item: NavTabsState) => {
|
|
@@ -83,10 +86,16 @@ export const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
|
83
86
|
* @param key url路径
|
|
84
87
|
*/
|
|
85
88
|
deleteTabs(key: string) {
|
|
89
|
+
const curRoute: any = this.list.find((v) => v.fullPath === key);
|
|
86
90
|
this.list.splice(
|
|
87
91
|
this.list.findIndex((v) => v.fullPath === key),
|
|
88
92
|
1
|
|
89
93
|
);
|
|
94
|
+
// 根据name 删除缓存的组件
|
|
95
|
+
if (curRoute.name) {
|
|
96
|
+
console.log(curRoute.name)
|
|
97
|
+
deleteKeepAlive(curRoute.name);
|
|
98
|
+
}
|
|
90
99
|
},
|
|
91
100
|
/**
|
|
92
101
|
* 设置标题
|