@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,5 +1,17 @@
1
1
  # @ditari/store
2
2
 
3
+ ## 1.0.7
4
+
5
+ ### Patch Changes
6
+
7
+ - 添加删除 store
8
+
9
+ ## 1.0.6
10
+
11
+ ### Patch Changes
12
+
13
+ - 1.标签关闭,新增删除缓存的组件 name
14
+
3
15
  ## 1.0.5
4
16
 
5
17
  ### Patch Changes
@@ -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((item) => item.path === route.path);
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\";\n\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\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((item: NavTabsState) => item.path === route.path);\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 this.list.splice(\n this.list.findIndex((v) => v.fullPath === key),\n 1\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"],"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,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((item) => item.path === route.path);
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\";\n\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\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((item: NavTabsState) => item.path === route.path);\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 this.list.splice(\n this.list.findIndex((v) => v.fullPath === key),\n 1\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.5",
3
+ "version": "1.0.7",
4
4
  "description": "store",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -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((item: NavTabsState) => item.path === route.path);
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
  * 设置标题