This commit is contained in:
syuilo 2019-07-04 22:59:52 +09:00
parent dfd991a6c6
commit 2c76d410ab
2 changed files with 18 additions and 1 deletions

View File

@ -31,6 +31,7 @@ unreleased
* AP: attributedTo, to, cc が Array や Object のパターンに対応 * AP: attributedTo, to, cc が Array や Object のパターンに対応
* AP: object type が Audio, Document, Image, Page, Video のパターンに対応 * AP: object type が Audio, Document, Image, Page, Video のパターンに対応
* フォロー解除時に確認ダイアログを表示するように * フォロー解除時に確認ダイアログを表示するように
* ユーザー入力ダイアログで、入力時にユーザーの存在を確認するように
### 🐛Fixes ### 🐛Fixes
* 自分のインスタンスのルートURIへのリンクが無になる問題を修正 * 自分のインスタンスのルートURIへのリンクが無になる問題を修正

View File

@ -33,7 +33,7 @@
</template> </template>
</ui-select> </ui-select>
<ui-horizon-group no-grow class="buttons fit-bottom" v-if="!splash && (showOkButton || showCancelButton)"> <ui-horizon-group no-grow class="buttons fit-bottom" v-if="!splash && (showOkButton || showCancelButton)">
<ui-button @click="ok" v-if="showOkButton" primary :autofocus="!input && !select && !user">{{ (showCancelButton || input || select || user) ? $t('@.ok') : $t('@.got-it') }}</ui-button> <ui-button @click="ok" v-if="showOkButton" primary :autofocus="!input && !select && !user" :disabled="!canOk">{{ (showCancelButton || input || select || user) ? $t('@.ok') : $t('@.got-it') }}</ui-button>
<ui-button @click="cancel" v-if="showCancelButton || input || select || user">{{ $t('@.cancel') }}</ui-button> <ui-button @click="cancel" v-if="showCancelButton || input || select || user">{{ $t('@.cancel') }}</ui-button>
</ui-horizon-group> </ui-horizon-group>
</template> </template>
@ -99,11 +99,26 @@ export default Vue.extend({
inputValue: this.input && this.input.default ? this.input.default : null, inputValue: this.input && this.input.default ? this.input.default : null,
userInputValue: null, userInputValue: null,
selectedValue: this.select ? this.select.items ? this.select.items[0].value : this.select.groupedItems[0].items[0].value : null, selectedValue: this.select ? this.select.items ? this.select.items[0].value : this.select.groupedItems[0].items[0].value : null,
canOk: true,
faTimesCircle, faQuestionCircle faTimesCircle, faQuestionCircle
}; };
}, },
watch: {
userInputValue() {
if (this.user) {
this.$root.api('users/show', parseAcct(this.userInputValue)).then(u => {
this.canOk = u != null;
}).catch(() => {
this.canOk = false;
});
}
}
},
mounted() { mounted() {
if (this.user) this.canOk = false;
this.$nextTick(() => { this.$nextTick(() => {
(this.$refs.bg as any).style.pointerEvents = 'auto'; (this.$refs.bg as any).style.pointerEvents = 'auto';
anime({ anime({
@ -131,6 +146,7 @@ export default Vue.extend({
methods: { methods: {
async ok() { async ok() {
if (!this.canOk) return;
if (!this.showOkButton) return; if (!this.showOkButton) return;
if (this.user) { if (this.user) {