TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
<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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="form-check form-switch" data-identifier="inspectorEditorControlsWrapper">
|
||||
<input class="form-check-input" data-random-id data-random-id-attribute="id" data-random-id-number="1" type="checkbox" />
|
||||
<label class="form-check-label" data-random-id data-random-id-attribute="for" data-random-id-number="1"></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
<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">
|
||||
<h3 class="panel-heading">
|
||||
<div class="panel-heading-row" data-template-property="panel-heading-row">
|
||||
<div class="panel-icon" data-template-property="panel-icon"></div>
|
||||
<div class="panel-title" data-template-property="panel-title"></div>
|
||||
</div>
|
||||
</h3>
|
||||
</html>
|
||||
+16
@@ -0,0 +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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="form-control-wrap">
|
||||
<div data-identifier="inspectorEditorControlsWrapper">
|
||||
<f:form.countrySelect data="{template-property: 'selectOptions', random-id: '', random-id-attribute: 'id', random-id-number: '1'}" class="form-select" multiple="multiple" sortByOptionLabel="1"></f:form.countrySelect>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-text" data-template-property="validationErrors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
+16
@@ -0,0 +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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="form-control-wrap">
|
||||
<div data-identifier="inspectorEditorControlsWrapper">
|
||||
<f:form.countrySelect data="{template-property: 'selectOptions', random-id: '', random-id-attribute: 'id', random-id-number: '1'}" class="form-select" sortByOptionLabel="1" prependOptionLabel="" prependOptionValue=""></f:form.countrySelect>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-text" data-template-property="validationErrors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,14 @@
|
||||
<html data-namespace-typo3-fluid="true">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div data-identifier="inspectorEditorControlsWrapper">
|
||||
<typo3-form-date-editor></typo3-form-date-editor>
|
||||
</div>
|
||||
<div class="form-text" data-template-property="validationErrors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group" data-template-property="select-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-control-wrap">
|
||||
<select data-random-id data-random-id-attribute="id" data-random-id-number="1" data-template-property="selectOptions" class="form-select"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" data-template-property="label-no-select">
|
||||
<legend class="form-label" data-template-property="label"></legend>
|
||||
</div>
|
||||
</div>
|
||||
<div class="formeditor-inspector-collection panel-group" id="t3-form-inspector-finishers" data-identifier="inspectorFinishers"></div>
|
||||
</html>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<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">
|
||||
<div class="formeditor-inspector-element formeditor-inspector-element-headline">
|
||||
<h2 data-template-property="header-label" data-identifier="inspectorFormElementHeaderEditor"></h2>
|
||||
</div>
|
||||
</html>
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
<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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group" data-identifier="editorWrapper">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-control-wrap">
|
||||
<div class="btn-group d-flex flex-wrap" data-identifier="inspectorEditorControlsWrapper">
|
||||
<button type="button" class="btn btn-default" data-identifier="viewportButton"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" data-template-property="numbersOfColumnsToUse">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="numbersOfColumnsToUse-label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="numbersOfColumnsToUse-description"></div>
|
||||
<div class="form-control-wrap">
|
||||
<div data-identifier="numbersOfColumnsToUse-inspectorEditorControlsWrapper">
|
||||
<input data-random-id data-random-id-attribute="id" data-random-id-number="1" type="number" value="" data-template-property="numbersOfColumnsToUse-propertyPath" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
<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:if condition="{formvh:be.maximumFileSize()} > 0">
|
||||
<div data-template-property="header-label">
|
||||
<div class="form-description" data-template-property="label" data-maximumFileSize="{formvh:be.maximumFileSize()}"></div>
|
||||
</div>
|
||||
</f:if>
|
||||
</html>
|
||||
@@ -0,0 +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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="form-control-wrap">
|
||||
<div data-identifier="inspectorEditorControlsWrapper">
|
||||
<select data-random-id data-random-id-attribute="id" data-random-id-number="1" data-template-property="selectOptions" class="form-select" multiple="multiple"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-text" data-template-property="validationErrors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,25 @@
|
||||
<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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group property-grid">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="form-control-wrap" data-editor="new-property-grid" data-template-property="newPropertyPath">
|
||||
|
||||
<typo3-form-property-grid-editor
|
||||
label-label="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.inspector.editor.entry.label')}"
|
||||
label-value="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.inspector.editor.entry.value')}"
|
||||
label-selected="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.inspector.editor.entry.selected')}"
|
||||
label-add="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.inspector.editor.grid.add')}"
|
||||
label-remove="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.inspector.editor.grid.remove')}"
|
||||
label-move="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.inspector.editor.grid.move')}"
|
||||
>
|
||||
</typo3-form-property-grid-editor>
|
||||
|
||||
</div>
|
||||
<div data-editor="property-grid" data-template-property="propertyPath" class="t3-form-grid"></div>
|
||||
<div class="form-text" data-template-property="validationErrors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,8 @@
|
||||
<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">
|
||||
<div class="formeditor-inspector-element formeditor-inspector-element-remove-button">
|
||||
<button class="btn btn-default" title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.inspector.editor.formelement.remove')}">
|
||||
<core:icon identifier="actions-delete" alternativeMarkupIdentifier="inline" />
|
||||
<span class="btn-label">{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.inspector.editor.formelement.remove')}</span>
|
||||
</button>
|
||||
</div>
|
||||
</html>
|
||||
+22
@@ -0,0 +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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group" data-identifier="editorWrapper">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-check form-switch" data-identifier="inspectorEditorControlsWrapper">
|
||||
<input class="form-check-input" data-random-id data-random-id-attribute="id" data-random-id-number="1" type="checkbox" />
|
||||
<label class="form-check-label" data-random-id data-random-id-attribute="for" data-random-id-number="1"></label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" data-template-property="validationErrorMessage">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="2">
|
||||
<span data-template-property="validationErrorMessage-label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="validationErrorMessage-description"></div>
|
||||
<div class="form-control-wrap" data-identifier="inspectorEditorControlsWrapper">
|
||||
<input data-random-id data-random-id-attribute="id" data-random-id-number="2" type="text" value="" data-template-property="validationErrorMessage-propertyPath" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="form-control-wrap">
|
||||
<div data-identifier="inspectorEditorControlsWrapper">
|
||||
<select data-random-id data-random-id-attribute="id" data-random-id-number="1" data-template-property="selectOptions" class="form-select"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-text" data-template-property="validationErrors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,17 @@
|
||||
<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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="input-group form-control-wrap" data-identifier="inspectorEditorControlsGroup">
|
||||
<div data-identifier="inspectorEditorControlsWrapper">
|
||||
<input data-random-id data-random-id-attribute="id" data-random-id-number="1" type="text" value="" data-template-property="propertyPath" class="form-control">
|
||||
</div>
|
||||
<typo3-form-element-selector></typo3-form-element-selector>
|
||||
</div>
|
||||
<div class="form-text" data-template-property="validationErrors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,14 @@
|
||||
<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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="form-control-wrap" data-identifier="inspectorEditorControlsWrapper">
|
||||
<textarea data-random-id data-random-id-attribute="id" data-random-id-number="1" data-template-property="propertyPath" class="form-control"></textarea>
|
||||
</div>
|
||||
<div class="form-text" data-template-property="validationErrors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
<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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="form-control-wrap" data-identifier="inspectorEditorControlsWrapper">
|
||||
<input data-random-id data-random-id-attribute="id" data-random-id-number="1" type="text" value="" data-template-property="propertyPath" class="form-control" data-insert-target="">
|
||||
<div class="form-text">
|
||||
<a href="#" data-template-property="onclick" class="btn btn-default">
|
||||
<span class="t3js-icon icon icon-size-small icon-state-default icon-mimetypes-x-content-text" data-identifier="mimetypes-x-content-text" aria-hidden="true">
|
||||
<span class="icon-markup" data-template-property="image"></span>
|
||||
</span> <span data-template-property="buttonLabel"></span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="form-text" data-template-property="validationErrors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
+15
@@ -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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-description" data-template-property="description"></div>
|
||||
<div class="input-group form-control-wrap" data-identifier="inspectorEditorControlsGroup">
|
||||
<div data-identifier="inspectorEditorControlsWrapper">
|
||||
<input data-random-id data-random-id-attribute="id" data-random-id-number="1" type="text" value="" data-template-property="propertyPath" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +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">
|
||||
<div class="formeditor-inspector-element">
|
||||
<div class="form-group" data-template-property="select-group">
|
||||
<label class="form-label" data-random-id data-random-id-attribute="for" data-random-id-number="1">
|
||||
<span data-template-property="label"></span>
|
||||
</label>
|
||||
<div class="form-control-wrap">
|
||||
<div id="t3-form-add-validator" class="t3-form-add-collection-element" data-template-property="selectOptionsContainer">
|
||||
<select data-random-id data-random-id-attribute="id" data-random-id-number="1" data-template-property="selectOptions" class="form-select"></select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" data-template-property="label-no-select">
|
||||
<legend class="form-label" data-template-property="label"></legend>
|
||||
</div>
|
||||
</div>
|
||||
<div class="formeditor-inspector-collection panel-group" id="t3-form-inspector-validators" data-identifier="inspectorValidators"></div>
|
||||
</html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<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">
|
||||
<typo3-backend-new-record-wizard
|
||||
storename="form-elements"
|
||||
displaymenu="false"
|
||||
categories="{elementsCategoriesJson}"
|
||||
searchplaceholder="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.modals.insertElements.filter.placeholder')}"
|
||||
searchnothingfoundlabel="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.modals.insertElements.filter.noResults')}"
|
||||
></typo3-backend-new-record-wizard>
|
||||
</html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<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">
|
||||
<typo3-backend-new-record-wizard
|
||||
displaymenu="false"
|
||||
displayfilter="false"
|
||||
categories="{pagesCategoriesJson}"
|
||||
searchplaceholder="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.modals.newPages.filter.placeholder')}"
|
||||
searchnothingfoundlabel="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.modals.newPages.filter.noResults')}"
|
||||
></typo3-backend-new-record-wizard>
|
||||
</html>
|
||||
@@ -0,0 +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">
|
||||
<div id="formeditor-validation-errors-panel">
|
||||
<div class="t3-form-x-component-inner-wrapper">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<p><f:translate key="LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.modals.validationErrors.dialogMessage" /></p>
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<dl data-identifier="rowsContainer">
|
||||
<dt data-identifier="rowItem">
|
||||
<span class="text-danger" aria-hidden="true"><core:icon identifier="actions-exclamation-triangle" size="small" /></span> <a data-identifier="rowLink"></a>
|
||||
</dt>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,7 @@
|
||||
<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:for each="{formEditorPartials}" key="formEditorTemplateName" as="formEditorPartial">
|
||||
<template data-template-name="{formEditorTemplateName}">
|
||||
<f:render partial="{formEditorPartial}" arguments="{elementsCategoriesJson: elementsCategoriesJson, pagesCategoriesJson: pagesCategoriesJson}" />
|
||||
</template>
|
||||
</f:for>
|
||||
</html>
|
||||
@@ -0,0 +1,8 @@
|
||||
type: 'Form'
|
||||
identifier: 'blankForm'
|
||||
label: '[Blank Form]'
|
||||
renderables:
|
||||
-
|
||||
type: 'Page'
|
||||
identifier: 'page-1'
|
||||
label: 'Step'
|
||||
@@ -0,0 +1,86 @@
|
||||
identifier: ext-form-simple-contact-form-example
|
||||
label: 'Simple Contact Form'
|
||||
type: Form
|
||||
|
||||
finishers:
|
||||
-
|
||||
identifier: EmailToReceiver
|
||||
options:
|
||||
subject: 'Your message: {subject}'
|
||||
recipients:
|
||||
your.company@example.com: 'Your Company name'
|
||||
senderAddress: '{email}'
|
||||
senderName: '{name}'
|
||||
replyToRecipients: {}
|
||||
carbonCopyRecipients: {}
|
||||
blindCarbonCopyRecipients: {}
|
||||
format: 'html'
|
||||
attachUploads: 'true'
|
||||
translation:
|
||||
language: ''
|
||||
title: 'Confirmation of your message'
|
||||
|
||||
renderables:
|
||||
-
|
||||
identifier: page-1
|
||||
label: 'Contact Form'
|
||||
type: Page
|
||||
|
||||
renderables:
|
||||
-
|
||||
defaultValue: ''
|
||||
identifier: name
|
||||
label: 'Name'
|
||||
type: Text
|
||||
properties:
|
||||
fluidAdditionalAttributes:
|
||||
placeholder: 'Name'
|
||||
autocomplete: name
|
||||
required: required
|
||||
validators:
|
||||
-
|
||||
identifier: NotEmpty
|
||||
-
|
||||
defaultValue: ''
|
||||
identifier: subject
|
||||
label: 'Subject'
|
||||
type: Text
|
||||
properties:
|
||||
fluidAdditionalAttributes:
|
||||
placeholder: 'Subject'
|
||||
required: required
|
||||
validators:
|
||||
-
|
||||
identifier: NotEmpty
|
||||
-
|
||||
defaultValue: ''
|
||||
identifier: email
|
||||
label: 'Email'
|
||||
type: Email
|
||||
properties:
|
||||
fluidAdditionalAttributes:
|
||||
placeholder: 'Email address'
|
||||
autocomplete: email
|
||||
required: required
|
||||
validators:
|
||||
-
|
||||
identifier: NotEmpty
|
||||
-
|
||||
identifier: EmailAddress
|
||||
-
|
||||
defaultValue: ''
|
||||
identifier: message
|
||||
label: 'Message'
|
||||
type: Textarea
|
||||
properties:
|
||||
fluidAdditionalAttributes:
|
||||
placeholder: ''
|
||||
required: required
|
||||
validators:
|
||||
-
|
||||
identifier: NotEmpty
|
||||
|
||||
-
|
||||
identifier: summarypage
|
||||
label: 'Summary page'
|
||||
type: SummaryPage
|
||||
@@ -0,0 +1,55 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}" />
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}" />
|
||||
</f:if>
|
||||
<f:render partial="Field/Field" arguments="{element: element, renderFieldset: '{element.properties.renderFieldset}', doNotShowLabel: 1}" contentAs="elementContent">
|
||||
<div class="{element.properties.containerClassAttribute}">
|
||||
<label class="{element.properties.labelClassAttribute}" for="{element.uniqueIdentifier}">{formvh:translateElementProperty(element: element, property: 'label')}
|
||||
<f:if condition="{element.required}">
|
||||
<f:render partial="Field/Required" arguments="{element: element}"/>
|
||||
</f:if>
|
||||
</label>
|
||||
<f:form.password
|
||||
property="{element.identifier}.password"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}{f:if(condition: '{validationResults.errors}', then: ' {element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}')}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
<f:if condition="{formvh:translateElementProperty(element: element, property: 'passwordDescription')}">
|
||||
<span class="{element.rootForm.renderingOptions.fieldProperties.descriptionClassAttribute}">{formvh:translateElementProperty(element: element, property: 'passwordDescription')}</span>
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="{element.properties.containerClassAttribute}{f:if(condition: '{validationResults.errors}', then: ' {element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}')}">
|
||||
<f:if condition="{formvh:translateElementProperty(element: element, property: 'confirmationLabel')}">
|
||||
<label class="{element.properties.labelClassAttribute}" for="{element.uniqueIdentifier}-confirmation">{formvh:translateElementProperty(element: element, property: 'confirmationLabel')}
|
||||
<f:if condition="{element.required}">
|
||||
<f:render partial="Field/Required" arguments="{element: element}"/>
|
||||
</f:if>
|
||||
</label>
|
||||
</f:if>
|
||||
<f:form.password
|
||||
property="{element.identifier}.confirmation"
|
||||
id="{element.uniqueIdentifier}-confirmation"
|
||||
class="{element.properties.confirmationClassAttribute}{f:if(condition: '{validationResults.errors}', then: ' {element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}')}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</div>
|
||||
<f:if condition="{validationResults.errors} && {element.properties.renderFieldset} == '1'">
|
||||
<span id="{element.uniqueIdentifier}-errors" class="{element.rootForm.renderingOptions.fieldProperties.errorMsgClassAttribute}" role="alert">
|
||||
<f:for each="{validationResults.errors}" as="error">
|
||||
<f:format.htmlspecialchars>{formvh:translateElementError(element: element, error: error)}</f:format.htmlspecialchars>
|
||||
<br/>
|
||||
</f:for>
|
||||
</span>
|
||||
</f:if>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,28 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}" />
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}" />
|
||||
</f:if>
|
||||
<f:variable name="errorClass">{f:if(condition: '{validationResults.errors}', then: ' {element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}')}</f:variable>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element, doNotShowLabel: 1}" contentAs="elementContent">
|
||||
<div class="{element.properties.labelClassAttribute}{errorClass}">
|
||||
<f:form.checkbox
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
value="{element.properties.value}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
<label class="{element.properties.labelTextClassAttribute}" for="{element.uniqueIdentifier}">{formvh:translateElementProperty(element: element, property: 'label') -> f:sanitize.html() -> f:transform.html() -> f:format.stripTags(allowedTags: '<a><br><i><strong>')}<f:if condition="{element.required}"><f:render partial="Field/Required" arguments="{element: element}"/></f:if></label>
|
||||
</div>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,27 @@
|
||||
<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:if condition="{element.rootForm.renderingOptions.previewMode}">
|
||||
<f:then>
|
||||
<div class="{element.properties.outerContainerClassAttribute}">
|
||||
<f:if condition="{element.properties.contentElementUid}">
|
||||
<f:then>
|
||||
<formvh:be.renderContentElementPreview
|
||||
contentElementUid="{element.properties.contentElementUid}"
|
||||
formPersistenceIdentifier="{element.rootForm.renderingOptions.formPersistenceIdentifier}" />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:translate key="LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.elements.ContentElement.selectContentElement" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{element.properties.contentElementUid}">
|
||||
<div class="{element.properties.outerContainerClassAttribute}{f:if(condition: element.properties.elementClassAttribute, then: ' {element.properties.elementClassAttribute}')}">
|
||||
<f:cObject typoscriptObjectPath="lib.tx_form.contentElementRendering">{element.properties.contentElementUid}</f:cObject>
|
||||
</div>
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,47 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}"/>
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}"/>
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<f:if condition="{element.properties.prependOptionLabel}">
|
||||
<f:then>
|
||||
<f:form.countrySelect
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
prependOptionLabel="{formvh:translateElementProperty(element: element, property: 'prependOptionLabel')}"
|
||||
prependOptionValue="{formvh:translateElementProperty(element: element, property: 'prependOptionValue')}"
|
||||
sortByOptionLabel="true"
|
||||
prioritizedCountries="{element.properties.prioritizedCountries}"
|
||||
onlyCountries="{element.properties.onlyCountries}"
|
||||
excludeCountries="{element.properties.excludeCountries}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:form.countrySelect
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
sortByOptionLabel="true"
|
||||
prioritizedCountries="{element.properties.prioritizedCountries}"
|
||||
onlyCountries="{element.properties.onlyCountries}"
|
||||
excludeCountries="{element.properties.excludeCountries}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,24 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}"/>
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}"/>
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<f:form.textfield
|
||||
type="date"
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,23 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}" />
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}" />
|
||||
</f:if>
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<f:form.textfield
|
||||
type="email"
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,43 @@
|
||||
<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}">
|
||||
<f:if condition="{renderFieldset} == 1">
|
||||
<f:then>
|
||||
<fieldset class="{element.properties.fieldsetClassAttribute}{f:if(condition: '{validationResults.errors.0}', then: ' {element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}')}">
|
||||
<legend class="{f:if(condition: '{doNotShowLabel} == 1', then: ' {element.rootForm.renderingOptions.fieldProperties.visuallyHiddenClassAttribute}')}">{formvh:translateElementProperty(element: element, property: 'label')}
|
||||
<f:if condition="{element.required}">
|
||||
<f:render partial="Field/Required" arguments="{element: element}"/>
|
||||
</f:if>
|
||||
</legend>
|
||||
<f:render section="Element" arguments="{_all}"/>
|
||||
</fieldset>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div class="{element.properties.containerClassAttribute}{f:if(condition: '{validationResults.errors.0}', then: ' {element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}')}">
|
||||
<f:if condition="{doNotShowLabel} != 1">
|
||||
<label class="{element.properties.labelClassAttribute}{f:if(condition: '{doNotShowLabel} == 1', then: ' {element.rootForm.renderingOptions.fieldProperties.visuallyHiddenClassAttribute}')}" for="{element.uniqueIdentifier}">{formvh:translateElementProperty(element: element, property: 'label')}
|
||||
<f:if condition="{element.required}">
|
||||
<f:render partial="Field/Required" arguments="{element: element}"/>
|
||||
</f:if>
|
||||
</label>
|
||||
</f:if>
|
||||
<f:render section="Element" arguments="{_all}"/>
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:form.validationResults>
|
||||
|
||||
<f:section name="Element">
|
||||
<f:format.raw>{elementContent}</f:format.raw>
|
||||
<f:if condition="{validationResults.flattenedErrors} && {renderFieldset} != 1">
|
||||
<span id="{element.uniqueIdentifier}-errors" class="{element.rootForm.renderingOptions.fieldProperties.errorMsgClassAttribute}" role="alert">
|
||||
<f:for each="{validationResults.errors}" as="error">
|
||||
<f:format.htmlspecialchars>{formvh:translateElementError(element: element, error: error)}</f:format.htmlspecialchars>
|
||||
<br/>
|
||||
</f:for>
|
||||
</span>
|
||||
</f:if>
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<span id="{element.uniqueIdentifier}-desc" class="{element.rootForm.renderingOptions.fieldProperties.descriptionClassAttribute}">{formvh:translateElementProperty(element: element, property: 'elementDescription')}</span>
|
||||
</f:if>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<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">
|
||||
<span class="{element.rootForm.renderingOptions.fieldProperties.requiredMarkClassAttribute}">*</span>
|
||||
</html>
|
||||
@@ -0,0 +1,19 @@
|
||||
<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:variable name="fluidAdditionalAttributes" value="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"/>
|
||||
<f:variable name="additionalAttributes" value="" />
|
||||
<f:if condition="{fluidAdditionalAttributes}">
|
||||
<f:for each="{fluidAdditionalAttributes}" as="value" key="key">
|
||||
<f:variable name="additionalAttributes" value='{additionalAttributes} {key}="{value}"' />
|
||||
</f:for>
|
||||
</f:if>
|
||||
<fieldset id="{element.uniqueIdentifier}" class="{element.properties.elementClassAttribute}" {additionalAttributes -> f:format.raw()}>
|
||||
<f:if condition="{element.label}">
|
||||
<legend>{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>
|
||||
@@ -0,0 +1,67 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}"/>
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}"/>
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<formvh:form.uploadedResource
|
||||
property="{element.identifier}"
|
||||
as="resource"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
accept="{element.properties.allowedMimeTypes}"
|
||||
aria="{aria}"
|
||||
multiple="{element.properties.multiple}"
|
||||
>
|
||||
<f:if condition="{resource}">
|
||||
<f:if condition="{element.properties.multiple}">
|
||||
<f:then>
|
||||
<ul id="{element.uniqueIdentifier}-preview" class="form-element-fileupload-list">
|
||||
<f:for each="{resource}" as="file" iteration="iterator">
|
||||
<li class="form-element-fileupload-item">
|
||||
<span class="form-element-fileupload-name">{file.originalResource.originalFile.name}</span>
|
||||
<f:if condition="{element.properties.allowRemoval}">
|
||||
<label class="form-element-fileupload-remove">
|
||||
<formvh:form.uploadDeleteCheckbox
|
||||
property="{element.identifier}"
|
||||
fileReference="{file}"
|
||||
fileIndex="{iterator.index}"
|
||||
/>
|
||||
<f:translate key="upload.remove" domain="form" default="Remove" />
|
||||
<span class="visually-hidden">{file.originalResource.originalFile.name}</span>
|
||||
</label>
|
||||
</f:if>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div id="{element.uniqueIdentifier}-preview" class="form-element-fileupload-preview">
|
||||
<span class="form-element-fileupload-name">{resource.originalResource.originalFile.name}</span>
|
||||
<f:if condition="{element.properties.allowRemoval}">
|
||||
<label class="form-element-fileupload-remove">
|
||||
<formvh:form.uploadDeleteCheckbox
|
||||
property="{element.identifier}"
|
||||
fileReference="{resource}"
|
||||
fileIndex="0"
|
||||
/>
|
||||
<f:translate key="upload.remove" domain="form" default="Remove" />
|
||||
<span class="visually-hidden">{resource.originalResource.originalFile.name}</span>
|
||||
</label>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</formvh:form.uploadedResource>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,17 @@
|
||||
<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">
|
||||
<nav class="{form.renderingOptions.formNavigation.navigationClassAttribute}" aria-label="{form.renderingOptions.formNavigation.navigationAriaLabelAttribute}">
|
||||
<f:if condition="{form.previousEnabledPage}">
|
||||
<f:form.button property="__currentPage" value="{form.previousEnabledPage.index}" formnovalidate="formnovalidate" class="{form.renderingOptions.formNavigation.btnPreviousClassAttribute}">{formvh:translateElementProperty(element: form.currentPage, renderingOptionProperty: 'previousButtonLabel')}</f:form.button>
|
||||
</f:if>
|
||||
<f:if condition="{form.nextEnabledPage}">
|
||||
<f:then>
|
||||
<f:form.button property="__currentPage" value="{form.nextEnabledPage.index}" class="{form.renderingOptions.formNavigation.btnNextClassAttribute}">{formvh:translateElementProperty(element: form.currentPage, renderingOptionProperty: 'nextButtonLabel')}</f:form.button>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:form.button property="__currentPage" value="{form.pages -> f:count()}" class="{form.renderingOptions.formNavigation.btnSubmitClassAttribute}">
|
||||
{formvh:translateElementProperty(element: form, renderingOptionProperty: 'submitButtonLabel')}
|
||||
</f:form.button>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</nav>
|
||||
</html>
|
||||
@@ -0,0 +1,7 @@
|
||||
<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:for each="{element.elements}" as="element">
|
||||
<f:render partial="{element.templateName}" arguments="{element: element}" />
|
||||
</f:for>
|
||||
</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}">
|
||||
<div class="{f:if(condition: element.properties.elementClassAttribute, then: '{element.properties.elementClassAttribute}')}">
|
||||
<f:for each="{element.elements}" as="element">
|
||||
<f:if condition="{element.enabled}">
|
||||
<div class="{formvh:gridColumnClassAutoConfiguration(element: element)}">
|
||||
<f:render partial="{element.templateName}" arguments="{element: element}" />
|
||||
</div>
|
||||
</f:if>
|
||||
</f:for>
|
||||
</div>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<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:form.hidden
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
/>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<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:if condition="{element.properties.renderAsHiddenField}">
|
||||
<f:then>
|
||||
<f:form.hidden property="{element.identifier}" id="{element.uniqueIdentifier}" data="{id: element.identifier}" />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:form.textfield property="{element.identifier}" id="{element.uniqueIdentifier}" class="{element.properties.elementClassAttribute}" data="{id: element.identifier}" additionalAttributes="{aria-hidden: 'true'}" tabindex="-1" style="{element.properties.styleAttribute}" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</html>
|
||||
@@ -0,0 +1,71 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}" />
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}" />
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<formvh:form.uploadedResource
|
||||
property="{element.identifier}"
|
||||
as="image"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
accept="{element.properties.allowedMimeTypes}"
|
||||
aria="{aria}"
|
||||
multiple="{element.properties.multiple}"
|
||||
>
|
||||
<f:if condition="{image}">
|
||||
<f:if condition="{element.properties.multiple}">
|
||||
<f:then>
|
||||
<ul id="{element.uniqueIdentifier}-preview" class="form-element-imageupload-list">
|
||||
<f:for each="{image}" as="singleImage" iteration="iterator">
|
||||
<li class="form-element-imageupload-item form-element-imageupload-item-{singleImage.originalResource.extension}">
|
||||
<a href="{f:uri.image(image: singleImage, maxWidth: element.properties.imageLinkMaxWidth)}" class="form-element-imageupload-link">
|
||||
<f:image image="{singleImage}" maxWidth="{element.properties.imageMaxWidth}" maxHeight="{element.properties.imageMaxHeight}" alt="{singleImage.originalResource.originalFile.name}" class="form-element-imageupload-thumbnail"/>
|
||||
</a>
|
||||
<f:if condition="{element.properties.allowRemoval}">
|
||||
<label class="form-element-imageupload-remove">
|
||||
<formvh:form.uploadDeleteCheckbox
|
||||
property="{element.identifier}"
|
||||
fileReference="{singleImage}"
|
||||
fileIndex="{iterator.index}"
|
||||
/>
|
||||
<f:translate key="upload.remove" domain="form" default="Remove" />
|
||||
<span class="visually-hidden">{singleImage.originalResource.originalFile.name}</span>
|
||||
</label>
|
||||
</f:if>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div id="{element.uniqueIdentifier}-preview" class="form-element-imageupload-preview">
|
||||
<a href="{f:uri.image(image: image, maxWidth: element.properties.imageLinkMaxWidth)}" class="form-element-imageupload-link">
|
||||
<f:image image="{image}" maxWidth="{element.properties.imageMaxWidth}" maxHeight="{element.properties.imageMaxHeight}" alt="{image.originalResource.originalFile.name}" class="form-element-imageupload-thumbnail"/>
|
||||
</a>
|
||||
<f:if condition="{element.properties.allowRemoval}">
|
||||
<label class="form-element-imageupload-remove">
|
||||
<formvh:form.uploadDeleteCheckbox
|
||||
property="{element.identifier}"
|
||||
fileReference="{image}"
|
||||
fileIndex="0"
|
||||
/>
|
||||
<f:translate key="upload.remove" domain="form" default="Remove" />
|
||||
<span class="visually-hidden">{image.originalResource.originalFile.name}</span>
|
||||
</label>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:if>
|
||||
</formvh:form.uploadedResource>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,44 @@
|
||||
<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, renderFieldset: '{element.properties.renderFieldset}', doNotShowLabel: '{element.properties.legendVisuallyHidden}'}" contentAs="elementContent">
|
||||
<f:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:variable name="errorClass">{f:if(condition: '{validationResults.errors}', then: '{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}')}</f:variable>
|
||||
|
||||
<div id="{element.uniqueIdentifier}" class="{errorClass}" role="radiogroup" aria-label="{element.label}">
|
||||
<f:for each="{element.properties.options}" as="label" key="value" iteration="idIterator">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}" />
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors} && {idIterator.isFirst}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}" />
|
||||
</f:if>
|
||||
|
||||
<div class="{element.properties.containerClassAttribute}">
|
||||
<label class="{element.properties.labelClassAttribute}" for="{element.uniqueIdentifier}-{idIterator.index}">
|
||||
<f:form.checkbox
|
||||
property="{element.identifier}"
|
||||
multiple="1"
|
||||
id="{element.uniqueIdentifier}-{idIterator.index}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
value="{value}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
<span class="{element.properties.labelTextClassAttribute}">{formvh:translateElementProperty(element: element, property: '{0: \'options\', 1: value}')}</span>
|
||||
</label>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
<f:if condition="{validationResults.flattenedErrors} && {element.properties.renderFieldset} == '1'">
|
||||
<span id="{element.uniqueIdentifier}-errors" class="{element.rootForm.renderingOptions.fieldProperties.errorMsgClassAttribute}" role="alert">
|
||||
<f:for each="{validationResults.errors}" as="error">
|
||||
<f:format.htmlspecialchars>{formvh:translateElementError(element: element, error: error)}</f:format.htmlspecialchars>
|
||||
<br/>
|
||||
</f:for>
|
||||
</span>
|
||||
</f:if>
|
||||
</f:form.validationResults>
|
||||
</f:render>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,44 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}" />
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}" />
|
||||
</f:if>
|
||||
|
||||
<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}"
|
||||
options="{formvh:translateElementProperty(element: element, property: 'options')}"
|
||||
multiple="multiple"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
prependOptionLabel="{formvh:translateElementProperty(element: element, property: 'prependOptionLabel')}"
|
||||
prependOptionValue="{formvh:translateElementProperty(element: element, property: 'prependOptionValue')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:form.select
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
options="{formvh:translateElementProperty(element: element, property: 'options')}"
|
||||
multiple="multiple"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:else>
|
||||
</f:if>
|
||||
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,24 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}"/>
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}"/>
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<f:form.textfield
|
||||
type="number"
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<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="{page}">
|
||||
<f:if condition="{page.label}">
|
||||
<h2>{formvh:translateElementProperty(element: page, property: 'label')}</h2>
|
||||
</f:if>
|
||||
<f:for each="{page.elements}" as="element">
|
||||
<f:render partial="{element.templateName}" arguments="{element: element}" />
|
||||
</f:for>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,23 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}" />
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}" />
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<f:form.password
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,43 @@
|
||||
<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, renderFieldset: '{element.properties.renderFieldset}', doNotShowLabel: '{element.properties.legendVisuallyHidden}'}" contentAs="elementContent">
|
||||
<f:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
|
||||
<f:variable name="errorClass">{f:if(condition: '{validationResults.errors}', then: '{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}')}</f:variable>
|
||||
<div id="{element.uniqueIdentifier}" class="{errorClass}" role="radiogroup" aria-label="{element.label}">
|
||||
<f:for each="{element.properties.options}" as="label" key="value" iteration="idIterator">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}" />
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors} && {idIterator.isFirst}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}" />
|
||||
</f:if>
|
||||
|
||||
<div class="{element.properties.containerClassAttribute}">
|
||||
<label class="{element.properties.labelClassAttribute}" for="{element.uniqueIdentifier}-{idIterator.index}">
|
||||
<f:form.radio
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}-{idIterator.index}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
value="{value}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
<span class="{element.properties.labelTextClassAttribute}">{formvh:translateElementProperty(element: element, property: '{0: \'options\', 1: value}')}</span>
|
||||
</label>
|
||||
</div>
|
||||
</f:for>
|
||||
</div>
|
||||
<f:if condition="{validationResults.flattenedErrors} && {element.properties.renderFieldset} == '1'">
|
||||
<span id="{element.uniqueIdentifier}-errors" class="{element.rootForm.renderingOptions.fieldProperties.errorMsgClassAttribute}" role="alert">
|
||||
<f:for each="{validationResults.errors}" as="error">
|
||||
<f:format.htmlspecialchars>{formvh:translateElementError(element: element, error: error)}</f:format.htmlspecialchars>
|
||||
<br/>
|
||||
</f:for>
|
||||
</span>
|
||||
</f:if>
|
||||
</f:form.validationResults>
|
||||
</f:render>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,41 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}"/>
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}"/>
|
||||
</f:if>
|
||||
|
||||
<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}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
prependOptionLabel="{formvh:translateElementProperty(element: element, property: 'prependOptionLabel')}"
|
||||
prependOptionValue="{formvh:translateElementProperty(element: element, property: 'prependOptionValue')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:form.select
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
options="{formvh:translateElementProperty(element: element, property: 'options')}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</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}">
|
||||
<div class="{element.properties.containerClassAttribute}">
|
||||
<f:if condition="{element.label}">
|
||||
<h2>{formvh:translateElementProperty(element: element, property: 'label')}</h2>
|
||||
</f:if>
|
||||
<f:if condition="{element.properties.text}">
|
||||
<div{f:if(condition: element.properties.elementClassAttribute, then: ' class="{element.properties.elementClassAttribute}"')}>{formvh:translateElementProperty(element: element, property: 'text') -> f:sanitize.html() -> f:transform.html()}</div>
|
||||
</f:if>
|
||||
</div>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,79 @@
|
||||
<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="{page}">
|
||||
<fieldset>
|
||||
<f:if condition="{page.label}">
|
||||
<legend>{formvh:translateElementProperty(element: page, property: 'label')}</legend>
|
||||
</f:if>
|
||||
<div class="{page.renderingOptions.listClassAttribute}">
|
||||
<formvh:renderAllFormValues renderable="{page.rootForm}" as="formValue">
|
||||
|
||||
<f:if condition="{formValue.isSection}">
|
||||
<f:then>
|
||||
<p><b>{formvh:translateElementProperty(element: formValue.element, property: 'label')}</b></p>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<dl class="{page.renderingOptions.listRowClassAttribute}">
|
||||
<dt class="{page.renderingOptions.labelWrapperClassAttribute}">{formvh:translateElementProperty(element: formValue.element, property: 'label') -> f:sanitize.html() -> f:transform.html()}</dt>
|
||||
<dd class="{page.renderingOptions.valueWrapperClassAttribute}">
|
||||
<f:if condition="{formValue.value}">
|
||||
<f:then>
|
||||
<f:if condition="{0: formValue.element.type} == {0: 'ImageUpload'}">
|
||||
<f:then>
|
||||
<f:if condition="{formValue.isMultiValue}">
|
||||
<f:then>
|
||||
<ul class="image-upload-preview">
|
||||
<f:for each="{formValue.value}" as="value">
|
||||
<li class="image-{value.originalResource.extension}">
|
||||
<f:image image="{value}" maxWidth="{formValue.element.properties.imageMaxWidth}" maxHeight="{formValue.element.properties.imageMaxHeight}" alt="{formvh:translateElementProperty(element: formValue.element, property: 'altText')}"/>
|
||||
</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:image image="{formValue.value}" maxWidth="{formValue.element.properties.imageMaxWidth}" maxHeight="{formValue.element.properties.imageMaxHeight}" alt="{formvh:translateElementProperty(element: formValue.element, property: 'altText')}"/>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:then>
|
||||
<f:else if="{0: formValue.element.type} == {0: 'FileUpload'}">
|
||||
<f:if condition="{formValue.isMultiValue}">
|
||||
<f:then>
|
||||
<ul class="file-upload-preview">
|
||||
<f:for each="{formValue.value}" as="value">
|
||||
<li class="file-{value.originalResource.extension}">{value.originalResource.originalFile.name}</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:format.nl2br>{formValue.processedValue}</f:format.nl2br>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:else>
|
||||
<f:else>
|
||||
<f:if condition="{formValue.isMultiValue}">
|
||||
<f:then>
|
||||
<ul>
|
||||
<f:for each="{formValue.processedValue}" as="value">
|
||||
<li>{value}</li>
|
||||
</f:for>
|
||||
</ul>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:format.nl2br>{formValue.processedValue}</f:format.nl2br>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:then>
|
||||
<f:else>
|
||||
-
|
||||
</f:else>
|
||||
</f:if>
|
||||
</dd>
|
||||
</dl>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</formvh:renderAllFormValues>
|
||||
</div>
|
||||
</fieldset>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,24 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}"/>
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}"/>
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<f:form.textfield
|
||||
type="tel"
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,23 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}" />
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}" />
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<f:form.textfield
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,25 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}"/>
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}"/>
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<f:form.textarea
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
rows="{element.properties.rows}"
|
||||
cols="{element.properties.cols}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,3 @@
|
||||
<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}"> </formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,24 @@
|
||||
<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:form.validationResults for="{element.rootForm.identifier}.{element.identifier}">
|
||||
<f:if condition="{element.properties.elementDescription}">
|
||||
<f:variable name="aria" value="{describedby: '{element.uniqueIdentifier}-desc'}"/>
|
||||
</f:if>
|
||||
<f:if condition="{validationResults.errors}">
|
||||
<f:variable name="aria" value="{invalid: 'true', describedby: '{element.uniqueIdentifier}-errors'}"/>
|
||||
</f:if>
|
||||
|
||||
<f:render partial="Field/Field" arguments="{element: element}" contentAs="elementContent">
|
||||
<f:form.textfield
|
||||
type="url"
|
||||
property="{element.identifier}"
|
||||
id="{element.uniqueIdentifier}"
|
||||
class="{element.properties.elementClassAttribute}"
|
||||
errorClass="{element.rootForm.renderingOptions.fieldProperties.errorClassAttribute}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: element, property: 'fluidAdditionalAttributes')}"
|
||||
aria="{aria}"
|
||||
/>
|
||||
</f:render>
|
||||
</f:form.validationResults>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,5 @@
|
||||
<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">
|
||||
<div id="{form.identifier}">
|
||||
{message -> f:sanitize.html() -> f:transform.html()}
|
||||
</div>
|
||||
</html>
|
||||
@@ -0,0 +1,53 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
xmlns:formvh="http://typo3.org/ns/TYPO3/CMS/Form/ViewHelpers">
|
||||
<f:layout name="SystemEmail" />
|
||||
<f:section name="Title">{title}</f:section>
|
||||
<f:section name="Main">
|
||||
<f:if condition="{messageBefore}">{messageBefore -> f:sanitize.html() -> f:format.html()}</f:if>
|
||||
<f:if condition="!{hideFormValues}">
|
||||
<table>
|
||||
<formvh:renderAllFormValues renderable="{form.formDefinition}" as="formValue">
|
||||
<tr>
|
||||
<f:if condition="{formValue.isSection}">
|
||||
<f:then>
|
||||
<td colspan="2"><b>{formvh:translateElementProperty(element: formValue.element, property: 'label', languageKey: languageKey)}</b></td>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<td valign="top" align="left">{formvh:translateElementProperty(element: formValue.element, property: 'label', languageKey: languageKey) -> f:sanitize.html() -> f:transform.html()}</td>
|
||||
<td valign="top" align="left">
|
||||
<f:if condition="{formValue.value}">
|
||||
<f:then>
|
||||
<f:if condition="{formValue.isMultiValue}">
|
||||
<f:then>
|
||||
<table cellspacing="0" border="0">
|
||||
<f:for each="{formValue.processedValue}" as="value">
|
||||
<tr>
|
||||
<td>{value}</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</table>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<table cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td><f:format.nl2br>{formValue.processedValue}</f:format.nl2br></td>
|
||||
</tr>
|
||||
</table>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:then>
|
||||
<f:else>
|
||||
-
|
||||
</f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</tr>
|
||||
</formvh:renderAllFormValues>
|
||||
</table>
|
||||
</f:if>
|
||||
<f:if condition="{messageAfter}">{messageAfter -> f:sanitize.html() -> f:format.html()}</f:if>
|
||||
</f:section>
|
||||
</html>
|
||||
@@ -0,0 +1,19 @@
|
||||
<f:layout name="SystemEmail" />
|
||||
<f:section name="Title">{title}</f:section>
|
||||
<f:section name="Main">
|
||||
<f:if condition="{messageBefore}">{messageBefore -> f:format.stripTags()}
|
||||
|
||||
</f:if><f:if condition="!{hideFormValues}"><formvh:renderAllFormValues renderable="{form.formDefinition}" as="formValue"><f:spaceless>
|
||||
<f:if condition="{formValue.isMultiValue}">
|
||||
<f:then>
|
||||
<f:if condition="{formValue.isSection}"><f:then>*** {formvh:translateElementProperty(element: formValue.element, property: 'label', languageKey: languageKey)} ***</f:then><f:else>{formvh:translateElementProperty(element: formValue.element, property: 'label', languageKey: languageKey) -> f:format.stripTags()}: <f:for each="{formValue.processedValue}" as="singleValue">- {singleValue}
|
||||
</f:for></f:else></f:if>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{formValue.isSection}"><f:then>*** {formvh:translateElementProperty(element: formValue.element, property: 'label', languageKey: languageKey)} ***</f:then><f:else>{formvh:translateElementProperty(element: formValue.element, property: 'label', languageKey: languageKey) -> f:format.stripTags()}: <f:if condition="{formValue.processedValue}"><f:then>{formValue.processedValue -> f:format.raw()}</f:then><f:else>-</f:else></f:if></f:else></f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:spaceless>
|
||||
</formvh:renderAllFormValues></f:if><f:if condition="{messageAfter}">
|
||||
{messageAfter -> f:format.stripTags()}</f:if>
|
||||
</f:section>
|
||||
@@ -0,0 +1,3 @@
|
||||
<html data-namespace-typo3-fluid="true">
|
||||
<p>{message}</p>
|
||||
</html>
|
||||
@@ -0,0 +1,21 @@
|
||||
<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="{form}">
|
||||
<formvh:form
|
||||
object="{form}"
|
||||
action="{form.renderingOptions.controllerAction}"
|
||||
method="{form.renderingOptions.httpMethod}"
|
||||
id="{form.identifier}"
|
||||
section="{form.identifier}"
|
||||
enctype="{form.renderingOptions.httpEnctype}"
|
||||
addQueryString="{form.renderingOptions.addQueryString}"
|
||||
argumentsToBeExcludedFromQueryString="{form.renderingOptions.argumentsToBeExcludedFromQueryString}"
|
||||
additionalParams="{form.renderingOptions.additionalParams}"
|
||||
additionalAttributes="{formvh:translateElementProperty(element: form, property: 'fluidAdditionalAttributes')}"
|
||||
>
|
||||
<f:render partial="{form.currentPage.templateName}" arguments="{page: form.currentPage}" />
|
||||
<div class="{form.renderingOptions.formNavigation.navigationWrapperClassAttribute}">
|
||||
<f:render partial="Form/Navigation" arguments="{form: form}" />
|
||||
</div>
|
||||
</formvh:form>
|
||||
</formvh:renderRenderable>
|
||||
</html>
|
||||
@@ -0,0 +1,6 @@
|
||||
<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:if condition="{formConfiguration}">
|
||||
<formvh:render overrideConfiguration="{formConfiguration}" />
|
||||
<f:flashMessages />
|
||||
</f:if>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:form/Resources/Private/Language/Modules/form_editor.xlf" date="2026-01-30T13:37:37Z" product-name="form">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="title">
|
||||
<source>Form Editor</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="description">
|
||||
<source>Build and customize forms using the visual form editor. Add fields, configure validations, and set up finishers.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="short_description">
|
||||
<source>Edit forms</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:form/Resources/Private/Language/Modules/form_manager.xlf" date="2026-01-30T13:37:37Z" product-name="form">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="title">
|
||||
<source>Form Manager</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="description">
|
||||
<source>Manage and organize all forms. Create, edit, duplicate, and delete forms.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="short_description">
|
||||
<source>Manage forms</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,155 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:form/Resources/Private/Language/locallang.xlf" date="2016-10-09T03:38:32Z" product-name="form">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="element.ImageUpload.properties.SummaryPage.altText">
|
||||
<source>Uploaded image</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221560910">
|
||||
<source>This field is mandatory.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221560718">
|
||||
<source>This field is mandatory.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1347992400">
|
||||
<source>This field is mandatory.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1347992453">
|
||||
<source>This field is mandatory.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1238087674">
|
||||
<source>You must enter a valid date.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221551320">
|
||||
<source>You can only enter letters or digits.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221565786">
|
||||
<source>You can only enter non formatted text without any markup (e.g without XML tags).</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1238110957">
|
||||
<source>You can only enter non formatted text without any markup (e.g without XML tags).</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1269883975">
|
||||
<source>You can only enter non formatted text without any markup (e.g without XML tags).</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1428504122">
|
||||
<source>Your text must be a minimum of %s characters in length and no longer than %s.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1238108068">
|
||||
<source>You must enter text which is longer than %s characters.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1238108069">
|
||||
<source>You must enter text which is no longer than %s characters.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221559976">
|
||||
<source>You must enter a valid email address.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221560494">
|
||||
<source>You must enter a valid number.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221560288">
|
||||
<source>You must enter a valid floating point number.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221563685">
|
||||
<source>You must enter a valid number.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221561046">
|
||||
<source>You must enter a valid number between %s and %s.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1221565130">
|
||||
<source>You must enter a valid value. Please refer to the description of this field.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1475002976">
|
||||
<source>You must enter a countable subject.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1475002994">
|
||||
<source>You must select between %s to %s elements.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1471708997">
|
||||
<source>You must enter an instance of \TYPO3\CMS\Extbase\Domain\Model\FileReference or \TYPO3\CMS\Core\Resource\File.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1471708998">
|
||||
<source>You entered an incorrect media type, "%s" is not allowed for this file. Please refer to the description of this field.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1613126216">
|
||||
<source>The file extension provided "%s" does not match to expected media types. Please refer to the description of this field.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1476396435">
|
||||
<source>You must NOT fill this field.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1505303626">
|
||||
<source>You must enter an instance of \TYPO3\CMS\Extbase\Domain\Model\FileReference or \TYPO3\CMS\Core\Resource\File.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1505305752">
|
||||
<source>You must select a file that is larger than %s in size.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1505305753">
|
||||
<source>You must select a file that is no larger than %s.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1521293685">
|
||||
<source>You must enter an instance of \DateTime.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1521293686">
|
||||
<source>You must select a date before %s.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1521293687">
|
||||
<source>You must select a date after %s.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1748345955">
|
||||
<source>This field cannot be validated due to a configuration error. Please contact the website owner.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="validation.error.1556283177">
|
||||
<source>Password does not match confirmation</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="form_new_wizard_title">
|
||||
<source>Form</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="form_new_wizard_description">
|
||||
<source>A form that allows website users to submit messages.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="upload.error.150530345">
|
||||
<source>Maximum file size exceeded.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="upload.error.150530346">
|
||||
<source>Upload failed. The file was only partially uploaded, please try again.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="upload.error.150530347">
|
||||
<source>No file was uploaded.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="upload.error.150530348">
|
||||
<source>Upload failed.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="upload.remove">
|
||||
<source>Remove</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="form.configuration.module.provider">
|
||||
<source>Form: YAML Configuration</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="form.finisher.error">
|
||||
<source>Your form could not be submitted due to a technical issue. It might be a temporary issue, but can also be related to your input.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagination.previous">
|
||||
<source>Previous</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagination.next">
|
||||
<source>Next</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagination.first">
|
||||
<source>First</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagination.last">
|
||||
<source>Last</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagination.forms">
|
||||
<source>Forms</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagination.page">
|
||||
<source>Page</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="pagination.refresh">
|
||||
<source>Refresh</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:form/Resources/Private/Language/locallang_db.xlf" date="2026-01-13T15:39:14Z" product-name="form">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="form_definition">
|
||||
<source>Form definition</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="form_definition.label">
|
||||
<source>Name</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="form_definition.identifier">
|
||||
<source>Identifier</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="form_definition.configuration">
|
||||
<source>Configuration</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:form/Resources/Private/Language/locallang_formEditor_failSafeErrorHandling_javascript.xlf" date="2019-04-27T03:38:32Z" product-name="form">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="formEditor.error.headline">
|
||||
<source>The form editor has stopped working.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formEditor.error.message">
|
||||
<source>Please contact your administrator.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formEditor.error.technicalReason">
|
||||
<source>Technical Reason:</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,161 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:form/Resources/Private/Language/locallang_formManager_javascript.xlf" date="2016-10-09T03:38:32Z" product-name="form">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="formManager.form_name">
|
||||
<source>Name</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.form_name_description">
|
||||
<source>Enter a meaningful and descriptive name for the form. The name is displayed only in the TYPO3 backend.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.new_form_name">
|
||||
<source>New form name</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.form_storageLocation">
|
||||
<source>Location</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.form_storageLocation_description">
|
||||
<source>Select the location where the form will be saved.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.form_prototype">
|
||||
<source>Form prototype</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.form_template">
|
||||
<source>Template</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.form_template_description">
|
||||
<source>Select a template for building your new form.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.form_headline_general">
|
||||
<source>General</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.form_copied">
|
||||
<source>Copied form</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.cancel">
|
||||
<source>Cancel</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.remove_form">
|
||||
<source>Delete</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.remove_form_title">
|
||||
<source>Confirm deletion</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.remove_form_message">
|
||||
<source>Delete form "{0}"? Forms saved as files are permanently deleted and cannot be restored from the Recycler.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step1.title">
|
||||
<source>Create new form</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step.modes.summary.title">
|
||||
<source>Mode</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step1.progressLabel">
|
||||
<source>Choose</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step1.noStorages">
|
||||
<source>You do not have permission to create forms. Please contact your administrator.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step2.title">
|
||||
<source>Settings</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step3.title">
|
||||
<source>Ready?</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step3.progressLabel">
|
||||
<source>Check</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step3.message">
|
||||
<source>Just check and confirm the settings you have entered. Done? Then you are ready to go.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step3.check">
|
||||
<source>Check and confirm</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step4.errorTitle">
|
||||
<source>Create</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step4.errorMessage">
|
||||
<source>The form could not be saved</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step.storages.title">
|
||||
<source>Storage location</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step.storages.description">
|
||||
<source>Choose how the form should be saved:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step.storages.progressLabel">
|
||||
<source>Storage</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.newFormWizard.step.storages.summary.title">
|
||||
<source>Storage</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.duplicateFormWizard.step1.title">
|
||||
<source>Duplicate form "{0}"</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.duplicateFormWizard.step2.title">
|
||||
<source>Ready?</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.duplicateFormWizard.step2.progressLabel">
|
||||
<source>Check</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.duplicateFormWizard.step2.check">
|
||||
<source>Check and confirm</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.duplicateFormWizard.step2.message">
|
||||
<source>Just check and confirm the settings you have entered. Done? Then you are ready to go.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.duplicateFormWizard.step3.errorTitle">
|
||||
<source>Duplicate</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.duplicateFormWizard.step3.errorMessage">
|
||||
<source>The form could not be saved</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.no_references">
|
||||
<source>There are no references yet.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.table.field.control">
|
||||
<source>Control</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.table.field.uid">
|
||||
<source>Uid</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.table.field.title">
|
||||
<source>Title</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.btn.edit.title">
|
||||
<source>Edit</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.references.title">
|
||||
<source>Form: {0}</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.references.headline">
|
||||
<source>References to this item</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.blankForm.label">
|
||||
<source>Blank form</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.blankForm.subtitle">
|
||||
<source>Start fresh</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.blankForm.description">
|
||||
<source>Create a new form from scratch.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.predefinedForm.label">
|
||||
<source>Predefined form</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.predefinedForm.subtitle">
|
||||
<source>Use a form template</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.predefinedForm.description">
|
||||
<source>Create a new form and use an existing form template for it.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.finisher.redirect.success.title">
|
||||
<source>Form created</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formManager.finisher.redirect.success.description">
|
||||
<source>The form has been successfully created. Click "Finish" to be redirected to the newly created form.</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:form/Resources/Private/Language/locallang_form_editor_javascript.xlf" date="2026-01-26T11:12:56Z" product-name="form">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="formEditor.insert_elements">
|
||||
<source>Insert elements</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formEditor.stage.toolbar.new_element">
|
||||
<source>Create new element</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formEditor.stage.toolbar.new_element.after">
|
||||
<source>Create new element after</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formEditor.stage.toolbar.new_element.before">
|
||||
<source>Create new element before</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formEditor.stage.toolbar.remove">
|
||||
<source>Remove</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formEditor.step.name.empty">
|
||||
<source>Step name is not set</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formEditor.validation.hasError">
|
||||
<source>Has validation errors</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="formEditor.validation.childHasError">
|
||||
<source>Contains elements with validation errors</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:form/Resources/Private/Language/locallang_relative_date_editor.xlf" date="2025-02-25T00:00:00Z" product-name="form">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="mode.no">
|
||||
<source>No value</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="mode.today">
|
||||
<source>Today</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="mode.absolute">
|
||||
<source>Absolute date</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="mode.relative">
|
||||
<source>Relative date</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="direction.past">
|
||||
<source>past</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="direction.future">
|
||||
<source>future</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="unit.days">
|
||||
<source>{count, plural, one {Day} other {Days}}</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="unit.weeks">
|
||||
<source>{count, plural, one {Week} other {Weeks}}</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="unit.months">
|
||||
<source>{count, plural, one {Month} other {Months}}</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="unit.years">
|
||||
<source>{count, plural, one {Year} other {Years}}</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="mode.custom">
|
||||
<source>Custom relative expression</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="custom.placeholder">
|
||||
<source>e.g. "sunday next month"</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
|
||||
<file source-language="en" datatype="plaintext" original="EXT:form/Resources/Private/Language/module.xlf" date="2026-11-10T13:37:37Z" product-name="form">
|
||||
<header/>
|
||||
<body>
|
||||
<trans-unit id="short_description">
|
||||
<source>Build custom forms</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="description">
|
||||
<source>This module ships a flexible and user-friendly form editor. It allows you to build and create versatile forms for your frontend. Your forms can easily be added to any page by using the content element "Form". Within this element, finishers can be overridden.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="title">
|
||||
<source>Forms</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
@@ -0,0 +1,90 @@
|
||||
<f:if condition="{paginator.numberOfPages} > 1">
|
||||
<nav class="pagination-wrap">
|
||||
<ul class="pagination">
|
||||
<f:if condition="{pagination.previousPageNumber} && {pagination.previousPageNumber} >= {pagination.firstPageNumber}">
|
||||
<f:then>
|
||||
<li class="page-item">
|
||||
<f:link.action action="index" arguments="{page: 1, searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}" title="{f:translate(key:'pagination.first')}" class="page-link">
|
||||
<core:icon identifier="actions-view-paging-first" />
|
||||
</f:link.action>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<f:link.action action="index" arguments="{page: pagination.previousPageNumber, searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}" title="{f:translate(key:'pagination.previous')}" class="page-link">
|
||||
<core:icon identifier="actions-view-paging-previous" />
|
||||
</f:link.action>
|
||||
</li>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<core:icon identifier="empty-empty"/>
|
||||
</span>
|
||||
</li>
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<core:icon identifier="empty-empty"/>
|
||||
</span>
|
||||
</li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<li class="page-item">
|
||||
<span class="page-link">
|
||||
<f:translate key="pagination.forms" /> {pagination.startRecordNumber} - {pagination.endRecordNumber}
|
||||
</span>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<span class="page-link">
|
||||
<f:translate key="pagination.page" />
|
||||
<form
|
||||
class="form-inline"
|
||||
data-global-event="submit"
|
||||
data-action-navigate="$form=~s/$value/"
|
||||
data-navigate-value="{f:uri.action(action:'index', arguments:'{page: \'$[value]\', searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}')}"
|
||||
data-value-selector="input[name='paginator-target-page']">
|
||||
<input
|
||||
min="{pagination.firstPageNumber}"
|
||||
max="{pagination.lastPageNumber}"
|
||||
data-number-of-pages="{paginator.numberOfPages}"
|
||||
name="paginator-target-page"
|
||||
class="form-control form-control-sm paginator-input"
|
||||
size="5"
|
||||
value="{paginator.currentPageNumber}"
|
||||
type="number"/>
|
||||
</form>
|
||||
/ {pagination.lastPageNumber}
|
||||
</span>
|
||||
</li>
|
||||
<f:if condition="{pagination.nextPageNumber} && {pagination.nextPageNumber} <= {pagination.lastPageNumber}">
|
||||
<f:then>
|
||||
<li class="page-item">
|
||||
<f:link.action action="index" arguments="{page: pagination.nextPageNumber, searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}" title="{f:translate(key:'pagination.next')}" class="page-link">
|
||||
<core:icon identifier="actions-view-paging-next" />
|
||||
</f:link.action>
|
||||
</li>
|
||||
<li class="page-item">
|
||||
<f:link.action action="index" arguments="{page: pagination.lastPageNumber, searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}" title="{f:translate(key:'pagination.last')}" class="page-link">
|
||||
<core:icon identifier="actions-view-paging-last" />
|
||||
</f:link.action>
|
||||
</li>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<core:icon identifier="empty-empty"/>
|
||||
</span>
|
||||
</li>
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<core:icon identifier="empty-empty"/>
|
||||
</span>
|
||||
</li>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<li class="page-item">
|
||||
<f:link.action action="index" arguments="{page: paginator.currentPageNumber, searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}" title="{f:translate(key:'pagination.refresh')}" class="page-link">
|
||||
<core:icon identifier="actions-refresh" />
|
||||
</f:link.action>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</f:if>
|
||||
@@ -0,0 +1,110 @@
|
||||
<html
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
|
||||
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:layout name="Module" />
|
||||
|
||||
<f:section name="Content">
|
||||
<div class="formeditor">
|
||||
<div class="formeditor-loader" data-identifier="moduleLoadingIndicator">
|
||||
<core:icon identifier="spinner-circle" size="medium" />
|
||||
<div><f:translate key="LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.loading" /></div>
|
||||
</div>
|
||||
<div class="formeditor-inner">
|
||||
<div class="formeditor-module hidden" data-identifier="moduleWrapper">
|
||||
<f:format.raw>{formEditorTemplates}</f:format.raw>
|
||||
<section class="formeditor-stage-container" data-identifier="stageContainer">
|
||||
<div class="formeditor-stage-container-inner" data-identifier="stageContainerInner">
|
||||
<f:render section="Header" />
|
||||
<f:render section="Stage" />
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<section class="formeditor-inspector hidden" data-identifier="inspectorSection">
|
||||
<div class="formeditor-inspector-inner">
|
||||
<div class="formeditor-inspector-collapse">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-default btn-sm"
|
||||
title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.button_collapse_inspector')}"
|
||||
data-identifier="formeditorInspectorCollapse"
|
||||
>
|
||||
<core:icon identifier="actions-panel-expand-start" size="small" />
|
||||
</button>
|
||||
</div>
|
||||
<f:render section="Inspector" />
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
|
||||
<f:section name="Header">
|
||||
<div class="formeditor-header">
|
||||
<h1 data-identifier="formDefinitionLabel"></h1>
|
||||
<div class="formeditor-header-actions">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-default"
|
||||
title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.edit_button')}"
|
||||
data-identifier="formSettings"
|
||||
>
|
||||
<core:icon identifier="actions-open" />
|
||||
{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.edit_button')}
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-default formeditor-inspector-expand"
|
||||
title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.button_expand_inspector')}"
|
||||
data-identifier="formeditorInspectorExpand"
|
||||
>
|
||||
<core:icon identifier="actions-panel-collapse-start" size="small" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
|
||||
<f:section name="Stage">
|
||||
<div class="formeditor-stage" data-identifier="stagePanel">
|
||||
<div class="formeditor-stage-inner">
|
||||
<div class="formeditor-stage-heading" data-identifier="panelHeading">
|
||||
<div class="panel-heading-row panel-heading-row-spread">
|
||||
<div class="panel-heading-column">
|
||||
<div class="btn-group btn-group-sm">
|
||||
<button class="btn btn-default" title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.preview_mode_button')}" data-identifier="buttonViewModePreview"><core:icon identifier="actions-view" alternativeMarkupIdentifier="inline" /></button>
|
||||
<button class="btn btn-default" title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.edit_mode_button')}" data-identifier="buttonViewModeAbstract"><core:icon identifier="actions-open" alternativeMarkupIdentifier="inline" /></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-heading-column">
|
||||
<span class="panel-label" data-identifier="paginationTitle"></span>
|
||||
<div class="btn-group btn-group-sm">
|
||||
<button class="btn btn-default" title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.previous_step_button')}" data-identifier="buttonPaginationPrevious"><core:icon identifier="actions-view-paging-previous" alternativeMarkupIdentifier="inline" /></button>
|
||||
<button class="btn btn-default" title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.next_step_button')}" data-identifier="buttonPaginationNext"><core:icon identifier="actions-view-paging-next" alternativeMarkupIdentifier="inline" /></button>
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-sm btn-default"
|
||||
title="{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.new_page_button')}"
|
||||
data-identifier="newPage"
|
||||
>
|
||||
<core:icon identifier="actions-plus" />
|
||||
{f:translate(key: 'LLL:EXT:form/Resources/Private/Language/Database.xlf:formEditor.new_page_button')}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="formeditor-stage-section" data-identifier="stageSection">
|
||||
<div class="formeditor-stage-area" data-identifier="stageArea"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</f:section>
|
||||
|
||||
<f:section name="Inspector">
|
||||
<div class="formeditor-inspector-content" data-identifier="inspector"></div>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
@@ -0,0 +1,333 @@
|
||||
<html
|
||||
xmlns:core="http://typo3.org/ns/TYPO3/CMS/Core/ViewHelpers"
|
||||
xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
|
||||
data-namespace-typo3-fluid="true"
|
||||
>
|
||||
<f:layout name="Module" />
|
||||
|
||||
<f:section name="Before">
|
||||
<f:asset.module identifier="@typo3/form/backend/form-manager/main.js"/>
|
||||
<f:for each="{stylesheets}" as="stylesheet">
|
||||
<f:asset.css href="{stylesheet}" identifier="{stylesheet}"/>
|
||||
</f:for>
|
||||
</f:section>
|
||||
|
||||
<f:section name="Content">
|
||||
<h1><f:translate key="form.database:formManager.headline" /></h1>
|
||||
<f:if condition="{hasForms}">
|
||||
<form
|
||||
class="form-inline"
|
||||
data-global-event="submit"
|
||||
data-action-navigate="$form=~s/$value/"
|
||||
data-navigate-value="{f:uri.action(action:'index', arguments:'{searchTerm: \'$[value]\', orderField: orderField, orderDirection: orderDirection}')}"
|
||||
data-value-selector="input[name='searchTerm']"
|
||||
>
|
||||
<div class="form-row">
|
||||
<div class="form-group">
|
||||
<label for="search_field" class="form-label">
|
||||
<f:translate id="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.label.searchString"/>
|
||||
</label>
|
||||
<div class="input-group">
|
||||
<input
|
||||
type="search"
|
||||
autocomplete="off"
|
||||
id="search_field"
|
||||
name="searchTerm"
|
||||
class="form-control"
|
||||
value="{searchTerm}"
|
||||
/>
|
||||
<button class="btn btn-default" type="submit" name="search">
|
||||
<f:translate id="LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.title.search"/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</f:if>
|
||||
<f:if condition="{paginator.paginatedItems}">
|
||||
<f:then>
|
||||
<div class="table-fit">
|
||||
<table id="forms" class="table table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-50 col-responsive" colspan="2">
|
||||
<f:render section="listHeaderSorting" arguments="{field: 'name', label: 'formManager.form_name', searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}"/>
|
||||
</th>
|
||||
<th class="col-path">
|
||||
<f:render section="listHeaderSorting" arguments="{field: 'storageLocation', label: 'formManager.location', searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}"/>
|
||||
</th>
|
||||
<th class="col-state">
|
||||
<f:render section="listHeaderSorting" arguments="{field: 'duplicateIdentifier', label: 'formManager.integrity', searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}"/>
|
||||
</th>
|
||||
<th class="col-state">
|
||||
<f:render section="listHeaderSorting" arguments="{field: 'referenceCount', label: 'formManager.references', searchTerm: searchTerm, orderField: orderField, orderDirection: orderDirection}"/>
|
||||
</th>
|
||||
<th class="col-control">
|
||||
<span class="visually-hidden">{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels._CONTROL_')}</span>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<f:for each="{paginator.paginatedItems}" as="form">
|
||||
<tr>
|
||||
<td class="col-icon">
|
||||
<span title="identifier={form.identifier}"><core:icon identifier="content-form" overlay="{f:if(condition: form.invalid, then: 'overlay-missing', else: '{f:if(condition: form.readOnly, then: \'overlay-locked\')}')}" /></span>
|
||||
</td>
|
||||
<td class="col-50 col-responsive">
|
||||
<f:if condition="{form.invalid} || {form.readOnly}">
|
||||
<f:then>
|
||||
{form.name}
|
||||
<f:if condition="{form.invalid}">
|
||||
<span class="badge badge-danger">
|
||||
<f:translate key="form.database:formManager.invalid" />
|
||||
</span>
|
||||
</f:if>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{form.editUrl}">
|
||||
<f:then>
|
||||
<a href="{form.editUrl}" title="{f:translate(key: 'form.database:formManager.edit_form')}">
|
||||
{form.name}
|
||||
</a>
|
||||
</f:then>
|
||||
<f:else>
|
||||
{form.name}
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
<td class="col-50 col-path">
|
||||
{form.storageLocation}
|
||||
</td>
|
||||
<td class="col-state">
|
||||
<f:if condition="{form.invalid}">
|
||||
<f:then>
|
||||
<span title="{f:translate(key: 'form.database:formManager.invalid')}">
|
||||
<core:icon identifier="status-dialog-error" />
|
||||
</span>
|
||||
</f:then>
|
||||
<f:else if="{form.duplicateIdentifier}">
|
||||
<span title="{f:translate(key: 'form.database:formManager.duplicate_identifier')}">
|
||||
<core:icon identifier="status-dialog-error" />
|
||||
</span>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
<td class="col-state">
|
||||
<f:if condition="{form.referenceCount}">
|
||||
<f:then>
|
||||
<a href="#" data-identifier="showReferences" data-form-persistence-identifier="{form.persistenceIdentifier}" data-form-name="{form.name}">
|
||||
{form.referenceCount}
|
||||
</a>
|
||||
</f:then>
|
||||
<f:else>-</f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
<td class="col-control">
|
||||
<div class="btn-group" role="group">
|
||||
<f:if condition="{form.invalid} || {form.readOnly}">
|
||||
<f:then>
|
||||
<span class="btn btn-default disabled" aria-hidden="true"><core:icon identifier="empty-empty" /></span>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<f:if condition="{form.editUrl}">
|
||||
<f:then>
|
||||
<a href="{form.editUrl}" class="btn btn-default" title="{f:translate(key: 'form.database:formManager.edit_form')}">
|
||||
<core:icon identifier="actions-open" />
|
||||
</a>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<span class="btn btn-default disabled" aria-hidden="true"><core:icon identifier="empty-empty" /></span>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:else>
|
||||
</f:if>
|
||||
<f:if condition="{form.removable} && ({form.invalid} == '0') && ({form.referenceCount} == '0')">
|
||||
<f:then>
|
||||
<a
|
||||
href="#"
|
||||
class="btn btn-default"
|
||||
data-bs-original-title="{f:translate(key: 'form.database:formManager.delete_form')}"
|
||||
data-identifier="removeForm"
|
||||
data-form-persistence-identifier="{form.persistenceIdentifier}"
|
||||
data-form-name="{form.name}"
|
||||
title="{f:translate(key: 'form.database:formManager.delete_form')}"
|
||||
>
|
||||
<core:icon identifier="actions-edit-delete" />
|
||||
</a>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<span class="btn btn-default disabled" aria-hidden="true"><core:icon identifier="empty-empty" /></span>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
<div class="btn-group dropdown" role="group">
|
||||
<f:if condition="{form.invalid}">
|
||||
<f:then>
|
||||
<span class="btn btn-default disabled" aria-hidden="true"><core:icon identifier="empty-empty" /></span>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<a
|
||||
href="#actions-{form.identifier}"
|
||||
class="btn btn-default dropdown-toggle dropdown-toggle-no-chevron"
|
||||
data-bs-toggle="dropdown"
|
||||
data-bs-boundary="window"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<core:icon identifier="actions-menu-alternative" />
|
||||
</a>
|
||||
<ul id="actions-{form.identifier}" class="dropdown-menu">
|
||||
<li>
|
||||
<a
|
||||
href="#"
|
||||
class="dropdown-item dropdown-item-spaced"
|
||||
data-bs-original-title="{f:translate(id: 'form.database:formManager.duplicate_this_form')}"
|
||||
data-identifier="duplicateForm"
|
||||
data-form-persistence-identifier="{form.persistenceIdentifier}"
|
||||
data-form-name="{form.name}"
|
||||
>
|
||||
<span class="dropdown-item-columns">
|
||||
<span class="dropdown-item-column dropdown-item-column-icon text-{cacheAction.severity}">
|
||||
<core:icon identifier="actions-duplicate" />
|
||||
</span>
|
||||
<span class="dropdown-item-column dropdown-item-column-text">
|
||||
<f:translate id="form.database:formManager.duplicate_this_form" />
|
||||
</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<f:if condition="{form.actions.recordHistoryUrl}">
|
||||
<li>
|
||||
<a class="dropdown-item dropdown-item-spaced"
|
||||
href="{form.actions.recordHistoryUrl}"
|
||||
title="{f:translate(id: 'form.database:formManager.showHistory')}">
|
||||
<span class="dropdown-item-columns">
|
||||
<span class="dropdown-item-column dropdown-item-column-icon">
|
||||
<core:icon identifier="actions-document-history-open" />
|
||||
</span>
|
||||
<span class="dropdown-item-column dropdown-item-column-text">
|
||||
<f:translate id="form.database:formManager.showHistory" />
|
||||
</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</f:if>
|
||||
</ul>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</f:for>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<f:variable name="totalAmountOfPaginatedItems" value="{paginator.paginatedItems -> f:count()}" />
|
||||
<f:if condition="{paginator.paginatedItems -> f:count()} > 1">
|
||||
<f:then>{totalAmountOfPaginatedItems} <f:translate key="form.database:formManager.table.amount.forms" /></f:then>
|
||||
<f:else>{totalAmountOfPaginatedItems} <f:translate key="form.database:formManager.table.amount.form" /></f:else>
|
||||
</f:if>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<f:render partial="Backend/FormManager/Pagination" arguments="{_all}" />
|
||||
</f:then>
|
||||
<f:else if="{hasForms}">
|
||||
<f:be.infobox
|
||||
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::INFO')}"
|
||||
title="{f:translate(key: 'form.database:formManager.forms_not_found.title')}"
|
||||
>
|
||||
<p><f:translate key="form.database:formManager.forms_not_found_by_search_term.message" arguments="{0: searchTerm}" /></p>
|
||||
<a class="btn btn-primary" href="{f:be.uri(route:'web_FormFormbuilder')}">
|
||||
<f:translate key="form.database:formManager.remove_search_term"/>
|
||||
</a>
|
||||
</f:be.infobox>
|
||||
</f:else>
|
||||
<f:else>
|
||||
<f:be.infobox
|
||||
state="{f:constant(name: 'TYPO3\CMS\Core\Type\ContextualFeedbackSeverity::INFO')}"
|
||||
title="{f:translate(key: 'form.database:formManager.forms_not_found.title')}"
|
||||
>
|
||||
<p><f:translate key="form.database:formManager.forms_not_found.message" /></p>
|
||||
<a class="btn btn-primary" href="#" data-identifier="newForm"><f:translate key="form.database:formManager.create_new_form" /></a>
|
||||
</f:be.infobox>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</f:section>
|
||||
|
||||
<f:section name="listHeaderSorting">
|
||||
<div class="dropdown dropdown-static">
|
||||
<button class="dropdown-toggle dropdown-toggle-link" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<f:translate key="form.database:{label}"/>
|
||||
<f:if condition="{orderField} === {field}">
|
||||
<f:then>
|
||||
<div class="text-primary">
|
||||
<f:if condition="{orderDirection} === 'asc'">
|
||||
<f:then>
|
||||
<core:icon identifier="actions-sort-amount-up" />
|
||||
</f:then>
|
||||
<f:else>
|
||||
<core:icon identifier="actions-sort-amount-down" />
|
||||
</f:else>
|
||||
</f:if>
|
||||
</div>
|
||||
</f:then>
|
||||
<f:else>
|
||||
<div>
|
||||
<core:icon identifier="empty-empty" />
|
||||
</div>
|
||||
</f:else>
|
||||
</f:if>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a
|
||||
class="dropdown-item"
|
||||
href="{f:uri.action(action:'index', arguments:'{searchTerm: searchTerm, orderField: field, orderDirection: \'asc\'}')}"
|
||||
title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.sorting.asc')}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.sorting.asc')}"
|
||||
>
|
||||
<span class="dropdown-item-columns">
|
||||
<span class="dropdown-item-column dropdown-item-column-icon text-primary">
|
||||
<f:if condition="{orderField} === {field}">
|
||||
<f:if condition="{orderDirection} === 'asc'">
|
||||
<core:icon identifier="actions-dot" />
|
||||
</f:if>
|
||||
</f:if>
|
||||
</span>
|
||||
<span class="dropdown-item-column dropdown-item-column-title">
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.sorting.asc')}
|
||||
</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
class="dropdown-item"
|
||||
href="{f:uri.action(action:'index', arguments:'{searchTerm: searchTerm, orderField: field, orderDirection: \'desc\'}')}"
|
||||
title="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.sorting.desc')}"
|
||||
aria-label="{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.sorting.desc')}"
|
||||
>
|
||||
<span class="dropdown-item-columns">
|
||||
<span class="dropdown-item-column dropdown-item-column-icon text-primary">
|
||||
<f:if condition="{orderField} === {field}">
|
||||
<f:if condition="{orderDirection} === 'desc'">
|
||||
<core:icon identifier="actions-dot" />
|
||||
</f:if>
|
||||
</f:if>
|
||||
</span>
|
||||
<span class="dropdown-item-column dropdown-item-column-title">
|
||||
{f:translate(key: 'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.sorting.desc')}
|
||||
</span>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</f:section>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user