58 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						|
<div class="mk-drive-page">
 | 
						|
	<x-drive :init-folder="folder" @move-root="onMoveRoot" @open-folder="onOpenFolder"/>
 | 
						|
</div>
 | 
						|
</template>
 | 
						|
 | 
						|
<script lang="ts">
 | 
						|
import Vue from 'vue';
 | 
						|
import i18n from '../../../i18n';
 | 
						|
 | 
						|
export default Vue.extend({
 | 
						|
	i18n: i18n('desktop/views/pages/drive.vue'),
 | 
						|
	components: {
 | 
						|
		XDrive: () => import('../components/drive.vue').then(m => m.default),
 | 
						|
	},
 | 
						|
	data() {
 | 
						|
		return {
 | 
						|
			folder: null
 | 
						|
		};
 | 
						|
	},
 | 
						|
	created() {
 | 
						|
		this.folder = this.$route.params.folder;
 | 
						|
	},
 | 
						|
	mounted() {
 | 
						|
		document.title = this.$t('title');
 | 
						|
	},
 | 
						|
	methods: {
 | 
						|
		onMoveRoot() {
 | 
						|
			const title = this.$t('title');
 | 
						|
 | 
						|
			// Rewrite URL
 | 
						|
			history.pushState(null, title, '/i/drive');
 | 
						|
 | 
						|
			document.title = title;
 | 
						|
		},
 | 
						|
		onOpenFolder(folder) {
 | 
						|
			const title = folder.name + ' | %i18n:@title%';
 | 
						|
 | 
						|
			// Rewrite URL
 | 
						|
			history.pushState(null, title, `/i/drive/folder/${folder.id}`);
 | 
						|
 | 
						|
			document.title = title;
 | 
						|
		}
 | 
						|
	}
 | 
						|
});
 | 
						|
</script>
 | 
						|
 | 
						|
<style lang="stylus" scoped>
 | 
						|
.mk-drive-page
 | 
						|
	position fixed
 | 
						|
	width 100%
 | 
						|
	height 100%
 | 
						|
	background #fff
 | 
						|
 | 
						|
	> .mk-drive
 | 
						|
		height 100%
 | 
						|
</style>
 |