File: //home/retile.ru/public_html/admin/view/javascript/d_elfinder/elFinder.resources.js
"use strict"
/**
* elFinder resources registry.
* Store shared data
*
* @type Object
* @author Dmitry (dio) Levashov
**/
elFinder.prototype.resources = {
'class' : {
hover : 'ui-state-hover',
active : 'ui-state-active',
disabled : 'ui-state-disabled',
draggable : 'ui-draggable',
droppable : 'ui-droppable',
adroppable : 'elfinder-droppable-active',
cwdfile : 'elfinder-cwd-file',
cwd : 'elfinder-cwd',
tree : 'elfinder-tree',
treeroot : 'elfinder-navbar-root',
navdir : 'elfinder-navbar-dir',
navdirwrap : 'elfinder-navbar-dir-wrapper',
navarrow : 'elfinder-navbar-arrow',
navsubtree : 'elfinder-navbar-subtree',
navcollapse : 'elfinder-navbar-collapsed',
navexpand : 'elfinder-navbar-expanded',
treedir : 'elfinder-tree-dir',
placedir : 'elfinder-place-dir',
searchbtn : 'elfinder-button-search'
},
tpl : {
perms : '<span class="elfinder-perms"/>',
symlink : '<span class="elfinder-symlink"/>',
navicon : '<span class="elfinder-nav-icon"/>',
navspinner : '<span class="elfinder-navbar-spinner"/>',
navdir : '<div class="elfinder-navbar-wrapper"><span id="{id}" class="ui-corner-all elfinder-navbar-dir {cssclass}"><span class="elfinder-navbar-arrow"/><span class="elfinder-navbar-icon"/>{symlink}{permissions}{name}</span><div class="elfinder-navbar-subtree"/></div>'
},
mimes : {
text : [
'application/x-empty',
'application/javascript',
'application/xhtml+xml',
'audio/x-mp3-playlist',
'application/x-web-config',
'application/docbook+xml',
'application/x-php',
'application/x-perl',
'application/x-awk',
'application/x-config',
'application/x-csh',
'application/xml'
]
},
mixin : {
make : function() {
var fm = this.fm,
cmd = this.name,
cwd = fm.getUI('cwd'),
dfrd = $.Deferred()
.fail(function(error) {
error && fm.error(error);
})
.always(function() {
input.remove();
node.remove();
fm.enable();
}),
id = 'tmp_'+parseInt(Math.random()*100000),
phash = fm.cwd().hash,
date = new Date(),
file = {
hash : id,
name : fm.uniqueName(this.prefix),
mime : this.mime,
read : true,
write : true,
date : 'Today '+date.getHours()+':'+date.getMinutes()
},
node = cwd.trigger('create.'+fm.namespace, file).find('#'+id),
input = $('<input type="text"/>')
.keydown(function(e) {
e.stopImmediatePropagation();
if (e.keyCode == $.ui.keyCode.ESCAPE) {
dfrd.reject();
} else if (e.keyCode == $.ui.keyCode.ENTER) {
input.blur();
}
})
.mousedown(function(e) {
e.stopPropagation();
})
.blur(function() {
var name = $.trim(input.val()),
parent = input.parent();
if (parent.length) {
if (!name) {
return dfrd.reject('errInvName');
}
if (fm.fileByName(name, phash)) {
return dfrd.reject(['errExists', name]);
}
parent.html(fm.escape(name));
fm.lockfiles({files : [id]});
fm.request({
data : {cmd : cmd, name : name, target : phash},
notify : {type : cmd, cnt : 1},
preventFail : true,
syncOnFail : true
})
.fail(function(error) {
dfrd.reject(error);
})
.done(function(data) {
dfrd.resolve(data);
});
}
});
if (this.disabled() || !node.length) {
return dfrd.reject();
}
fm.disable();
node.find('.elfinder-cwd-filename').empty('').append(input.val(file.name));
input.select().focus();
return dfrd;
}
}
}