diff --git a/.meteor/packages b/.meteor/packages index e6911f08e..10d89875e 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -60,7 +60,6 @@ reactive-var@1.0.11 fortawesome:fontawesome mousetrap:mousetrap mquandalle:jquery-textcomplete -mquandalle:jquery-ui-drag-drop-sort mquandalle:mousetrap-bindglobal peerlibrary:blaze-components@=0.15.1 templates:tabs diff --git a/.meteor/versions b/.meteor/versions index 76647b8a0..0f1be0e1d 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -76,6 +76,7 @@ matb33:collection-hooks@0.9.1 matteodem:easy-search@1.6.4 mdg:validation-error@0.5.1 meteor@1.9.3 +meteor-autosize@5.0.1 meteor-base@1.4.0 meteor-platform@1.2.6 meteorhacks:aggregate@1.3.0 @@ -106,7 +107,6 @@ mquandalle:collection-mutations@0.1.0 mquandalle:jade@0.4.9 mquandalle:jade-compiler@0.4.5 mquandalle:jquery-textcomplete@0.8.0_1 -mquandalle:jquery-ui-drag-drop-sort@0.2.0 mquandalle:moment@1.0.1 mquandalle:mousetrap-bindglobal@0.0.1 msavin:usercache@1.8.0 @@ -219,7 +219,6 @@ url@1.3.2 useraccounts:core@1.14.2 useraccounts:flow-routing@1.14.2 useraccounts:unstyled@1.14.2 -meteor-autosize@5.0.1 webapp@1.10.1 webapp-hashing@1.1.0 wekan-accounts-cas@0.1.0 diff --git a/client/components/lists/list.js b/client/components/lists/list.js index b5f829f25..f4819c9f7 100644 --- a/client/components/lists/list.js +++ b/client/components/lists/list.js @@ -1,3 +1,5 @@ +require('/client/lib/jquery-ui.js') + const { calculateIndex } = Utils; BlazeComponent.extendComponent({ @@ -114,6 +116,20 @@ BlazeComponent.extendComponent({ } boardComponent.setIsDragging(false); }, + sort(event, ui) { + const $boardCanvas = $('.board-canvas'); + const boardCanvas = $boardCanvas[0]; + + if (event.pageX < 10) + { // scroll to the left + boardCanvas.scrollLeft -= 15; + ui.helper[0].offsetLeft -= 15; + } + if (event.pageX > boardCanvas.offsetWidth - 10) + { // scroll to the right + boardCanvas.scrollLeft += 15; + } + }, }); this.autorun(() => { diff --git a/client/lib/jquery-ui.js b/client/lib/jquery-ui.js new file mode 100644 index 000000000..91f7b38aa --- /dev/null +++ b/client/lib/jquery-ui.js @@ -0,0 +1,17 @@ +// https://bugs.jqueryui.com/ticket/15020 +// required for sortable +require('jquery-ui/ui/widget') +require('jquery-ui/ui/scroll-parent') +require('jquery-ui/ui/data') +require('jquery-ui/ui/widgets/mouse') +require('jquery-ui/ui/ie') +require('jquery-ui/ui/widgets/sortable') + +// required for draggable +require('jquery-ui/ui/plugin') +require('jquery-ui/ui/safe-active-element') +require('jquery-ui/ui/safe-blur') +require('jquery-ui/ui/widgets/draggable') + +// everything already required for droppable +require('jquery-ui/ui/widgets/droppable') diff --git a/package-lock.json b/package-lock.json index aa323f882..63fb378c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1802,6 +1802,19 @@ "semver": "^6.3.0" } }, + "jquery": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", + "integrity": "sha1-LInWiJterFIqfuoywUUhVZxsvwI=" + }, + "jquery-ui": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.0.tgz", + "integrity": "sha512-Osf7ECXNTYHtKBkn9xzbIf9kifNrBhfywFEKxOeB/OVctVmLlouV9mfc2qXCp6uyO4Pn72PXKOnj09qXetopCw==", + "requires": { + "jquery": ">=1.8.0 <4.0.0" + } + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", diff --git a/package.json b/package.json index 0ea0e6779..c849a4d7a 100644 --- a/package.json +++ b/package.json @@ -34,6 +34,8 @@ "exceljs": "^4.2.1", "fibers": "^5.0.0", "gridfs-stream": "https://github.com/wekan/gridfs-stream/tarball/master", + "jquery": "^2.2.4", + "jquery-ui": "^1.13.0", "jszip": "^3.7.1", "ldapjs": "^2.3.1", "markdown-it": "^12.2.0",