b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / app / code / Swissup / Firecheckout / view / frontend / web / js / utils /
Filename/home/dev2.destoffenstraat.com/app/code/Swissup/Firecheckout/view/frontend/web/js/utils/move.js
Size3.28 kb
Permissionrwxrwxrwx
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified06-Jun-2022 12:57
Last accessed23-Aug-2025 02:07
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
define([
'Magento_Ui/js/lib/view/utils/async',
'underscore'
], function ($, _) {
'use strict';

/**
* @param {String|Element} selector1
* @param {String|Element} selector2
* @param {Function} callback
*/
function wait(selector1, selector2, callback, deferred) {
deferred = deferred || $.Deferred();

if (typeof selector1 === 'string') {
$.async(selector1, function (element1) {
wait(element1, selector2, callback, deferred);
});
} else if (typeof selector2 === 'string') {
$.async(selector2, function (element2) {
wait(selector1, element2, callback, deferred);
});
} else {
_.delay(function () {
callback(selector1, selector2);
deferred.resolve();
}, 20);
}

return deferred;
}

/**
* @param {Element} source
* @param {Element} destination
* @param {Number} sortOrder
* @param {String} method
*/
function insert(source, destination, sortOrder, method) {
var key = 'fc-moved-' + method,
data = $(destination).data(key) || [],
item = {
el: source,
sortOrder: _.isNumber(sortOrder) ? sortOrder : 100
},
index = _.sortedIndex(data, item, 'sortOrder');

if (index > 0) {
$(data[index - 1].el).after(source);
} else if (data.length) {
$(data[0].el).before(source);
} else {
$(destination)[method](source);
}

data.splice(index, 0, item);
$(destination).data(key, data);
}

/**
* @param {String|Element} source
* @return {Object}
*/
return function (source) {
return {
/**
* @param {String|Element} destination
* @param {Number} sortOrder
*/
before: function (destination, sortOrder) {
return wait(source, destination, function (sourceEl, destinationEl) {
insert(sourceEl, destinationEl, sortOrder, 'before');
});
},

/**
* @param {String|Element} destination
* @param {Number} sortOrder
*/
after: function (destination, sortOrder) {
return wait(source, destination, function (sourceEl, destinationEl) {
insert(sourceEl, destinationEl, sortOrder, 'after');
});
},

/**
* @param {String|Element} destination
* @param {Number} sortOrder
*/
prepend: function (destination, sortOrder) {
return wait(source, destination, function (sourceEl, destinationEl) {
insert(sourceEl, destinationEl, sortOrder, 'prepend');
});
},

/**
* @param {String|Element} destination
* @param {Number} sortOrder
*/
append: function (destination, sortOrder) {
return wait(source, destination, function (sourceEl, destinationEl) {
insert(sourceEl, destinationEl, sortOrder, 'append');
});
}
};
};
});