Compare commits

...

4 Commits

Author SHA1 Message Date
philipp lang 9f0516ad55 Update CHANGELOG
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is failing Details
2025-06-17 00:27:16 +02:00
philipp lang 2e1df9791d Fix editor popup style 2025-06-17 00:25:38 +02:00
philipp lang ce976c1108 Lint 2025-06-17 00:16:34 +02:00
philipp lang 4d25f5e56d Lint 2025-06-17 00:10:10 +02:00
4 changed files with 49 additions and 51 deletions

View File

@ -1,5 +1,9 @@
# Letzte Änderungen # Letzte Änderungen
### 1.12.14
- Bilder werden nun mitkopiert beim Kopieren eines Events
### 1.12.13 ### 1.12.13
- Kopieren von bestehenden Veranstaltungen - Kopieren von bestehenden Veranstaltungen

View File

@ -5,14 +5,14 @@
.ce-settings__button, .ce-settings__button,
.ce-toolbar__settings-btn, .ce-toolbar__settings-btn,
.cdx-button, .cdx-button,
.ce-popover, .ce-popover__container,
.ce-toolbar__plus:hover { .ce-toolbar__plus:hover {
@apply bg-primary-700; @apply bg-primary-700;
color: inherit; color: inherit;
} }
.ce-inline-tool-input { .cdx-search-field {
@apply bg-primary-700 text-primary-200 placeholder-primary-500; @apply bg-primary-600;
} }
.ce-block--selected { .ce-block--selected {

View File

@ -1,54 +1,49 @@
<template> <template>
<ui-note v-if="locked" class="mt-2" type="danger"> <ui-note v-if="locked" class="mt-2" type="danger">
Dieses Formular wurde bereits bearbeitet.<br /> Dieses Formular wurde bereits bearbeitet.<br>
Bitte speichere es erst ab und editiere dann die Bedingungen. Bitte speichere es erst ab und editiere dann die Bedingungen.
</ui-note> </ui-note>
<div v-else> <div v-else>
<f-select :id="`mode-${id}`" :name="`mode-${id}`" :model-value="modelValue.mode" :options="modeOptions" label="Modus" @update:model-value="changeMode"></f-select> <f-select :id="`mode-${id}`" :name="`mode-${id}`" :model-value="modelValue.mode" :options="modeOptions" label="Modus" @update:model-value="changeMode" />
<ui-icon-button class="mt-4 mb-2" icon="plus" @click="addCondition">Bedingung einfügen</ui-icon-button> <ui-icon-button class="mt-4 mb-2" icon="plus" @click="addCondition">Bedingung einfügen</ui-icon-button>
<div v-for="(condition, index) in modelValue.ifs" :key="index" class="grid grid-cols-[1fr_1fr_1fr_max-content] gap-2"> <div v-for="(condition, index) in modelValue.ifs" :key="index" class="grid grid-cols-[1fr_1fr_1fr_max-content] gap-2">
<f-select <f-select :id="`field-${index}-${id}`"
:id="`field-${index}-${id}`" :model-value="condition.field"
:model-value="condition.field" :options="fieldOptions"
:options="fieldOptions" :name="`field-${index}-${id}`"
:name="`field-${index}-${id}`" label="Feld"
label="Feld" @update:model-value="update(index, 'field', $event)"
@update:model-value="update(index, 'field', $event)" />
></f-select> <f-select :id="`comparator-${index}-${id}`"
<f-select :options="comparatorOptions"
:id="`comparator-${index}-${id}`" :model-value="condition.comparator"
:options="comparatorOptions" :name="`comparator-${index}-${id}`"
:model-value="condition.comparator" label="Vergleich"
:name="`comparator-${index}-${id}`" @update:model-value="update(index, 'comparator', $event)"
label="Vergleich" />
@update:model-value="update(index, 'comparator', $event)" <f-select v-if="condition.field && ['isEqual', 'isNotEqual'].includes(condition.comparator) && ['RadioField', 'DropdownField', 'GroupField'].includes(getField(condition.field).type)"
></f-select> :id="`value-${index}-${id}`"
<f-select v-model="condition.value"
v-if="condition.field && ['isEqual', 'isNotEqual'].includes(condition.comparator) && ['RadioField', 'DropdownField', 'GroupField'].includes(getField(condition.field).type)" :options="getOptions(condition.field)"
:id="`value-${index}-${id}`" :name="`value-${index}-${id}`"
v-model="condition.value" label="Wert"
:options="getOptions(condition.field)" />
:name="`value-${index}-${id}`" <f-multipleselect v-if="condition.field && ['isIn', 'isNotIn'].includes(condition.comparator) && ['RadioField', 'DropdownField', 'GroupField'].includes(getField(condition.field).type)"
label="Wert" :id="`value-${index}-${id}`"
></f-select> v-model="condition.value"
<f-multipleselect :options="getOptions(condition.field)"
v-if="condition.field && ['isIn', 'isNotIn'].includes(condition.comparator) && ['RadioField', 'DropdownField', 'GroupField'].includes(getField(condition.field).type)" label="Wert"
:id="`value-${index}-${id}`" />
v-model="condition.value" <f-switch v-if="condition.field && condition.comparator && ['CheckboxField'].includes(getField(condition.field).type)"
:options="getOptions(condition.field)" :id="`value-${index}-${id}`"
label="Wert" v-model="condition.value"
></f-multipleselect> :name="`value-${index}-${id}`"
<f-switch label="Wert"
v-if="condition.field && condition.comparator && ['CheckboxField'].includes(getField(condition.field).type)" />
:id="`value-${index}-${id}`" <ui-action-button tooltip="Löschen" icon="trash" class="btn-danger self-end h-8" @click="remove(index)" />
v-model="condition.value"
:name="`value-${index}-${id}`"
label="Wert"
></f-switch>
<ui-action-button tooltip="Löschen" icon="trash" class="btn-danger self-end h-8" @click="remove(index)"></ui-action-button>
</div> </div>
</div> </div>
</template> </template>
@ -103,9 +98,9 @@ function changeMode(mode) {
} }
function update(index, key, value) { function update(index, key, value) {
var inner = {...props.modelValue}; const inner = {...props.modelValue};
if (key === 'comparator') { if (key === 'comparator') {
var old = inner.ifs[index]; const old = inner.ifs[index];
inner.ifs[index] = { inner.ifs[index] = {
field: old.field, field: old.field,
comparator: value, comparator: value,
@ -113,7 +108,6 @@ function update(index, key, value) {
}; };
} }
if (key === 'field') { if (key === 'field') {
var old = inner.ifs[index];
inner.ifs[index] = { inner.ifs[index] = {
field: value, field: value,
comparator: null, comparator: null,

View File

@ -80,13 +80,13 @@
<div> <div>
<ui-tabs v-model="activeMailTab" :entries="mailTabs" /> <ui-tabs v-model="activeMailTab" :entries="mailTabs" />
<f-editor v-if="activeMailTab === 0" id="mail_top" v-model="single.mail_top" name="mail_top" label="E-Mail-Teil 1" :rows="8" conditions required> <f-editor v-if="activeMailTab === 0" id="mail_top" v-model="single.mail_top" name="mail_top" label="E-Mail-Teil 1" :rows="8" conditions required>
<template #conditions="{data, resolve}"> <template #conditions="{cData, resolve}">
<conditions-form id="mail_top_conditions" :single="single" :value="data" @save="resolve" /> <conditions-form id="mail_top_conditions" :single="single" :value="cData" @save="resolve" />
</template> </template>
</f-editor> </f-editor>
<f-editor v-if="activeMailTab === 1" id="mail_bottom" v-model="single.mail_bottom" name="mail_bottom" label="E-Mail-Teil 2" :rows="8" conditions required> <f-editor v-if="activeMailTab === 1" id="mail_bottom" v-model="single.mail_bottom" name="mail_bottom" label="E-Mail-Teil 2" :rows="8" conditions required>
<template #conditions="{data, resolve}"> <template #conditions="{d, resolve}">
<conditions-form id="mail_bottom_conditions" :single="single" :value="data" @save="resolve" /> <conditions-form id="mail_bottom_conditions" :single="single" :value="d" @save="resolve" />
</template> </template>
</f-editor> </f-editor>
</div> </div>