summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorこぴなたみぽ <syuilotan@yahoo.co.jp>2018-02-20 13:58:25 +0900
committerこぴなたみぽ <syuilotan@yahoo.co.jp>2018-02-20 13:58:25 +0900
commiteda7534e41c0e562af1acc3eceb24c2aac2b9667 (patch)
treeea475bf88a6e9a629f32f7ec1ddb55873f0a1bf5 /src
parentwip (diff)
downloadmisskey-eda7534e41c0e562af1acc3eceb24c2aac2b9667.tar.gz
misskey-eda7534e41c0e562af1acc3eceb24c2aac2b9667.tar.bz2
misskey-eda7534e41c0e562af1acc3eceb24c2aac2b9667.zip
wip
Diffstat (limited to 'src')
-rw-r--r--src/web/app/mobile/tags/page/drive.tag73
-rw-r--r--src/web/app/mobile/views/pages/drive.vue83
2 files changed, 83 insertions, 73 deletions
diff --git a/src/web/app/mobile/tags/page/drive.tag b/src/web/app/mobile/tags/page/drive.tag
deleted file mode 100644
index 23185b14b8..0000000000
--- a/src/web/app/mobile/tags/page/drive.tag
+++ /dev/null
@@ -1,73 +0,0 @@
-<mk-drive-page>
- <mk-ui ref="ui">
- <mk-drive ref="browser" folder={ parent.opts.folder } file={ parent.opts.file } is-naked={ true } top={ 48 }/>
- </mk-ui>
- <style lang="stylus" scoped>
- :scope
- display block
- </style>
- <script lang="typescript">
- import ui from '../../scripts/ui-event';
- import Progress from '../../../common/scripts/loading';
-
- this.on('mount', () => {
- document.title = 'Misskey Drive';
- ui.trigger('title', '%fa:cloud%%i18n:mobile.tags.mk-drive-page.drive%');
-
- ui.trigger('func', () => {
- this.$refs.ui.refs.browser.openContextMenu();
- }, '%fa:ellipsis-h%');
-
- this.$refs.ui.refs.browser.on('begin-fetch', () => {
- Progress.start();
- });
-
- this.$refs.ui.refs.browser.on('fetched-mid', () => {
- Progress.set(0.5);
- });
-
- this.$refs.ui.refs.browser.on('fetched', () => {
- Progress.done();
- });
-
- this.$refs.ui.refs.browser.on('move-root', () => {
- const title = 'Misskey Drive';
-
- // Rewrite URL
- history.pushState(null, title, '/i/drive');
-
- document.title = title;
- ui.trigger('title', '%fa:cloud%%i18n:mobile.tags.mk-drive-page.drive%');
- });
-
- this.$refs.ui.refs.browser.on('open-folder', (folder, silent) => {
- const title = folder.name + ' | Misskey Drive';
-
- if (!silent) {
- // Rewrite URL
- history.pushState(null, title, '/i/drive/folder/' + folder.id);
- }
-
- document.title = title;
- // TODO: escape html characters in folder.name
- ui.trigger('title', '%fa:R folder-open%' + folder.name);
- });
-
- this.$refs.ui.refs.browser.on('open-file', (file, silent) => {
- const title = file.name + ' | Misskey Drive';
-
- if (!silent) {
- // Rewrite URL
- history.pushState(null, title, '/i/drive/file/' + file.id);
- }
-
- document.title = title;
- // TODO: escape html characters in file.name
- ui.trigger('title', '<mk-file-type-icon class="icon"></mk-file-type-icon>' + file.name);
- riot.mount('mk-file-type-icon', {
- type: file.type
- });
- });
- });
- </script>
-</mk-drive-page>
diff --git a/src/web/app/mobile/views/pages/drive.vue b/src/web/app/mobile/views/pages/drive.vue
new file mode 100644
index 0000000000..0032068b6e
--- /dev/null
+++ b/src/web/app/mobile/views/pages/drive.vue
@@ -0,0 +1,83 @@
+<template>
+<mk-ui :func="fn" func-icon="%fa:ellipsis-h%">
+ <span slot="header">
+ <template v-if="folder">%fa:R folder-open%{{ folder.name }}</template>
+ <template v-if="file"><mk-file-type-icon class="icon"/>{{ file.name }}</template>
+ <template v-else>%fa:cloud%%i18n:mobile.tags.mk-drive-page.drive%</template>
+ </span>
+ <mk-drive
+ ref="browser"
+ :init-folder="folder"
+ :init-file="file"
+ is-naked
+ :top="48"
+ @begin-fetch="Progress.start()"
+ @fetched-mid="Progress.set(0.5);"
+ @fetched="Progress.done()"
+ @move-root="onMoveRoot"
+ @open-folder="onOpenFolder"
+ @open-file="onOpenFile"
+ />
+</mk-ui>
+</template>
+
+<script lang="ts">
+import Vue from 'vue';
+import Progress from '../../../common/scripts/loading';
+
+export default Vue.extend({
+ data() {
+ return {
+ Progress,
+ folder: null,
+ file: null
+ };
+ },
+ mounted() {
+ document.title = 'Misskey Drive';
+ },
+ methods: {
+ fn() {
+ (this.$refs as any).browser.openContextMenu();
+ },
+ onMoveRoot() {
+ const title = 'Misskey Drive';
+
+ // Rewrite URL
+ history.pushState(null, title, '/i/drive');
+
+ document.title = title;
+
+ this.file = null;
+ this.folder = null;
+ },
+ onOpenFolder(folder, silent) {
+ const title = folder.name + ' | Misskey Drive';
+
+ if (!silent) {
+ // Rewrite URL
+ history.pushState(null, title, '/i/drive/folder/' + folder.id);
+ }
+
+ document.title = title;
+
+ this.file = null;
+ this.folder = folder;
+ },
+ onOpenFile(file, silent) {
+ const title = file.name + ' | Misskey Drive';
+
+ if (!silent) {
+ // Rewrite URL
+ history.pushState(null, title, '/i/drive/file/' + file.id);
+ }
+
+ document.title = title;
+
+ this.file = file;
+ this.folder = null;
+ }
+ }
+});
+</script>
+