initial
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
/**
|
||||
* @class elFinder command "mkfile"
|
||||
* Create new empty file
|
||||
*
|
||||
* @author Dmitry (dio) Levashov
|
||||
**/
|
||||
elFinder.prototype.commands.mkfile = function() {
|
||||
"use strict";
|
||||
var self = this;
|
||||
|
||||
this.disableOnSearch = true;
|
||||
this.updateOnSelect = false;
|
||||
this.mime = 'text/plain';
|
||||
this.prefix = 'untitled file.txt';
|
||||
this.variants = [];
|
||||
|
||||
this.getTypeName = function(mime, type) {
|
||||
var fm = self.fm,
|
||||
name;
|
||||
if (name = fm.messages['kind' + fm.kinds[mime]]) {
|
||||
name = fm.i18n(['extentiontype', type.toUpperCase(), name]);
|
||||
} else {
|
||||
name = fm.i18n(['extentionfile', type.toUpperCase()]);
|
||||
}
|
||||
return name;
|
||||
};
|
||||
|
||||
this.fm.bind('open reload canMakeEmptyFile', function() {
|
||||
var fm = self.fm,
|
||||
hides = fm.getCommand('edit').getMkfileHides();
|
||||
self.variants = [];
|
||||
if (fm.mimesCanMakeEmpty) {
|
||||
$.each(fm.mimesCanMakeEmpty, function(mime, type) {
|
||||
type && !hides[mime] && fm.uploadMimeCheck(mime) && self.variants.push([mime, self.getTypeName(mime, type)]);
|
||||
});
|
||||
}
|
||||
self.change();
|
||||
});
|
||||
|
||||
this.getstate = function() {
|
||||
return this.fm.cwd().write ? 0 : -1;
|
||||
};
|
||||
|
||||
this.exec = function(_dum, mime) {
|
||||
var fm = self.fm,
|
||||
type, err;
|
||||
if (type = fm.mimesCanMakeEmpty[mime]) {
|
||||
if (fm.uploadMimeCheck(mime)) {
|
||||
this.mime = mime;
|
||||
this.prefix = fm.i18n(['untitled file', type]);
|
||||
return $.proxy(fm.res('mixin', 'make'), self)();
|
||||
}
|
||||
err = ['errMkfile', self.getTypeName(mime, type)];
|
||||
}
|
||||
return $.Deferred().reject(err);
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user