Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
layout_paragraphs
Manage
Activity
Members
Labels
Plan
Wiki
Custom issue tracker
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Model registry
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
project
layout_paragraphs
Compare revisions
2.1.0 to 2.1.1
Compare revisions
Changes are shown as if the
source
revision was being merged into the
target
revision.
Learn more about comparing revisions.
Source
project/layout_paragraphs
Select target project
No results found
2.1.1
Select Git revision
Swap
Target
project/layout_paragraphs
Select target project
project/layout_paragraphs
issue/layout_paragraphs-3179068
issue/layout_paragraphs-3182031
issue/layout_paragraphs-3182975
issue/layout_paragraphs-3186135
issue/layout_paragraphs-3176564
issue/layout_paragraphs-3191418
issue/layout_paragraphs-3192904
issue/layout_paragraphs-3194720
issue/layout_paragraphs-3195152
issue/layout_paragraphs-3166362
issue/layout_paragraphs-3165580
issue/layout_paragraphs-3200716
issue/layout_paragraphs-3218949
issue/layout_paragraphs-3219619
issue/layout_paragraphs-3220936
issue/layout_paragraphs-3223466
issue/layout_paragraphs-3223474
issue/layout_paragraphs-3228835
issue/layout_paragraphs-3228596
issue/layout_paragraphs-3229539
issue/layout_paragraphs-3189502
issue/layout_paragraphs-3280171
issue/layout_paragraphs-3281169
issue/layout_paragraphs-3281249
issue/layout_paragraphs-3265794
issue/layout_paragraphs-3239873
issue/layout_paragraphs-3240026
issue/layout_paragraphs-3223849
issue/layout_paragraphs-3243108
issue/layout_paragraphs-3244654
issue/layout_paragraphs-3245274
issue/layout_paragraphs-3236706
issue/layout_paragraphs-3245609
issue/layout_paragraphs-3246059
issue/layout_paragraphs-3246279
issue/layout_paragraphs-3246421
issue/layout_paragraphs-3247259
issue/layout_paragraphs-3247261
issue/layout_paragraphs-3247290
issue/layout_paragraphs-3247325
issue/layout_paragraphs-3248759
issue/layout_paragraphs-3228597
issue/layout_paragraphs-3159591
issue/layout_paragraphs-3206928
issue/layout_paragraphs-3255288
issue/layout_paragraphs-3254382
issue/layout_paragraphs-3216981
issue/layout_paragraphs-3256838
issue/layout_paragraphs-3256930
issue/layout_paragraphs-3256965
issue/layout_paragraphs-3211196
issue/layout_paragraphs-3252978
issue/layout_paragraphs-3257333
issue/layout_paragraphs-3257758
issue/layout_paragraphs-3258029
issue/layout_paragraphs-3259729
issue/layout_paragraphs-3258742
issue/layout_paragraphs-3262792
issue/layout_paragraphs-3263594
issue/layout_paragraphs-3263715
issue/layout_paragraphs-3265807
issue/layout_paragraphs-3218226
issue/layout_paragraphs-3214406
issue/layout_paragraphs-3266834
issue/layout_paragraphs-3260241
issue/layout_paragraphs-3269075
issue/layout_paragraphs-3269138
issue/layout_paragraphs-3268984
issue/layout_paragraphs-3260905
issue/layout_paragraphs-3275179
issue/layout_paragraphs-3275082
issue/layout_paragraphs-3279920
issue/layout_paragraphs-3292261
issue/layout_paragraphs-3276855
issue/layout_paragraphs-3295280
issue/layout_paragraphs-3291180
issue/layout_paragraphs-3295875
issue/layout_paragraphs-3296245
issue/layout_paragraphs-3298887
issue/layout_paragraphs-3265669
issue/layout_paragraphs-3303746
issue/layout_paragraphs-3273387
issue/layout_paragraphs-3301423
issue/layout_paragraphs-3304375
issue/layout_paragraphs-3306081
issue/layout_paragraphs-3310556
issue/layout_paragraphs-3305070
issue/layout_paragraphs-3309551
issue/layout_paragraphs-3200409
issue/layout_paragraphs-3310425
issue/layout_paragraphs-3161998
issue/layout_paragraphs-3312974
issue/layout_paragraphs-3314592
issue/layout_paragraphs-3279438
issue/layout_paragraphs-3318664
issue/layout_paragraphs-3288247
issue/layout_paragraphs-3321990
issue/layout_paragraphs-3322683
issue/layout_paragraphs-3330003
issue/layout_paragraphs-3334527
issue/layout_paragraphs-3352822
issue/layout_paragraphs-3352330
issue/layout_paragraphs-3350168
issue/layout_paragraphs-3350293
issue/layout_paragraphs-3350591
issue/layout_paragraphs-3351087
issue/layout_paragraphs-3352714
issue/layout_paragraphs-3346370
issue/layout_paragraphs-3341449
issue/layout_paragraphs-3356968
issue/layout_paragraphs-3363009
issue/layout_paragraphs-3363994
issue/layout_paragraphs-3366968
issue/layout_paragraphs-3208180
issue/layout_paragraphs-3402392
issue/layout_paragraphs-3401176
issue/layout_paragraphs-3397222
issue/layout_paragraphs-3371332
issue/layout_paragraphs-3375154
issue/layout_paragraphs-3375574
issue/layout_paragraphs-3384758
issue/layout_paragraphs-3392004
issue/layout_paragraphs-3392735
issue/layout_paragraphs-3396601
issue/layout_paragraphs-3088073
issue/layout_paragraphs-3397799
issue/layout_paragraphs-3260656
issue/layout_paragraphs-3313147
issue/layout_paragraphs-3440313
issue/layout_paragraphs-3322244
issue/layout_paragraphs-3413513
issue/layout_paragraphs-3414540
issue/layout_paragraphs-3415710
issue/layout_paragraphs-3417765
issue/layout_paragraphs-3312143
issue/layout_paragraphs-3418020
issue/layout_paragraphs-3425482
issue/layout_paragraphs-3311074
issue/layout_paragraphs-3374970
issue/layout_paragraphs-3438379
issue/layout_paragraphs-3442354
issue/layout_paragraphs-3436408
issue/layout_paragraphs-3423427
issue/layout_paragraphs-3442062
issue/layout_paragraphs-3317406
issue/layout_paragraphs-3431608
issue/layout_paragraphs-3272820
issue/layout_paragraphs-3445101
issue/layout_paragraphs-3444924
issue/layout_paragraphs-3276258
issue/layout_paragraphs-3452591
issue/layout_paragraphs-3454050
issue/layout_paragraphs-3454602
issue/layout_paragraphs-3456036
issue/layout_paragraphs-3456595
issue/layout_paragraphs-3457454
issue/layout_paragraphs-3460542
issue/layout_paragraphs-3457716
issue/layout_paragraphs-3359174
issue/layout_paragraphs-3465076
issue/layout_paragraphs-3468162
issue/layout_paragraphs-3468168
issue/layout_paragraphs-3467793
issue/layout_paragraphs-3471864
issue/layout_paragraphs-3367086
issue/layout_paragraphs-3473350
issue/layout_paragraphs-3473953
issue/layout_paragraphs-3474006
issue/layout_paragraphs-3474413
issue/layout_paragraphs-3476838
issue/layout_paragraphs-3459974
issue/layout_paragraphs-3394409
issue/layout_paragraphs-3293418
issue/layout_paragraphs-3482875
issue/layout_paragraphs-3492372
issue/layout_paragraphs-3493180
issue/layout_paragraphs-3392717
issue/layout_paragraphs-3501070
issue/layout_paragraphs-3502083
issue/layout_paragraphs-3502315
issue/layout_paragraphs-3384307
issue/layout_paragraphs-3472181
issue/layout_paragraphs-3512377
issue/layout_paragraphs-3513938
issue/layout_paragraphs-3514212
186 results
2.1.0
Select Git revision
Show changes
Only incoming changes from source
Include changes to target since source was created
Compare
Commits on Source (1)
Issue
#3474006
: JS API for dragula moves callback
· 9d46d1a5
Justin Toupin
authored
6 months ago
9d46d1a5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
js/builder.js
+37
-19
37 additions, 19 deletions
js/builder.js
with
37 additions
and
19 deletions
js/builder.js
View file @
9d46d1a5
...
@@ -95,7 +95,7 @@
...
@@ -95,7 +95,7 @@
const
reorderComponents
=
debounce
(
doReorderComponents
);
const
reorderComponents
=
debounce
(
doReorderComponents
);
/**
/**
* Returns a list of errors for the
attempted move
, or an empty array if there are no errors.
* Returns a list of errors for the
"accepts" dragula callback
, or an empty array if there are no errors.
* @param {Element} settings The builder settings.
* @param {Element} settings The builder settings.
* @param {Element} el The element being moved.
* @param {Element} el The element being moved.
* @param {Element} target The destination
* @param {Element} target The destination
...
@@ -103,14 +103,30 @@
...
@@ -103,14 +103,30 @@
* @param {Element} sibling The next sibling element
* @param {Element} sibling The next sibling element
* @return {Array} An array of errors.
* @return {Array} An array of errors.
*/
*/
function
move
Errors
(
settings
,
el
,
target
,
source
,
sibling
)
{
function
accepts
Errors
(
settings
,
el
,
target
,
source
,
sibling
)
{
return
Drupal
.
_lpbMoveErrors
return
Drupal
.
_lpbMoveErrors
.
accepts
.
map
((
validator
)
=>
.
map
((
validator
)
=>
validator
.
apply
(
null
,
[
settings
,
el
,
target
,
source
,
sibling
]),
validator
.
apply
(
null
,
[
settings
,
el
,
target
,
source
,
sibling
]),
)
)
.
filter
((
errors
)
=>
errors
!==
false
&&
errors
!==
undefined
);
.
filter
((
errors
)
=>
errors
!==
false
&&
errors
!==
undefined
);
}
}
/**
* Returns a list of errors for the "moves" dragula callback, or an empty array if there are no errors.
* @param {Element} settings The builder settings.
* @param {Element} el The element being moved.
* @param {Element} source The source
* @param {Element} handle The drag handle being grabbed
* @return {Array} An array of errors.
*/
function
movesErrors
(
settings
,
el
,
source
,
handle
)
{
return
Drupal
.
_lpbMoveErrors
.
moves
.
map
((
validator
)
=>
validator
.
apply
(
null
,
[
settings
,
el
,
source
,
handle
]),
)
.
filter
((
errors
)
=>
errors
!==
false
&&
errors
!==
undefined
);
}
/**
/**
* Updates move buttons to reflect current state.
* Updates move buttons to reflect current state.
* @param {jQuery} $element The builder element.
* @param {jQuery} $element The builder element.
...
@@ -258,7 +274,7 @@
...
@@ -258,7 +274,7 @@
// Check to see if the next position is allowed by calling the 'accepts' callback.
// Check to see if the next position is allowed by calling the 'accepts' callback.
while
(
while
(
targets
[
pos
+
dir
]
!==
undefined
&&
targets
[
pos
+
dir
]
!==
undefined
&&
move
Errors
(
accepts
Errors
(
settings
,
settings
,
$item
[
0
],
$item
[
0
],
targets
[
pos
+
dir
].
parentNode
,
targets
[
pos
+
dir
].
parentNode
,
...
@@ -401,17 +417,9 @@
...
@@ -401,17 +417,9 @@
containers
,
containers
,
{
{
accepts
:
(
el
,
target
,
source
,
sibling
)
=>
accepts
:
(
el
,
target
,
source
,
sibling
)
=>
moveErrors
(
settings
,
el
,
target
,
source
,
sibling
).
length
===
0
,
acceptsErrors
(
settings
,
el
,
target
,
source
,
sibling
).
length
===
0
,
moves
(
el
,
source
,
handle
)
{
moves
:
(
el
,
source
,
handle
)
=>
const
$handle
=
$
(
handle
);
movesErrors
(
settings
,
el
,
source
,
handle
).
length
===
0
,
if
(
$handle
.
closest
(
'
.lpb-drag
'
).
length
)
{
return
true
;
}
if
(
$handle
.
closest
(
'
.lpb-controls
'
).
length
)
{
return
false
;
}
return
true
;
},
},
},
);
);
drake
.
on
(
'
drop
'
,
(
el
)
=>
{
drake
.
on
(
'
drop
'
,
(
el
)
=>
{
...
@@ -445,14 +453,18 @@
...
@@ -445,14 +453,18 @@
return
drake
;
return
drake
;
}
}
// An array of move error callback functions.
// An object with arrays for "accepts" and "moves" dragula callback functions.
Drupal
.
_lpbMoveErrors
=
[];
Drupal
.
_lpbMoveErrors
=
{
'
accepts
'
:
[],
'
moves
'
:
[],
};
/**
/**
* Registers a move validation function.
* Registers a move validation function.
* @param {Function} f The validator function.
* @param {Function} f The validator function.
* @param {String} t The dragula callback to register the validator for.
*/
*/
Drupal
.
registerLpbMoveError
=
(
f
)
=>
{
Drupal
.
registerLpbMoveError
=
(
f
,
c
=
'
accepts
'
)
=>
{
Drupal
.
_lpbMoveErrors
.
push
(
f
);
Drupal
.
_lpbMoveErrors
[
c
]
.
push
(
f
);
};
};
// Checks nesting depth.
// Checks nesting depth.
Drupal
.
registerLpbMoveError
((
settings
,
el
,
target
)
=>
{
Drupal
.
registerLpbMoveError
((
settings
,
el
,
target
)
=>
{
...
@@ -477,6 +489,12 @@
...
@@ -477,6 +489,12 @@
}
}
}
}
});
});
// Prevents controls ui from being used as a drag handle.
Drupal
.
registerLpbMoveError
((
settings
,
el
,
source
,
handle
)
=>
{
if
(
!
handle
.
closest
(
'
.lpb-drag
'
)
&&
handle
.
closest
(
'
.lpb-controls
'
))
{
return
'
Disable dragging for controls elements other than drag handle.
'
;
}
},
'
moves
'
);
Drupal
.
AjaxCommands
.
prototype
.
LayoutParagraphsEventCommand
=
(
Drupal
.
AjaxCommands
.
prototype
.
LayoutParagraphsEventCommand
=
(
ajax
,
ajax
,
response
,
response
,
...
...
This diff is collapsed.
Click to expand it.