pandorafms/pandora_console/include/javascript/gridstack.jQueryUI.js

136 lines
3.5 KiB
JavaScript

/**
* gridstack.js 0.3.0
* http://troolee.github.io/gridstack.js/
* (c) 2014-2016 Pavel Reznikov, Dylan Weiss
* gridstack.js may be freely distributed under the MIT license.
* @preserve
*/
(function(factory) {
if (typeof define === "function" && define.amd) {
define([
"jquery",
"lodash",
"gridstack",
"jquery-ui/data",
"jquery-ui/disable-selection",
"jquery-ui/focusable",
"jquery-ui/form",
"jquery-ui/ie",
"jquery-ui/keycode",
"jquery-ui/labels",
"jquery-ui/jquery-1-7",
"jquery-ui/plugin",
"jquery-ui/safe-active-element",
"jquery-ui/safe-blur",
"jquery-ui/scroll-parent",
"jquery-ui/tabbable",
"jquery-ui/unique-id",
"jquery-ui/version",
"jquery-ui/widget",
"jquery-ui/widgets/mouse",
"jquery-ui/widgets/draggable",
"jquery-ui/widgets/droppable",
"jquery-ui/widgets/resizable"
], factory);
} else if (typeof exports !== "undefined") {
try {
jQuery = require("jquery");
} catch (e) {}
try {
_ = require("lodash");
} catch (e) {}
try {
GridStackUI = require("gridstack");
} catch (e) {}
factory(jQuery, _, GridStackUI);
} else {
factory(jQuery, _, GridStackUI);
}
})(function($, _, GridStackUI) {
var scope = window;
/**
* @class JQueryUIGridStackDragDropPlugin
* jQuery UI implementation of drag'n'drop gridstack plugin.
*/
function JQueryUIGridStackDragDropPlugin(grid) {
GridStackUI.GridStackDragDropPlugin.call(this, grid);
}
GridStackUI.GridStackDragDropPlugin.registerPlugin(
JQueryUIGridStackDragDropPlugin
);
JQueryUIGridStackDragDropPlugin.prototype = Object.create(
GridStackUI.GridStackDragDropPlugin.prototype
);
JQueryUIGridStackDragDropPlugin.prototype.constructor = JQueryUIGridStackDragDropPlugin;
JQueryUIGridStackDragDropPlugin.prototype.resizable = function(el, opts) {
el = $(el);
if (opts === "disable" || opts === "enable") {
el.resizable(opts);
} else if (opts === "option") {
var key = arguments[2];
var value = arguments[3];
el.resizable(opts, key, value);
} else {
el.resizable(
_.extend({}, this.grid.opts.resizable, {
start: opts.start || function() {},
stop: opts.stop || function() {},
resize: opts.resize || function() {}
})
);
}
return this;
};
JQueryUIGridStackDragDropPlugin.prototype.draggable = function(el, opts) {
el = $(el);
if (opts === "disable" || opts === "enable") {
el.draggable(opts);
} else {
el.draggable(
_.extend({}, this.grid.opts.draggable, {
containment: this.grid.opts.isNested
? this.grid.container.parent()
: null,
start: opts.start || function() {},
stop: opts.stop || function() {},
drag: opts.drag || function() {}
})
);
}
return this;
};
JQueryUIGridStackDragDropPlugin.prototype.droppable = function(el, opts) {
el = $(el);
if (opts === "disable" || opts === "enable") {
el.droppable(opts);
} else {
el.droppable({
accept: opts.accept
});
}
return this;
};
JQueryUIGridStackDragDropPlugin.prototype.isDroppable = function(el, opts) {
el = $(el);
return Boolean(el.data("droppable"));
};
JQueryUIGridStackDragDropPlugin.prototype.on = function(
el,
eventName,
callback
) {
$(el).on(eventName, callback);
return this;
};
return JQueryUIGridStackDragDropPlugin;
});