Merge branch 'release/2020.10-01'

This commit is contained in:
Björn Fromme committed 2020-10-01 10:21:57 +02:00
commit d5c1a110d3
30 files changed
+612 -495

No files matched your search

Generated
+294 -293
View File
File diff suppressed because it is too large. Load diff
@@ -51,6 +51,7 @@ class ContainerViewHelper extends AbstractViewHelper
$this->registerArgument('content', 'string', 'The content');
$this->registerArgument('cssClasses', 'string', 'Additional css classes');
$this->registerArgument('rteContent', 'boolean', 'Is rte content', false, false);
$this->registerArgument('data', 'Array', 'The data', true);
}
@@ -81,8 +82,8 @@ class ContainerViewHelper extends AbstractViewHelper
if ($arguments['cssClasses'] !== null) {
$classes[] = $arguments['cssClasses'];
}
if (count($classes) > 0) {
return '<div class="' . implode(' ', $classes) . '">' . $content . '</div>';
if (true === $arguments['rteContent'] || count($classes) > 0) {
return sprintf('<div class="%s"%s>%s</div>', implode(' ', $classes), $arguments['rteContent'] ? ' data-rte-content' : '', $content);
}
return $content;
@@ -0,0 +1,3 @@
ul {
@apply list-disc;
}
@@ -67,6 +67,16 @@
@import "subpage";
@import "searchpage";
@import "employee";
[data-rte-content] {
@import "rte-content";
}
}
@layer components {
.has-validation-error .form-input {
@apply text-red-500 border-red-500;
}
}
@layer utilities {
@@ -7,7 +7,7 @@
<div class="container-fluid ep-disturber ep-expert">
<div>
<div>
<div class="container">
<div class="container" data-rte-content>
<div class="col-md-6">
<f:if condition="{image}">
<f:then>
@@ -4,7 +4,7 @@
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<f:section name="Disturber">
<div class="container-fluid ep-disturber-last-chance">
<div class="container-fluid ep-disturber-last-chance" data-rte-content>
<div>{data.headline}</div>
<div>{data.text -> f:format.html()}</div>
<div>
@@ -5,7 +5,7 @@
<f:section name="Disturber">
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
<div class="container-fluid ep-disturber-reminder">
<div class="container-fluid ep-disturber-reminder" data-rte-content>
<div>{data.headline}</div>
<div class="col-md-6">
<a href="{f:uri.typolink(parameter: button.container.link)}" title="{button.container.label -> f:format.raw()}">
@@ -7,7 +7,7 @@
<div class="container-fluid ep-disturber ep-expert-small">
<div>
<div>
<div class="container">
<div class="container" data-rte-content>
<div class="col-sm-2">
<f:if condition="{image}">
<f:then>
@@ -7,7 +7,7 @@
<div class="container-fluid ep-disturber ep-expert">
<div>
<div>
<div class="container">
<div class="container" data-rte-content>
<div class="col-md-6">
<f:if condition="{teaserImage}">
<f:then>
@@ -4,7 +4,7 @@
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<f:section name="Disturber">
<div class="container-fluid ep-disturber-last-chance">
<div class="container-fluid ep-disturber-last-chance" data-rte-content>
<div>{data.header}</div>
<div>{data.bodytext -> f:format.html()}</div>
<div>
@@ -5,7 +5,7 @@
<f:section name="Disturber">
{data.flexForm.buttons -> v:iterator.first() -> v:variable.set(name: 'button')}
<div class="container-fluid ep-disturber-reminder">
<div class="container-fluid ep-disturber-reminder" data-rte-content>
<div>{data.header}</div>
<div class="col-md-6">
<a href="{f:uri.typolink(parameter: button.container.link)}" title="{button.container.label -> f:format.raw()}">
@@ -4,7 +4,7 @@
xmlns:f="http://typo3.org/ns/fluid/ViewHelpers">
<f:section name="Disturber">
<div class="container-fluid ep-disturber ep-expert-small">
<div class="container-fluid ep-disturber ep-expert-small" data-rte-content>
<div>
<div>
<div class="container">
@@ -1,20 +1,16 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
<formvh:renderRenderable renderable="{element}">
<f:render partial="Field/Field" arguments="{element: element, doNotShowLabel: 1}" contentAs="elementContent">
<div class="checkbox">
<label class="{element.properties.elementClassAttribute} form-check-label" for="{element.uniqueIdentifier}">
<f:form.checkbox
property="{element.identifier}"
id="{element.uniqueIdentifier}"
value="{element.properties.value}"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
/>
<span class="cr">
<i class="cr-icon glyphicon glyphicon-ok"></i>
</span>
{formvh:translateElementProperty(element: element, property: 'label')}<f:if condition="{element.required}"><f:render partial="Field/Required" /></f:if>
</label>
</div>
<label class="inline-flex items-center">
<f:form.checkbox
property="{element.identifier}"
id="{element.uniqueIdentifier}"
value="{element.properties.value}"
class="form-checkbox h-6 w-6"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
/>
<span class="ml-2">{formvh:translateElementProperty(element: element, property: 'label')}<f:if condition="{element.required}"><f:render partial="Field/Required" /></f:if></span>
</label>
</f:render>
</formvh:renderRenderable>
</html>
@@ -1,23 +1,18 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
<f:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
<div class="form-group{f:if(condition: '{validationResults.errors.0}', then: ' has-error')}">
<f:if condition="{doNotShowLabel} != 1">
<label class="control-label" for="{element.uniqueIdentifier}">{formvh:translateElementProperty(element: element, property: 'label')}<f:if condition="{element.required}"><f:render partial="Field/Required" /></f:if></label>
</f:if>
<f:format.raw>
{elementContent}
<f:if condition="{validationResults.flattenedErrors}">
<span class="error help-block" role="alert">
<f:for each="{validationResults.errors}" as="error">
{formvh:translateElementError(element: element, error: error)}
<br />
</f:for>
</span>
</f:if>
</f:format.raw>
<f:if condition="{element.properties.elementDescription}">
<span class="help-block">{formvh:translateElementProperty(element: element, property: 'elementDescription')}</span>
<label class="block mb-4">
<f:if condition="{doNotShowLabel} != 1">
<span class="{f:if(condition: '{validationResults.errors.0}', then: 'text-red-500', else: 'text-gray-700')}">{formvh:translateElementProperty(element: element, property: 'label')}<f:if condition="{element.required}"><f:render partial="Field/Required" /></f:if></span>
</f:if>
</div>
{elementContent -> f:format.raw()}
<f:if condition="{validationResults.flattenedErrors}">
<div class="text-red-500 mt-2" role="alert">
<f:for each="{validationResults.errors}" as="error">
<f:format.htmlspecialchars>{formvh:translateElementError(element: element, error: error)}</f:format.htmlspecialchars>
<br />
</f:for>
</div>
</f:if>
</label>
</f:form.validationResults>
</html>
@@ -0,0 +1,12 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
<formvh:renderRenderable renderable="{element}">
<fieldset id="{element.uniqueIdentifier}" class="{f:if(condition: element.properties.elementClassAttribute, then: ' {element.properties.elementClassAttribute}')}">
<f:if condition="{element.label}">
<legend class="pb-2 mb-2 border-b border-gray-400">{formvh:translateElementProperty(element: element, property: 'label')}</legend>
</f:if>
<f:for each="{element.elements}" as="element">
<f:render partial="{element.templateName}" arguments="{element: element}" />
</f:for>
</fieldset>
</formvh:renderRenderable>
</html>
@@ -1,26 +1,22 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
<formvh:renderRenderable renderable="{element}">
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
<div id="{element.uniqueIdentifier}">
<f:for each="{element.properties.options}" as="label" key="value" iteration="idIterator">
<div class="checkbox">
<label class="form-check-label" for="{element.uniqueIdentifier}-{idIterator.index}">
<f:form.checkbox
property="{element.identifier}"
multiple="1"
id="{element.uniqueIdentifier}-{idIterator.index}"
value="{value}"
errorClass="{element.properties.elementErrorClassAttribute}"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
/>
<span class="cr">
<i class="cr-icon glyphicon glyphicon-ok"></i>
</span>
{formvh:translateElementProperty(element: element, property: '{0: \'options\', 1: value}')}
</label>
</div>
</f:for>
</div>
<f:render partial="Field/Field" arguments="{element: element, doNotShowLabel: 1}" contentAs="elementContent">
<span class="block text-gray-700 mb-1">{formvh:translateElementProperty(element: element, property: 'label')}<f:if condition="{element.required}"><f:render partial="Field/Required" /></f:if></span>
<f:for each="{element.properties.options}" as="label" key="value" iteration="idIterator">
<div>
<label class="inline-flex items-center">
<f:form.checkbox
property="{element.identifier}"
multiple="1"
id="{element.uniqueIdentifier}-{idIterator.index}"
value="{value}"
class="form-checkbox h-6 w-6"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
/>
<span class="ml-2">{formvh:translateElementProperty(element: element, property: '{0: \'options\', 1: value}')}</span>
</label>
</div>
</f:for>
</f:render>
</formvh:renderRenderable>
</html>
@@ -0,0 +1,33 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
<formvh:renderRenderable renderable="{element}">
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
<f:if condition="{element.properties.prependOptionLabel}">
<f:then>
<f:form.select
property="{element.identifier}"
id="{element.uniqueIdentifier}"
class="{element.properties.elementClassAttribute} form-multiselect block w-full mt-1"
options="{formvh:translateElementProperty(element: element, property: 'options')}"
multiple="multiple"
errorClass="form-multiselect-error"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
prependOptionLabel="{formvh:translateElementProperty(element: element, property: 'prependOptionLabel')}"
prependOptionValue="{formvh:translateElementProperty(element: element, property: 'prependOptionValue')}"
/>
</f:then>
<f:else>
<f:form.select
property="{element.identifier}"
id="{element.uniqueIdentifier}"
class="{element.properties.elementClassAttribute} form-multiselect block w-full mt-1"
options="{formvh:translateElementProperty(element: element, property: 'options')}"
multiple="multiple"
errorClass="form-multiselect-error"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
/>
</f:else>
</f:if>
</f:render>
</formvh:renderRenderable>
</html>
@@ -1,17 +1,18 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
<formvh:renderRenderable renderable="{element}">
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
<f:render partial="Field/Field" arguments="{element: element, doNotShowLabel: 1}" contentAs="elementContent">
<f:for each="{element.properties.options}" as="label" key="value" iteration="idIterator">
<div class="radio">
<label for="{element.uniqueIdentifier}-{idIterator.index}">
<div>
<label for="{element.uniqueIdentifier}-{idIterator.index}" class="inline-flex items-center">
<f:form.radio
property="{element.identifier}"
id="{element.uniqueIdentifier}-{idIterator.index}"
value="{value}"
errorClass="{element.properties.elementErrorClassAttribute}"
class="form-radio"
errorClass="form-radio-error"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
/>
<span class="cr"><i class="cr-icon glyphicon glyphicon-ok"></i></span> {formvh:translateElementProperty(element: element, property: '{0: \'options\', 1: value}')}
<span class="ml-2">{formvh:translateElementProperty(element: element, property: '{0: \'options\', 1: value}')}</span>
</label>
</div>
</f:for>
@@ -0,0 +1,30 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
<formvh:renderRenderable renderable="{element}">
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
<f:if condition="{element.properties.prependOptionLabel}">
<f:then>
<f:form.select
property="{element.identifier}"
id="{element.uniqueIdentifier}"
options="{formvh:translateElementProperty(element: element, property: 'options')}"
class="{element.properties.elementClassAttribute} form-select block w-full mt-1"
errorClass="form-select-error"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
prependOptionLabel="{formvh:translateElementProperty(element: element, property: 'prependOptionLabel')}"
prependOptionValue="{formvh:translateElementProperty(element: element, property: 'prependOptionValue')}"
/>
</f:then>
<f:else>
<f:form.select
property="{element.identifier}"
id="{element.uniqueIdentifier}"
options="{formvh:translateElementProperty(element: element, property: 'options')}"
class="{element.properties.elementClassAttribute} form-select block w-full mt-1"
errorClass="form-select-error"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
/>
</f:else>
</f:if>
</f:render>
</formvh:renderRenderable>
</html>
@@ -0,0 +1,13 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
<formvh:renderRenderable renderable="{element}">
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
<f:form.textfield
property="{element.identifier}"
id="{element.uniqueIdentifier}"
class="form-input mt-1 block w-full"
errorClass="form-input-error"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
/>
</f:render>
</formvh:renderRenderable>
</html>
@@ -0,0 +1,15 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers" data-namespace-typo3-fluid="true">
<formvh:renderRenderable renderable="{element}">
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
<f:form.textarea
property="{element.identifier}"
id="{element.uniqueIdentifier}"
class="{element.properties.elementClassAttribute} form-textarea mt-1 block w-full"
rows="{element.properties.rows}"
cols="{element.properties.cols}"
errorClass="form-textarea-error"
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
/>
</f:render>
</formvh:renderRenderable>
</html>
@@ -29,7 +29,7 @@
</f:if>
<f:render partial="TeaserImage" arguments="{image: teaserImage}"/>
</div>
<div class="teaserbox__main">
<div class="teaserbox__main" data-rte-content>
<span class="headline headline--3 headline--teaser">{data.header -> f:format.nl2br()}{f:if(condition: data.subheader, then: '<br>{data.subheader}')}</span>
<hr>
{data.bodytext -> f:format.html()}
@@ -26,7 +26,7 @@
<div class="teasebox__image">
<f:render partial="TeaserImage" arguments="{image: teaserImage}"/>
</div>
<div class="teaserbox__main">
<div class="teaserbox__main" data-rte-content>
<span class="headline headline--3 headline--teaser">{data.header -> f:format.nl2br()}{f:if(condition: data.subheader, then: '<br>{data.subheader}')}</span>
<hr>
{data.bodytext -> f:format.html()}
@@ -21,7 +21,7 @@
<div class="back">
<div>
<div class="teaser-title">Angebot</div>
<div class="content">
<div class="content" data-rte-content>
<span class="headline headline--4">{data.header}</span>
<hr>
{data.bodytext -> f:format.nl2br()}
@@ -20,7 +20,7 @@
<f:render partial="Textmedia/Partnerlogos" section="Content" arguments="{_all}"/>
</f:case>
<f:defaultCase>
<ep:container data="{data}">
<ep:container rteContent="true" data="{data}">
<f:render partial="Textmedia/Default" section="Content" arguments="{_all}"/>
</ep:container>
</f:defaultCase>
@@ -6,99 +6,82 @@
<f:section name="Main">
<contact-form inline-template>
<div class="form form--border">
<div class="relative">
<f:form id="contactform" object="{contactForm}" name="contactForm"
action="processForm" controller="AjaxForm" pluginName="Ajax" pageType="1803"
pageUid="{settings.defaultAjaxUid}" class="border"
pageUid="{settings.defaultAjaxUid}"
additionalAttributes="{'v-show': '!success', '@submit.prevent': 'submitForm()'}">
<f:form.hidden property="pageUrl"/>
<div class="form-group" :class="{ 'has-error': formErrors.name }">
<label for="name" class="control-label">Name*</label>
<f:form.textfield class="form-control" property="name"/>
<div class="help-block"
v-show="formErrors.name" v-html="formErrors.name"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.firstName }">
<label for="firstName" class="control-label">Vorname*</label>
<f:form.textfield class="form-control" property="firstName"/>
<div class="help-block"
v-show="formErrors.firstName" v-html="formErrors.firstName"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.gender }">
<label for="gender" class="control-label">Gender*</label>
<f:form.select class="form-control" property="gender" options="{m: 'M', w: 'W', d: 'D'}"/>
<div class="help-block"
v-show="formErrors.gender" v-html="formErrors.gender"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.company }">
<label for="company" class="control-label">Firma/Verein</label>
<f:form.textfield class="form-control" property="company"/>
<div class="help-block"
v-show="formErrors.company" v-html="formErrors.company"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.email }">
<label for="email" class="control-label">E-Mail*</label>
<f:form.textfield class="form-control" property="email"/>
<div class="help-block"
v-show="formErrors.email" v-html="formErrors.email"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.phone }">
<label for="phone" class="control-label">Telefon/Fax*</label>
<f:form.textfield class="form-control" property="phone"/>
<div class="help-block"
v-show="formErrors.phone" v-html="formErrors.phone"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.period }">
<label for="period" class="control-label">Zeitraum</label>
<f:form.textfield class="form-control" property="period"
placeholder="tt.mm.jjjj - tt.mm.jjjj"/>
<div class="help-block"
v-show="formErrors.period" v-html="formErrors.period"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.duration }">
<label for="duration" class="control-label">Aufenthaltsdauer</label>
<f:form.textfield class="form-control" property="duration"
placeholder="Tage inkl. An- & Abreisetag"/>
<div class="help-block"
v-show="formErrors.duration" v-html="formErrors.duration"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.pax }">
<label for="pax" class="control-label">Anzahl der Personen</label>
<f:form.textfield class="form-control" property="pax"
placeholder="ab 25 Personen"/>
<div class="help-block"
v-show="formErrors.pax" v-html="formErrors.pax"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.age }">
<label for="age" class="control-label">Durchschnittsalter</label>
<f:form.textfield class="form-control" property="age"/>
<div class="help-block"
v-show="formErrors.age" v-html="formErrors.age"></div>
</div>
<div class="checkbox">
<label>
<f:form.checkbox class="form-control" property="children" value="Ja"/>
<span class="cr"><i class="cr-icon glyphicon glyphicon-ok"></i></span>
Kinder (ja/nein)
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.name }">
<span :class="formErrors.name ? 'text-red-500' : 'text-gray-700'">Name*</span>
<f:form.textfield class="form-input mt-1 block w-full" property="name"/>
<div class="text-red-500 mt-2" v-show="formErrors.name" v-html="formErrors.name"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.firstName }">
<span :class="formErrors.firstName ? 'text-red-500' : 'text-gray-700'">Vorname*</span>
<f:form.textfield class="form-input mt-1 block w-full" property="firstName"/>
<div class="text-red-500 mt-2" v-show="formErrors.firstName" v-html="formErrors.firstName"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.gender }">
<span :class="formErrors.gender ? 'text-red-500' : 'text-gray-700'">Gender*</span>
<f:form.select class="form-select mt-1 block w-full" property="gender" options="{m: 'M', w: 'W', d: 'D'}"/>
<div class="text-red-500 mt-2" v-show="formErrors.gender" v-html="formErrors.gender"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.company }">
<span :class="formErrors.company ? 'text-red-500' : 'text-gray-700'">Firma/Verein*</span>
<f:form.textfield class="form-input mt-1 block w-full" property="company"/>
<div class="text-red-500 mt-2" v-show="formErrors.company" v-html="formErrors.company"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.email }">
<span :class="formErrors.email ? 'text-red-500' : 'text-gray-700'">E-Mail*</span>
<f:form.textfield class="form-input mt-1 block w-full" property="email"/>
<div class="text-red-500 mt-2" v-show="formErrors.email" v-html="formErrors.email"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.phone }">
<span :class="formErrors.phone ? 'text-red-500' : 'text-gray-700'">Telefon/Fax*</span>
<f:form.textfield class="form-input mt-1 block w-full" property="phone"/>
<div class="text-red-500 mt-2" v-show="formErrors.phone" v-html="formErrors.phone"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.period }">
<span :class="formErrors.period ? 'text-red-500' : 'text-gray-700'">Zeitraum</span>
<f:form.textfield class="form-input mt-1 block w-full" property="period" placeholder="tt.mm.jjjj - tt.mm.jjjj"/>
<div class="text-red-500 mt-2" v-show="formErrors.period" v-html="formErrors.period"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.duration }">
<span :class="formErrors.duration ? 'text-red-500' : 'text-gray-700'">Aufenthaltsdauer</span>
<f:form.textfield class="form-input mt-1 block w-full" placeholder="Tage inkl. An- & Abreisetag"/>
<div class="text-red-500 mt-2" v-show="formErrors.duration" v-html="formErrors.duration"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.pax }">
<span :class="formErrors.pax ? 'text-red-500' : 'text-gray-700'">Anzahl der Personen</span>
<f:form.textfield class="form-input mt-1 block w-full" placeholder="ab 25 Personen"/>
<div class="text-red-500 mt-2" v-show="formErrors.pax" v-html="formErrors.pax"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.age }">
<span :class="formErrors.age ? 'text-red-500' : 'text-gray-700'">Durchschnittsalter</span>
<f:form.textfield class="form-input mt-1 block w-full"/>
<div class="text-red-500 mt-2" v-show="formErrors.age" v-html="formErrors.age"></div>
</label>
<div class="mb-4">
<label class="inline-flex items-center">
<f:form.checkbox class="form-checkbox" property="children" value="Ja"/>
<span class="ml-2">Kinder (ja/nein)</span>
</label>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.inquiry }">
<label for="inquiry" class="control-label">(Zusatz-) Wünsche</label>
<f:form.textarea class="form-control"
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.inquiry }">
<span :class="formErrors.inquiry ? 'text-red-500' : 'text-gray-700'">(Zusatz-) Wünsche</span>
<f:form.textarea class="form-textarea mt-1 block w-full"
property="inquiry"
placeholder="z. B. Reiseleiter, Halbpension, Bus Anreise, Programm"
cols="30" rows="5"/>
<div class="help-block"
v-show="formErrors.inquiry" v-html="formErrors.inquiry"></div>
<div class="text-red-500 mt-2" v-show="formErrors.inquiry" v-html="formErrors.inquiry"></div>
</label>
<div class="mb-4">
Ich habe die <f:link.typolink parameter="{settings.dataProtectionPageUid}"
title="Datenschutzerklärung"
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
</div>
<div class="form-group">
<div class="help-block">
Ich habe die <f:link.typolink parameter="{settings.dataProtectionPageUid}"
title="Datenschutzerklärung"
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
</div>
</div>
<div class="form-group">
<div class="mb-4">
<button type="submit" class="button button-warning">Jetzt anfragen</button>
</div>
</f:form>
@@ -2,9 +2,7 @@
<f:flashMessages />
<f:if condition="{formConfiguration}">
<div class="form-wrapper form--border">
<formvh:render overrideConfiguration="{formConfiguration}" />
</div>
<formvh:render overrideConfiguration="{formConfiguration}" />
</f:if>
</html>
@@ -9,55 +9,48 @@
<div class="form form--border">
<f:form id="contactform" object="{contactForm}" name="contactForm"
action="processForm" controller="AjaxForm" pluginName="Ajax" pageType="1803"
pageUid="{settings.defaultAjaxUid}" class="border"
pageUid="{settings.defaultAjaxUid}"
additionalAttributes="{'v-show': '!success', '@submit.prevent': 'submitForm()'}">
<f:form.hidden property="pageUrl"/>
<div class="form-group" :class="{ 'has-error': formErrors.gender }">
<label for="gender" class="control-label">Geschlecht</label>
<f:form.select options="{m: 'm', w: 'w', d: 'd'}" property="gender" />
<div class="help-block"
v-show="formErrors.gender" v-html="formErrors.gender"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.name }">
<label for="name" class="control-label">Name</label>
<f:form.textfield class="form-control" property="name"/>
<div class="help-block"
v-show="formErrors.name" v-html="formErrors.name"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.firstName }">
<label for="firstName" class="control-label">Vorname</label>
<f:form.textfield class="form-control" property="firstName"/>
<div class="help-block"
v-show="formErrors.firstName" v-html="formErrors.firstName"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.email }">
<label for="email" class="control-label">E-Mail</label>
<f:form.textfield class="form-control" property="email"/>
<div class="help-block"
v-show="formErrors.email" v-html="formErrors.email"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.phone }">
<label for="phone" class="control-label">Telefon</label>
<f:form.textfield class="form-control" property="phone"/>
<div class="help-block"
v-show="formErrors.phone" v-html="formErrors.phone"></div>
</div>
<div class="form-group" :class="{ 'has-error': formErrors.inquiry }">
<label for="inquiry" class="control-label">Anfrage</label>
<f:form.textarea class="form-control"
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.gender }">
<span :class="formErrors.gender ? 'text-red-500' : 'text-gray-700'">Gender*</span>
<f:form.select class="form-select mt-1 block w-full" property="gender" options="{m: 'M', w: 'W', d: 'D'}"/>
<div class="text-red-500" v-show="formErrors.gender" v-html="formErrors.gender"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.name }">
<span :class="formErrors.name ? 'text-red-500' : 'text-gray-700'">Name*</span>
<f:form.textfield class="form-input mt-1 block w-full" property="name"/>
<div class="text-red-500" v-show="formErrors.name" v-html="formErrors.name"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.firstName }">
<span :class="formErrors.firstName ? 'text-red-500' : 'text-gray-700'">Vorname*</span>
<f:form.textfield class="form-input mt-1 block w-full" property="firstName"/>
<div class="text-red-500" v-show="formErrors.firstName" v-html="formErrors.firstName"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.email }">
<span :class="formErrors.email ? 'text-red-500' : 'text-gray-700'">E-Mail*</span>
<f:form.textfield class="form-input mt-1 block w-full" property="email"/>
<div class="text-red-500" v-show="formErrors.email" v-html="formErrors.email"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.phone }">
<span :class="formErrors.phone ? 'text-red-500' : 'text-gray-700'">Telefon/Fax*</span>
<f:form.textfield class="form-input mt-1 block w-full" property="phone"/>
<div class="text-red-500" v-show="formErrors.phone" v-html="formErrors.phone"></div>
</label>
<label class="block mb-4" :class="{ 'has-validation-error': formErrors.inquiry }">
<span :class="formErrors.inquiry ? 'text-red-500' : 'text-gray-700'">(Zusatz-) Wünsche</span>
<f:form.textarea class="form-textarea mt-1 block w-full"
property="inquiry"
placeholder="z. B. Reiseleiter, Halbpension, Bus Anreise, Programm"
cols="30" rows="5"/>
<div class="help-block"
v-show="formErrors.inquiry" v-html="formErrors.inquiry"></div>
</div>
<div class="form-group">
<div class="help-block">
Ich habe die <f:link.typolink parameter="{settings.dataProtectionPageUid}"
<div class="text-red-500" v-show="formErrors.inquiry" v-html="formErrors.inquiry"></div>
</label>
<div class="mb-4">
Ich habe die <f:link.typolink parameter="{settings.dataProtectionPageUid}"
title="Datenschutzerklärung"
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
</div>
target="_blank">Datenschutzbestimmungen</f:link.typolink> gelesen und akzeptiert.
</div>
<div class="form-group">
<div class="mb-4">
<button type="submit" class="button button-warning">Jetzt anfragen</button>
</div>
</f:form>
@@ -88,7 +88,8 @@
</p>
<p>
<a href="{f:uri.typolink(parameter: settings.coronaUpdatesPageUid)}"
class="button button--sidebar" title="Corona Updates">
class="block w-full py-2 border-2 border-red-500 rounded text-red-500 text-center uppercase hover:bg-red-500 hover:text-white transition-colors duration-200 ease-in-out"
title="Corona Updates">
Corona Updates
</a>
</p>
+36
View File
@@ -25,6 +25,42 @@ module.exports = {
fontFamily: {
'sans': [ 'Lato', 'sans-serif' ],
},
customForms: theme => ({
default: {
'input, textarea, select, multiselect': {
paddingTop: theme('spacing.4'),
paddingBottom: theme('spacing.4'),
paddingLeft: theme('spacing.8'),
paddingRight: theme('spacing.8'),
borderColor: theme('colors.gray.500'),
borderRadius: undefined,
'&:focus': {
borderColor: undefined,
boxShadow: undefined,
},
},
'checkbox, radio': {
width: theme('spacing.6'),
height: theme('spacing.6'),
backgroundColor: theme('colors.white'),
borderColor: undefined,
'&:focus': {
borderColor: undefined,
boxShadow: undefined,
},
'&:checked': {
backgroundColor: theme('colors.ep.secondary'),
boxShadow: undefined,
},
},
},
error: {
'input, textarea, select, multiselect': {
color: theme('colors.red.500'),
borderColor: theme('colors.red.500'),
}
},
}),
extend: {
colors: {
'overlay': {