From 0075764baed1986b34baa2273265e8d617311296 Mon Sep 17 00:00:00 2001 From: llj Date: Tue, 3 Jan 2017 18:39:14 +0800 Subject: [PATCH 1/2] [dir view] drag & drop: highlight the dir item --- static/scripts/app/views/dirent.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/static/scripts/app/views/dirent.js b/static/scripts/app/views/dirent.js index 18f78fdd59..e09eff26eb 100644 --- a/static/scripts/app/views/dirent.js +++ b/static/scripts/app/views/dirent.js @@ -79,10 +79,14 @@ define([ 'click .select': 'select', 'click .file-star': 'starFile', 'click .img-name-link': 'viewImageWithPopup', + // mv by 'drag & drop' 'dragstart': 'itemDragstart', 'dragover': 'itemDragover', + 'dragenter': 'itemDragenter', + 'dragleave': 'itemDragleave', 'drop': 'itemDrop', + 'click .download-dir': 'downloadDir', 'click .share': 'share', 'click .delete': 'del', // 'delete' is a preserve word @@ -158,6 +162,26 @@ define([ ev.dataTransfer.dropEffect = 'move'; }, + itemDragenter: function(e) { + if (this.model.get('perm') != 'rw') { + return false; + } + if (!this.model.get('is_dir')) { + return false; + } + this.$('.dir-link').removeClass('normal'); + }, + + itemDragleave: function(e) { + if (this.model.get('perm') != 'rw') { + return false; + } + if (!this.model.get('is_dir')) { + return false; + } + this.$('.dir-link').addClass('normal'); + }, + itemDrop: function(e) { if (this.model.get('perm') != 'rw') { return false; @@ -165,6 +189,8 @@ define([ if (!this.model.get('is_dir')) { return false; } + this.$('.dir-link').addClass('normal'); + var ev = e.originalEvent; ev.preventDefault(); From 4d4762b1af5436327a18b3e7e94766fd8cf6a4a6 Mon Sep 17 00:00:00 2001 From: llj Date: Wed, 4 Jan 2017 13:51:38 +0800 Subject: [PATCH 2/2] [dir view] drag & drop: modified highlight effect --- static/scripts/app/views/dirent.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/static/scripts/app/views/dirent.js b/static/scripts/app/views/dirent.js index e09eff26eb..523ea5bcbd 100644 --- a/static/scripts/app/views/dirent.js +++ b/static/scripts/app/views/dirent.js @@ -169,7 +169,7 @@ define([ if (!this.model.get('is_dir')) { return false; } - this.$('.dir-link').removeClass('normal'); + this.$el.css({'background-color':'#f8f8f8'}); }, itemDragleave: function(e) { @@ -179,7 +179,7 @@ define([ if (!this.model.get('is_dir')) { return false; } - this.$('.dir-link').addClass('normal'); + this.$el.removeAttr('style'); }, itemDrop: function(e) { @@ -189,7 +189,7 @@ define([ if (!this.model.get('is_dir')) { return false; } - this.$('.dir-link').addClass('normal'); + this.$el.removeAttr('style'); var ev = e.originalEvent; ev.preventDefault();