From 8b8542b493f4c6f8572a643cfcac7744e2a091db Mon Sep 17 00:00:00 2001 From: Guten Ye Date: Mon, 1 Aug 2016 11:39:19 +0800 Subject: [PATCH 1/4] add gitter chat room --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 64042c2..4a6aef1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ polymer-sortablejs ------------------- +[![Gitter][gitter-image]][gitter-url] + + A Polymer binding to [SortableJS](https://github.com/RubaXa/Sortable/). Demo: http://rubaxa.github.io/Sortable/ @@ -23,3 +26,6 @@ Demo: http://rubaxa.github.io/Sortable/ ``` $ bower install polymer-sortablejs ``` + +[gitter-image]: http://img.shields.io/badge/+%20GITTER-JOIN%20CHAT%20%E2%86%92-1DCE73.svg?style=flat-square +[gitter-url]: https://gitter.im/sortable-js/polymer-sortablejs From f3b9230dc8bd35b279010257108ac067c0c193da Mon Sep 17 00:00:00 2001 From: ess_ess Date: Fri, 5 Aug 2016 21:59:14 +0530 Subject: [PATCH 2/4] Issue: Adding pull= clone doesn't seem to work. Fix: Return from onRemove function if group.pull == 'clone' --- polymer-sortablejs.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/polymer-sortablejs.html b/polymer-sortablejs.html index aad2203..b86302b 100644 --- a/polymer-sortablejs.html +++ b/polymer-sortablejs.html @@ -101,6 +101,10 @@ }, onRemove: function(e) { + // Donot remove if group.pull is clone + if (e.target.group.pull === 'clone') { + return false; + } if (template) { template.splice("items", e.oldIndex, 1)[0]; } From c6ef66643bf5f5abb1578e48e8b89604f7a59396 Mon Sep 17 00:00:00 2001 From: christophe-g Date: Sun, 14 Aug 2016 16:27:50 +0200 Subject: [PATCH 3/4] added possiblity to have groups as Objects --- polymer-sortablejs.html | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/polymer-sortablejs.html b/polymer-sortablejs.html index b86302b..215174b 100644 --- a/polymer-sortablejs.html +++ b/polymer-sortablejs.html @@ -12,7 +12,7 @@ is: "sortable-js", properties: { - group : { type: String, value: function() { return Math.random(); }, observer: "groupChanged" }, + group : { type: Object, value: () => {return {name: Math.random()};}, observer: "groupChanged" }, sort : { type: Boolean, value: true, observer: "sortChanged" }, disabled : { type: Boolean, value: false, observer: "disabledChanged" }, store : { type: Object, value: null, observer: "storeChanged" }, @@ -153,7 +153,12 @@ } }, - groupChanged : function(value) { this.sortable && this.sortable.option("group", value); }, + groupChanged : function(value) { + if(typeof(value) === 'string') { + return this.set('group', {name: value}); + } + this.sortable && this.sortable.option("group", value ); + }, sortChanged : function(value) { this.sortable && this.sortable.option("sort", value); }, disabledChanged : function(value) { this.sortable && this.sortable.option("disabled", value); }, storeChanged : function(value) { this.sortable && this.sortable.option("store", value); }, From 77daf3bcfb59da106ccb18c170f8de8d0c12da79 Mon Sep 17 00:00:00 2001 From: christophe-g Date: Sun, 14 Aug 2016 16:36:20 +0200 Subject: [PATCH 4/4] first go at adding item object into event --- polymer-sortablejs.html | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/polymer-sortablejs.html b/polymer-sortablejs.html index b86302b..791106d 100644 --- a/polymer-sortablejs.html +++ b/polymer-sortablejs.html @@ -94,8 +94,9 @@ if (template) { var froms = e.from.querySelectorAll("template[is='dom-repeat']"); var from = froms[froms.length-1]; - var item = from.items[e.oldIndex]; - template.splice("items", e.newIndex, 0, item); + var model = from.modelForElement(e.item); + template.splice("items", e.newIndex, 0, model.item); + e.model = model; } _this.fire("add", e); }, @@ -106,7 +107,8 @@ return false; } if (template) { - template.splice("items", e.oldIndex, 1)[0]; + var item = template.splice("items", e.oldIndex, 1)[0]; + e.model = {item: item}; } _this.fire("remove", e); },