@ditari/store 5.1.0 → 5.1.2
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/dist/cjs/modules/useAppStore.cjs +8 -2
- package/dist/cjs/modules/useAppStore.cjs.map +1 -1
- package/dist/cjs/modules/useNavTabStore.cjs +33 -0
- package/dist/cjs/modules/useNavTabStore.cjs.map +1 -1
- package/dist/esm/modules/useAppStore.mjs +8 -2
- package/dist/esm/modules/useAppStore.mjs.map +1 -1
- package/dist/esm/modules/useNavTabStore.mjs +33 -0
- package/dist/esm/modules/useNavTabStore.mjs.map +1 -1
- package/dist/types/modules/useAppStore.d.ts +12 -1
- package/dist/types/modules/useAppStore.d.ts.map +1 -1
- package/dist/types/modules/useNavTabStore.d.ts +3 -0
- package/dist/types/modules/useNavTabStore.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/modules/useNoStore.cjs +0 -22
- package/dist/cjs/modules/useNoStore.cjs.map +0 -1
- package/dist/esm/modules/useNoStore.mjs +0 -18
- package/dist/esm/modules/useNoStore.mjs.map +0 -1
- package/dist/types/modules/useNoStore.d.ts +0 -11
- package/dist/types/modules/useNoStore.d.ts.map +0 -1
|
@@ -31,8 +31,14 @@ const useAppStore = pinia.defineStore(types.APP_ID, {
|
|
|
31
31
|
collapsed: false
|
|
32
32
|
},
|
|
33
33
|
headerTokenStyle: {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
colorBgHeader: "#1677ff"
|
|
35
|
+
},
|
|
36
|
+
tabsTokenStyle: {
|
|
37
|
+
colorBgActive: "#f5f5f5",
|
|
38
|
+
colorSplit: "#fff",
|
|
39
|
+
colorTextActive: "#000",
|
|
40
|
+
colorShadowActive: "#f5f5f5",
|
|
41
|
+
colorTabsText: "#fff"
|
|
36
42
|
},
|
|
37
43
|
sideTokenStyle: {
|
|
38
44
|
bgColor: " #0F6BD9"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppStore.cjs","sources":["../../../src/modules/useAppStore.ts"],"sourcesContent":["import { theme } from \"ant-design-vue\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { APP_ID } from \"../types\";\r\nimport type { ThemeConfig } from \"ant-design-vue/es/config-provider/context\";\r\n\r\nexport interface App {\r\n theme: ThemeConfig;\r\n // 模式:亮色和深色\r\n modeConfig: Mode;\r\n layout: {\r\n // 侧边栏宽度\r\n sideWidth: number;\r\n // 头高度\r\n headerHeight: number;\r\n // 左侧菜单收缩时候的宽度\r\n collapsedWidth: number;\r\n // 左侧菜单收缩状态\r\n collapsed: boolean;\r\n };\r\n // 紧凑模式\r\n isCompact: boolean;\r\n // 头部导航背样式配置\r\n headerTokenStyle:
|
|
1
|
+
{"version":3,"file":"useAppStore.cjs","sources":["../../../src/modules/useAppStore.ts"],"sourcesContent":["import { theme } from \"ant-design-vue\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { APP_ID } from \"../types\";\r\nimport type { ThemeConfig } from \"ant-design-vue/es/config-provider/context\";\r\n\r\nexport interface HeaderStyle {\r\n colorBgHeader: string;\r\n}\r\n\r\nexport interface TabsStyle {\r\n // 标签激活时的背景颜色\r\n colorBgActive: string;\r\n // 标签激活时的文字颜色\r\n colorTextActive: string;\r\n // 标签分割颜色\r\n colorSplit: string;\r\n // 标签激活时的圆角样式\r\n colorShadowActive: string;\r\n // 标签颜色\r\n colorTabsText: string;\r\n}\r\n\r\nexport interface App {\r\n theme: ThemeConfig;\r\n // 模式:亮色和深色\r\n modeConfig: Mode;\r\n layout: {\r\n // 侧边栏宽度\r\n sideWidth: number;\r\n // 头高度\r\n headerHeight: number;\r\n // 左侧菜单收缩时候的宽度\r\n collapsedWidth: number;\r\n // 左侧菜单收缩状态\r\n collapsed: boolean;\r\n };\r\n // 紧凑模式\r\n isCompact: boolean;\r\n // 头部导航背样式配置\r\n headerTokenStyle: HeaderStyle;\r\n // 标签样式\r\n tabsTokenStyle?: TabsStyle;\r\n sideTokenStyle: Record<string, string>;\r\n // 刷新状态,当从添加页跳转到列表页时使用\r\n refresh: boolean;\r\n}\r\n\r\nexport interface Mode {\r\n mode: string;\r\n list: {\r\n value: string;\r\n label: string;\r\n }[];\r\n}\r\n\r\nconst useAppStore = defineStore(APP_ID, {\r\n state: (): App => {\r\n return {\r\n theme: {\r\n // 算法\r\n algorithm: theme.defaultAlgorithm,\r\n token: {}\r\n },\r\n modeConfig: {\r\n mode: \"light\",\r\n list: [\r\n { value: \"light\", label: \"亮色\" },\r\n { value: \"dark\", label: \"深色\" },\r\n { value: \"os\", label: \"跟随系统\" }\r\n ]\r\n },\r\n isCompact: true,\r\n layout: {\r\n sideWidth: 200,\r\n headerHeight: 44,\r\n collapsedWidth: 80,\r\n collapsed: false\r\n },\r\n headerTokenStyle: {\r\n colorBgHeader: \"#1677ff\"\r\n },\r\n tabsTokenStyle: {\r\n colorBgActive: \"#f5f5f5\",\r\n colorSplit: \"#fff\",\r\n colorTextActive: \"#000\",\r\n colorShadowActive: \"#f5f5f5\",\r\n colorTabsText: \"#fff\"\r\n },\r\n sideTokenStyle: {\r\n bgColor: \" #0F6BD9\"\r\n },\r\n refresh: false\r\n };\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useAppStore;\r\n"],"names":["defineStore","APP_ID","theme"],"mappings":";;;;;;;;;AAwDA,MAAM,WAAA,GAAcA,kBAAYC,YAAA,EAAQ;AAAA,EACtC,OAAO,MAAW;AAChB,IAAA,OAAO;AAAA,MACL,KAAA,EAAO;AAAA;AAAA,QAEL,WAAWC,kBAAA,CAAM,gBAAA;AAAA,QACjB,OAAO;AAAC,OACV;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,IAAA,EAAM;AAAA,UACJ,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,cAAA,EAAK;AAAA,UAC9B,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,cAAA,EAAK;AAAA,UAC7B,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,0BAAA;AAAO;AAC/B,OACF;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,MACX,MAAA,EAAQ;AAAA,QACN,SAAA,EAAW,GAAA;AAAA,QACX,YAAA,EAAc,EAAA;AAAA,QACd,cAAA,EAAgB,EAAA;AAAA,QAChB,SAAA,EAAW;AAAA,OACb;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,cAAA,EAAgB;AAAA,QACd,aAAA,EAAe,SAAA;AAAA,QACf,UAAA,EAAY,MAAA;AAAA,QACZ,eAAA,EAAiB,MAAA;AAAA,QACjB,iBAAA,EAAmB,SAAA;AAAA,QACnB,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,cAAA,EAAgB;AAAA,QACd,OAAA,EAAS;AAAA,OACX;AAAA,MACA,OAAA,EAAS;AAAA,KACX;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
|
@@ -84,6 +84,39 @@ const useNavTabStore = pinia.defineStore(types.NAV_TAB_ID, {
|
|
|
84
84
|
break;
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
+
},
|
|
88
|
+
// 关闭其他
|
|
89
|
+
closeOtherTabs(fullPath) {
|
|
90
|
+
this.list = this.list.filter(
|
|
91
|
+
(item) => {
|
|
92
|
+
var _a;
|
|
93
|
+
return item.fullPath === fullPath || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
},
|
|
97
|
+
// 关闭左侧
|
|
98
|
+
closeLeftTabs(fullPath) {
|
|
99
|
+
const index = this.list.findIndex(
|
|
100
|
+
(item) => item.fullPath === fullPath
|
|
101
|
+
);
|
|
102
|
+
this.list = this.list.filter(
|
|
103
|
+
(item, i) => {
|
|
104
|
+
var _a;
|
|
105
|
+
return i >= index || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
},
|
|
109
|
+
// 关闭右侧
|
|
110
|
+
closeRightTabs(fullPath) {
|
|
111
|
+
const index = this.list.findIndex(
|
|
112
|
+
(item) => item.fullPath === fullPath
|
|
113
|
+
);
|
|
114
|
+
this.list = this.list.filter(
|
|
115
|
+
(item, i) => {
|
|
116
|
+
var _a;
|
|
117
|
+
return i <= index || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
118
|
+
}
|
|
119
|
+
);
|
|
87
120
|
}
|
|
88
121
|
},
|
|
89
122
|
persist: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavTabStore.cjs","sources":["../../../src/modules/useNavTabStore.ts"],"sourcesContent":["/**\r\n * 多标签数据\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { NAV_TAB_ID } from \"../types\";\r\nimport useKeepAliveStore from \"./useKeepAliveStore\";\r\nimport type {\r\n LocationQuery,\r\n RouteLocationNormalized,\r\n RouteMeta,\r\n RouteParams\r\n} from \"vue-router\";\r\n\r\nexport interface NavTabsState {\r\n path?: string;\r\n fullPath?: string;\r\n query?: LocationQuery;\r\n params?: RouteParams;\r\n meta?: RouteMeta;\r\n name?: string;\r\n openTime?: number | undefined;\r\n}\r\n\r\nexport const useNavTabStore = defineStore(NAV_TAB_ID, {\r\n state: () => {\r\n return {\r\n // 多标签列表\r\n list: [] as NavTabsState[],\r\n // 当前激活的地址\r\n activeKey: \"\" as string\r\n };\r\n },\r\n getters: {\r\n getList: (state): NavTabsState[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 保存标签信息\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n if (!route.meta?.title) {\r\n // 没有设置title,则不进入缓存\r\n return;\r\n }\r\n const flag = this.list.some(\r\n (item: NavTabsState) => item.path === route.path\r\n );\r\n if (flag) {\r\n // 如果有相同的路由变化,更新对应的参数信息\r\n this.list.forEach((item: NavTabsState) => {\r\n if (item.path === route.path) {\r\n item.query = route.query;\r\n item.fullPath = route.fullPath;\r\n item.params = route.params;\r\n item.meta = route.meta;\r\n item.name = <string>route.name || \"\";\r\n }\r\n });\r\n return;\r\n }\r\n const data: NavTabsState = {\r\n path: route.path,\r\n fullPath: route.fullPath,\r\n query: route.query,\r\n params: route.params,\r\n meta: route.meta,\r\n name: <string>route.name || \"\",\r\n openTime: new Date().getTime()\r\n };\r\n this.list.push(data);\r\n },\r\n /**\r\n * 删除标签\r\n * @param key url路径\r\n */\r\n deleteTabs(key: string) {\r\n const { deleteKeepAlive } = useKeepAliveStore();\r\n const curRoute: NavTabsState =\r\n this.list.find(v => v.fullPath === key) || {};\r\n this.list.splice(\r\n this.list.findIndex(v => v.fullPath === key),\r\n 1\r\n );\r\n // 根据name 删除缓存的组件\r\n if (curRoute?.name) {\r\n deleteKeepAlive(curRoute.name);\r\n }\r\n },\r\n /**\r\n * 设置标题\r\n * @param title 标题\r\n * @param path url\r\n */\r\n setNavTitle(title: string, path: string) {\r\n for (let i = 0; i < this.list.length; i++) {\r\n if (this.list[i].fullPath === path) {\r\n this.list[i].meta!.title = title;\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useNavTabStore;\r\n"],"names":["defineStore","NAV_TAB_ID","useKeepAliveStore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useNavTabStore.cjs","sources":["../../../src/modules/useNavTabStore.ts"],"sourcesContent":["/**\r\n * 多标签数据\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { NAV_TAB_ID } from \"../types\";\r\nimport useKeepAliveStore from \"./useKeepAliveStore\";\r\nimport type {\r\n LocationQuery,\r\n RouteLocationNormalized,\r\n RouteMeta,\r\n RouteParams\r\n} from \"vue-router\";\r\n\r\nexport interface NavTabsState {\r\n path?: string;\r\n fullPath?: string;\r\n query?: LocationQuery;\r\n params?: RouteParams;\r\n meta?: RouteMeta;\r\n name?: string;\r\n openTime?: number | undefined;\r\n}\r\n\r\nexport const useNavTabStore = defineStore(NAV_TAB_ID, {\r\n state: () => {\r\n return {\r\n // 多标签列表\r\n list: [] as NavTabsState[],\r\n // 当前激活的地址\r\n activeKey: \"\" as string\r\n };\r\n },\r\n getters: {\r\n getList: (state): NavTabsState[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 保存标签信息\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n if (!route.meta?.title) {\r\n // 没有设置title,则不进入缓存\r\n return;\r\n }\r\n const flag = this.list.some(\r\n (item: NavTabsState) => item.path === route.path\r\n );\r\n if (flag) {\r\n // 如果有相同的路由变化,更新对应的参数信息\r\n this.list.forEach((item: NavTabsState) => {\r\n if (item.path === route.path) {\r\n item.query = route.query;\r\n item.fullPath = route.fullPath;\r\n item.params = route.params;\r\n item.meta = route.meta;\r\n item.name = <string>route.name || \"\";\r\n }\r\n });\r\n return;\r\n }\r\n const data: NavTabsState = {\r\n path: route.path,\r\n fullPath: route.fullPath,\r\n query: route.query,\r\n params: route.params,\r\n meta: route.meta,\r\n name: <string>route.name || \"\",\r\n openTime: new Date().getTime()\r\n };\r\n this.list.push(data);\r\n },\r\n /**\r\n * 删除标签\r\n * @param key url路径\r\n */\r\n deleteTabs(key: string) {\r\n const { deleteKeepAlive } = useKeepAliveStore();\r\n const curRoute: NavTabsState =\r\n this.list.find(v => v.fullPath === key) || {};\r\n this.list.splice(\r\n this.list.findIndex(v => v.fullPath === key),\r\n 1\r\n );\r\n // 根据name 删除缓存的组件\r\n if (curRoute?.name) {\r\n deleteKeepAlive(curRoute.name);\r\n }\r\n },\r\n /**\r\n * 设置标题\r\n * @param title 标题\r\n * @param path url\r\n */\r\n setNavTitle(title: string, path: string) {\r\n for (let i = 0; i < this.list.length; i++) {\r\n if (this.list[i].fullPath === path) {\r\n this.list[i].meta!.title = title;\r\n break;\r\n }\r\n }\r\n },\r\n // 关闭其他\r\n closeOtherTabs(fullPath: string) {\r\n this.list = this.list.filter(\r\n item =>\r\n item.fullPath === fullPath || item.meta?.keepOpen\r\n );\r\n },\r\n\r\n // 关闭左侧\r\n closeLeftTabs(fullPath: string) {\r\n const index = this.list.findIndex(\r\n item => item.fullPath === fullPath\r\n );\r\n this.list = this.list.filter(\r\n (item, i) => i >= index || item.meta?.keepOpen\r\n );\r\n },\r\n\r\n // 关闭右侧\r\n closeRightTabs(fullPath: string) {\r\n const index = this.list.findIndex(\r\n item => item.fullPath === fullPath\r\n );\r\n this.list = this.list.filter(\r\n (item, i) => i <= index || item.meta?.keepOpen\r\n );\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useNavTabStore;\r\n"],"names":["defineStore","NAV_TAB_ID","useKeepAliveStore"],"mappings":"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"}
|
|
@@ -27,8 +27,14 @@ const useAppStore = defineStore(APP_ID, {
|
|
|
27
27
|
collapsed: false
|
|
28
28
|
},
|
|
29
29
|
headerTokenStyle: {
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
colorBgHeader: "#1677ff"
|
|
31
|
+
},
|
|
32
|
+
tabsTokenStyle: {
|
|
33
|
+
colorBgActive: "#f5f5f5",
|
|
34
|
+
colorSplit: "#fff",
|
|
35
|
+
colorTextActive: "#000",
|
|
36
|
+
colorShadowActive: "#f5f5f5",
|
|
37
|
+
colorTabsText: "#fff"
|
|
32
38
|
},
|
|
33
39
|
sideTokenStyle: {
|
|
34
40
|
bgColor: " #0F6BD9"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppStore.mjs","sources":["../../../src/modules/useAppStore.ts"],"sourcesContent":["import { theme } from \"ant-design-vue\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { APP_ID } from \"../types\";\r\nimport type { ThemeConfig } from \"ant-design-vue/es/config-provider/context\";\r\n\r\nexport interface App {\r\n theme: ThemeConfig;\r\n // 模式:亮色和深色\r\n modeConfig: Mode;\r\n layout: {\r\n // 侧边栏宽度\r\n sideWidth: number;\r\n // 头高度\r\n headerHeight: number;\r\n // 左侧菜单收缩时候的宽度\r\n collapsedWidth: number;\r\n // 左侧菜单收缩状态\r\n collapsed: boolean;\r\n };\r\n // 紧凑模式\r\n isCompact: boolean;\r\n // 头部导航背样式配置\r\n headerTokenStyle:
|
|
1
|
+
{"version":3,"file":"useAppStore.mjs","sources":["../../../src/modules/useAppStore.ts"],"sourcesContent":["import { theme } from \"ant-design-vue\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { APP_ID } from \"../types\";\r\nimport type { ThemeConfig } from \"ant-design-vue/es/config-provider/context\";\r\n\r\nexport interface HeaderStyle {\r\n colorBgHeader: string;\r\n}\r\n\r\nexport interface TabsStyle {\r\n // 标签激活时的背景颜色\r\n colorBgActive: string;\r\n // 标签激活时的文字颜色\r\n colorTextActive: string;\r\n // 标签分割颜色\r\n colorSplit: string;\r\n // 标签激活时的圆角样式\r\n colorShadowActive: string;\r\n // 标签颜色\r\n colorTabsText: string;\r\n}\r\n\r\nexport interface App {\r\n theme: ThemeConfig;\r\n // 模式:亮色和深色\r\n modeConfig: Mode;\r\n layout: {\r\n // 侧边栏宽度\r\n sideWidth: number;\r\n // 头高度\r\n headerHeight: number;\r\n // 左侧菜单收缩时候的宽度\r\n collapsedWidth: number;\r\n // 左侧菜单收缩状态\r\n collapsed: boolean;\r\n };\r\n // 紧凑模式\r\n isCompact: boolean;\r\n // 头部导航背样式配置\r\n headerTokenStyle: HeaderStyle;\r\n // 标签样式\r\n tabsTokenStyle?: TabsStyle;\r\n sideTokenStyle: Record<string, string>;\r\n // 刷新状态,当从添加页跳转到列表页时使用\r\n refresh: boolean;\r\n}\r\n\r\nexport interface Mode {\r\n mode: string;\r\n list: {\r\n value: string;\r\n label: string;\r\n }[];\r\n}\r\n\r\nconst useAppStore = defineStore(APP_ID, {\r\n state: (): App => {\r\n return {\r\n theme: {\r\n // 算法\r\n algorithm: theme.defaultAlgorithm,\r\n token: {}\r\n },\r\n modeConfig: {\r\n mode: \"light\",\r\n list: [\r\n { value: \"light\", label: \"亮色\" },\r\n { value: \"dark\", label: \"深色\" },\r\n { value: \"os\", label: \"跟随系统\" }\r\n ]\r\n },\r\n isCompact: true,\r\n layout: {\r\n sideWidth: 200,\r\n headerHeight: 44,\r\n collapsedWidth: 80,\r\n collapsed: false\r\n },\r\n headerTokenStyle: {\r\n colorBgHeader: \"#1677ff\"\r\n },\r\n tabsTokenStyle: {\r\n colorBgActive: \"#f5f5f5\",\r\n colorSplit: \"#fff\",\r\n colorTextActive: \"#000\",\r\n colorShadowActive: \"#f5f5f5\",\r\n colorTabsText: \"#fff\"\r\n },\r\n sideTokenStyle: {\r\n bgColor: \" #0F6BD9\"\r\n },\r\n refresh: false\r\n };\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useAppStore;\r\n"],"names":[],"mappings":";;;;;AAwDA,MAAM,WAAA,GAAc,YAAY,MAAA,EAAQ;AAAA,EACtC,OAAO,MAAW;AAChB,IAAA,OAAO;AAAA,MACL,KAAA,EAAO;AAAA;AAAA,QAEL,WAAW,KAAA,CAAM,gBAAA;AAAA,QACjB,OAAO;AAAC,OACV;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,IAAA,EAAM;AAAA,UACJ,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,cAAA,EAAK;AAAA,UAC9B,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,cAAA,EAAK;AAAA,UAC7B,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,0BAAA;AAAO;AAC/B,OACF;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,MACX,MAAA,EAAQ;AAAA,QACN,SAAA,EAAW,GAAA;AAAA,QACX,YAAA,EAAc,EAAA;AAAA,QACd,cAAA,EAAgB,EAAA;AAAA,QAChB,SAAA,EAAW;AAAA,OACb;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,cAAA,EAAgB;AAAA,QACd,aAAA,EAAe,SAAA;AAAA,QACf,UAAA,EAAY,MAAA;AAAA,QACZ,eAAA,EAAiB,MAAA;AAAA,QACjB,iBAAA,EAAmB,SAAA;AAAA,QACnB,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,cAAA,EAAgB;AAAA,QACd,OAAA,EAAS;AAAA,OACX;AAAA,MACA,OAAA,EAAS;AAAA,KACX;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
|
@@ -80,6 +80,39 @@ const useNavTabStore = defineStore(NAV_TAB_ID, {
|
|
|
80
80
|
break;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
+
},
|
|
84
|
+
// 关闭其他
|
|
85
|
+
closeOtherTabs(fullPath) {
|
|
86
|
+
this.list = this.list.filter(
|
|
87
|
+
(item) => {
|
|
88
|
+
var _a;
|
|
89
|
+
return item.fullPath === fullPath || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
},
|
|
93
|
+
// 关闭左侧
|
|
94
|
+
closeLeftTabs(fullPath) {
|
|
95
|
+
const index = this.list.findIndex(
|
|
96
|
+
(item) => item.fullPath === fullPath
|
|
97
|
+
);
|
|
98
|
+
this.list = this.list.filter(
|
|
99
|
+
(item, i) => {
|
|
100
|
+
var _a;
|
|
101
|
+
return i >= index || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
102
|
+
}
|
|
103
|
+
);
|
|
104
|
+
},
|
|
105
|
+
// 关闭右侧
|
|
106
|
+
closeRightTabs(fullPath) {
|
|
107
|
+
const index = this.list.findIndex(
|
|
108
|
+
(item) => item.fullPath === fullPath
|
|
109
|
+
);
|
|
110
|
+
this.list = this.list.filter(
|
|
111
|
+
(item, i) => {
|
|
112
|
+
var _a;
|
|
113
|
+
return i <= index || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
114
|
+
}
|
|
115
|
+
);
|
|
83
116
|
}
|
|
84
117
|
},
|
|
85
118
|
persist: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavTabStore.mjs","sources":["../../../src/modules/useNavTabStore.ts"],"sourcesContent":["/**\r\n * 多标签数据\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { NAV_TAB_ID } from \"../types\";\r\nimport useKeepAliveStore from \"./useKeepAliveStore\";\r\nimport type {\r\n LocationQuery,\r\n RouteLocationNormalized,\r\n RouteMeta,\r\n RouteParams\r\n} from \"vue-router\";\r\n\r\nexport interface NavTabsState {\r\n path?: string;\r\n fullPath?: string;\r\n query?: LocationQuery;\r\n params?: RouteParams;\r\n meta?: RouteMeta;\r\n name?: string;\r\n openTime?: number | undefined;\r\n}\r\n\r\nexport const useNavTabStore = defineStore(NAV_TAB_ID, {\r\n state: () => {\r\n return {\r\n // 多标签列表\r\n list: [] as NavTabsState[],\r\n // 当前激活的地址\r\n activeKey: \"\" as string\r\n };\r\n },\r\n getters: {\r\n getList: (state): NavTabsState[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 保存标签信息\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n if (!route.meta?.title) {\r\n // 没有设置title,则不进入缓存\r\n return;\r\n }\r\n const flag = this.list.some(\r\n (item: NavTabsState) => item.path === route.path\r\n );\r\n if (flag) {\r\n // 如果有相同的路由变化,更新对应的参数信息\r\n this.list.forEach((item: NavTabsState) => {\r\n if (item.path === route.path) {\r\n item.query = route.query;\r\n item.fullPath = route.fullPath;\r\n item.params = route.params;\r\n item.meta = route.meta;\r\n item.name = <string>route.name || \"\";\r\n }\r\n });\r\n return;\r\n }\r\n const data: NavTabsState = {\r\n path: route.path,\r\n fullPath: route.fullPath,\r\n query: route.query,\r\n params: route.params,\r\n meta: route.meta,\r\n name: <string>route.name || \"\",\r\n openTime: new Date().getTime()\r\n };\r\n this.list.push(data);\r\n },\r\n /**\r\n * 删除标签\r\n * @param key url路径\r\n */\r\n deleteTabs(key: string) {\r\n const { deleteKeepAlive } = useKeepAliveStore();\r\n const curRoute: NavTabsState =\r\n this.list.find(v => v.fullPath === key) || {};\r\n this.list.splice(\r\n this.list.findIndex(v => v.fullPath === key),\r\n 1\r\n );\r\n // 根据name 删除缓存的组件\r\n if (curRoute?.name) {\r\n deleteKeepAlive(curRoute.name);\r\n }\r\n },\r\n /**\r\n * 设置标题\r\n * @param title 标题\r\n * @param path url\r\n */\r\n setNavTitle(title: string, path: string) {\r\n for (let i = 0; i < this.list.length; i++) {\r\n if (this.list[i].fullPath === path) {\r\n this.list[i].meta!.title = title;\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useNavTabStore;\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useNavTabStore.mjs","sources":["../../../src/modules/useNavTabStore.ts"],"sourcesContent":["/**\r\n * 多标签数据\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { NAV_TAB_ID } from \"../types\";\r\nimport useKeepAliveStore from \"./useKeepAliveStore\";\r\nimport type {\r\n LocationQuery,\r\n RouteLocationNormalized,\r\n RouteMeta,\r\n RouteParams\r\n} from \"vue-router\";\r\n\r\nexport interface NavTabsState {\r\n path?: string;\r\n fullPath?: string;\r\n query?: LocationQuery;\r\n params?: RouteParams;\r\n meta?: RouteMeta;\r\n name?: string;\r\n openTime?: number | undefined;\r\n}\r\n\r\nexport const useNavTabStore = defineStore(NAV_TAB_ID, {\r\n state: () => {\r\n return {\r\n // 多标签列表\r\n list: [] as NavTabsState[],\r\n // 当前激活的地址\r\n activeKey: \"\" as string\r\n };\r\n },\r\n getters: {\r\n getList: (state): NavTabsState[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 保存标签信息\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n if (!route.meta?.title) {\r\n // 没有设置title,则不进入缓存\r\n return;\r\n }\r\n const flag = this.list.some(\r\n (item: NavTabsState) => item.path === route.path\r\n );\r\n if (flag) {\r\n // 如果有相同的路由变化,更新对应的参数信息\r\n this.list.forEach((item: NavTabsState) => {\r\n if (item.path === route.path) {\r\n item.query = route.query;\r\n item.fullPath = route.fullPath;\r\n item.params = route.params;\r\n item.meta = route.meta;\r\n item.name = <string>route.name || \"\";\r\n }\r\n });\r\n return;\r\n }\r\n const data: NavTabsState = {\r\n path: route.path,\r\n fullPath: route.fullPath,\r\n query: route.query,\r\n params: route.params,\r\n meta: route.meta,\r\n name: <string>route.name || \"\",\r\n openTime: new Date().getTime()\r\n };\r\n this.list.push(data);\r\n },\r\n /**\r\n * 删除标签\r\n * @param key url路径\r\n */\r\n deleteTabs(key: string) {\r\n const { deleteKeepAlive } = useKeepAliveStore();\r\n const curRoute: NavTabsState =\r\n this.list.find(v => v.fullPath === key) || {};\r\n this.list.splice(\r\n this.list.findIndex(v => v.fullPath === key),\r\n 1\r\n );\r\n // 根据name 删除缓存的组件\r\n if (curRoute?.name) {\r\n deleteKeepAlive(curRoute.name);\r\n }\r\n },\r\n /**\r\n * 设置标题\r\n * @param title 标题\r\n * @param path url\r\n */\r\n setNavTitle(title: string, path: string) {\r\n for (let i = 0; i < this.list.length; i++) {\r\n if (this.list[i].fullPath === path) {\r\n this.list[i].meta!.title = title;\r\n break;\r\n }\r\n }\r\n },\r\n // 关闭其他\r\n closeOtherTabs(fullPath: string) {\r\n this.list = this.list.filter(\r\n item =>\r\n item.fullPath === fullPath || item.meta?.keepOpen\r\n );\r\n },\r\n\r\n // 关闭左侧\r\n closeLeftTabs(fullPath: string) {\r\n const index = this.list.findIndex(\r\n item => item.fullPath === fullPath\r\n );\r\n this.list = this.list.filter(\r\n (item, i) => i >= index || item.meta?.keepOpen\r\n );\r\n },\r\n\r\n // 关闭右侧\r\n closeRightTabs(fullPath: string) {\r\n const index = this.list.findIndex(\r\n item => item.fullPath === fullPath\r\n );\r\n this.list = this.list.filter(\r\n (item, i) => i <= index || item.meta?.keepOpen\r\n );\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useNavTabStore;\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import type { ThemeConfig } from "ant-design-vue/es/config-provider/context";
|
|
2
|
+
export interface HeaderStyle {
|
|
3
|
+
colorBgHeader: string;
|
|
4
|
+
}
|
|
5
|
+
export interface TabsStyle {
|
|
6
|
+
colorBgActive: string;
|
|
7
|
+
colorTextActive: string;
|
|
8
|
+
colorSplit: string;
|
|
9
|
+
colorShadowActive: string;
|
|
10
|
+
colorTabsText: string;
|
|
11
|
+
}
|
|
2
12
|
export interface App {
|
|
3
13
|
theme: ThemeConfig;
|
|
4
14
|
modeConfig: Mode;
|
|
@@ -9,7 +19,8 @@ export interface App {
|
|
|
9
19
|
collapsed: boolean;
|
|
10
20
|
};
|
|
11
21
|
isCompact: boolean;
|
|
12
|
-
headerTokenStyle:
|
|
22
|
+
headerTokenStyle: HeaderStyle;
|
|
23
|
+
tabsTokenStyle?: TabsStyle;
|
|
13
24
|
sideTokenStyle: Record<string, string>;
|
|
14
25
|
refresh: boolean;
|
|
15
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useAppStore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,WAAW,CAAC;IAEnB,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE;QAEN,SAAS,EAAE,MAAM,CAAC;QAElB,YAAY,EAAE,MAAM,CAAC;QAErB,cAAc,EAAE,MAAM,CAAC;QAEvB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IAEF,SAAS,EAAE,OAAO,CAAC;IAEnB,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"useAppStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useAppStore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IAExB,aAAa,EAAE,MAAM,CAAC;IAEtB,eAAe,EAAE,MAAM,CAAC;IAExB,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,WAAW,CAAC;IAEnB,UAAU,EAAE,IAAI,CAAC;IACjB,MAAM,EAAE;QAEN,SAAS,EAAE,MAAM,CAAC;QAElB,YAAY,EAAE,MAAM,CAAC;QAErB,cAAc,EAAE,MAAM,CAAC;QAEvB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IAEF,SAAS,EAAE,OAAO,CAAC;IAEnB,gBAAgB,EAAE,WAAW,CAAC;IAE9B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;CACL;AAED,QAAA,MAAM,WAAW,+DAwCf,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
|
@@ -44,6 +44,9 @@ export declare const useNavTabStore: import("pinia").StoreDefinition<"_STORE_NAV
|
|
|
44
44
|
* @param path url
|
|
45
45
|
*/
|
|
46
46
|
setNavTitle(title: string, path: string): void;
|
|
47
|
+
closeOtherTabs(fullPath: string): void;
|
|
48
|
+
closeLeftTabs(fullPath: string): void;
|
|
49
|
+
closeRightTabs(fullPath: string): void;
|
|
47
50
|
}>;
|
|
48
51
|
export default useNavTabStore;
|
|
49
52
|
//# sourceMappingURL=useNavTabStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavTabStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useNavTabStore.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACvB,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,cAAc;UAIT,YAAY,EAAE;eAET,MAAM;;;;mBAfpB,MAAM;uBACF,MAAM;oBACT,aAAa;qBACZ,WAAW;mBACb,SAAS;mBACT,MAAM;uBACF,MAAM,GAAG,SAAS;;mBASR,MAAM;;cAFX,YAAY,EAAE;mBAET,MAAM;WAIP,YAAY,EAAE;;IAKhC;;;OAGG;gBACS,uBAAuB;IAgCnC;;;OAGG;oBACa,MAAM;IAatB;;;;OAIG;uBACgB,MAAM,QAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"useNavTabStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useNavTabStore.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACvB,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,cAAc;UAIT,YAAY,EAAE;eAET,MAAM;;;;mBAfpB,MAAM;uBACF,MAAM;oBACT,aAAa;qBACZ,WAAW;mBACb,SAAS;mBACT,MAAM;uBACF,MAAM,GAAG,SAAS;;mBASR,MAAM;;cAFX,YAAY,EAAE;mBAET,MAAM;WAIP,YAAY,EAAE;;IAKhC;;;OAGG;gBACS,uBAAuB;IAgCnC;;;OAGG;oBACa,MAAM;IAatB;;;;OAIG;uBACgB,MAAM,QAAQ,MAAM;6BASd,MAAM;4BAQP,MAAM;6BAUL,MAAM;EAUjC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var pinia = require('pinia');
|
|
6
|
-
|
|
7
|
-
"use strict";
|
|
8
|
-
const useNoStore = pinia.defineStore("NoStore", {
|
|
9
|
-
state: () => {
|
|
10
|
-
return {
|
|
11
|
-
menuList: []
|
|
12
|
-
};
|
|
13
|
-
},
|
|
14
|
-
actions: {
|
|
15
|
-
save(data) {
|
|
16
|
-
this.menuList = data;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
exports.default = useNoStore;
|
|
22
|
-
//# sourceMappingURL=useNoStore.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNoStore.cjs","sources":["../../../src/modules/useNoStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nexport interface NoStore {\r\n menuList: any[];\r\n}\r\n\r\n/**\r\n * 这个store不会进入缓存\r\n */\r\nconst useNoStore = defineStore(\"NoStore\", {\r\n state: (): NoStore => {\r\n return {\r\n menuList: []\r\n };\r\n },\r\n actions: {\r\n save(data: any[]) {\r\n this.menuList = data;\r\n }\r\n }\r\n});\r\n\r\nexport default useNoStore;\r\n"],"names":["defineStore"],"mappings":";;;;;;;AASA,MAAM,UAAA,GAAaA,kBAAY,SAAA,EAAW;AAAA,EACxC,OAAO,MAAe;AACpB,IAAA,OAAO;AAAA,MACL,UAAU;AAAC,KACb;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAK,IAAA,EAAa;AAChB,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB;AAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { defineStore } from 'pinia';
|
|
2
|
-
|
|
3
|
-
"use strict";
|
|
4
|
-
const useNoStore = defineStore("NoStore", {
|
|
5
|
-
state: () => {
|
|
6
|
-
return {
|
|
7
|
-
menuList: []
|
|
8
|
-
};
|
|
9
|
-
},
|
|
10
|
-
actions: {
|
|
11
|
-
save(data) {
|
|
12
|
-
this.menuList = data;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
export { useNoStore as default };
|
|
18
|
-
//# sourceMappingURL=useNoStore.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNoStore.mjs","sources":["../../../src/modules/useNoStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nexport interface NoStore {\r\n menuList: any[];\r\n}\r\n\r\n/**\r\n * 这个store不会进入缓存\r\n */\r\nconst useNoStore = defineStore(\"NoStore\", {\r\n state: (): NoStore => {\r\n return {\r\n menuList: []\r\n };\r\n },\r\n actions: {\r\n save(data: any[]) {\r\n this.menuList = data;\r\n }\r\n }\r\n});\r\n\r\nexport default useNoStore;\r\n"],"names":[],"mappings":";;;AASA,MAAM,UAAA,GAAa,YAAY,SAAA,EAAW;AAAA,EACxC,OAAO,MAAe;AACpB,IAAA,OAAO;AAAA,MACL,UAAU;AAAC,KACb;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAK,IAAA,EAAa;AAChB,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB;AAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface NoStore {
|
|
2
|
-
menuList: any[];
|
|
3
|
-
}
|
|
4
|
-
/**
|
|
5
|
-
* 这个store不会进入缓存
|
|
6
|
-
*/
|
|
7
|
-
declare const useNoStore: import("pinia").StoreDefinition<"NoStore", NoStore, {}, {
|
|
8
|
-
save(data: any[]): void;
|
|
9
|
-
}>;
|
|
10
|
-
export default useNoStore;
|
|
11
|
-
//# sourceMappingURL=useNoStore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNoStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useNoStore.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,QAAA,MAAM,UAAU;eAOD,GAAG,EAAE;EAIlB,CAAC;AAEH,eAAe,UAAU,CAAC"}
|