Skip to content

Commit

Permalink
Deckにもセカンダリ投稿ボタン
Browse files Browse the repository at this point in the history
  • Loading branch information
mei23 committed May 11, 2019
1 parent c5f6848 commit 7598d7f
Showing 1 changed file with 49 additions and 6 deletions.
55 changes: 49 additions & 6 deletions src/client/app/common/views/widgets/post-form.vue
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,13 @@
<button @click="chooseFile"><fa icon="upload"/></button>
<button @click="chooseFileFromDrive"><fa icon="cloud"/></button>
<button @click="kao"><fa :icon="['far', 'smile']"/></button>
<button @click="setVisibility" ref="visibilityButton">
<button @click="setVisibility" class="visibility" ref="visibilityButton">
<x-visibility-icon :v="visibility" :localOnly="localOnly"/>
</button>
<button @click="post" :disabled="posting" class="post">{{ $t('note') }}</button>
<button v-if="secondaryNoteVisibility != null && secondaryNoteVisibility != 'none'" @click="post(secondaryNoteVisibility)" :disabled="posting" class="secondary" title="Secondary Post (Alt+Enter)">
<x-visibility-icon :v="secondaryNoteVisibility"/>
</button>
<button @click="post" :disabled="posting" class="post" title="Post (Ctrl+Enter)">{{ $t('note') }}</button>
</footer>
</div>
</ui-container>
Expand Down Expand Up @@ -68,6 +71,7 @@ export default define({
files: [],
visibility: 'public',
localOnly: false,
secondaryNoteVisibility: 'none',
};
},
Expand All @@ -88,6 +92,8 @@ export default define({
mounted() {
// デフォルト公開範囲
this.applyVisibility(this.$store.state.settings.defaultNoteVisibility);
this.secondaryNoteVisibility = this.$store.state.settings.secondaryNoteVisibility;
},
methods: {
Expand Down Expand Up @@ -124,6 +130,8 @@ export default define({
onKeydown(e) {
if ((e.which == 10 || e.which == 13) && (e.ctrlKey || e.metaKey) && !this.posting && this.text) this.post();
if ((e.which == 10 || e.which == 13) && (e.altKey) && !this.posting && this.text
&& this.secondaryNoteVisibility != null && this.secondaryNoteVisibility != 'none') this.post(this.secondaryNoteVisibility);
},
onPaste(e) {
Expand Down Expand Up @@ -207,14 +215,28 @@ export default define({
}
},
post() {
post(v: string) {
let visibility = this.visibility;
let localOnly = this.localOnly;
if (v) {
const m = v.match(/^local-(.+)/);
if (m) {
localOnly = true;
visibility = m[1];
} else {
localOnly = false;
visibility = v;
}
}
this.posting = true;
this.$root.api('notes/create', {
text: this.text == '' ? undefined : this.text,
fileIds: this.files.length > 0 ? this.files.map(f => f.id) : undefined,
visibility: this.visibility,
localOnly: this.localOnly,
visibility,
localOnly,
}).then(data => {
this.clear();
}).catch(err => {
Expand Down Expand Up @@ -287,9 +309,30 @@ export default define({
color var(--textHighlighted)
opacity 1.0
> .visibility
margin 0 auto 0 0
> .secondary
display block
margin 0 5px
padding 0 10px
height 28px
color var(--text)
background: var(--buttonBg) !important
outline none
border none
border-radius 4px
transition background 0.1s ease
cursor pointer
&:hover
background var(--buttonHoverBg) !important
&:active
background var(--buttonActiveBg) !important
> .post
display block
margin 0 0 0 auto
padding 0 10px
height 28px
color var(--primaryForeground)
Expand Down

0 comments on commit 7598d7f

Please sign in to comment.