|
1 | 1 | import { ElMessageBox } from 'element-plus' |
2 | 2 | import { onMounted, reactive, ref } from 'vue' |
3 | 3 |
|
| 4 | +import useHistory from '@/hooks/useHistory' |
| 5 | + |
4 | 6 | export default function usePath() { |
| 7 | + const open = ref(false) |
5 | 8 | const view = reactive<{ path: string; diff: boolean }[]>([]) |
6 | 9 | const active = ref(0) |
7 | 10 |
|
| 11 | + const history = useHistory<{ path: string }>({ key: 'PATH_HISTORY', id: 'path' }) |
| 12 | + |
8 | 13 | onMounted(async () => { |
9 | 14 | const query = new URLSearchParams(window.location.search).get('path') || '' |
10 | 15 | if (query) { |
11 | | - view.push({ path: query, diff: false }) |
| 16 | + add(query) |
12 | 17 | } else { |
13 | | - add(true) |
| 18 | + open.value = true |
14 | 19 | } |
15 | 20 | }) |
16 | 21 |
|
17 | | - const add = async (force?: boolean) => { |
18 | | - const value = await ElMessageBox.prompt( |
19 | | - '部分文件可在文件管理中双击文件进行编辑,详见应用介绍', |
20 | | - '请输入文件路径', |
21 | | - { |
22 | | - showClose: false, |
23 | | - closeOnClickModal: false, |
24 | | - closeOnPressEscape: false, |
25 | | - closeOnHashChange: false, |
26 | | - showCancelButton: !force, |
27 | | - confirmButtonText: '确认', |
28 | | - cancelButtonText: '取消', |
29 | | - inputPlaceholder: '不存在的文件路径在编辑后可新增并保存', |
30 | | - }, |
31 | | - ) |
32 | | - .then(({ value }) => value) |
33 | | - .catch(() => '') |
34 | | - |
35 | | - if (value) { |
36 | | - const index = view.findIndex((i) => i.path === value) |
| 22 | + const add = async (path: string) => { |
| 23 | + if (path) { |
| 24 | + const index = view.findIndex((i) => i.path === path) |
37 | 25 | if (index > -1) { |
38 | 26 | active.value = index |
39 | 27 | } else { |
40 | | - active.value = view.push({ path: value, diff: false }) - 1 |
| 28 | + active.value = view.push({ path, diff: false }) - 1 |
41 | 29 | } |
| 30 | + history.add({ path }) |
42 | 31 | } |
| 32 | + |
| 33 | + open.value = false |
43 | 34 | } |
44 | 35 |
|
45 | 36 | const remove = async (index: number) => { |
@@ -67,5 +58,5 @@ export default function usePath() { |
67 | 58 | } |
68 | 59 | } |
69 | 60 |
|
70 | | - return { view, active, add, remove } |
| 61 | + return { open, view, active, history, add, remove } |
71 | 62 | } |
0 commit comments