Как показать предварительный загрузчик во время app.request для элемента автозаполнения? - PullRequest
1 голос
/ 12 марта 2019

Я использовал элемент preloader в другой части приложения, однако я не могу показать preloader, пока автозаполнение не завершит загрузку всех элементов в автозаполнение. Я положил событие show (), прежде чем делать приложение. request (), но ничего не отображается.

 //HERE WERE I START TO SHOW THE PRELOADER
   app.preloader.show();
   var url = urlServer + 'company/';
   var key = appStorage.get('loginKey');
   app.request({
        url: url,
        data: {keys: key},
        success: function (data) {
                  console.log(data);
                  const  d = JSON.parse(data);
                  const company = d.data;

                  var loadSelect = app.autocomplete.create({
                  inputEl: nameElement,
                  openIn: 'dropdown',
                  preloader: true, //enable preloader
                  valueProperty: 'prodotto', //object's "value" property name
                  textProperty: 'prodotto', //object's "text" property name
                  notFoundText: 'Nothing',
                  limit: 5,
                  typeahead: true,
                  dropdownPlaceholderText: 'Scrivi...',
                  source: function (query, render) {
                    var autocomplete = this;
                    var results = [];
                    if (query.length === 0) {
                      render(results);
                      return;
                    }
                    // Show Preloader
                    autocomplete.preloaderShow();


                   // Find matched items
                        for (var i = 0; i < company.length; i++) { 
                          if (company[i].prodotto && company[i].prodotto.toLowerCase().indexOf(query.toLowerCase()) === 0) results.push(company[i]);
                        }
                        // Hide Preoloader
                        autocomplete.preloaderHide();
                        // Render items by passing array with result items
                        render(results);
                    }
                  });
                  //HERE WHERE I STOP THE PRELOADER
                  app.preloader.hide();

        },//success
        error: function(){
            app.preloader.hide();
            app.dialog.alert("ERROR");
    }
   });//request
...