Compare commits
No commits in common. "f70c0db78346ba5f6817b98ca86aa0a18586f3ba" and "2691894b78f9497cace8a0729e150d18f058d866" have entirely different histories.
f70c0db783
...
2691894b78
|
@ -26,7 +26,6 @@
|
||||||
"vite": "^4.5.2",
|
"vite": "^4.5.2",
|
||||||
"vue": "^3.3.4",
|
"vue": "^3.3.4",
|
||||||
"vue-toastification": "^2.0.0-rc.5",
|
"vue-toastification": "^2.0.0-rc.5",
|
||||||
"vuedraggable": "^4.1.0",
|
|
||||||
"wnumb": "^1.2.0"
|
"wnumb": "^1.2.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -3800,11 +3799,6 @@
|
||||||
"tslib": "^2.0.3"
|
"tslib": "^2.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/sortablejs": {
|
|
||||||
"version": "1.14.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
|
|
||||||
"integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
|
|
||||||
},
|
|
||||||
"node_modules/source-map": {
|
"node_modules/source-map": {
|
||||||
"version": "0.6.1",
|
"version": "0.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||||
|
@ -4413,17 +4407,6 @@
|
||||||
"vue": "^3.0.2"
|
"vue": "^3.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vuedraggable": {
|
|
||||||
"version": "4.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz",
|
|
||||||
"integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==",
|
|
||||||
"dependencies": {
|
|
||||||
"sortablejs": "1.14.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"vue": "^3.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/which": {
|
"node_modules/which": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||||
|
|
|
@ -45,7 +45,6 @@
|
||||||
"vite": "^4.5.2",
|
"vite": "^4.5.2",
|
||||||
"vue": "^3.3.4",
|
"vue": "^3.3.4",
|
||||||
"vue-toastification": "^2.0.0-rc.5",
|
"vue-toastification": "^2.0.0-rc.5",
|
||||||
"vuedraggable": "^4.1.0",
|
|
||||||
"wnumb": "^1.2.0"
|
"wnumb": "^1.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 31b03b69ed3d57888cd82d1bfedcd0cb2b9cdc3c
|
Subproject commit 4db01b7bc69b29b18ec333a522113d0a5a5acb99
|
|
@ -2,7 +2,7 @@
|
||||||
<form class="grid gap-3 mt-4 grid-cols-[1fr_max-content] items-start" @submit.prevent="submit">
|
<form class="grid gap-3 mt-4 grid-cols-[1fr_max-content] items-start" @submit.prevent="submit">
|
||||||
<div class="grid gap-3">
|
<div class="grid gap-3">
|
||||||
<slot name="meta"></slot>
|
<slot name="meta"></slot>
|
||||||
<asideform v-if="singleSection !== null && singleSection.mode === 'edit'"
|
<asideform v-if="singleSection !== null"
|
||||||
:heading="`Sektion ${singleSection.index !== null ? 'bearbeiten' : 'erstellen'}`"
|
:heading="`Sektion ${singleSection.index !== null ? 'bearbeiten' : 'erstellen'}`"
|
||||||
@close="singleSection = null" @submit="storeSection">
|
@close="singleSection = null" @submit="storeSection">
|
||||||
<f-text :id="`sectionform-name`" v-model="singleSection.model.name" label="Name"
|
<f-text :id="`sectionform-name`" v-model="singleSection.model.name" label="Name"
|
||||||
|
@ -10,20 +10,6 @@
|
||||||
<f-textarea :id="`sectionform-intro`" v-model="singleSection.model.intro" label="Einleitung"
|
<f-textarea :id="`sectionform-intro`" v-model="singleSection.model.intro" label="Einleitung"
|
||||||
:name="`sectionform-intro`"></f-textarea>
|
:name="`sectionform-intro`"></f-textarea>
|
||||||
</asideform>
|
</asideform>
|
||||||
<asideform v-if="singleSection !== null && singleSection.mode === 'reorder'" heading="Felder ordnen"
|
|
||||||
@close="singleSection = null" @submit="storeSection">
|
|
||||||
<draggable item-key="key" :component-data="{ class: 'mt-3 grid gap-3' }" v-model="singleSection.model.fields">
|
|
||||||
<template #item="{ element }">
|
|
||||||
<div
|
|
||||||
class="py-2 px-3 border rounded bg-zinc-800 hover:bg-zinc-700 transition justify-between flex items-center">
|
|
||||||
<span v-text="element.name"></span>
|
|
||||||
<a href="#">
|
|
||||||
<ui-sprite class="w-5 h-5" v-tooltip="`Umordnen`" src="menu"></ui-sprite>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</draggable>
|
|
||||||
</asideform>
|
|
||||||
<asideform v-if="singleSection === null && singleField === null" heading="Feld erstellen" :closeable="false"
|
<asideform v-if="singleSection === null && singleField === null" heading="Feld erstellen" :closeable="false"
|
||||||
:storeable="false" @submit="storeField">
|
:storeable="false" @submit="storeField">
|
||||||
<div class="mt-3 grid gap-3">
|
<div class="mt-3 grid gap-3">
|
||||||
|
@ -57,8 +43,7 @@
|
||||||
:base-url="meta.base_url" :value="previewString" @editSection="editSection($event.detail[0])"
|
:base-url="meta.base_url" :value="previewString" @editSection="editSection($event.detail[0])"
|
||||||
@addSection="addSection" @editField="editField($event.detail[0], $event.detail[1])"
|
@addSection="addSection" @editField="editField($event.detail[0], $event.detail[1])"
|
||||||
@deleteField="deleteField($event.detail[0], $event.detail[1])"
|
@deleteField="deleteField($event.detail[0], $event.detail[1])"
|
||||||
@editFields="startReordering($event.detail[0])" @deleteSection="deleteSection($event.detail[0])"
|
@deleteSection="deleteSection($event.detail[0])" @active="updateActive($event.detail[0])"></event-form>
|
||||||
@active="updateActive($event.detail[0])"></event-form>
|
|
||||||
</ui-box>
|
</ui-box>
|
||||||
</form>
|
</form>
|
||||||
</template>
|
</template>
|
||||||
|
@ -78,19 +63,11 @@ import NumberField from './NumberField.vue';
|
||||||
import CheckboxField from './CheckboxField.vue';
|
import CheckboxField from './CheckboxField.vue';
|
||||||
import CheckboxesField from './CheckboxesField.vue';
|
import CheckboxesField from './CheckboxesField.vue';
|
||||||
import ColumnSelector from './ColumnSelector.vue';
|
import ColumnSelector from './ColumnSelector.vue';
|
||||||
import Draggable from 'vuedraggable';
|
|
||||||
|
|
||||||
const singleSection = ref(null);
|
const singleSection = ref(null);
|
||||||
const singleField = ref(null);
|
const singleField = ref(null);
|
||||||
const active = ref(null);
|
const active = ref(null);
|
||||||
|
|
||||||
async function onReorder() {
|
|
||||||
var order = this.inner.map((f) => f.id);
|
|
||||||
this.loading = true;
|
|
||||||
this.inner = (await this.axios.patch(`/mediaupload/${this.parentName}/${this.parentId}/${this.collection}`, { order })).data;
|
|
||||||
this.loading = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateActive(a) {
|
function updateActive(a) {
|
||||||
active.value = a;
|
active.value = a;
|
||||||
if (a === null) {
|
if (a === null) {
|
||||||
|
@ -120,15 +97,6 @@ function editSection(sectionIndex) {
|
||||||
singleSection.value = {
|
singleSection.value = {
|
||||||
model: { ...inner.value.sections[sectionIndex] },
|
model: { ...inner.value.sections[sectionIndex] },
|
||||||
index: sectionIndex,
|
index: sectionIndex,
|
||||||
mode: 'edit',
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function startReordering(index) {
|
|
||||||
singleSection.value = {
|
|
||||||
model: { ...inner.value.sections[index] },
|
|
||||||
index: index,
|
|
||||||
mode: 'reorder',
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,7 +111,6 @@ function addSection() {
|
||||||
singleSection.value = {
|
singleSection.value = {
|
||||||
model: JSON.parse(JSON.stringify(innerMeta.value.section_default)),
|
model: JSON.parse(JSON.stringify(innerMeta.value.section_default)),
|
||||||
index: null,
|
index: null,
|
||||||
mode: 'edit',
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue