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