kopia lustrzana https://github.com/c9/core
58 wiersze
1.9 KiB
JavaScript
58 wiersze
1.9 KiB
JavaScript
define(function(require, module, exports) {
|
|
main.consumes = ["dialog.question"];
|
|
main.provides = ["dialog.fileremove"];
|
|
return main;
|
|
|
|
function main(options, imports, register) {
|
|
var question = imports["dialog.question"].show;
|
|
|
|
/***** Initialization *****/
|
|
|
|
/***** Methods *****/
|
|
|
|
function show(files, onremove) {
|
|
if (files.confirmed === undefined)
|
|
files.confirmed = false;
|
|
|
|
if (files.confirmed)
|
|
return true;
|
|
|
|
function confirm(file) {
|
|
var name = file.label;
|
|
var type = file.isFolder ? "folder" : "file";
|
|
question(
|
|
"Confirm Remove",
|
|
"You are about to remove the " + (type || "item") + " " + name,
|
|
"Do you want continue? (This change cannot be undone)",
|
|
function(all){ // Yes
|
|
files.confirmed = true;
|
|
onremove(file);
|
|
if (all) {
|
|
files.forEach(function (file) {
|
|
onremove(file);
|
|
});
|
|
}
|
|
files.confirmed = false;
|
|
|
|
if (!all && files.length > 0)
|
|
confirm(files.shift());
|
|
},
|
|
function(all, cancel){ // No
|
|
if (!all && files.length > 0)
|
|
confirm(files.shift());
|
|
},
|
|
{ all: files.length > 0 }
|
|
);
|
|
}
|
|
confirm(files.shift());
|
|
|
|
return false;
|
|
};
|
|
|
|
register("", {
|
|
"dialog.fileremove": {
|
|
show: show
|
|
}
|
|
});
|
|
}
|
|
}); |