ngx-gridster
Version:
180 lines • 13.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
var GridsterUtils = /** @class */ (function () {
function GridsterUtils() {
}
/**
* @param {?} obj1
* @param {?} obj2
* @param {?} properties
* @return {?}
*/
GridsterUtils.merge = /**
* @param {?} obj1
* @param {?} obj2
* @param {?} properties
* @return {?}
*/
function (obj1, obj2, properties) {
if (!obj1 || !obj2) {
return obj1;
}
for (var p in properties) {
if (obj2[p] !== void 0) {
if (typeof obj2[p] === 'object') {
obj1[p] = GridsterUtils.merge(obj1[p], obj2[p], properties[p]);
}
else {
obj1[p] = obj2[p];
}
}
}
return obj1;
};
/**
* @param {?} func
* @param {?} wait
* @return {?}
*/
GridsterUtils.debounce = /**
* @param {?} func
* @param {?} wait
* @return {?}
*/
function (func, wait) {
/** @type {?} */
var timeout;
return (/**
* @return {?}
*/
function () {
/** @type {?} */
var context = this;
/** @type {?} */
var args = arguments;
/** @type {?} */
var later = (/**
* @return {?}
*/
function () {
timeout = null;
func.apply(context, args);
});
clearTimeout(timeout);
timeout = setTimeout(later, wait);
});
};
/**
* @param {?} e
* @return {?}
*/
GridsterUtils.checkTouchEvent = /**
* @param {?} e
* @return {?}
*/
function (e) {
if (e.clientX === undefined && e.touches) {
if (e.touches && e.touches.length) {
e.clientX = e.touches[0].clientX;
e.clientY = e.touches[0].clientY;
}
else if (e.changedTouches && e.changedTouches.length) {
e.clientX = e.changedTouches[0].clientX;
e.clientY = e.changedTouches[0].clientY;
}
}
};
/**
* @param {?} gridster
* @param {?} e
* @return {?}
*/
GridsterUtils.checkContentClassForEvent = /**
* @param {?} gridster
* @param {?} e
* @return {?}
*/
function (gridster, e) {
if (gridster.$options.draggable.ignoreContent) {
if (!GridsterUtils.checkContentClass(e.target, e.currentTarget, gridster.$options.draggable.dragHandleClass)) {
return true;
}
}
else {
if (GridsterUtils.checkContentClass(e.target, e.currentTarget, gridster.$options.draggable.ignoreContentClass)) {
return true;
}
}
return false;
};
/**
* @param {?} gridster
* @param {?} e
* @return {?}
*/
GridsterUtils.checkContentClassForEmptyCellClickEvent = /**
* @param {?} gridster
* @param {?} e
* @return {?}
*/
function (gridster, e) {
return GridsterUtils.checkContentClass(e.target, e.currentTarget, gridster.$options.draggable.ignoreContentClass)
|| GridsterUtils.checkContentClass(e.target, e.currentTarget, gridster.$options.draggable.dragHandleClass);
};
/**
* @param {?} target
* @param {?} current
* @param {?} contentClass
* @return {?}
*/
GridsterUtils.checkContentClass = /**
* @param {?} target
* @param {?} current
* @param {?} contentClass
* @return {?}
*/
function (target, current, contentClass) {
if (!target || target === current) {
return false;
}
if (target.hasAttribute('class') && target.getAttribute('class').split(' ').indexOf(contentClass) > -1) {
return true;
}
else {
return GridsterUtils.checkContentClass(target.parentNode, current, contentClass);
}
};
/**
* @param {?} a
* @param {?} b
* @return {?}
*/
GridsterUtils.compareItems = /**
* @param {?} a
* @param {?} b
* @return {?}
*/
function (a, b) {
if (a.y > b.y) {
return -1;
}
else if (a.y < b.y) {
return 1;
}
else if (a.x > b.x) {
return -1;
}
else {
return 1;
}
};
GridsterUtils.decorators = [
{ type: Injectable }
];
return GridsterUtils;
}());
export { GridsterUtils };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZHN0ZXJVdGlscy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWdyaWRzdGVyLyIsInNvdXJjZXMiOlsibGliL2dyaWRzdGVyVXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQztJQUFBO0lBc0ZBLENBQUM7Ozs7Ozs7SUFuRlEsbUJBQUs7Ozs7OztJQUFaLFVBQWEsSUFBUyxFQUFFLElBQVMsRUFBRSxVQUFlO1FBQ2hELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELEtBQUssSUFBTSxDQUFDLElBQUksVUFBVSxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO2dCQUN0QixJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDaEU7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbkI7YUFDRjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzs7Ozs7SUFFTSxzQkFBUTs7Ozs7SUFBZixVQUFnQixJQUFjLEVBQUUsSUFBWTs7WUFDdEMsT0FBWTtRQUNoQjs7O1FBQU87O2dCQUNDLE9BQU8sR0FBRyxJQUFJOztnQkFBRSxJQUFJLEdBQUcsU0FBUzs7Z0JBQ2hDLEtBQUs7OztZQUFHO2dCQUNaLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxDQUFD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QyxDQUFDO1NBQ2xGO0lBQ0gsQ0FBQzs7Ozs7O0lBRU0sMEJBQVk7Ozs7O0lBQW5CLFVBQW9CLENBQTJCLEVBQUUsQ0FBMkI7UUFDMUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ1g7YUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQixPQUFPLENBQUMsQ0FBQztTQUNWO2FBQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEIsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNYO2FBQU07WUFDTCxPQUFPLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQzs7Z0JBckZGLFVBQVU7O0lBc0ZYLG9CQUFDO0NBQUEsQUF0RkQsSUFzRkM7U0FyRlksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEdyaWRzdGVyQ29tcG9uZW50SW50ZXJmYWNlIH0gZnJvbSAnLi9ncmlkc3Rlci5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgR3JpZHN0ZXJVdGlscyB7XHJcblxyXG4gIHN0YXRpYyBtZXJnZShvYmoxOiBhbnksIG9iajI6IGFueSwgcHJvcGVydGllczogYW55KSB7XHJcbiAgICBpZiAoIW9iajEgfHwgIW9iajIpIHtcclxuICAgICAgcmV0dXJuIG9iajE7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBwIGluIHByb3BlcnRpZXMpIHtcclxuICAgICAgaWYgKG9iajJbcF0gIT09IHZvaWQgMCkge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygb2JqMltwXSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIG9iajFbcF0gPSBHcmlkc3RlclV0aWxzLm1lcmdlKG9iajFbcF0sIG9iajJbcF0sIHByb3BlcnRpZXNbcF0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvYmoxW3BdID0gb2JqMltwXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2JqMTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZWJvdW5jZShmdW5jOiBGdW5jdGlvbiwgd2FpdDogbnVtYmVyKTogKCkgPT4gdm9pZCB7XHJcbiAgICBsZXQgdGltZW91dDogYW55O1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcclxuICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMsIGFyZ3MgPSBhcmd1bWVudHM7XHJcbiAgICAgIGNvbnN0IGxhdGVyID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHRpbWVvdXQgPSBudWxsO1xyXG4gICAgICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgYXJncyk7XHJcbiAgICAgIH07XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcclxuICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQobGF0ZXIsIHdhaXQpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjaGVja1RvdWNoRXZlbnQoZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZS5jbGllbnRYID09PSB1bmRlZmluZWQgJiYgZS50b3VjaGVzKSB7XHJcbiAgICAgIGlmIChlLnRvdWNoZXMgJiYgZS50b3VjaGVzLmxlbmd0aCkge1xyXG4gICAgICAgIGUuY2xpZW50WCA9IGUudG91Y2hlc1swXS5jbGllbnRYO1xyXG4gICAgICAgIGUuY2xpZW50WSA9IGUudG91Y2hlc1swXS5jbGllbnRZO1xyXG4gICAgICB9IGVsc2UgaWYgKGUuY2hhbmdlZFRvdWNoZXMgJiYgZS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGgpIHtcclxuICAgICAgICBlLmNsaWVudFggPSBlLmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFg7XHJcbiAgICAgICAgZS5jbGllbnRZID0gZS5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2hlY2tDb250ZW50Q2xhc3NGb3JFdmVudChncmlkc3RlcjogR3JpZHN0ZXJDb21wb25lbnRJbnRlcmZhY2UsIGU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGdyaWRzdGVyLiRvcHRpb25zLmRyYWdnYWJsZS5pZ25vcmVDb250ZW50KSB7XHJcbiAgICAgIGlmICghR3JpZHN0ZXJVdGlscy5jaGVja0NvbnRlbnRDbGFzcyhlLnRhcmdldCwgZS5jdXJyZW50VGFyZ2V0LCBncmlkc3Rlci4kb3B0aW9ucy5kcmFnZ2FibGUuZHJhZ0hhbmRsZUNsYXNzKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoR3JpZHN0ZXJVdGlscy5jaGVja0NvbnRlbnRDbGFzcyhlLnRhcmdldCwgZS5jdXJyZW50VGFyZ2V0LCBncmlkc3Rlci4kb3B0aW9ucy5kcmFnZ2FibGUuaWdub3JlQ29udGVudENsYXNzKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2hlY2tDb250ZW50Q2xhc3NGb3JFbXB0eUNlbGxDbGlja0V2ZW50KGdyaWRzdGVyOiBHcmlkc3RlckNvbXBvbmVudEludGVyZmFjZSwgZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gR3JpZHN0ZXJVdGlscy5jaGVja0NvbnRlbnRDbGFzcyhlLnRhcmdldCwgZS5jdXJyZW50VGFyZ2V0LCBncmlkc3Rlci4kb3B0aW9ucy5kcmFnZ2FibGUuaWdub3JlQ29udGVudENsYXNzKVxyXG4gICAgICB8fCBHcmlkc3RlclV0aWxzLmNoZWNrQ29udGVudENsYXNzKGUudGFyZ2V0LCBlLmN1cnJlbnRUYXJnZXQsIGdyaWRzdGVyLiRvcHRpb25zLmRyYWdnYWJsZS5kcmFnSGFuZGxlQ2xhc3MpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNoZWNrQ29udGVudENsYXNzKHRhcmdldDogYW55LCBjdXJyZW50OiBhbnksIGNvbnRlbnRDbGFzczogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRhcmdldCB8fCB0YXJnZXQgPT09IGN1cnJlbnQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRhcmdldC5oYXNBdHRyaWJ1dGUoJ2NsYXNzJykgJiYgdGFyZ2V0LmdldEF0dHJpYnV0ZSgnY2xhc3MnKS5zcGxpdCgnICcpLmluZGV4T2YoY29udGVudENsYXNzKSA+IC0xKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIEdyaWRzdGVyVXRpbHMuY2hlY2tDb250ZW50Q2xhc3ModGFyZ2V0LnBhcmVudE5vZGUsIGN1cnJlbnQsIGNvbnRlbnRDbGFzcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY29tcGFyZUl0ZW1zKGE6IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfSwgYjogeyB4OiBudW1iZXIsIHk6IG51bWJlciB9KTogbnVtYmVyIHtcclxuICAgIGlmIChhLnkgPiBiLnkpIHtcclxuICAgICAgcmV0dXJuIC0xO1xyXG4gICAgfSBlbHNlIGlmIChhLnkgPCBiLnkpIHtcclxuICAgICAgcmV0dXJuIDE7XHJcbiAgICB9IGVsc2UgaWYgKGEueCA+IGIueCkge1xyXG4gICAgICByZXR1cm4gLTE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gMTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19