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
c3fb580d
Commit
c3fb580d
authored
Jun 03, 2018
by
Carsten Rose
Browse files
#4918: remove default 'form=' parameter - has now to be specified in the qfq record.
parent
9dcff2c7
Changes
3
Hide whitespace changes
Inline
Side-by-side
extension/Documentation/Manual.rst
View file @
c3fb580d
...
...
@@ -6223,14 +6223,16 @@ Drag and drop
-------------
Sort
/
order
elements
^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^
^^^
Manually
sorting
and
ordering
of
elements
via
HTML5
drag
and
drop
is
supported
via
QFQ
JS
/
API
/
DB
.
Any
sortable
element
should
be
represented
by
a
database
record
with
an
order
column
.
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
.
*
Display
:
the
records
will
be
displayed
via
QFQ
/
report
.
*
Update
:
updates
of
the
order
column
are
managed
by
a
specific
'drag and drop'
definition
Form
.
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
Form
.
Part
1
:
Display
list
''''''''''''''''''''
...
...
@@ -6239,7 +6241,7 @@ Display the list of elements via a regular QFQ content record. All 'drag and dro
element
:
*
With
`
class
=
"qfq-dnd-sort"
`
.
*
With
an
automatically
SIP
protected
form
name
:
`
{
{'<form
name>'
AS
_data-dnd-api
}
}`
*
With
an
automatically
SIP
protected
form
name
:
`
{
{'
form=
<form
name>'
AS
_data-dnd-api
}
}`
*
Only
direct
children
of
such
element
can
be
dragged
.
*
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
.
...
...
@@ -6266,7 +6268,7 @@ A typical QFQ report which generates those HTML: ::
FROM
Note
AS
n
ORDER
BY
n.ord
head
=
<div
class="qfq-dnd-sort"
{{'
<
form
name>
'
AS
_data-dnd-api
}
}
>
head
=
<div
class="qfq-dnd-sort"
{{'form
=dndSortNote&grId=28
'
AS
_data-dnd-api
}
}
>
tail
=
</
div
>
}
...
...
@@ -6278,19 +6280,30 @@ A dedicated `Form`, without any `FormElements`, is needed to define the database
Fields
:
*
Name
:
<
custom
formname
>
*
Table
:
<
table
with
the
element
records
>
*
Name
:
<
custom
form
name
>
-
used
in
Part
1
in
the
`
_data-dnd-api
`
variable
.
*
Table
:
<
table
with
the
element
records
>
-
used
to
the
update
the
records
specified
by
`
dragAndDropOrderSql
`
.
*
Parameter
:
+
-------------------------------------
+
--------------------------------------------------------------------------------
+
|
Attribute
|
Description
|
+=====================================+================================================================================+
|
orderInterval
=
<
number
>
|
Optional
.
By
default
'10'
.
Might
be
any
number
>
0
.
|
+
-------------------------------------
+
--------------------------------------------------------------------------------
+
|
orderColumn
=
<
column
name
>
|
Optional
.
By
default
'ord'
.
|
+
-------------------------------------
+
--------------------------------------------------------------------------------
+
|
dragAndDropOrderSql
=
|
Query
which
selects
the
same
records
as
the
report
in
the
|
|
{
{!SELECT
n.id,
n.ord
FROM
Note
AS
n
ORDER
BY
n.ord
}
}
|
same
order
!
Inconsistencies
results
in
sort
differences
|
+
---------------------------------------------------------
+
------------------------------------------------------------
+
|
dragAndDropOrderSql
=
|
Query
to
selects
the
*
same
*
records
as
the
report
in
the
|
|
{
{!SELECT
n.id
AS
id,
n.ord
AS
ord
FROM
Note
AS
n
|
same
*order!*
Inconsistencies
results
in
sort
differences.
|
|
ORDER
BY
n.ord
}
}
|
The
columns
`
id
`
and
`
ord
`
are
*
mandatory
.*
|
+
-------------------------------------------------------
+
--------------------------------------------------------------
+
The
form
related
to
the
example
of
part
1
:
::
Form
.name
:
dndSortNote
Form
.table
:
Note
Form
.parameter
:
orderInterval
=
1
Form
.parameter
:
orderColumn
=
ord
Form
.parameter
:
dragAndDropOrderSql
=
{
{!SELECT
n.id
AS
id,
n.ord
AS
ord
FROM
Note
AS
n
WHERE
n.grId={{
grId
:
S0
}
}
ORDER
BY
n
.ord
}}
Report
Examples
---------------
...
...
extension/qfq/qfq/Evaluate.php
View file @
c3fb580d
...
...
@@ -241,7 +241,7 @@ class Evaluate {
$foundInStore
=
TOKEN_FOUND_AS_COLUMN
;
$s
=
$this
->
link
->
renderLink
(
'U:
form=
'
.
$token
.
'|s|r:8'
);
$s
=
$this
->
link
->
renderLink
(
'U:'
.
$token
.
'|s|r:8'
);
// Flag to add DND JS code later on.
$this
->
store
->
setVar
(
SYSTEM_DRAG_AND_DROP_JS
,
'true'
,
STORE_SYSTEM
);
...
...
extension/qfq/qfq/QuickFormQuery.php
View file @
c3fb580d
...
...
@@ -1396,7 +1396,7 @@ EOF;
<script type = "text/javascript" >
var dragi = new QfqNS . DragAndDrop($('.qfq-dnd-sort'));
dragi . makeSortable();
</script
>
</script>
EOF;
return
$code
;
...
...
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