diff --git a/README.md b/README.md index 3642d8b..00e2c00 100644 --- a/README.md +++ b/README.md @@ -466,9 +466,10 @@ the extrahead block with: {% block extrahead %} {{ block.super }} - - - + + + + {% endblock extrahead %} @@ -530,8 +531,8 @@ ordering on top of that just seemed a little much in my opinion. ### Status django-admin-sortable is currently used in production. -### What's new in 2.1? -- Removed fallbacks for Django 1.8, Tox testing and many performance improvements [Pull Request 168](https://github.com/iambrandontaylor/django-admin-sortable/pull/168) thanks [@sushifan](https://github.com/jaap3) +### What's new in 2.1.1? +- Touch support ### Future - Better template support for foreign keys that are self referential. If someone would like to take on rendering recursive sortables, that would be super. diff --git a/README.rst b/README.rst index be69a9b..e120259 100644 --- a/README.rst +++ b/README.rst @@ -582,9 +582,10 @@ minimum need to extend the extrahead block with: {% block extrahead %} {{ block.super }} - - - + + + + {% endblock extrahead %} @@ -656,13 +657,10 @@ Status django-admin-sortable is currently used in production. -What's new in 2.1? -~~~~~~~~~~~~~~~~~~ +What's new in 2.1.1? +~~~~~~~~~~~~~~~~~~~~ -- Removed fallbacks for Django 1.8, Tox testing and many performance - improvements `Pull Request - 168 `__ - thanks [@sushifan](https://github.com/jaap3) +- Touch support Future ~~~~~~ diff --git a/adminsortable/__init__.py b/adminsortable/__init__.py index 5b42c1f..1a5d0c1 100644 --- a/adminsortable/__init__.py +++ b/adminsortable/__init__.py @@ -1,4 +1,4 @@ -VERSION = (2, 1, 0) +VERSION = (2, 1, 1) DEV_N = None diff --git a/adminsortable/static/adminsortable/css/admin.sortable.css b/adminsortable/static/adminsortable/css/admin.sortable.css index e03ef81..e1c857c 100644 --- a/adminsortable/static/adminsortable/css/admin.sortable.css +++ b/adminsortable/static/adminsortable/css/admin.sortable.css @@ -19,10 +19,15 @@ #sortable ul li { overflow: auto; + margin-bottom: 8px; margin-left: 0; display: block; } +#sortable ul li:last-child { + margin-bottom: 0; +} + #sortable .sortable { list-style: none; diff --git a/adminsortable/static/adminsortable/js/jquery.ui.touch-punch.min.js b/adminsortable/static/adminsortable/js/jquery.ui.touch-punch.min.js new file mode 100644 index 0000000..31272ce --- /dev/null +++ b/adminsortable/static/adminsortable/js/jquery.ui.touch-punch.min.js @@ -0,0 +1,11 @@ +/*! + * jQuery UI Touch Punch 0.2.3 + * + * Copyright 2011–2014, Dave Furfero + * Dual licensed under the MIT or GPL Version 2 licenses. + * + * Depends: + * jquery.ui.widget.js + * jquery.ui.mouse.js + */ +!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery); \ No newline at end of file diff --git a/adminsortable/templates/adminsortable/change_form.html b/adminsortable/templates/adminsortable/change_form.html index f1c190d..65763cb 100644 --- a/adminsortable/templates/adminsortable/change_form.html +++ b/adminsortable/templates/adminsortable/change_form.html @@ -8,6 +8,7 @@ {% if has_sortable_tabular_inlines or has_sortable_stacked_inlines %} + {% include 'adminsortable/csrf/jquery.django-csrf.html' with csrf_cookie_name=csrf_cookie_name %} {% endif %} diff --git a/adminsortable/templates/adminsortable/change_list.html b/adminsortable/templates/adminsortable/change_list.html index 65cd3f2..749d830 100644 --- a/adminsortable/templates/adminsortable/change_list.html +++ b/adminsortable/templates/adminsortable/change_list.html @@ -26,6 +26,7 @@ + {% include 'adminsortable/csrf/jquery.django-csrf.html' with csrf_cookie_name=csrf_cookie_name %} {% endblock %}