diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2019-07-10 18:30:51 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-07-10 18:30:51 +0900 |
| commit | feec5e88fcb0b0d89931dba1c2032ea315b553bf (patch) | |
| tree | 73f336c4053a57f71e91e28500eb6f7029330a6f /src/client/app/common/views/components | |
| parent | Fix drive browser showing false empty (#5127) (diff) | |
| download | misskey-feec5e88fcb0b0d89931dba1c2032ea315b553bf.tar.gz misskey-feec5e88fcb0b0d89931dba1c2032ea315b553bf.tar.bz2 misskey-feec5e88fcb0b0d89931dba1c2032ea315b553bf.zip | |
Pages: Implement radio button
Diffstat (limited to 'src/client/app/common/views/components')
| -rw-r--r-- | src/client/app/common/views/components/page/page.block.vue | 3 | ||||
| -rw-r--r-- | src/client/app/common/views/components/page/page.radio-button.vue | 37 |
2 files changed, 39 insertions, 1 deletions
diff --git a/src/client/app/common/views/components/page/page.block.vue b/src/client/app/common/views/components/page/page.block.vue index 1c421fc2c0..56d1822013 100644 --- a/src/client/app/common/views/components/page/page.block.vue +++ b/src/client/app/common/views/components/page/page.block.vue @@ -16,10 +16,11 @@ import XIf from './page.if.vue'; import XTextarea from './page.textarea.vue'; import XPost from './page.post.vue'; import XCounter from './page.counter.vue'; +import XRadioButton from './page.radio-button.vue'; export default Vue.extend({ components: { - XText, XSection, XImage, XButton, XNumberInput, XTextInput, XTextareaInput, XTextarea, XPost, XSwitch, XIf, XCounter + XText, XSection, XImage, XButton, XNumberInput, XTextInput, XTextareaInput, XTextarea, XPost, XSwitch, XIf, XCounter, XRadioButton }, props: { diff --git a/src/client/app/common/views/components/page/page.radio-button.vue b/src/client/app/common/views/components/page/page.radio-button.vue new file mode 100644 index 0000000000..27c11bebad --- /dev/null +++ b/src/client/app/common/views/components/page/page.radio-button.vue @@ -0,0 +1,37 @@ +<template> +<div> + <div>{{ script.interpolate(value.title) }}</div> + <ui-radio v-for="x in value.values" v-model="v" :value="x" :key="x">{{ x }}</ui-radio> +</div> +</template> + +<script lang="ts"> +import Vue from 'vue'; + +export default Vue.extend({ + props: { + value: { + required: true + }, + script: { + required: true + } + }, + + data() { + return { + v: this.value.default, + }; + }, + + watch: { + v() { + this.script.aiScript.updatePageVar(this.value.name, this.v); + this.script.eval(); + } + } +}); +</script> + +<style lang="stylus" scoped> +</style> |