Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
typo3
qfq
Commits
c9d3ec20
Commit
c9d3ec20
authored
Nov 28, 2019
by
Carsten Rose
Browse files
Merge branch 'master' into B8091CheckBoxRequired
# Conflicts: # extension/Classes/Core/AbstractBuildForm.php
parents
2cb7ed77
0641a23b
Changes
5
Show whitespace changes
Inline
Side-by-side
Documentation/Manual.rst
View file @
c9d3ec20
...
@@ -2611,6 +2611,8 @@ Parameter
...
@@ -2611,6 +2611,8 @@ Parameter
+-----------------------------+--------+----------------------------------------------------------------------------------------------------------+
+-----------------------------+--------+----------------------------------------------------------------------------------------------------------+
| requiredPosition | int | See requiredPosition_ . |
| requiredPosition | int | See requiredPosition_ . |
+-----------------------------+--------+----------------------------------------------------------------------------------------------------------+
+-----------------------------+--------+----------------------------------------------------------------------------------------------------------+
| minWidth | int | See checkboxRadioMinWidth_ . |
+-----------------------------+--------+----------------------------------------------------------------------------------------------------------+
* Example:
* Example:
...
@@ -3144,6 +3146,8 @@ See also at specific *FormElement* definitions.
...
@@ -3144,6 +3146,8 @@ See also at specific *FormElement* definitions.
| dataReference | string | Optional. See `applicationTest`_ |
| dataReference | string | Optional. See `applicationTest`_ |
+------------------------+--------+----------------------------------------------------------------------------------------------------------+
+------------------------+--------+----------------------------------------------------------------------------------------------------------+
| requiredPosition | int | See requiredPosition_ . |
| requiredPosition | int | See requiredPosition_ . |
+------------------------+--------+----------------------------------------------------------------------------------------------------------+
| minWidth | int | See checkboxRadioMinWidth . |
+------------------------+--------+----------------------------------------------------------------------------------------------------------+
+------------------------+--------+----------------------------------------------------------------------------------------------------------+
...
@@ -3214,6 +3218,15 @@ extraButtonInfo
...
@@ -3214,6 +3218,15 @@ extraButtonInfo
will be applied. E.g. this might be `pull-right` to align the `info` button/icon on the right side below the input element.
will be applied. E.g. this might be `pull-right` to align the `info` button/icon on the right side below the input element.
.. _`checkboxRadioMinWidth`:
Checkbox / Radio: minWidth
^^^^^^^^^^^^^^^^^^^^^^^^^^
Checkbox and Radio Elements, shown in plain horizontal mode, receives a minWidth to align them. The default is 80px and
might be defined per Form or per FormElement.
.. _`requiredPosition`:
.. _`requiredPosition`:
Required Position
Required Position
...
@@ -3228,6 +3241,9 @@ The default is 'label-right'.
...
@@ -3228,6 +3241,9 @@ The default is 'label-right'.
The definition can be set per Form (=affects all FormElements) or per FormElement.
The definition can be set per Form (=affects all FormElements) or per FormElement.
.. _`input-checkbox`:
.. _`input-checkbox`:
Type: checkbox
Type: checkbox
...
...
extension/Classes/Core/AbstractBuildForm.php
View file @
c9d3ec20
...
@@ -2244,9 +2244,12 @@ abstract class AbstractBuildForm {
...
@@ -2244,9 +2244,12 @@ abstract class AbstractBuildForm {
$attributeBase
.
=
Support
::
doAttribute
(
'data-load'
,
(
$formElement
[
FE_DYNAMIC_UPDATE
]
===
'yes'
)
?
'data-load'
:
''
);
$attributeBase
.
=
Support
::
doAttribute
(
'data-load'
,
(
$formElement
[
FE_DYNAMIC_UPDATE
]
===
'yes'
)
?
'data-load'
:
''
);
$attributeBase
.
=
$this
->
getAttributeList
(
$formElement
,
[
F_FE_DATA_PATTERN_ERROR
,
F_FE_DATA_REQUIRED_ERROR
,
F_FE_DATA_MATCH_ERROR
,
F_FE_DATA_ERROR
]);
$attributeBase
.
=
$this
->
getAttributeList
(
$formElement
,
[
F_FE_DATA_PATTERN_ERROR
,
F_FE_DATA_REQUIRED_ERROR
,
F_FE_DATA_MATCH_ERROR
,
F_FE_DATA_ERROR
]);
# $key = HelperFormElement::prependFormElementNameCheckBoxMulti($htmlFormElementName, 'h');
$attributeBaseLabel
=
Support
::
doAttribute
(
'style'
,
'min-width: '
.
$formElement
[
F_FE_MIN_WIDTH
]
.
'px;'
);
# $htmlHidden = $this->buildNativeHidden($key, '');
# $this->fillStoreAdditionalFormElementsCheckboxHidden($formElement, $htmlFormElementName, $htmlHidden);
$key
=
HelperFormElement
::
prependFormElementNameCheckBoxMulti
(
$htmlFormElementName
,
'h'
);
$htmlHidden
=
$this
->
buildNativeHidden
(
$key
,
''
);
$this
->
fillStoreAdditionalFormElementsCheckboxHidden
(
$formElement
,
$htmlFormElementName
,
$htmlHidden
);
$html
=
''
;
$html
=
''
;
...
@@ -2292,7 +2295,7 @@ abstract class AbstractBuildForm {
...
@@ -2292,7 +2295,7 @@ abstract class AbstractBuildForm {
$htmlElement
=
Support
::
wrapTag
(
'<label>'
,
$htmlElement
);
$htmlElement
=
Support
::
wrapTag
(
'<label>'
,
$htmlElement
);
}
}
$htmlElement
=
Support
::
wrapTag
(
"<label class='
$checkboxClass
'>"
,
$htmlElement
,
true
);
$htmlElement
=
Support
::
wrapTag
(
"<label class='
$checkboxClass
'
$attributeBaseLabel
>"
,
$htmlElement
,
true
);
// control orientation
// control orientation
if
(
$formElement
[
FE_MAX_LENGTH
]
>
1
)
{
if
(
$formElement
[
FE_MAX_LENGTH
]
>
1
)
{
...
@@ -2507,6 +2510,8 @@ abstract class AbstractBuildForm {
...
@@ -2507,6 +2510,8 @@ abstract class AbstractBuildForm {
$attributeBase
.
=
Support
::
doAttribute
(
'type'
,
$formElement
[
FE_TYPE
]);
$attributeBase
.
=
Support
::
doAttribute
(
'type'
,
$formElement
[
FE_TYPE
]);
$attributeBase
.
=
Support
::
doAttribute
(
'data-load'
,
(
$formElement
[
FE_DYNAMIC_UPDATE
]
===
'yes'
)
?
'data-load'
:
''
);
$attributeBase
.
=
Support
::
doAttribute
(
'data-load'
,
(
$formElement
[
FE_DYNAMIC_UPDATE
]
===
'yes'
)
?
'data-load'
:
''
);
$attributeBaseLabel
=
Support
::
doAttribute
(
'style'
,
'min-width: '
.
$formElement
[
F_FE_MIN_WIDTH
]
.
'px;'
);
$jj
=
0
;
$jj
=
0
;
$orientation
=
(
$formElement
[
FE_MAX_LENGTH
]
>
1
)
?
ALIGN_HORIZONTAL
:
ALIGN_VERTICAL
;
$orientation
=
(
$formElement
[
FE_MAX_LENGTH
]
>
1
)
?
ALIGN_HORIZONTAL
:
ALIGN_VERTICAL
;
...
@@ -2514,7 +2519,7 @@ abstract class AbstractBuildForm {
...
@@ -2514,7 +2519,7 @@ abstract class AbstractBuildForm {
if
(
$formElement
[
FE_MODE
]
==
FE_MODE_READONLY
)
{
if
(
$formElement
[
FE_MODE
]
==
FE_MODE_READONLY
)
{
$radioClass
.
=
' qfq-disabled'
;
$radioClass
.
=
' qfq-disabled'
;
}
}
$radioOuterTag
=
(
$orientation
===
ALIGN_HORIZONTAL
)
?
'
label
'
:
'div'
;
$radioOuterTag
=
(
$orientation
===
ALIGN_HORIZONTAL
)
?
"
label
$attributeBaseLabel
"
:
'div'
;
$br
=
''
;
$br
=
''
;
$attribute
=
$attributeBase
;
$attribute
=
$attributeBase
;
...
@@ -2540,7 +2545,7 @@ abstract class AbstractBuildForm {
...
@@ -2540,7 +2545,7 @@ abstract class AbstractBuildForm {
// With ALIGN_HORIZONTAL: the label causes some trouble: skip it
// With ALIGN_HORIZONTAL: the label causes some trouble: skip it
if
((
$orientation
===
ALIGN_VERTICAL
))
{
if
((
$orientation
===
ALIGN_VERTICAL
))
{
$htmlElement
=
Support
::
wrapTag
(
'
<label>
'
,
$htmlElement
);
$htmlElement
=
Support
::
wrapTag
(
"
<label>
"
,
$htmlElement
);
}
}
if
(
$formElement
[
FE_MAX_LENGTH
]
>
1
)
{
if
(
$formElement
[
FE_MAX_LENGTH
]
>
1
)
{
...
...
extension/Classes/Core/Constants.php
View file @
c9d3ec20
...
@@ -985,6 +985,9 @@ const F_FE_REQUIRED_POSITION_INPUT_RIGHT = 'input-right';
...
@@ -985,6 +985,9 @@ const F_FE_REQUIRED_POSITION_INPUT_RIGHT = 'input-right';
const
F_FE_REQUIRED_POSITION_NOTE_LEFT
=
'note-left'
;
const
F_FE_REQUIRED_POSITION_NOTE_LEFT
=
'note-left'
;
const
F_FE_REQUIRED_POSITION_NOTE_RIGHT
=
'note-right'
;
const
F_FE_REQUIRED_POSITION_NOTE_RIGHT
=
'note-right'
;
const
F_FE_MIN_WIDTH
=
'minWidth'
;
const
F_FE_MIN_WIDTH_DEFAULT
=
'80'
;
const
F_PARAMETER
=
'parameter'
;
// valid for F_ and FE_
const
F_PARAMETER
=
'parameter'
;
// valid for F_ and FE_
// Form columns: via parameter field
// Form columns: via parameter field
...
...
extension/Classes/Core/Helper/HelperFormElement.php
View file @
c9d3ec20
...
@@ -291,6 +291,7 @@ class HelperFormElement {
...
@@ -291,6 +291,7 @@ class HelperFormElement {
$feSpecNative
[
$key
][
F_FE_LABEL_ALIGN
]
=
$formSpec
[
F_FE_LABEL_ALIGN
];
$feSpecNative
[
$key
][
F_FE_LABEL_ALIGN
]
=
$formSpec
[
F_FE_LABEL_ALIGN
];
}
}
Support
::
setIfNotSet
(
$feSpecNative
[
$key
],
F_FE_REQUIRED_POSITION
,
$formSpec
[
F_FE_REQUIRED_POSITION
]);
Support
::
setIfNotSet
(
$feSpecNative
[
$key
],
F_FE_REQUIRED_POSITION
,
$formSpec
[
F_FE_REQUIRED_POSITION
]);
Support
::
setIfNotSet
(
$feSpecNative
[
$key
],
F_FE_MIN_WIDTH
,
$formSpec
[
F_FE_MIN_WIDTH
]);
}
}
return
$feSpecNative
;
return
$feSpecNative
;
...
...
extension/Classes/Core/QuickFormQuery.php
View file @
c9d3ec20
...
@@ -1333,7 +1333,7 @@ class QuickFormQuery {
...
@@ -1333,7 +1333,7 @@ class QuickFormQuery {
/**
/**
* The named $keys will be synced between STORE_SYSTEM and $formSpec (both directions).
* The named $keys will be synced between STORE_SYSTEM and $formSpec (both directions).
* The per form definition has precedence over STORE_SYSTEM.
* The per form definition has precedence over STORE_SYSTEM.
* STORE_SYSTEM if filled with the default values (config.qfq.php or if not
e
exist than QFQ hardcoded)
* STORE_SYSTEM if filled with the default values (config.qfq.php or if not exist than QFQ hardcoded)
* Copying the 'Form' definition back to the system store helps to access the values
* Copying the 'Form' definition back to the system store helps to access the values
* by '{{ ...:Y}}' (system store). E.g. the value of bs-*-columns might be displayed as placeholder in the
* by '{{ ...:Y}}' (system store). E.g. the value of bs-*-columns might be displayed as placeholder in the
* corresponding input field.
* corresponding input field.
...
@@ -1440,6 +1440,7 @@ class QuickFormQuery {
...
@@ -1440,6 +1440,7 @@ class QuickFormQuery {
Support
::
setIfNotSet
(
$formSpec
,
F_SESSION_TIMEOUT_SECONDS
,
$this
->
store
->
getVar
(
SYSTEM_SESSION_TIMEOUT_SECONDS
,
STORE_SYSTEM
));
Support
::
setIfNotSet
(
$formSpec
,
F_SESSION_TIMEOUT_SECONDS
,
$this
->
store
->
getVar
(
SYSTEM_SESSION_TIMEOUT_SECONDS
,
STORE_SYSTEM
));
Support
::
setIfNotSet
(
$formSpec
,
F_FE_REQUIRED_POSITION
,
F_FE_REQUIRED_POSITION_LABEL_RIGHT
);
Support
::
setIfNotSet
(
$formSpec
,
F_FE_REQUIRED_POSITION
,
F_FE_REQUIRED_POSITION_LABEL_RIGHT
);
Support
::
setIfNotSet
(
$formSpec
,
F_MULTI_MSG_NO_RECORD
,
F_MULTI_MSG_NO_RECORD_TEXT
);
Support
::
setIfNotSet
(
$formSpec
,
F_MULTI_MSG_NO_RECORD
,
F_MULTI_MSG_NO_RECORD_TEXT
);
Support
::
setIfNotSet
(
$formSpec
,
F_FE_MIN_WIDTH
,
F_FE_MIN_WIDTH_DEFAULT
);
// In case there is no F_MODE defined on the form, check if there is one in STORE_SIP.
// In case there is no F_MODE defined on the form, check if there is one in STORE_SIP.
if
(
$formSpec
[
F_MODE
]
==
''
)
{
if
(
$formSpec
[
F_MODE
]
==
''
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment