Skip to content
GitLab
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
9cfb08f2
Commit
9cfb08f2
authored
Jun 06, 2018
by
Carsten Rose
Browse files
PROTOCOL.md: dnd response
Manual.rst: Best practice default values.
parent
d071c13d
Changes
2
Hide whitespace changes
Inline
Side-by-side
doc/PROTOCOL.md
View file @
9cfb08f2
...
...
@@ -510,7 +510,7 @@ URL Parameters:
Server Response
: The response contains at least a [Minimal Response]. In addition, a
[HTML Element
Response] (need to be defined)
may be included.
[HTML Element
Update]
may be included.
## Glossary
...
...
extension/Documentation/Manual.rst
View file @
9cfb08f2
...
...
@@ -4119,6 +4119,21 @@ Best practice
Custom default value only for 'new records'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Method 1
''''''''
On `Form.parameter` define a `fillStoreVar` query with a column name equal to a form field. That's all.
Example: ::
FormElement.name = technicalContact
Form.parameter.fillStoreVar = {{!SELECT CONCAT(p.firstName, ' ', p.name) AS technicalContact FROM Person AS p WHERE p.account='{{feUser:T}}' }}
What we use here is the default STORE prio FSRVD. If the form loads with r=0, 'F', 'S' and 'R' are empty. 'V' is filled.
If r>0, than 'F' and 'S' are empty and 'R' is filled.
Method 2
''''''''
In the specific `FormElement` set `value={{columnName:RSE}}`. The link to the form should be rendered with
'"...
&
columnName=
<data>
&
..." AS _page'. The trick is that the STORE_RECORD is empty for new records, and therefore the
corresponding value from STORE_SIP will be returned. Existing records will use the already saved value.
...
...
@@ -6227,12 +6242,12 @@ Sort/order elements
Manually
sorting
and
ordering
of
elements
via
`
HTML5
drag
and
drop
`
is
supported
via
QFQ
.
Any
sortable
element
should
be
represented
by
a
database
record
with
an
order
column
.
If
the
elements
are
unordered
,
they
will
be
ordered
after
the
first
manual
move
of
an
element
.
the
first
'drag and drop'
move
of
an
element
.
Functionality
is
divided
into
:
*
Display
list
:
the
records
will
be
displayed
via
QFQ
/
report
.
*
Update
database
:
updates
of
the
order
column
are
managed
by
a
specific
'drag and drop'
definition
F
orm
.
*
Update
database
:
updates
of
the
order
column
are
managed
by
a
specific
'drag and drop'
definition
f
orm
.
Part
1
:
Display
list
''''''''''''''''''''
...
...
@@ -6246,7 +6261,7 @@ element:
*
Every
children
needs
a
unique
identifier
`
data-dnd-id
=
"
<
unique
>
"`
.
Typically
this
is
the
corresponding
record
id
.
*
The
record
needs
a
dedicated
order
column
,
which
will
be
updated
through
API
calls
in
time
.
The
final
HTML
output
:
::
A
`
<
div
>
`
example
HTML
output
:
::
<
div
class
=
"qfq-dnd-sort"
data-dnd-api
=
"typo3conf/ext/qfq/qfq/api/dragAndDrop.php?s=badcaffee1234"
>
<
div
class
=
"anyClass"
id
=
"
<
uniq1
>
" data-dnd-id="
55"
>
...
...
@@ -6261,18 +6276,48 @@ The final HTML output: ::
</
div
>
A
typical
QFQ
report
which
generates
those
HTML
:
::
A
typical
QFQ
report
which
generates
those
`
<
div
>
`
HTML
:
::
10
{
sql
=
SELECT
'<div
id="anytag-',
n.id,'"
data-dnd-id="',
n.id,'">'
,
n.note,
'</div>'
FROM
Note
AS
n
WHERE
grId=28
ORDER
BY
n.ord
head
=
<div
class="qfq-dnd-sort"
{{'form=dndSortNote&grId=28
'
AS
_data-dnd-
api
}
}
>
head
=
<div
class="qfq-dnd-sort"
data-dnd-api="
{{'form=dndSortNote&grId=28
|
A
:
dnd-sort
'
AS
_
api
}
}
"
>
tail
=
</
div
>
}
A
`
<
table
>
`
based
setup
is
also
possible
.
Note
the
attribute
`
data-columns
=
"3"
`
-
those
generates
a
dropzone
which
is
the
same
width
as
the
outer
table
.
::
<
table
>
<
tbody
class
=
"qfq-dnd-sort"
data-dnd-api
=
"typo3conf/ext/qfq/qfq/api/dragAndDrop.php?s=badcaffee1234"
data-columns
=
"3"
>
<
tr
>
class
=
"anyClass"
id
=
"
<
uniq1
>
" data-dnd-id="
55"
>
<
td
>
Numbero
Uno
</
td
><
td
>
Numbero
Uno
.
2
</
td
><
td
>
Numbero
Uno
.
3
</
td
>
</
tr
>
<
tr
class
=
"anyClass"
id
=
"
<
uniq2
>
" data-dnd-id="
18"
>
<
td
>
Numbero
Deux
</
td
><
td
>
Numbero
Deux
.
2
</
td
><
td
>
Numbero
Deux
.
3
</
td
>
</
tr
>
<
tr
class
=
"anyClass"
id
=
"
<
uniq3
>
" data-dnd-id="
27"
>
<
td
>
Numbero
Tre
</
td
><
td
>
Numbero
Tre
.
2
</
td
><
td
>
Numbero
Tre
.
3
</
td
>
</
tr
>
</
tbody
>
</
table
>
A
typical
QFQ
report
which
generates
those
HTML
:
::
10
{
sql
=
SELECT
'<tr
id="anytag-',
n.id,'"
data-dnd-id="',
n.id,'"
data-columns="3">'
,
n.id
AS
'_+td',
n.note
AS
'_+td',
n.ord
AS
'_+td',
'</tr>'
FROM
Note
AS
n
WHERE
grId=28
ORDER
BY
n.ord
head
=
<table><tbody
class="qfq-dnd-sort"
{{'form=dndSortNote&grId=28'
AS
_data-dnd-api
}
}
data-columns
=
"3"
>
tail
=
</
tbody
><
table
>
}
Part
2
:
Update
database
''''''''''''''''''''''
'
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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