gitlab-org--gitlab-foss/app/assets/javascripts/boards/mixins/sortable_default_options.js

32 lines
788 B
JavaScript
Raw Normal View History

/* global DocumentTouch */
import sortableConfig from 'ee_else_ce/sortable/sortable_config';
2018-02-19 19:06:16 +00:00
export function sortableStart() {
2017-04-10 23:52:46 +00:00
document.body.classList.add('is-dragging');
}
export function sortableEnd() {
2017-04-10 23:52:46 +00:00
document.body.classList.remove('is-dragging');
}
2016-08-19 13:16:07 +00:00
export function getBoardSortableDefaultOptions(obj) {
const touchEnabled =
'ontouchstart' in window || (window.DocumentTouch && document instanceof DocumentTouch);
const defaultSortOptions = {
...sortableConfig,
filter: '.no-drag',
delay: touchEnabled ? 100 : 0,
scrollSensitivity: touchEnabled ? 60 : 100,
2017-04-10 23:52:46 +00:00
scrollSpeed: 20,
onStart: sortableStart,
onEnd: sortableEnd,
};
2017-04-10 23:52:46 +00:00
Object.keys(obj).forEach((key) => {
defaultSortOptions[key] = obj[key];
});
2017-04-10 23:52:46 +00:00
return defaultSortOptions;
}