#css #progress-bar #smartgwt #smartclient
Вопрос:
Описание: У меня возникли проблемы с «progressBarrProgress», а не с «progressBarr» в Firefox. Он не заполняется на 100%, как в Chrome. Пожалуйста, посоветуйте.
Подход: Мой CSS предназначен для переопределения стиля, унаследованного от страта темы smartclient. Если бы в CSS не было введено значение width = 100%, индикаторы выполнения оставались бы на трети желаемой ширины (не знаю, почему). С шириной: 100% добавлено в файл css, панель прогресса расширяется до нужной ширины, но progressbarProgress расширяется примерно до 30% в FireFox. В Chrome progressbarПрогресс ведет себя корректно.
Отладка: В файле CSS я добавил свойство width: 100% !important;
для связанных элементов progressbarProgress
, но панель все еще остается расширенной примерно на 30%.
Код:
import com.smartgwt.client.widgets.Progressbar;
import org.moxieapps.gwt.uploader.client.Uploader;
import org.moxieapps.gwt.uploader.client.events.UploadProgressHandler;
import org.moxieapps.gwt.uploader.client.events.UploadSuccessEvent;
...
private Uploader uploader;
...
final Progressbar currFileProgBar = new Progressbar();
final Progressbar allFileProgBar = new Progressbar();
final Label currFileProgBarLabel = new Label("Current File Progress");
final Label allFileProgBarLabel = new Label("Total Progress");
...
// called as files are uploaded to update progress bars
uploader.setUploadProgressHandler(new UploadProgressHandler() {
// called continuously as file is being uploaded
public boolean onUploadProgress(UploadProgressEvent uploadProgressEvent) {
Double curPctDone = (uploadProgressEvent.getBytesComplete()
/ (double) uploadProgressEvent.getBytesTotal()) * 100;
currFileProgBarLabel.setContents("<b>" uploadProgressEvent.getFile().getName()
" (Progress: " curPctDone.intValue() "%)</b>");
currFileProgBar.setPercentDone(curPctDone.intValue());
if (curPctDone >= 100) {
numFilesProcessed ;
}
totalPctDone = (numFilesProcessed / (double) numTotalUploadFiles) * 100;
// limit totalPctDone to 100 if it ever exceeds it
if (totalPctDone > 100) {
totalPctDone = 100.0;
}
allFileProgBarLabel
.setContents("<b>Total Progress: " totalPctDone.intValue() "%</b>");
allFileProgBar.setPercentDone(totalPctDone.intValue());
return true;
}
});
CSS
.progressbar,
.progressbarOver,
.progressbarDown,
.progressbarSelected {
width: 100% !important;
height: 24px;
}
.progressbarProgress,
.progressbarProgressOver,
.progressbarProgressDown,
.progressbarProgressSelected {
width: 100% !important;
height: 24px;
}
progressBarПрогресс в Chrome
progressBarProgress in FireFox