| | |
| | | const iframeViews = ref<RouteLocationNormalized[]>([]); |
| | | |
| | | const getVisitedViews = (): RouteLocationNormalized[] => { |
| | | return visitedViews.value; |
| | | return visitedViews.value as RouteLocationNormalized[]; |
| | | }; |
| | | const getIframeViews = (): RouteLocationNormalized[] => { |
| | | return iframeViews.value; |
| | | return iframeViews.value as RouteLocationNormalized[]; |
| | | }; |
| | | const getCachedViews = (): string[] => { |
| | | return cachedViews.value; |
| | |
| | | const delIframeView = (view: RouteLocationNormalized): Promise<RouteLocationNormalized[]> => { |
| | | return new Promise((resolve) => { |
| | | iframeViews.value = iframeViews.value.filter((item: RouteLocationNormalized) => item.path !== view.path); |
| | | resolve([...iframeViews.value]); |
| | | resolve([...iframeViews.value as RouteLocationNormalized[]]); |
| | | }); |
| | | }; |
| | | const addVisitedView = (view: RouteLocationNormalized): void => { |
| | |
| | | delCachedView(view); |
| | | } |
| | | resolve({ |
| | | visitedViews: [...visitedViews.value], |
| | | visitedViews: [...visitedViews.value as RouteLocationNormalized[]], |
| | | cachedViews: [...cachedViews.value] |
| | | }); |
| | | }); |
| | |
| | | break; |
| | | } |
| | | } |
| | | resolve([...visitedViews.value]); |
| | | resolve([...visitedViews.value as RouteLocationNormalized[]]); |
| | | }); |
| | | }; |
| | | const delCachedView = (view?: RouteLocationNormalized): Promise<string[]> => { |
| | |
| | | delOthersVisitedViews(view); |
| | | delOthersCachedViews(view); |
| | | resolve({ |
| | | visitedViews: [...visitedViews.value], |
| | | visitedViews: [...visitedViews.value as RouteLocationNormalized[]], |
| | | cachedViews: [...cachedViews.value] |
| | | }); |
| | | }); |
| | |
| | | visitedViews.value = visitedViews.value.filter((v: RouteLocationNormalized) => { |
| | | return v.meta?.affix || v.path === view.path; |
| | | }); |
| | | resolve([...visitedViews.value]); |
| | | resolve([...visitedViews.value as RouteLocationNormalized[]]); |
| | | }); |
| | | }; |
| | | const delOthersCachedViews = (view: RouteLocationNormalized): Promise<string[]> => { |
| | |
| | | delAllVisitedViews(); |
| | | delAllCachedViews(); |
| | | resolve({ |
| | | visitedViews: [...visitedViews.value], |
| | | visitedViews: [...visitedViews.value as RouteLocationNormalized[]], |
| | | cachedViews: [...cachedViews.value] |
| | | }); |
| | | }); |
| | |
| | | const delAllVisitedViews = (): Promise<RouteLocationNormalized[]> => { |
| | | return new Promise((resolve) => { |
| | | visitedViews.value = visitedViews.value.filter((tag: RouteLocationNormalized) => tag.meta?.affix); |
| | | resolve([...visitedViews.value]); |
| | | resolve([...visitedViews.value as RouteLocationNormalized[]]); |
| | | }); |
| | | }; |
| | | |
| | |
| | | } |
| | | return false; |
| | | }); |
| | | resolve([...visitedViews.value]); |
| | | resolve([...visitedViews.value as RouteLocationNormalized[]]); |
| | | }); |
| | | }; |
| | | const delLeftTags = (view: RouteLocationNormalized): Promise<RouteLocationNormalized[]> => { |
| | |
| | | } |
| | | return false; |
| | | }); |
| | | resolve([...visitedViews.value]); |
| | | resolve([...visitedViews.value as RouteLocationNormalized[]]); |
| | | }); |
| | | }; |
| | | |