Add dummy cut-copy-paste in drive context menu
This commit is contained in:
parent
a63d62595c
commit
2f5072e4e0
1 changed files with 66 additions and 4 deletions
|
@ -92,6 +92,9 @@ define([
|
|||
var $folderIcon = $('<span>', {
|
||||
"class": faFolder + " cptools cp-app-drive-icon-folder cp-app-drive-content-icon"
|
||||
});
|
||||
var faCut = 'fa-scissors';
|
||||
var faCopy = 'fa-files-o';
|
||||
var faPaste = 'fa-clipboard';
|
||||
//var $folderIcon = $('<img>', {src: "/customize/images/icons/folder.svg", "class": "folder icon"});
|
||||
var $folderEmptyIcon = $folderIcon.clone();
|
||||
var $folderOpenedIcon = $('<span>', {"class": faFolderOpen + " cptools cp-app-drive-icon-folder"});
|
||||
|
@ -130,6 +133,8 @@ define([
|
|||
var LS_OPENED = "app-drive-openedFolders";
|
||||
var LS_VIEWMODE = "app-drive-viewMode";
|
||||
var LS_SEARCHCURSOR = "app-drive-searchCursor";
|
||||
var LS_CUT_CONTENT = "app-drive-cutContent";
|
||||
var LS_COPIED_CONTENT = "app-drive-copiedContent";
|
||||
var FOLDER_CONTENT_ID = "cp-app-drive-content-folder";
|
||||
|
||||
var config = {};
|
||||
|
@ -387,6 +392,19 @@ define([
|
|||
'data-icon': faRestore,
|
||||
}, Messages.fc_restore)),
|
||||
$separator.clone()[0],
|
||||
h('li', h('a.cp-app-drive-context-cut.dropdown-item.cp-app-drive-context-editable', {
|
||||
'tabindex': '-1',
|
||||
'data-icon': faCut,
|
||||
}, Messages.fc_cut || "Cut")),
|
||||
h('li', h('a.cp-app-drive-context-copy.dropdown-item.cp-app-drive-context-editable', {
|
||||
'tabindex': '-1',
|
||||
'data-icon': faCopy,
|
||||
}, Messages.fc_copy || "Copy")),
|
||||
h('li', h('a.cp-app-drive-context-paste.dropdown-item.cp-app-drive-context-editable', {
|
||||
'tabindex': '-1',
|
||||
'data-icon': faPaste,
|
||||
}, Messages.fc_paste || "Paste")),
|
||||
$separator.clone()[0],
|
||||
h('li', h('a.cp-app-drive-context-rename.dropdown-item.cp-app-drive-context-editable', {
|
||||
'tabindex': '-1',
|
||||
'data-icon': faRename,
|
||||
|
@ -975,7 +993,10 @@ define([
|
|||
// Hide the new shared folder menu if we're already in a shared folder
|
||||
return manager.isInSharedFolder(currentPath) || APP.disableSF;
|
||||
}
|
||||
return AppConfig.availablePadTypes.indexOf($el.attr('data-type')) === -1;
|
||||
if (className === 'newdoc') {
|
||||
return AppConfig.availablePadTypes.indexOf($el.attr('data-type')) === -1;
|
||||
}
|
||||
if (className === 'paste') { return; }
|
||||
};
|
||||
} else {
|
||||
// In case of multiple selection, we must hide the option if at least one element
|
||||
|
@ -1084,10 +1105,10 @@ define([
|
|||
|
||||
switch(type) {
|
||||
case 'content':
|
||||
show = ['newfolder', 'newsharedfolder', 'newdoc'];
|
||||
show = ['newfolder', 'newsharedfolder', 'newdoc', 'paste'];
|
||||
break;
|
||||
case 'tree':
|
||||
show = ['open', 'openro', 'expandall', 'collapseall', 'color', 'download', 'share', 'rename', 'delete', 'deleteowned', 'removesf', 'properties', 'hashtag'];
|
||||
show = ['open', 'openro', 'expandall', 'collapseall', 'color', 'download', 'share', 'rename', 'delete', 'deleteowned', 'removesf', 'properties', 'hashtag', 'cut', 'copy'];
|
||||
break;
|
||||
case 'default':
|
||||
show = ['open', 'openro', 'share', 'openparent', 'delete', 'deleteowned', 'properties', 'hashtag'];
|
||||
|
@ -1296,6 +1317,14 @@ define([
|
|||
}
|
||||
});
|
||||
});
|
||||
// enable / disable paste
|
||||
localStore.get(LS_CUT_CONTENT, function (cut) {
|
||||
localStore.get(LS_COPIED_CONTENT, function (copied) {
|
||||
console.log("en/dis-able paste");
|
||||
console.log("disabled: ", !cut && !copied);
|
||||
$menu.find(".cp-app-drive-context-paste").toggleClass("disabled", !cut && !copied);
|
||||
});
|
||||
});
|
||||
$menu.css({ display: "block" });
|
||||
if (APP.mobile()) { return; }
|
||||
var h = $menu.outerHeight();
|
||||
|
@ -3470,7 +3499,7 @@ define([
|
|||
if (paths.length !== 1) { return; }
|
||||
displayRenameInput(paths[0].element, paths[0].path);
|
||||
}
|
||||
if ($(this).hasClass("cp-app-drive-context-color")) {
|
||||
else if ($(this).hasClass("cp-app-drive-context-color")) {
|
||||
var currentColor = getFolderColor(paths[0].path);
|
||||
pickFolderColor(paths[0].element, currentColor, function (color) {
|
||||
paths.forEach(function (p) {
|
||||
|
@ -3479,6 +3508,39 @@ define([
|
|||
refresh();
|
||||
});
|
||||
}
|
||||
else if ($(this).hasClass("cp-app-drive-context-cut")) {
|
||||
console.log("%cCUT", "color: green");
|
||||
var pathsToCut = paths.map(function (p) { return p.path; });
|
||||
console.log("pathsToCut: ", pathsToCut);
|
||||
localStore.put(LS_CUT_CONTENT, pathsToCut);
|
||||
localStore.put(LS_COPIED_CONTENT, null);
|
||||
}
|
||||
else if ($(this).hasClass("cp-app-drive-context-copy")) {
|
||||
console.log("%cCOPY", "color: green");
|
||||
var pathsToCopy = paths.map(function (p) { return p.path; });
|
||||
console.log("pathsToCopy: ", pathsToCopy);
|
||||
localStore.put(LS_CUT_CONTENT, null);
|
||||
localStore.put(LS_COPIED_CONTENT, pathsToCopy);
|
||||
}
|
||||
else if ($(this).hasClass("cp-app-drive-context-paste")) {
|
||||
console.log("%cPASTE", "color: green");
|
||||
localStore.get(LS_CUT_CONTENT, function (cut) {
|
||||
localStore.get(LS_COPIED_CONTENT, function (copied) {
|
||||
console.log("cut: ", cut);
|
||||
console.log("copied: ", copied);
|
||||
if (!cut && !copied || cut && copied) { return; }
|
||||
if (cut) {
|
||||
localStore.put(LS_CUT_CONTENT, null);
|
||||
// CUT & PASTE CONTENT
|
||||
}
|
||||
else if (copied) {
|
||||
// COPY & PASTE CONTENT
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
else if($(this).hasClass("cp-app-drive-context-delete")) {
|
||||
if (!APP.loggedIn) {
|
||||
return void deletePaths(paths);
|
||||
|
|
Loading…
Reference in a new issue