use of com.haulmont.cuba.web.AppUI in project cuba by cuba-platform.
the class DefaultExceptionHandler method handle.
@Override
public boolean handle(ErrorEvent event, App app) {
// Copied from com.vaadin.server.DefaultErrorHandler.doDefault()
// noinspection ThrowableResultOfMethodCallIgnored
Throwable t = event.getThrowable();
// noinspection ThrowableResultOfMethodCallIgnored
if (t instanceof SocketException || ExceptionUtils.getRootCause(t) instanceof SocketException) {
// Most likely client browser closed socket
return true;
}
// Support Tomcat 8 ClientAbortException
if (StringUtils.contains(ExceptionUtils.getMessage(t), "ClientAbortException")) {
// Most likely client browser closed socket
return true;
}
AppUI ui = AppUI.getCurrent();
if (ui == null) {
// there is no UI, just add error to log
return true;
}
if (t != null) {
if (app.getConnection().getSession() != null) {
showDialog(app, t);
} else {
showNotification(app, t);
}
}
return true;
}
use of com.haulmont.cuba.web.AppUI in project cuba by cuba-platform.
the class WebDataGrid method setupGridColumnProperties.
protected void setupGridColumnProperties(Grid.Column gridColumn, Column column) {
gridColumn.setHeaderCaption(column.getCaption());
gridColumn.setHidingToggleCaption(column.getCollapsingToggleCaption());
if (column.isWidthAuto()) {
gridColumn.setWidthUndefined();
} else {
gridColumn.setWidth(column.getWidth());
}
gridColumn.setExpandRatio(column.getExpandRatio());
gridColumn.setMinimumWidth(column.getMinimumWidth());
gridColumn.setMaximumWidth(column.getMaximumWidth());
gridColumn.setHidden(column.isCollapsed());
gridColumn.setHidable(column.isCollapsible() && column.getOwner().isColumnsCollapsingAllowed());
gridColumn.setResizable(column.isResizable());
gridColumn.setEditable(column.isEditable());
AppUI current = AppUI.getCurrent();
if (current != null && current.isTestMode()) {
addColumnId(gridColumn, column);
}
// workaround to prevent exception from GridColumn while Grid is using default IndexedContainer
if (getContainerDataSource() instanceof SortableDataGridIndexedCollectionDsWrapper) {
gridColumn.setSortable(column.isSortable() && column.getOwner().isSortable());
}
((ColumnImpl) column).setGridColumn(gridColumn);
if (column.getFormatter() != null) {
FormatterBasedConverter converter = new FormatterBasedConverter(column.getFormatter());
gridColumn.setConverter(converter);
} else {
MetaProperty metaProperty = column.getPropertyPath() != null ? column.getPropertyPath().getMetaProperty() : null;
if (metaProperty != null && Collection.class.isAssignableFrom(metaProperty.getJavaType())) {
final FormatterBasedConverter converter = new FormatterBasedConverter(new CollectionFormatter());
gridColumn.setConverter(converter);
} else {
setDefaultConverter(gridColumn, metaProperty, column.getType());
setDefaultRenderer(gridColumn, metaProperty, column.getType());
}
}
}
use of com.haulmont.cuba.web.AppUI in project cuba by cuba-platform.
the class WebFieldGroup method setDebugId.
@Override
public void setDebugId(String id) {
super.setDebugId(id);
AppUI ui = AppUI.getCurrent();
if (ui != null && id != null) {
for (final FieldConfig fc : fields.values()) {
com.vaadin.ui.Field field = ((FieldConfigImpl) fc).getComposition();
if (field != null) {
field.setId(ui.getTestIdManager().getTestId(id + "_" + fc.getId()));
}
}
}
}
use of com.haulmont.cuba.web.AppUI in project cuba by cuba-platform.
the class WebWindow method attachTimerToUi.
protected void attachTimerToUi(WebTimer timer) {
AppUI appUI = (AppUI) component.getUI();
appUI.addTimer(timer.getTimerImpl());
}
Aggregations