Вызовите метод триггера из пользовательского 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);
},
  1. "upload-fileUploaded" - это событие, на которое вы подписались, файл загружен.
  2. 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();
            }
        }
Другие вопросы по тегам