12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <template>
- <modal v-if="show" @close="hideModal">
- <div slot="header">
- <ul>
- <li>
- <div class="flex-wrap">
- <h3 class="title">{{ $t("edit_collection") }}</h3>
- <div>
- <button class="icon" @click="hideModal">
- <i class="material-icons">close</i>
- </button>
- </div>
- </div>
- </li>
- </ul>
- </div>
- <div slot="body">
- <ul>
- <li>
- <input
- type="text"
- v-model="name"
- :placeholder="editingCollection.name"
- @keyup.enter="saveCollection"
- />
- </li>
- </ul>
- </div>
- <div slot="footer">
- <div class="flex-wrap">
- <span></span>
- <span>
- <button class="icon" @click="hideModal">
- {{ $t("cancel") }}
- </button>
- <button class="icon primary" @click="saveCollection">
- {{ $t("save") }}
- </button>
- </span>
- </div>
- </div>
- </modal>
- </template>
- <script>
- import { fb } from "../../functions/fb"
- export default {
- props: {
- show: Boolean,
- editingCollection: Object,
- editingCollectionIndex: Number,
- },
- components: {
- modal: () => import("../../components/ui/modal"),
- },
- data() {
- return {
- name: undefined,
- }
- },
- methods: {
- syncCollections() {
- if (fb.currentUser !== null) {
- if (fb.currentSettings[0].value) {
- fb.writeCollections(JSON.parse(JSON.stringify(this.$store.state.postwoman.collections)))
- }
- }
- },
- saveCollection() {
- if (!this.$data.name) {
- this.$toast.info(this.$t("invalid_collection_name"))
- return
- }
- const collectionUpdated = {
- ...this.$props.editingCollection,
- name: this.$data.name,
- }
- this.$store.commit("postwoman/editCollection", {
- collection: collectionUpdated,
- collectionIndex: this.$props.editingCollectionIndex,
- })
- this.$emit("hide-modal")
- this.syncCollections()
- },
- hideModal() {
- this.$emit("hide-modal")
- },
- },
- }
- </script>
|