Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

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
Show changes
Commits on Source (1)
...@@ -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 moveErrors(settings, el, target, source, sibling) { function acceptsErrors(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 &&
moveErrors( acceptsErrors(
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,
......