{{define "component/settingListItem"}}
<a-list-item style="padding: 20px">
    <a-row v-if="type === 'textarea'">
        <a-col>
            <a-list-item-meta :title="title" :description="desc"/>
            <a-textarea class="ant-setting-textarea" :value="value" @input="$emit('input', $event.target.value)" :auto-size="{ minRows: 10 }"></a-textarea>
            <!--a-textarea :value="value" @input="$emit('input', $event.target.value)" :auto-size="{ minRows: 10, maxRows: 30 }"></a-textarea-->
        </a-col>
    </a-row>
    <a-row v-else>
        <a-col :lg="24" :xl="12">
            <a-list-item-meta :title="title" :description="desc"/>
        </a-col>
        <a-col :lg="24" :xl="12">
            <template v-if="type === 'text'">
                <a-input :value="value" @input="$emit('input', $event.target.value)" :placeholder="placeholder"></a-input>
            </template>
            <template v-else-if="type === 'number'">
                <a-input-number :value="value" :step="step" @change="value => $emit('input', value)" :min="min" style="width: 100%;"></a-input-number>
            </template>
            <template v-else-if="type === 'switch'">
                <a-switch :checked="value" @change="value => $emit('input', value)"></a-switch>
            </template>
        </a-col>
    </a-row>
</a-list-item>
{{end}}

{{define "component/setting"}}
<script>
    Vue.component('setting-list-item', {
        props: ["type", "title", "desc", "value", "min", "step", "placeholder"],
        template: `{{template "component/settingListItem"}}`,
    });
</script>
{{end}}