Переопределение пункта "Открыть" в меню elFinder
Я использую elFinder для доступа к некоторым сохраненным файлам на веб-сайте, но сами файлы не доступны напрямую. Вместо этого я запрашиваю их с помощью определенного действия контроллера. Поэтому я переопределяю getFileCallback
в elFinder использовать пользовательский URL:
getFileCallback: function (file) {
window.location.href = '@Url.Action("File", "Home")' + '?path=' + encodeURI(file);
}
Это прекрасно работает для двойного щелчка по файлу. Однако, если я просто выберу файл и использую кнопку Открыть на панели инструментов elFinder, этот обратный вызов не будет использоваться. Вместо этого он открывает всплывающее окно и пытается использовать URL-адрес по умолчанию, что приводит к ошибке 404.
Есть ли способ изменить поведение кнопки "Открыть" на панели инструментов? Я пробовал разные вещи в API событий клиента или в параметрах команд, но не могу найти ничего, что изменило бы поведение Open.
Есть какой-либо способ сделать это?
1 ответ
В итоге я полностью переопределил функцию open:
elFinder.prototype.commands.open = function () {
// custom code
};
(Просто сделайте это в script
заблокировать после загрузки кода elFinder.)
Я не могу сказать, идеален ли он, и потребуются некоторые изменения, если будут значительные обновления elFinder, но он определенно делает свою работу. (Исходя из этого, я также начал переопределять некоторые другие функции, которые используют URL, такие как тег привязки во всплывающем окне информации.)