Как имитировать текущую загрузку с помощью p: fileUpload - PullRequest
3 голосов
/ 28 мая 2020

У меня есть приложение PrimeFaces 8, которое мне нужно стилизовать. Одним из требований является применение настраиваемого стиля к пользовательскому интерфейсу, который отображается в процессе загрузки в компоненте p:fileUpload с использованием auto="true". Запуск этого пользовательского интерфейса путем фактической загрузки будет очень трудоемким. Есть ли способ имитировать выполняющуюся загрузку? Я просто хочу, чтобы элементы пользовательского интерфейса были видны, чтобы применить собственный стиль.

Ответы [ 2 ]

5 голосов
/ 28 мая 2020

В Авто, Расширенном (и неявном одиночном или множественном) витрине следующий

var f = new File([""], "filename", { type: 'text/html' });
var data = new Object();
PF('widget_j_idt726_j_idt727').addFileToRow(f, data);

показывает «что-то»

image after calling addFileToRow

Я получил addFileToRow из загрузка файла PrimeFaces javascript источник

Вы получаете следующую ошибку:

    TypeError: this.files[i].ajaxRequest.submit is not a function

Но я думаю, что это можно игнорировать ...

Когда вы в следующий раз вызовете ucfg.progress (...) на виджете и перед этим установите некоторые data свойства / поля /. ..

data.files = [];
data.files[0] = f;
data.total = 100;
data.loaded = 10;

PF('widget_j_idt726_j_idt727').ucfg.progress(null, data);

Показывает

enter image description here

0 голосов
/ 12 июня 2020

На самом деле это оказалось очень просто. При стилизации используйте auto="false". Это даст вам предварительный просмотр файла для загрузки, включая индикатор выполнения на 0%. Теперь с помощью средств разработки выберите элемент индикатора выполнения с именем класса ui-progressbar-value и установите для свойств стиля значение display: block; и любую ширину.

...