mirror of https://github.com/RubaXa/Sortable.git
RubaXa
10 years ago
5 changed files with 107 additions and 4 deletions
File diff suppressed because one or more lines are too long
@ -0,0 +1,57 @@
|
||||
/** |
||||
* jQuery plugin for Sortable |
||||
* @author RubaXa <trash@rubaxa.org> |
||||
* @license MIT |
||||
*/ |
||||
(function (factory) { |
||||
"use strict"; |
||||
|
||||
if (typeof define === "function" && define.amd) { |
||||
define(["jquery"], factory); |
||||
} |
||||
else { |
||||
/* jshint sub:true */ |
||||
factory(jQuery); |
||||
} |
||||
})(function ($) { |
||||
"use strict"; |
||||
|
||||
|
||||
/* CODE */ |
||||
|
||||
|
||||
/** |
||||
* jQuery plugin for Sortable |
||||
* @param {Object|String} options |
||||
* @param {..*} [args] |
||||
* @returns {jQuery|*} |
||||
*/ |
||||
$.fn.sortable = function (options) { |
||||
var retVal; |
||||
|
||||
this.each(function () { |
||||
var $el = $(this), |
||||
sortable = $el.data('sortable'); |
||||
|
||||
if (!sortable && (options instanceof Object || !options)) { |
||||
sortable = new Sortable(this, options); |
||||
$el.data('sortable', sortable); |
||||
} |
||||
|
||||
if (sortable) { |
||||
if (options === 'widget') { |
||||
return sortable; |
||||
} |
||||
else if (options === 'destroy') { |
||||
sortable.destroy(); |
||||
$el.removeData('sortable'); |
||||
} |
||||
else if (options in sortable) { |
||||
retVal = sortable[sortable].apply(sortable, [].slice.call(arguments, 1)); |
||||
} |
||||
} |
||||
}); |
||||
|
||||
return (retVal === void 0) ? this : retVal; |
||||
}; |
||||
}); |
Loading…
Reference in new issue