1
This commit is contained in:
101
iMES.WebApi/wwwroot/BiManage/JS/Sortable/README.md
Normal file
101
iMES.WebApi/wwwroot/BiManage/JS/Sortable/README.md
Normal file
@@ -0,0 +1,101 @@
|
||||
DEPRECATION NOTICE
|
||||
------------------
|
||||
This project is not mantained anymore. I recommend using [RubaXa's Sortable](https://github.com/RubaXa/Sortable) or [voidberg's fork](https://github.com/voidberg/html5sortable) instead.
|
||||
|
||||
HTML5 Sortable jQuery Plugin
|
||||
============================
|
||||
|
||||
**[Demos & Documentation](http://farhadi.ir/projects/html5sortable)**
|
||||
|
||||
Features
|
||||
--------
|
||||
* Less than 1KB (minified and gzipped).
|
||||
* Built using native HTML5 drag and drop API.
|
||||
* Supports both list and grid style layouts.
|
||||
* Similar API and behaviour to jquery-ui sortable plugin.
|
||||
* Works in IE 5.5+, Firefox 3.5+, Chrome 3+, Safari 3+ and, Opera 12+.
|
||||
|
||||
Usage
|
||||
-----
|
||||
Use `sortable` method to create a sortable list:
|
||||
|
||||
``` javascript
|
||||
$('.sortable').sortable();
|
||||
```
|
||||
Use `.sortable-dragging` and `.sortable-placeholder` CSS selectors to change the styles of a dragging item and its placeholder respectively.
|
||||
|
||||
Use `sortupdate` event if you want to do something when the order changes (e.g. storing the new order):
|
||||
|
||||
``` javascript
|
||||
$('.sortable').sortable().bind('sortupdate', function(e, ui) {
|
||||
//ui.item contains the current dragged element.
|
||||
//Triggered when the user stopped sorting and the DOM position has changed.
|
||||
});
|
||||
```
|
||||
|
||||
Use `items` option to specifiy which items inside the element should be sortable:
|
||||
|
||||
``` javascript
|
||||
$('.sortable').sortable({
|
||||
items: ':not(.disabled)'
|
||||
});
|
||||
```
|
||||
Use `handle` option to restrict drag start to the specified element:
|
||||
|
||||
``` javascript
|
||||
$('.sortable').sortable({
|
||||
handle: 'h2'
|
||||
});
|
||||
```
|
||||
Setting `forcePlaceholderSize` option to true, forces the placeholder to have a height:
|
||||
|
||||
``` javascript
|
||||
$('.sortable').sortable({
|
||||
forcePlaceholderSize: true
|
||||
});
|
||||
```
|
||||
|
||||
Use `connectWith` option to create connected lists:
|
||||
|
||||
``` javascript
|
||||
$('#sortable1, #sortable2').sortable({
|
||||
connectWith: '.connected'
|
||||
});
|
||||
```
|
||||
|
||||
To remove the sortable functionality completely:
|
||||
|
||||
``` javascript
|
||||
$('.sortable').sortable('destroy');
|
||||
```
|
||||
|
||||
To disable the sortable temporarily:
|
||||
|
||||
``` javascript
|
||||
$('.sortable').sortable('disable');
|
||||
```
|
||||
|
||||
To enable a disabled sortable:
|
||||
|
||||
``` javascript
|
||||
$('.sortable').sortable('enable');
|
||||
```
|
||||
|
||||
The API is compatible with jquery-ui. So you can use jquery-ui as a polyfill in older browsers:
|
||||
|
||||
``` javascript
|
||||
yepnope({
|
||||
test: Modernizr.draganddrop,
|
||||
yep: 'jquery.sortable.js',
|
||||
nope: 'jquery-ui.min.js',
|
||||
complete: function() {
|
||||
$('.sortable').sortable().bind('sortupdate', function(e, ui) {
|
||||
//Store the new order.
|
||||
}
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
License
|
||||
-------
|
||||
Released under the MIT license.
|
||||
26
iMES.WebApi/wwwroot/BiManage/JS/Sortable/bower.json
Normal file
26
iMES.WebApi/wwwroot/BiManage/JS/Sortable/bower.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "html5sortable",
|
||||
"version": "0.0.1",
|
||||
"homepage": "http://farhadi.ir/projects/html5sortable/",
|
||||
"authors": [
|
||||
"Ali Farhadi <a.farhadi@gmail.com>"
|
||||
],
|
||||
"description": "Lightweight jQuery plugin to create sortable lists and grids using native HTML5 drag and drop API.",
|
||||
"main": "./jquery.sortable.js",
|
||||
"keywords": [
|
||||
"html5",
|
||||
"sortable",
|
||||
"jquery"
|
||||
],
|
||||
"license": "MIT",
|
||||
"ignore": [
|
||||
"**/.*",
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"test",
|
||||
"tests"
|
||||
],
|
||||
"dependencies": {
|
||||
"jquery": ">= 1.9.1"
|
||||
}
|
||||
}
|
||||
176
iMES.WebApi/wwwroot/BiManage/JS/Sortable/index.html
Normal file
176
iMES.WebApi/wwwroot/BiManage/JS/Sortable/index.html
Normal file
@@ -0,0 +1,176 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>HTML5 Sortable jQuery Plugin</title>
|
||||
<style>
|
||||
header, section {
|
||||
display: block;
|
||||
}
|
||||
body {
|
||||
font-family: 'Droid Serif';
|
||||
}
|
||||
h1, h2 {
|
||||
text-align: center;
|
||||
font-weight: normal;
|
||||
}
|
||||
#features {
|
||||
margin: auto;
|
||||
width: 460px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.connected, .sortable, .exclude, .handles {
|
||||
margin: auto;
|
||||
padding: 0;
|
||||
width: 310px;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
.sortable.grid {
|
||||
overflow: hidden;
|
||||
}
|
||||
.connected li, .sortable li, .exclude li, .handles li {
|
||||
list-style: none;
|
||||
border: 1px solid #CCC;
|
||||
background: #F6F6F6;
|
||||
font-family: "Tahoma";
|
||||
color: #1C94C4;
|
||||
margin: 5px;
|
||||
padding: 5px;
|
||||
height: 22px;
|
||||
}
|
||||
.handles span {
|
||||
cursor: move;
|
||||
}
|
||||
li.disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
.sortable.grid li {
|
||||
line-height: 80px;
|
||||
float: left;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
text-align: center;
|
||||
}
|
||||
li.highlight {
|
||||
background: #FEE25F;
|
||||
}
|
||||
#connected {
|
||||
width: 440px;
|
||||
overflow: hidden;
|
||||
margin: auto;
|
||||
}
|
||||
.connected {
|
||||
float: left;
|
||||
width: 200px;
|
||||
}
|
||||
.connected.no2 {
|
||||
float: right;
|
||||
}
|
||||
li.sortable-placeholder {
|
||||
border: 1px dashed #CCC;
|
||||
background: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header>
|
||||
<h1>HTML5 Sortable jQuery Plugin</h1>
|
||||
</header>
|
||||
<section>
|
||||
<h2>Features</h2>
|
||||
<ul id="features">
|
||||
<li>Less than 1KB (minified).
|
||||
<li>Built using native HTML5 drag and drop API.</li>
|
||||
<li>Supports both list and grid style layouts.</li>
|
||||
<li>Similar API and behaviour to jquery-ui sortable plugin.</li>
|
||||
<li>Works in IE 5.5+, Firefox 3.5+, Chrome 3+, Safari 3+ and, Opera 12+.</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Sortable List</h2>
|
||||
<ul class="sortable list">
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
<li>Item 4</li>
|
||||
<li>Item 5</li>
|
||||
<li>Item 6</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Sortable Grid</h2>
|
||||
<ul class="sortable grid">
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
<li>Item 4</li>
|
||||
<li>Item 5</li>
|
||||
<li>Item 6</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Exclude Items</h2>
|
||||
<ul class="exclude list">
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
<li class="disabled">Item 4</li>
|
||||
<li class="disabled">Item 5</li>
|
||||
<li class="disabled">Item 6</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Sortable List With Handles</h2>
|
||||
<ul class="handles list">
|
||||
<li><span>::</span> Item 1</li>
|
||||
<li><span>::</span> Item 2</li>
|
||||
<li><span>::</span> Item 3</li>
|
||||
<li><span>::</span> Item 4</li>
|
||||
<li><span>::</span> Item 5</li>
|
||||
<li><span>::</span> Item 6</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="connected">
|
||||
<h2>Connected Sortable Lists</h2>
|
||||
<ul class="connected list">
|
||||
<li>Item 1</li>
|
||||
<li>Item 2</li>
|
||||
<li>Item 3</li>
|
||||
<li>Item 4</li>
|
||||
<li>Item 5</li>
|
||||
<li>Item 6</li>
|
||||
</ul>
|
||||
<ul class="connected list no2">
|
||||
<li class="highlight">Item 1</li>
|
||||
<li class="highlight">Item 2</li>
|
||||
<li class="highlight">Item 3</li>
|
||||
<li class="highlight">Item 4</li>
|
||||
<li class="highlight">Item 5</li>
|
||||
<li class="highlight">Item 6</li>
|
||||
</ul>
|
||||
</section>
|
||||
<a href="http://github.com/farhadi/html5sortable"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://a248.e.akamai.net/assets.github.com/img/edc6dae7a1079163caf7f17c60495bbb6d027c93/687474703a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f677265656e5f3030373230302e706e67" alt="Fork me on GitHub"></a>
|
||||
<script src="/BiManage/JS/jquery-1.11.2.min.js"></script>
|
||||
<script src="jquery.sortable.js"></script>
|
||||
<script>
|
||||
$(function() {
|
||||
$('.sortable').sortable();
|
||||
$('.handles').sortable({
|
||||
handle: 'span'
|
||||
});
|
||||
$('.connected').sortable({
|
||||
connectWith: '.connected'
|
||||
});
|
||||
$('.exclude').sortable({
|
||||
items: ':not(.disabled)'
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
85
iMES.WebApi/wwwroot/BiManage/JS/Sortable/jquery.sortable.js
Normal file
85
iMES.WebApi/wwwroot/BiManage/JS/Sortable/jquery.sortable.js
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
* HTML5 Sortable jQuery Plugin
|
||||
* http://farhadi.ir/projects/html5sortable
|
||||
*
|
||||
* Copyright 2012, Ali Farhadi
|
||||
* Released under the MIT license.
|
||||
*/
|
||||
(function($) {
|
||||
var dragging, placeholders = $();
|
||||
$.fn.sortable = function(options) {
|
||||
var method = String(options);
|
||||
options = $.extend({
|
||||
connectWith: false
|
||||
}, options);
|
||||
return this.each(function() {
|
||||
if (/^(enable|disable|destroy)$/.test(method)) {
|
||||
var items = $(this).children($(this).data('items')).attr('draggable', method == 'enable');
|
||||
if (method == 'destroy') {
|
||||
items.add(this).removeData('connectWith items')
|
||||
.off('dragstart.h5s dragend.h5s selectstart.h5s dragover.h5s dragenter.h5s drop.h5s');
|
||||
}
|
||||
return;
|
||||
}
|
||||
var isHandle, index, items = $(this).children(options.items);
|
||||
var placeholder = $('<' + (/^(ul|ol)$/i.test(this.tagName) ? 'li' : 'div') + ' class="sortable-placeholder">');
|
||||
items.find(options.handle).mousedown(function() {
|
||||
isHandle = true;
|
||||
}).mouseup(function() {
|
||||
isHandle = false;
|
||||
});
|
||||
$(this).data('items', options.items)
|
||||
placeholders = placeholders.add(placeholder);
|
||||
if (options.connectWith) {
|
||||
$(options.connectWith).add(this).data('connectWith', options.connectWith);
|
||||
}
|
||||
items.attr('draggable', 'true').on('dragstart.h5s', function(e) {
|
||||
if (options.handle && !isHandle) {
|
||||
return false;
|
||||
}
|
||||
isHandle = false;
|
||||
var dt = e.originalEvent.dataTransfer;
|
||||
dt.effectAllowed = 'move';
|
||||
dt.setData('Text', 'dummy');
|
||||
index = (dragging = $(this)).addClass('sortable-dragging').index();
|
||||
}).on('dragend.h5s', function() {
|
||||
if (!dragging) {
|
||||
return;
|
||||
}
|
||||
dragging.removeClass('sortable-dragging').show();
|
||||
placeholders.detach();
|
||||
if (index != dragging.index()) {
|
||||
dragging.parent().trigger('sortupdate', {item: dragging});
|
||||
}
|
||||
dragging = null;
|
||||
}).not('a[href], img').on('selectstart.h5s', function() {
|
||||
this.dragDrop && this.dragDrop();
|
||||
return false;
|
||||
}).end().add([this, placeholder]).on('dragover.h5s dragenter.h5s drop.h5s', function(e) {
|
||||
if (!items.is(dragging) && options.connectWith !== $(dragging).parent().data('connectWith')) {
|
||||
return true;
|
||||
}
|
||||
if (e.type == 'drop') {
|
||||
e.stopPropagation();
|
||||
placeholders.filter(':visible').after(dragging);
|
||||
dragging.trigger('dragend.h5s');
|
||||
return false;
|
||||
}
|
||||
e.preventDefault();
|
||||
e.originalEvent.dataTransfer.dropEffect = 'move';
|
||||
if (items.is(this)) {
|
||||
if (options.forcePlaceholderSize) {
|
||||
placeholder.height(dragging.outerHeight());
|
||||
}
|
||||
dragging.hide();
|
||||
$(this)[placeholder.index() < $(this).index() ? 'after' : 'before'](placeholder);
|
||||
placeholders.not(placeholder).detach();
|
||||
} else if (!placeholders.is(this) && !$(this).children(options.items).length) {
|
||||
placeholders.detach();
|
||||
$(this).append(placeholder);
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
};
|
||||
})(jQuery);
|
||||
8
iMES.WebApi/wwwroot/BiManage/JS/Sortable/jquery.sortable.min.js
vendored
Normal file
8
iMES.WebApi/wwwroot/BiManage/JS/Sortable/jquery.sortable.min.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
* HTML5 Sortable jQuery Plugin
|
||||
* http://farhadi.ir/projects/html5sortable
|
||||
*
|
||||
* Copyright 2012, Ali Farhadi
|
||||
* Released under the MIT license.
|
||||
*/
|
||||
(function(e){var t,n=e();e.fn.sortable=function(r){var i=String(r);r=e.extend({connectWith:false},r);return this.each(function(){if(/^enable|disable|destroy$/.test(i)){var s=e(this).children(e(this).data("items")).attr("draggable",i=="enable");if(i=="destroy"){s.add(this).removeData("connectWith items").off("dragstart.h5s dragend.h5s selectstart.h5s dragover.h5s dragenter.h5s drop.h5s")}return}var o,u,s=e(this).children(r.items);var a=e("<"+(/^ul|ol$/i.test(this.tagName)?"li":"div")+' class="sortable-placeholder">');s.find(r.handle).mousedown(function(){o=true}).mouseup(function(){o=false});e(this).data("items",r.items);n=n.add(a);if(r.connectWith){e(r.connectWith).add(this).data("connectWith",r.connectWith)}s.attr("draggable","true").on("dragstart.h5s",function(n){if(r.handle&&!o){return false}o=false;var i=n.originalEvent.dataTransfer;i.effectAllowed="move";i.setData("Text","dummy");u=(t=e(this)).addClass("sortable-dragging").index()}).on("dragend.h5s",function(){if(!t){return}t.removeClass("sortable-dragging").show();n.detach();if(u!=t.index()){t.parent().trigger("sortupdate",{item:t})}t=null}).not("a[href], img").on("selectstart.h5s",function(){this.dragDrop&&this.dragDrop();return false}).end().add([this,a]).on("dragover.h5s dragenter.h5s drop.h5s",function(i){if(!s.is(t)&&r.connectWith!==e(t).parent().data("connectWith")){return true}if(i.type=="drop"){i.stopPropagation();n.filter(":visible").after(t);t.trigger("dragend.h5s");return false}i.preventDefault();i.originalEvent.dataTransfer.dropEffect="move";if(s.is(this)){if(r.forcePlaceholderSize){a.height(t.outerHeight())}t.hide();e(this)[a.index()<e(this).index()?"after":"before"](a);n.not(a).detach()}else if(!n.is(this)&&!e(this).children(r.items).length){n.detach();e(this).append(a)}return false})})}})(jQuery);
|
||||
Reference in New Issue
Block a user