Вызовите метод триггера из пользовательского JavaScript
Я использую элемент управления загрузчиком, чтобы загрузить файл. Но я хочу вызвать пользовательскую javascription после завершения загрузки. Есть ли способ, которым я могу указать несколько действий Click для кнопки?
Или есть ли способ вызвать методы Trigger из пользовательского JavaScript?
define(["sitecore"], function (Sitecore) {
var UploadContacts = Sitecore.Definitions.App.extend({
initialized: function () {
},
uploadFile: function () {
this.FileUploader.upload();
// custom calls
}
});
return UploadContacts;
});
1 ответ
Решение
Я сделал то же самое, что вы ищете здесь. То, как я это сделал, - это указать функцию для элемента управления загрузчиком, к которому нужно будет обращаться при завершении загрузки.
При инициализации кода вашей страницы сделайте что-то вроде этого.
initialize: function () {
this.on("upload-fileUploaded", this.FileUploaded, this);
},
- "upload-fileUploaded" - это событие, на которое вы подписались, файл загружен.
- this.FileUploaded - это функция JS, которую вы хотите вызывать для каждого загруженного файла.
Вот пример моей функции обратного вызова, модал содержит ссылку на загруженный элемент в Sitecore. Вы можете получить идентификатор элемента Sitecore для вновь созданного элемента, как показано ниже.
FileUploaded: function (model) {
this.filesUploaded.push(model.itemId);
this.upFiles.viewModel.refreshNumberFiles();
if (this.upFiles.viewModel.globalPercentage() === 100) {
this.ImportData();
}
}