diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-02-21 01:02:32 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-02-21 01:02:32 +0900 |
| commit | c5a26efda4ab0d2fce4b47250381c67151dee0fc (patch) | |
| tree | 24b14f75f007ff7ca0759a7568401e857012d02b /src/web | |
| parent | Merge remote-tracking branch 'refs/remotes/origin/master' into no-tag-ls (diff) | |
| download | misskey-c5a26efda4ab0d2fce4b47250381c67151dee0fc.tar.gz misskey-c5a26efda4ab0d2fce4b47250381c67151dee0fc.tar.bz2 misskey-c5a26efda4ab0d2fce4b47250381c67151dee0fc.zip | |
wip
Diffstat (limited to 'src/web')
| -rw-r--r-- | src/web/app/common/tags/uploader.tag | 65 | ||||
| -rw-r--r-- | src/web/app/desktop/tags/drive/browser.tag | 90 | ||||
| -rw-r--r-- | src/web/app/desktop/tags/drive/file.tag | 4 | ||||
| -rw-r--r-- | src/web/app/desktop/tags/drive/folder.tag | 4 | ||||
| -rw-r--r-- | src/web/app/desktop/tags/following-setuper.tag | 4 | ||||
| -rw-r--r-- | src/web/app/desktop/tags/home-widgets/photo-stream.tag | 6 | ||||
| -rw-r--r-- | src/web/app/desktop/tags/home-widgets/timeline.tag | 4 | ||||
| -rw-r--r-- | src/web/app/desktop/tags/images-viewer.tag | 2 | ||||
| -rw-r--r-- | src/web/app/desktop/tags/post-form.tag | 6 | ||||
| -rw-r--r-- | src/web/app/mobile/tags/drive.tag | 46 | ||||
| -rw-r--r-- | src/web/app/mobile/tags/post-form.tag | 4 |
11 files changed, 118 insertions, 117 deletions
diff --git a/src/web/app/common/tags/uploader.tag b/src/web/app/common/tags/uploader.tag index f6e99892a1..51520d9abd 100644 --- a/src/web/app/common/tags/uploader.tag +++ b/src/web/app/common/tags/uploader.tag @@ -142,54 +142,57 @@ <script> this.mixin('i'); - this.uploads = [] + this.uploads = []; - this.upload = (file, folder) => { - id = Math.random! + const id = Math.random(); - ctx = - id: id - name: file.name || 'untitled' + const ctx = { + id: id, + name: file.name || 'untitled', progress: undefined + }; - @uploads.push ctx - this.trigger 'change-uploads' @uploads + this.uploads.push(ctx); + this.trigger('change-uploads', this.uploads); this.update(); - reader = new FileReader! - reader.onload = (e) => - ctx.img = e.target.result + const reader = new FileReader(); + reader.onload = e => { + ctx.img = e.target.result; this.update(); - reader.read-as-data-URL file + }; + reader.readAsDataURL(file); - data = new FormData! - data.append 'i' this.I.token - data.append 'file' file + const data = new FormData(); + data.append('i', this.I.token); + data.append('file', file); - if folder? - data.append 'folder_id' folder + if (folder) data.append('folder_id', folder); - xhr = new XMLHttpRequest! - xhr.open 'POST' CONFIG.apiUrl + '/drive/files/create' true - xhr.onload = (e) => - drive-file = JSON.parse e.target.response + const xhr = new XMLHttpRequest(); + xhr.open('POST', CONFIG.apiUrl + '/drive/files/create', true); + xhr.onload = e => { + const driveFile = JSON.parse(e.target.response); - this.trigger 'uploaded' drive-file + this.trigger('uploaded', driveFile); - this.uploads = @uploads.filter (x) -> x.id != id - this.trigger 'change-uploads' @uploads + this.uploads = this.uploads.filter(x => x.id != id); + this.trigger('change-uploads', this.uploads); this.update(); + }; - xhr.upload.onprogress = (e) => - if e.length-computable - if ctx.progress == undefined - ctx.progress = {} - ctx.progress.max = e.total - ctx.progress.value = e.loaded + xhr.upload.onprogress = e => { + if (e.lengthComputable) { + if (ctx.progress == undefined) ctx.progress = {}; + ctx.progress.max = e.total; + ctx.progress.value = e.loaded; this.update(); + } + }; - xhr.send data + xhr.send(data); + }; </script> </mk-uploader> diff --git a/src/web/app/desktop/tags/drive/browser.tag b/src/web/app/desktop/tags/drive/browser.tag index 51c26943a2..1c6ed53cae 100644 --- a/src/web/app/desktop/tags/drive/browser.tag +++ b/src/web/app/desktop/tags/drive/browser.tag @@ -238,6 +238,8 @@ </style> <script> + const contains = require('../../../common/scripts/contains'); + this.mixin('api'); this.mixin('dialog'); this.mixin('input-dialog'); @@ -253,67 +255,70 @@ // * null でルートを表す this.folder = null; - this.multiple = if this.opts.multiple? then this.opts.multiple else false + this.multiple = this.opts.multiple != null ? this.opts.multiple : false; // ドロップされようとしているか this.draghover = false; // 自信の所有するアイテムがドラッグをスタートさせたか // (自分自身の階層にドロップできないようにするためのフラグ) - this.is-drag-source = false; + this.isDragSource = false; this.on('mount', () => { - this.refs.uploader.on('uploaded', (file) => { - @add-file file, true + this.refs.uploader.on('uploaded', file => { + this.addFile(file, true); + }); - this.refs.uploader.on('change-uploads', (uploads) => { - this.uploads = uploads - this.update(); + this.refs.uploader.on('change-uploads', uploads => { + this.update({ + uploads: uploads + }); + }); - this.stream.on 'drive_file_created' this.on-stream-drive-file-created - this.stream.on 'drive_file_updated' this.on-stream-drive-file-updated - this.stream.on 'drive_folder_created' this.on-stream-drive-folder-created - this.stream.on 'drive_folder_updated' this.on-stream-drive-folder-updated + this.stream.on 'drive_file_created' this.onStreamDriveFileCreated + this.stream.on 'drive_file_updated' this.onStreamDriveFileUpdated + this.stream.on 'drive_folder_created' this.onStreamDriveFolderCreated + this.stream.on 'drive_folder_updated' this.onStreamDriveFolderUpdated // Riotのバグでnullを渡しても""になる // https://github.com/riot/riot/issues/2080 #if this.opts.folder? if this.opts.folder? and this.opts.folder != '' - @move this.opts.folder + this.move this.opts.folder else - @load! + this.load(); this.on('unmount', () => { - this.stream.off 'drive_file_created' this.on-stream-drive-file-created - this.stream.off 'drive_file_updated' this.on-stream-drive-file-updated - this.stream.off 'drive_folder_created' this.on-stream-drive-folder-created - this.stream.off 'drive_folder_updated' this.on-stream-drive-folder-updated + this.stream.off 'drive_file_created' this.onStreamDriveFileCreated + this.stream.off 'drive_file_updated' this.onStreamDriveFileUpdated + this.stream.off 'drive_folder_created' this.onStreamDriveFolderCreated + this.stream.off 'drive_folder_updated' this.onStreamDriveFolderUpdated - this.on-stream-drive-file-created = (file) => { - @add-file file, true + this.onStreamDriveFileCreated = (file) => { + this.addFile file, true - this.on-stream-drive-file-updated = (file) => { + this.onStreamDriveFileUpdated = (file) => { current = if this.folder? then this.folder.id else null if current != file.folder_id @remove-file file else - @add-file file, true + this.addFile file, true - this.on-stream-drive-folder-created = (folder) => { - @add-folder folder, true + this.onStreamDriveFolderCreated = (folder) => { + this.addFolder folder, true - this.on-stream-drive-folder-updated = (folder) => { + this.onStreamDriveFolderUpdated = (folder) => { current = if this.folder? then this.folder.id else null if current != folder.parent_id - @remove-folder folder + this.removeFolder folder else - @add-folder folder, true + this.addFolder folder, true this.onmousedown = (e) => { if (contains this.refs.folders-container, e.target) or (contains this.refs.files-container, e.target) return true - rect = this.refs.main.get-bounding-client-rect! + rect = this.refs.main.getBoundingClientRect(); left = e.pageX + this.refs.main.scroll-left - rect.left - window.pageXOffset top = e.pageY + this.refs.main.scroll-top - rect.top - window.pageYOffset @@ -341,13 +346,13 @@ this.refs.selection.style.top = cursorY + 'px' up = (e) => - document.document-element.removeEventListener 'mousemove' move - document.document-element.removeEventListener 'mouseup' up + document.documentElement.removeEventListener 'mousemove' move + document.documentElement.removeEventListener 'mouseup' up this.refs.selection.style.display = 'none' - document.document-element.addEventListener 'mousemove' move - document.document-element.addEventListener 'mouseup' up + document.documentElement.addEventListener 'mousemove' move + document.documentElement.addEventListener 'mouseup' up this.path-oncontextmenu = (e) => { e.preventDefault(); @@ -359,7 +364,7 @@ e.stopPropagation(); // ドラッグ元が自分自身の所有するアイテムかどうか - if !@is-drag-source + if !@isDragSource // ドラッグされてきたものがファイルだったら if e.dataTransfer.effectAllowed == 'all' e.dataTransfer.dropEffect = 'copy' @@ -373,7 +378,7 @@ this.ondragenter = (e) => { e.preventDefault(); - if !@is-drag-source + if !@isDragSource this.draghover = true this.ondragleave = (e) => { @@ -421,7 +426,7 @@ return false if (this.folders.some (f) => f.id == folder) return false - @remove-folder folder + this.removeFolder folder this.api('drive/folders/update', { folder_id: folder parent_id: if this.folder? then this.folder.id else null @@ -483,7 +488,7 @@ name: name folder_id: if this.folder? then this.folder.id else undefined }).then((folder) => { - @add-folder folder, true + this.addFolder folder, true this.update(); .catch (err) => console.error err @@ -533,7 +538,7 @@ x folder.parent this.update(); - @load! + this.load(); .catch (err, text-status) -> console.error err @@ -590,7 +595,7 @@ this.folder = null this.hierarchyFolders = [] this.update(); - @load! + this.load(); this.load = () => { this.folders = [] @@ -636,20 +641,13 @@ complete = => if flag load-folders.forEach (folder) => - @add-folder folder + this.addFolder folder load-files.forEach (file) => - @add-file file + this.addFile file this.loading = false this.update(); else flag := true - function contains(parent, child) - node = child.parentNode - while node? - if node == parent - return true - node = node.parentNode - return false </script> </mk-drive-browser> diff --git a/src/web/app/desktop/tags/drive/file.tag b/src/web/app/desktop/tags/drive/file.tag index 58c6b40a41..e35d204b61 100644 --- a/src/web/app/desktop/tags/drive/file.tag +++ b/src/web/app/desktop/tags/drive/file.tag @@ -200,10 +200,10 @@ // 親ブラウザに対して、ドラッグが開始されたフラグを立てる // (=あなたの子供が、ドラッグを開始しましたよ) - this.browser.is-drag-source = true + this.browser.isDragSource = true this.ondragend = (e) => { this.is-dragging = false - this.browser.is-drag-source = false + this.browser.isDragSource = false </script> </mk-drive-browser-file> diff --git a/src/web/app/desktop/tags/drive/folder.tag b/src/web/app/desktop/tags/drive/folder.tag index c9bc5d7f04..abc9368f48 100644 --- a/src/web/app/desktop/tags/drive/folder.tag +++ b/src/web/app/desktop/tags/drive/folder.tag @@ -155,11 +155,11 @@ // 親ブラウザに対して、ドラッグが開始されたフラグを立てる // (=あなたの子供が、ドラッグを開始しましたよ) - this.browser.is-drag-source = true + this.browser.isDragSource = true this.ondragend = (e) => { this.is-dragging = false - this.browser.is-drag-source = false + this.browser.isDragSource = false this.oncontextmenu = (e) => { e.preventDefault(); diff --git a/src/web/app/desktop/tags/following-setuper.tag b/src/web/app/desktop/tags/following-setuper.tag index 6381e4d8d9..03b26b10ef 100644 --- a/src/web/app/desktop/tags/following-setuper.tag +++ b/src/web/app/desktop/tags/following-setuper.tag @@ -133,7 +133,7 @@ this.page = 0 this.on('mount', () => { - @load! + this.load(); this.load = () => { this.loading = true @@ -155,7 +155,7 @@ this.page = 0 else this.page++ - @load! + this.load(); this.close = () => { this.unmount(); diff --git a/src/web/app/desktop/tags/home-widgets/photo-stream.tag b/src/web/app/desktop/tags/home-widgets/photo-stream.tag index 042e3ea209..3ebbf6a1e2 100644 --- a/src/web/app/desktop/tags/home-widgets/photo-stream.tag +++ b/src/web/app/desktop/tags/home-widgets/photo-stream.tag @@ -64,7 +64,7 @@ this.initializing = true this.on('mount', () => { - this.stream.on 'drive_file_created' this.on-stream-drive-file-created + this.stream.on 'drive_file_created' this.onStreamDriveFileCreated this.api('drive/stream', { type: 'image/*' @@ -75,9 +75,9 @@ this.update(); this.on('unmount', () => { - this.stream.off 'drive_file_created' this.on-stream-drive-file-created + this.stream.off 'drive_file_created' this.onStreamDriveFileCreated - this.on-stream-drive-file-created = (file) => { + this.onStreamDriveFileCreated = (file) => { if /^image\/.+$/.test file.type @images.unshift file if @images.length > 9 diff --git a/src/web/app/desktop/tags/home-widgets/timeline.tag b/src/web/app/desktop/tags/home-widgets/timeline.tag index 30acc75acd..69417aa83b 100644 --- a/src/web/app/desktop/tags/home-widgets/timeline.tag +++ b/src/web/app/desktop/tags/home-widgets/timeline.tag @@ -98,10 +98,10 @@ this.refs.timeline.add-post post this.on-stream-follow = () => { - @load! + this.load(); this.on-stream-unfollow = () => { - @load! + this.load(); this.on-scroll = () => { current = window.scrollY + window.inner-height diff --git a/src/web/app/desktop/tags/images-viewer.tag b/src/web/app/desktop/tags/images-viewer.tag index 8d10ec6564..e1ceeb0f53 100644 --- a/src/web/app/desktop/tags/images-viewer.tag +++ b/src/web/app/desktop/tags/images-viewer.tag @@ -30,7 +30,7 @@ this.image = @images.0 this.mousemove = (e) => { - rect = this.refs.view.get-bounding-client-rect! + rect = this.refs.view.getBoundingClientRect(); mouse-x = e.client-x - rect.left mouse-y = e.client-y - rect.top xp = mouse-x / this.refs.view.offset-width * 100 diff --git a/src/web/app/desktop/tags/post-form.tag b/src/web/app/desktop/tags/post-form.tag index cb1693420c..737c77dbfc 100644 --- a/src/web/app/desktop/tags/post-form.tag +++ b/src/web/app/desktop/tags/post-form.tag @@ -324,7 +324,7 @@ this.on('mount', () => { this.refs.uploader.on('uploaded', (file) => { - @add-file file + this.addFile file this.refs.uploader.on('change-uploads', (uploads) => { this.trigger 'change-uploading-files' uploads @@ -382,7 +382,7 @@ // (ドライブの)ファイルだったら if obj.type == 'file' - @add-file obj.file + this.addFile obj.file catch // ignore @@ -409,7 +409,7 @@ i = riot.mount browser, do multiple: true i[0].one 'selected' (files) => - files.forEach @add-file + files.forEach this.addFile this.change-file = () => { files = this.refs.file.files diff --git a/src/web/app/mobile/tags/drive.tag b/src/web/app/mobile/tags/drive.tag index 8d4383f6ef..36c037d1a9 100644 --- a/src/web/app/mobile/tags/drive.tag +++ b/src/web/app/mobile/tags/drive.tag @@ -146,10 +146,10 @@ this.multiple = if this.opts.multiple? then this.opts.multiple else false this.on('mount', () => { - this.stream.on 'drive_file_created' this.on-stream-drive-file-created - this.stream.on 'drive_file_updated' this.on-stream-drive-file-updated - this.stream.on 'drive_folder_created' this.on-stream-drive-folder-created - this.stream.on 'drive_folder_updated' this.on-stream-drive-folder-updated + this.stream.on 'drive_file_created' this.onStreamDriveFileCreated + this.stream.on 'drive_file_updated' this.onStreamDriveFileUpdated + this.stream.on 'drive_folder_created' this.onStreamDriveFolderCreated + this.stream.on 'drive_folder_updated' this.onStreamDriveFolderUpdated // Riotのバグでnullを渡しても""になる // https://github.com/riot/riot/issues/2080 @@ -159,36 +159,36 @@ else if this.opts.file? and this.opts.file != '' @cf this.opts.file, true else - @load! + this.load(); this.on('unmount', () => { - this.stream.off 'drive_file_created' this.on-stream-drive-file-created - this.stream.off 'drive_file_updated' this.on-stream-drive-file-updated - this.stream.off 'drive_folder_created' this.on-stream-drive-folder-created - this.stream.off 'drive_folder_updated' this.on-stream-drive-folder-updated + this.stream.off 'drive_file_created' this.onStreamDriveFileCreated + this.stream.off 'drive_file_updated' this.onStreamDriveFileUpdated + this.stream.off 'drive_folder_created' this.onStreamDriveFolderCreated + this.stream.off 'drive_folder_updated' this.onStreamDriveFolderUpdated - this.on-stream-drive-file-created = (file) => { - @add-file file, true + this.onStreamDriveFileCreated = (file) => { + this.addFile file, true - this.on-stream-drive-file-updated = (file) => { + this.onStreamDriveFileUpdated = (file) => { current = if this.folder? then this.folder.id else null if current != file.folder_id @remove-file file else - @add-file file, true + this.addFile file, true - this.on-stream-drive-folder-created = (folder) => { - @add-folder folder, true + this.onStreamDriveFolderCreated = (folder) => { + this.addFolder folder, true - this.on-stream-drive-folder-updated = (folder) => { + this.onStreamDriveFolderUpdated = (folder) => { current = if this.folder? then this.folder.id else null if current != folder.parent_id - @remove-folder folder + this.removeFolder folder else - @add-folder folder, true + this.addFolder folder, true @_move = (ev) => - @move ev.item.folder + this.move ev.item.folder this.move = (target-folder) => { @cd target-folder @@ -222,7 +222,7 @@ this.update(); this.trigger 'open-folder' this.folder, silent - @load! + this.load(); .catch (err, text-status) -> console.error err @@ -278,7 +278,7 @@ this.hierarchyFolders = [] this.update(); this.trigger('move-root'); - @load! + this.load(); this.load = () => { this.folders = [] @@ -326,9 +326,9 @@ complete = => if flag load-folders.forEach (folder) => - @add-folder folder + this.addFolder folder load-files.forEach (file) => - @add-file file + this.addFile file this.loading = false this.update(); diff --git a/src/web/app/mobile/tags/post-form.tag b/src/web/app/mobile/tags/post-form.tag index 43643f88c6..27c6c005ce 100644 --- a/src/web/app/mobile/tags/post-form.tag +++ b/src/web/app/mobile/tags/post-form.tag @@ -193,7 +193,7 @@ this.on('mount', () => { this.refs.uploader.on('uploaded', (file) => { - @add-file file + this.addFile file this.refs.uploader.on('change-uploads', (uploads) => { this.trigger 'change-uploading-files' uploads @@ -225,7 +225,7 @@ multiple: true .0 browser.on('selected', (files) => { - files.forEach @add-file + files.forEach this.addFile this.change-file = () => { files = this.refs.file.files |