Я добавил новую кнопку панели инструментов и новый пункт контекстного меню в elFinder.
Работает хорошо, но этот элемент должен быть включен, только если выбран один обычный файл. Поэтому он должен быть затемнен, когда не выбран ни один файл, и должен быть затемнен, когда выбрано несколько файлов или если выбран каталог.
Я узнал, что в elFinder.prototype.commands.mycmd
я должен установить возвращаемое значение this.getstate
на:
0
если элемент панели инструментов/контекстного меню должен быть включен и-1
если его нужно отключить
Итак, теперь есть это:
el
Finder.prototype.commands.mycmd= function() {
var self = this,
fm = self.fm;
self.disableOnSearch = true;
self.title = 'mycmd';
self.getstate = function() {
// need help here to add the "directory is selected check"
return fm.selected().length == 1 ? 0 : -1;
}
self.exec = function() {
alert("hello");
}
}
К сожалению, я знаю только Perl, поэтому мне немного сложно копаться во всем javascript-коде elFinder, чтобы понять, как справиться с условием.
Знаешь кого-нибудь elFinder
достаточно глубоко, чтобы помочь мне с моим состоянием?