summaryrefslogtreecommitdiff
path: root/src/web
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-02-12 12:21:26 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-02-12 12:21:26 +0900
commitae1338f76160d8cd9e640c4854a506ab8b0e0b57 (patch)
tree00ee7c21d739e798e537a669ae694a43fea5adb9 /src/web
parentwip (diff)
downloadmisskey-ae1338f76160d8cd9e640c4854a506ab8b0e0b57.tar.gz
misskey-ae1338f76160d8cd9e640c4854a506ab8b0e0b57.tar.bz2
misskey-ae1338f76160d8cd9e640c4854a506ab8b0e0b57.zip
wip
Diffstat (limited to 'src/web')
-rw-r--r--src/web/app/desktop/views/components/post-form.vue35
1 files changed, 27 insertions, 8 deletions
diff --git a/src/web/app/desktop/views/components/post-form.vue b/src/web/app/desktop/views/components/post-form.vue
index d021c9ab55..52efaf849f 100644
--- a/src/web/app/desktop/views/components/post-form.vue
+++ b/src/web/app/desktop/views/components/post-form.vue
@@ -6,19 +6,19 @@
@drop="onDrop"
>
<div class="content">
- <textarea :class="{ with: (files.length != 0 || poll) }" ref="text" :disabled="wait"
+ <textarea :class="{ with: (files.length != 0 || poll) }" ref="text" :disabled="posting"
@keydown="onKeydown" @paste="onPaste" :placeholder="placeholder"
></textarea>
<div class="medias" :class="{ with: poll }" v-show="files.length != 0">
<ul ref="media">
- <li each={ files } data-id={ id }>
- <div class="img" style="background-image: url({ url + '?thumbnail&size=64' })" title={ name }></div>
- <img class="remove" @click="removeFile" src="/assets/desktop/remove.png" title="%i18n:desktop.tags.mk-post-form.attach-cancel%" alt=""/>
+ <li v-for="file in files" :key="file.id">
+ <div class="img" :style="{ backgroundImage: `url(${file.url}?thumbnail&size=64)` }" :title="file.name"></div>
+ <img class="remove" @click="removeFile(file.id)" src="/assets/desktop/remove.png" title="%i18n:desktop.tags.mk-post-form.attach-cancel%" alt=""/>
</li>
</ul>
- <p class="remain">{ 4 - files.length }/4</p>
+ <p class="remain">{{ 4 - files.length }}/4</p>
</div>
- <mk-poll-editor v-if="poll" ref="poll" ondestroy={ onPollDestroyed }/>
+ <mk-poll-editor v-if="poll" ref="poll" @destroyed="onPollDestroyed"/>
</div>
<mk-uploader ref="uploader"/>
<button ref="upload" title="%i18n:desktop.tags.mk-post-form.attach-media-from-local%" @click="selectFile">%fa:upload%</button>
@@ -26,10 +26,29 @@
<button class="kao" title="%i18n:desktop.tags.mk-post-form.insert-a-kao%" @click="kao">%fa:R smile%</button>
<button class="poll" title="%i18n:desktop.tags.mk-post-form.create-poll%" @click="addPoll">%fa:chart-pie%</button>
<p class="text-count { over: refs.text.value.length > 1000 }">{ '%i18n:desktop.tags.mk-post-form.text-remain%'.replace('{}', 1000 - refs.text.value.length) }</p>
- <button :class="{ wait: wait }" ref="submit" disabled={ wait || (refs.text.value.length == 0 && files.length == 0 && !poll && !repost) } @click="post">
- { wait ? '%i18n:desktop.tags.mk-post-form.posting%' : submitText }<mk-ellipsis v-if="wait"/>
+ <button :class="{ posting }" ref="submit" :disabled="!canPost" @click="post">
+ { posting ? '%i18n:desktop.tags.mk-post-form.posting%' : submitText }<mk-ellipsis v-if="posting"/>
</button>
<input ref="file" type="file" accept="image/*" multiple="multiple" tabindex="-1" onchange={ changeFile }/>
<div class="dropzone" v-if="draghover"></div>
</div>
</template>
+
+<script lang="ts">
+import Vue from 'vue';
+
+export default Vue.extend({
+ data() {
+ return {
+ posting: false,
+
+ };
+ },
+ computed: {
+ canPost(): boolean {
+ return !this.posting && (refs.text.value.length != 0 || files.length != 0 || poll || repost);
+ }
+ }
+});
+</script>
+