diff --git a/components/views/files/aside/Aside.vue b/components/views/files/aside/Aside.vue index 18bf79e40c..ed0c382fd5 100644 --- a/components/views/files/aside/Aside.vue +++ b/components/views/files/aside/Aside.vue @@ -17,9 +17,15 @@ export default Vue.extend({ } }, computed: { + /** + * @description total size of all uploaded files + */ totalSize(): string { return this.$filesize(this.$FileSystem.totalSize) }, + /** + * @description storage space (free tier is 4GB) + */ sizeLimit(): string { return this.$filesize(this.$Config.personalFilesLimit) }, diff --git a/components/views/files/aside/List/List.vue b/components/views/files/aside/List/List.vue index 8a16e588cd..b5b22825f7 100644 --- a/components/views/files/aside/List/List.vue +++ b/components/views/files/aside/List/List.vue @@ -38,6 +38,11 @@ export default Vue.extend({ }, }, methods: { + /** + * @method setActive + * @description set files page route (default, recent, deleted, etc...) + * @param {FileAsideRouteEnum} route clicked route string value + */ setActive(route: FileAsideRouteEnum) { if (!route) { this.$router.push({ query: {} }) @@ -45,7 +50,13 @@ export default Vue.extend({ } this.$router.push({ query: { route } }) }, + /** + * @method isActiveRoute + * @description used to set active css class on list + * @param {FileAsideRouteEnum} route clicked route string value + */ isActiveRoute(route: FileAsideRouteEnum) { + // if default route if (!this.$route.query.route && !route) { return true } diff --git a/libraries/Files/FilSystem.ts b/libraries/Files/FilSystem.ts index c54adeb391..d691b8b732 100644 --- a/libraries/Files/FilSystem.ts +++ b/libraries/Files/FilSystem.ts @@ -98,18 +98,18 @@ export class FilSystem { } /** - * @getter flatFiles + * @getter flat * @returns {Fil[]} flattened list of files */ get flat(): Fil[] { - return this._flatDeepByKey(this._self.content, 'content').filter( + return this._flatDeepByKey(this.root.content, 'content').filter( (item: Item) => item instanceof Fil, ) } /** - * @getter flatFiles - * @returns {Fil[]} flattened list of most recent 15 files + * @getter recentFiles + * @returns {Fil[]} most recent 15 files, sorted by modified date */ get recentFiles(): Fil[] { return this.flat @@ -119,8 +119,9 @@ export class FilSystem { /** * @method _flatDeepByKey - * @description recursively converts item to the proper format for export - * @param {} + * @description recursively flattens all directories + * @param {Item[]} data current directory items (starting with root, then calls itself when a child dir is found) + * @param {keyof Directory} key in this case, 'content' getter * @returns {Item[]} flattened list of files and directories */ private _flatDeepByKey(data: Item[], key: keyof Directory) { diff --git a/pages/files/browse/index.vue b/pages/files/browse/index.vue index 62288fc226..3bea7efa6e 100644 --- a/pages/files/browse/index.vue +++ b/pages/files/browse/index.vue @@ -47,6 +47,7 @@ export default Vue.extend({ '$route.query.route': { handler(value) { this.fileSystem.goBackToDirectory('root') + // if invalid route, reset to default if (!Object.values(FileAsideRouteEnum).includes(value)) { this.$router.push({ query: {} }) }