Skip to content

Commit

Permalink
[BUILD] v0.14.0
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasoppermann committed May 28, 2024
1 parent 3296673 commit 57d3460
Show file tree
Hide file tree
Showing 8 changed files with 14,877 additions and 10,963 deletions.
59 changes: 45 additions & 14 deletions dist/html5sortable.amd.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*
* Released under the MIT license.
*/
define(function () { 'use strict';
define((function () { 'use strict';

/**
* Get or set data on element
Expand Down Expand Up @@ -52,8 +52,6 @@ define(function () { 'use strict';
return Array.from(nodes).filter(function (item) { return item.nodeType === 1 && item.matches(selector); });
});

/* eslint-env browser */
/* eslint-disable no-use-before-define */
var stores = new Map();
/* eslint-enable no-use-before-define */
/**
Expand Down Expand Up @@ -107,7 +105,7 @@ define(function () { 'use strict';
*/
Store.prototype.setConfig = function (key, value) {
if (!this._config.has(key)) {
throw new Error("Trying to set invalid configuration item: " + key);
throw new Error("Trying to set invalid configuration item: ".concat(key));
}
// set config
this._config.set(key, value);
Expand All @@ -120,7 +118,7 @@ define(function () { 'use strict';
*/
Store.prototype.getConfig = function (key) {
if (!this._config.has(key)) {
throw new Error("Invalid configuration item requested: " + key);
throw new Error("Invalid configuration item requested: ".concat(key));
}
return this._config.get(key);
};
Expand Down Expand Up @@ -217,7 +215,7 @@ define(function () { 'use strict';
return;
}
element.addEventListener(eventName, callback);
store(element).setData("event" + eventName, callback);
store(element).setData("event".concat(eventName), callback);
}
/**
* @param {Array<HTMLElement>|HTMLElement} element
Expand All @@ -230,8 +228,8 @@ define(function () { 'use strict';
}
return;
}
element.removeEventListener(eventName, store(element).getData("event" + eventName));
store(element).deleteData("event" + eventName);
element.removeEventListener(eventName, store(element).getData("event".concat(eventName)));
store(element).deleteData("event".concat(eventName));
}

/**
Expand Down Expand Up @@ -544,8 +542,21 @@ define(function () { 'use strict';
if (!customDragImage) {
customDragImage = defaultDragImage;
}
// check if setDragImage method is available
if (event.dataTransfer && event.dataTransfer.setDragImage) {
// set default function if none is provided
if (customDragImage instanceof HTMLElement) {
var elementOffset = offset(customDragImage);
var dragImage = {
element: customDragImage,
posX: event.pageX - elementOffset.left,
posY: event.pageY - elementOffset.top
};
// set the drag image on the event
event.dataTransfer.effectAllowed = 'copyMove';
event.dataTransfer.setData('text/plain', getEventTarget(event).id);
event.dataTransfer.setDragImage(dragImage.element, event.offsetX, event.offsetY);
}
else if (typeof customDragImage === 'function' && event.dataTransfer.setDragImage) {
// check if setDragImage method is available
// get the elements offset
var elementOffset = offset(draggedElement);
// get the dragImage
Expand Down Expand Up @@ -724,6 +735,16 @@ define(function () { 'use strict';
removeEventListener(items, 'mouseenter');
removeEventListener(items, 'mouseleave');
};
/**
*
* remove Store map values
* @param {Array|NodeList} items
*/
var removeStoreData = function (items) {
if (items instanceof Array) {
items.forEach(function (element) { return stores.delete(element); });
}
};
// Remove container events
var removeContainerEvents = function (originContainer, previousContainer) {
if (originContainer) {
Expand Down Expand Up @@ -820,6 +841,8 @@ define(function () { 'use strict';
removeEventListener(handles, 'mousedown');
removeItemEvents(items);
removeItemData(items);
removeStoreData(items);
removeStoreData([sortableElement]);
removeContainerEvents(originContainer, previousContainer);
// clear sortable flag
sortableElement.isSortable = false;
Expand Down Expand Up @@ -923,7 +946,7 @@ define(function () { 'use strict';
// log deprecation
['connectWith', 'disableIEFix'].forEach(function (configKey) {
if (Object.prototype.hasOwnProperty.call(options, configKey) && options[configKey] !== null) {
console.warn("HTML5Sortable: You are using the deprecated configuration \"" + configKey + "\". This will be removed in an upcoming version, make sure to migrate to the new options when updating.");
console.warn("HTML5Sortable: You are using the deprecated configuration \"".concat(configKey, "\". This will be removed in an upcoming version, make sure to migrate to the new options when updating."));
}
});
// merge options with default options
Expand Down Expand Up @@ -985,7 +1008,15 @@ define(function () { 'use strict';
originElementIndex = getIndex(dragItem, sortableContainer.children);
originContainer = sortableContainer;
// add transparent clone or other ghost to cursor
setDragImage(e, dragItem, options.customDragImage);
var dragImage = null;
if (typeof options.customDragImage === 'string') {
dragImage = document.querySelector(options.customDragImage);
dragImage !== null && dragImage !== void 0 ? dragImage : console.error('The NodeList provided does not contain any valid elements.');
}
else if (options.customDragImage === 'function') {
dragImage = options.customDragImage;
}
setDragImage(e, dragItem, dragImage);
// cache selsection & add attr for dragging
draggingHeight = getElementHeight(dragItem);
draggingWidth = getElementWidth(dragItem);
Expand Down Expand Up @@ -1272,7 +1303,7 @@ define(function () { 'use strict';
return;
}
var options = addData(sortableElement, 'opts');
if (parseInt(options.maxItems) && filter(sortableElement.children, addData(sortableElement, 'items')).length > parseInt(options.maxItems) && dragging.parentElement !== sortableElement) {
if (parseInt(options.maxItems) && filter(sortableElement.children, addData(sortableElement, 'items')).length >= parseInt(options.maxItems) && dragging.parentElement !== sortableElement) {
return;
}
e.preventDefault();
Expand Down Expand Up @@ -1306,4 +1337,4 @@ define(function () { 'use strict';

return sortable;

});
}));
55 changes: 43 additions & 12 deletions dist/html5sortable.cjs.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,6 @@ var filter = (function (nodes, selector) {
return Array.from(nodes).filter(function (item) { return item.nodeType === 1 && item.matches(selector); });
});

/* eslint-env browser */
/* eslint-disable no-use-before-define */
var stores = new Map();
/* eslint-enable no-use-before-define */
/**
Expand Down Expand Up @@ -107,7 +105,7 @@ var Store = /** @class */ (function () {
*/
Store.prototype.setConfig = function (key, value) {
if (!this._config.has(key)) {
throw new Error("Trying to set invalid configuration item: " + key);
throw new Error("Trying to set invalid configuration item: ".concat(key));
}
// set config
this._config.set(key, value);
Expand All @@ -120,7 +118,7 @@ var Store = /** @class */ (function () {
*/
Store.prototype.getConfig = function (key) {
if (!this._config.has(key)) {
throw new Error("Invalid configuration item requested: " + key);
throw new Error("Invalid configuration item requested: ".concat(key));
}
return this._config.get(key);
};
Expand Down Expand Up @@ -217,7 +215,7 @@ function addEventListener(element, eventName, callback) {
return;
}
element.addEventListener(eventName, callback);
store(element).setData("event" + eventName, callback);
store(element).setData("event".concat(eventName), callback);
}
/**
* @param {Array<HTMLElement>|HTMLElement} element
Expand All @@ -230,8 +228,8 @@ function removeEventListener(element, eventName) {
}
return;
}
element.removeEventListener(eventName, store(element).getData("event" + eventName));
store(element).deleteData("event" + eventName);
element.removeEventListener(eventName, store(element).getData("event".concat(eventName)));
store(element).deleteData("event".concat(eventName));
}

/**
Expand Down Expand Up @@ -544,8 +542,21 @@ var setDragImage = (function (event, draggedElement, customDragImage) {
if (!customDragImage) {
customDragImage = defaultDragImage;
}
// check if setDragImage method is available
if (event.dataTransfer && event.dataTransfer.setDragImage) {
// set default function if none is provided
if (customDragImage instanceof HTMLElement) {
var elementOffset = offset(customDragImage);
var dragImage = {
element: customDragImage,
posX: event.pageX - elementOffset.left,
posY: event.pageY - elementOffset.top
};
// set the drag image on the event
event.dataTransfer.effectAllowed = 'copyMove';
event.dataTransfer.setData('text/plain', getEventTarget(event).id);
event.dataTransfer.setDragImage(dragImage.element, event.offsetX, event.offsetY);
}
else if (typeof customDragImage === 'function' && event.dataTransfer.setDragImage) {
// check if setDragImage method is available
// get the elements offset
var elementOffset = offset(draggedElement);
// get the dragImage
Expand Down Expand Up @@ -724,6 +735,16 @@ var removeItemEvents = function (items) {
removeEventListener(items, 'mouseenter');
removeEventListener(items, 'mouseleave');
};
/**
*
* remove Store map values
* @param {Array|NodeList} items
*/
var removeStoreData = function (items) {
if (items instanceof Array) {
items.forEach(function (element) { return stores.delete(element); });
}
};
// Remove container events
var removeContainerEvents = function (originContainer, previousContainer) {
if (originContainer) {
Expand Down Expand Up @@ -820,6 +841,8 @@ var destroySortable = function (sortableElement) {
removeEventListener(handles, 'mousedown');
removeItemEvents(items);
removeItemData(items);
removeStoreData(items);
removeStoreData([sortableElement]);
removeContainerEvents(originContainer, previousContainer);
// clear sortable flag
sortableElement.isSortable = false;
Expand Down Expand Up @@ -923,7 +946,7 @@ function sortable(sortableElements, options) {
// log deprecation
['connectWith', 'disableIEFix'].forEach(function (configKey) {
if (Object.prototype.hasOwnProperty.call(options, configKey) && options[configKey] !== null) {
console.warn("HTML5Sortable: You are using the deprecated configuration \"" + configKey + "\". This will be removed in an upcoming version, make sure to migrate to the new options when updating.");
console.warn("HTML5Sortable: You are using the deprecated configuration \"".concat(configKey, "\". This will be removed in an upcoming version, make sure to migrate to the new options when updating."));
}
});
// merge options with default options
Expand Down Expand Up @@ -985,7 +1008,15 @@ function sortable(sortableElements, options) {
originElementIndex = getIndex(dragItem, sortableContainer.children);
originContainer = sortableContainer;
// add transparent clone or other ghost to cursor
setDragImage(e, dragItem, options.customDragImage);
var dragImage = null;
if (typeof options.customDragImage === 'string') {
dragImage = document.querySelector(options.customDragImage);
dragImage !== null && dragImage !== void 0 ? dragImage : console.error('The NodeList provided does not contain any valid elements.');
}
else if (options.customDragImage === 'function') {
dragImage = options.customDragImage;
}
setDragImage(e, dragItem, dragImage);
// cache selsection & add attr for dragging
draggingHeight = getElementHeight(dragItem);
draggingWidth = getElementWidth(dragItem);
Expand Down Expand Up @@ -1272,7 +1303,7 @@ function sortable(sortableElements, options) {
return;
}
var options = addData(sortableElement, 'opts');
if (parseInt(options.maxItems) && filter(sortableElement.children, addData(sortableElement, 'items')).length > parseInt(options.maxItems) && dragging.parentElement !== sortableElement) {
if (parseInt(options.maxItems) && filter(sortableElement.children, addData(sortableElement, 'items')).length >= parseInt(options.maxItems) && dragging.parentElement !== sortableElement) {
return;
}
e.preventDefault();
Expand Down
Loading

0 comments on commit 57d3460

Please sign in to comment.