summaryrefslogtreecommitdiffstats
path: root/js/directive
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-30 22:19:26 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-30 22:19:26 +0200
commit35d0d8750e579c40a05f46c0e29cafce9123ae60 (patch)
tree03a2641ca8fed4baa7682cc5c87ddc47b7b99df8 /js/directive
parente9a2c6bac0dceeffb86e9fb50802af945555d565 (diff)
more additions
Diffstat (limited to 'js/directive')
-rw-r--r--js/directive/NewsDraggable.js22
-rw-r--r--js/directive/NewsDroppable.js34
2 files changed, 56 insertions, 0 deletions
diff --git a/js/directive/NewsDraggable.js b/js/directive/NewsDraggable.js
new file mode 100644
index 000000000..76360ecb7
--- /dev/null
+++ b/js/directive/NewsDraggable.js
@@ -0,0 +1,22 @@
+/**
+ * ownCloud - News
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Bernhard Posselt <dev@bernhard-posselt.com>
+ * @copyright Bernhard Posselt 2014
+ */
+app.directive('newsDraggable', () => {
+ 'use strict';
+
+ return (scope, elem, attr) => {
+ let options = scope.$eval(attr.newsDraggable);
+
+ if (angular.isDefined(options)) {
+ elem.draggable(options);
+ } else {
+ elem.draggable();
+ }
+ };
+}); \ No newline at end of file
diff --git a/js/directive/NewsDroppable.js b/js/directive/NewsDroppable.js
new file mode 100644
index 000000000..a68f26444
--- /dev/null
+++ b/js/directive/NewsDroppable.js
@@ -0,0 +1,34 @@
+/**
+ * ownCloud - News
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Bernhard Posselt <dev@bernhard-posselt.com>
+ * @copyright Bernhard Posselt 2014
+ */
+app.directive('newsDroppable', ($rootScope) => {
+ 'use strict';
+
+ return (scope, elem, attr) => {
+ let details = {
+ accept: '.feed',
+ hoverClass: 'drag-and-drop',
+ greedy: true,
+ drop: (event, ui) => {
+
+ $('.drag-and-drop').removeClass('drag-and-drop');
+
+ let data = {
+ folderId: parseInt(elem.data('id'), 10),
+ feedId: parseInt($(ui.draggable).data('id'), 10)
+ };
+
+ $rootScope.$broadcast('moveFeedToFolder', data);
+ scope.$apply(attr.droppable);
+ }
+ };
+
+ elem.droppable(details);
+ };
+}); \ No newline at end of file