CitySettings.vue 1.76 KB
<template>
    <div>
    <h2 class="mt-12 font-bold text-2xl">Cities</h2>
    <div class="mt-4 flex flex-wrap">
        <div v-if="all_cities" class="flex flex-wrap">
            <select-input v-model="city" class="px-6">
                <option v-for="city in all_cities" :value="city.id">
                    {{ city.name }}
                </option>
            </select-input>

            <button class="btn-indigo hover:underline"
                    tabindex="-1"
                    type="button"
                    @click="cityAdd"
            >
                Add
            </button>

        </div>

    </div>

        <div class="mt-6 bg-white rounded shadow">
            <table class="w-full whitespace-nowrap">
                <tr class="text-left font-bold">
                    <th class="px-6 pt-6 pb-4">Name</th>
                </tr>
                <tr v-for="city in cities" :key="city.id"
                    class="hover:bg-gray-100 focus-within:bg-gray-100">
                    <td class="border-t">
                        <span class="px-6 py-4 flex items-center focus:text-indigo-500"> {{ city.name }} </span>
                    </td>
                </tr>
                <tr v-if="cities.length === 0">
                    <td class="border-t px-6 py-4" colspan="4">No City found.</td>
                </tr>
            </table>
        </div>
    </div>
</template>

<script>

import SelectInput from "../../Shared/SelectInput";
export default {
    components: {SelectInput},
    props: {
        cities: Array,
        all_cities: Array,
    },
    data() {
        return {
            city: false
        }
    },
    watch: {

    },
    mounted() {

    },
    methods: {
        cityAdd(){
            this.$emit('add', this.city)
        }
    }
}
</script>