@ditari/store 1.0.5 → 1.0.7
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,6 +1,7 @@
|
|
|
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
|
|
|
6
7
|
const useNavTabsStore = pinia.defineStore(types.NAV_TAB_ID, {
|
|
@@ -37,7 +38,9 @@ const useNavTabsStore = pinia.defineStore(types.NAV_TAB_ID, {
|
|
|
37
38
|
if (!((_a = route.meta) == null ? void 0 : _a.title)) {
|
|
38
39
|
return;
|
|
39
40
|
}
|
|
40
|
-
const flag = this.list.some(
|
|
41
|
+
const flag = this.list.some(
|
|
42
|
+
(item) => item.path === route.path
|
|
43
|
+
);
|
|
41
44
|
if (flag) {
|
|
42
45
|
this.list.forEach((item) => {
|
|
43
46
|
if (item.path === route.path) {
|
|
@@ -65,10 +68,15 @@ const useNavTabsStore = pinia.defineStore(types.NAV_TAB_ID, {
|
|
|
65
68
|
* @param key url路径
|
|
66
69
|
*/
|
|
67
70
|
deleteTabs(key) {
|
|
71
|
+
const { deleteKeepAlive } = KeepAlive.useKeepAliveStore();
|
|
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
|
+
deleteKeepAlive(curRoute.name);
|
|
79
|
+
}
|
|
72
80
|
},
|
|
73
81
|
/**
|
|
74
82
|
* 设置标题
|
|
@@ -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}\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":";;;;;;AAuBa,MAAA,eAAA,GAAkBA,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,EAAE,eAAgB,EAAA,GAAIC,2BAAkB,EAAA,CAAA;AAC9C,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,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,4 +1,5 @@
|
|
|
1
1
|
import { defineStore } from 'pinia';
|
|
2
|
+
import { useKeepAliveStore } from './KeepAlive.mjs';
|
|
2
3
|
import { NAV_TAB_ID } from '../types.mjs';
|
|
3
4
|
|
|
4
5
|
const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
@@ -35,7 +36,9 @@ const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
|
35
36
|
if (!((_a = route.meta) == null ? void 0 : _a.title)) {
|
|
36
37
|
return;
|
|
37
38
|
}
|
|
38
|
-
const flag = this.list.some(
|
|
39
|
+
const flag = this.list.some(
|
|
40
|
+
(item) => item.path === route.path
|
|
41
|
+
);
|
|
39
42
|
if (flag) {
|
|
40
43
|
this.list.forEach((item) => {
|
|
41
44
|
if (item.path === route.path) {
|
|
@@ -63,10 +66,15 @@ const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
|
63
66
|
* @param key url路径
|
|
64
67
|
*/
|
|
65
68
|
deleteTabs(key) {
|
|
69
|
+
const { deleteKeepAlive } = useKeepAliveStore();
|
|
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
|
+
deleteKeepAlive(curRoute.name);
|
|
77
|
+
}
|
|
70
78
|
},
|
|
71
79
|
/**
|
|
72
80
|
* 设置标题
|
|
@@ -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}\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
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 {
|
|
@@ -20,6 +20,7 @@ export interface NavTabsState {
|
|
|
20
20
|
name: string;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
|
|
23
24
|
export const useNavTabsStore = defineStore(NAV_TAB_ID, {
|
|
24
25
|
state: () => {
|
|
25
26
|
return {
|
|
@@ -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 { deleteKeepAlive } = useKeepAliveStore();
|
|
90
|
+
const curRoute: any = this.list.find((v) => v.fullPath === key);
|
|
86
91
|
this.list.splice(
|
|
87
92
|
this.list.findIndex((v) => v.fullPath === key),
|
|
88
93
|
1
|
|
89
94
|
);
|
|
95
|
+
// 根据name 删除缓存的组件
|
|
96
|
+
if (curRoute.name) {
|
|
97
|
+
deleteKeepAlive(curRoute.name);
|
|
98
|
+
}
|
|
90
99
|
},
|
|
91
100
|
/**
|
|
92
101
|
* 设置标题
|