layout-builder.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. * DO NOT EDIT THIS FILE.
  3. * See the following change record for more information,
  4. * https://www.drupal.org/node/2815083
  5. * @preserve
  6. **/
  7. (function ($, _ref) {
  8. var ajax = _ref.ajax,
  9. behaviors = _ref.behaviors;
  10. behaviors.layoutBuilder = {
  11. attach: function attach(context) {
  12. $(context).find('.layout-builder--layout__region').sortable({
  13. items: '> .draggable',
  14. connectWith: '.layout-builder--layout__region',
  15. placeholder: 'ui-state-drop',
  16. update: function update(event, ui) {
  17. var itemRegion = ui.item.closest('.layout-builder--layout__region');
  18. if (event.target === itemRegion[0]) {
  19. var deltaTo = ui.item.closest('[data-layout-delta]').data('layout-delta');
  20. var deltaFrom = ui.sender ? ui.sender.closest('[data-layout-delta]').data('layout-delta') : deltaTo;
  21. ajax({
  22. url: [ui.item.closest('[data-layout-update-url]').data('layout-update-url'), deltaFrom, deltaTo, itemRegion.data('region'), ui.item.data('layout-block-uuid'), ui.item.prev('[data-layout-block-uuid]').data('layout-block-uuid')].filter(function (element) {
  23. return element !== undefined;
  24. }).join('/')
  25. }).execute();
  26. }
  27. }
  28. });
  29. }
  30. };
  31. })(jQuery, Drupal);