use of com.revolsys.ui.web.config.Page in project com.revolsys.open by revolsys.
the class HtmlUiBuilder method getPage.
protected Page getPage(final String prefix, final String name) {
final String pageName = getName(prefix, name);
Page viewPage = getPage(pageName);
if (viewPage == null) {
viewPage = getPage(name);
}
return viewPage;
}
use of com.revolsys.ui.web.config.Page in project com.revolsys.open by revolsys.
the class HtmlUiBuilder method newObjectEditPage.
public Element newObjectEditPage(final T object, final String prefix) throws IOException, ServletException {
if (object == null) {
throw new PageNotFoundException();
} else {
final HttpServletRequest request = HttpServletUtils.getRequest();
final Set<String> parameterNamesToSave = new HashSet<>();
parameterNamesToSave.add(getIdParameterName());
final String pageName = getName(prefix, "edit");
final Form form = newTableForm(object, pageName);
for (final String param : parameterNamesToSave) {
form.addSavedParameter(param, request.getParameter(param));
}
form.initialize(request);
if (form.isPosted() && form.isMainFormTask()) {
if (form.isValid() && preUpdate(form, object)) {
updateObject(object);
postUpdate(object);
final Map<String, Object> parameters = new HashMap<>();
// Get after object has changed
final Object id = Property.get(object, getIdPropertyName());
parameters.put(getIdParameterName(), id);
final Page viewPage = getPage(prefix, "view");
final String url = viewPage.getFullUrl(parameters);
redirectAfterCommit(url);
return new TabElementContainer();
} else {
setRollbackOnly(object);
}
} else {
setRollbackOnly(object);
}
final Page page = getPage(prefix, "edit");
final String title = page.getExpandedTitle();
request.setAttribute("title", title);
final Menu actionMenu = new Menu();
addMenuItem(actionMenu, prefix, "view", "Cancel", "_top").addProperty("buttonClass", "btn-danger");
addMenuItem(actionMenu, prefix, "edit", "Revert to Saved", "_top").addProperty("buttonClass", "btn-warning");
final String name = form.getName();
final Menu saveItem = new Menu("Save", "javascript:$('#" + name + "').submit()");
saveItem.addProperty("buttonClass", "btn-primary");
actionMenu.addMenuItem(saveItem);
final ButtonsToolbarElement buttonsToolbar = new ButtonsToolbarElement(actionMenu);
final ElementContainer view = new ElementContainer(form, buttonsToolbar);
final TabElementContainer tabs = new TabElementContainer();
tabs.add(title, view);
return tabs;
}
}
use of com.revolsys.ui.web.config.Page in project com.revolsys.open by revolsys.
the class HtmlUiBuilder method redirectToTab.
public Object redirectToTab(final Object parentBuilder, final String parentPageName, final String tabName) {
final HtmlUiBuilder<?> builder = getBuilder(parentBuilder);
if (builder != null) {
final Page parentPage = builder.getPage(parentPageName);
if (parentPage != null) {
String url = parentPage.getFullUrl();
if (url != null) {
url += "#" + getTypeName() + "_" + tabName;
redirectAfterCommit(url);
return null;
}
}
}
throw new RuntimeException("Unable to get page " + parentPageName + " from builder " + parentBuilder);
}
use of com.revolsys.ui.web.config.Page in project com.revolsys.open by revolsys.
the class HtmlUiBuilder method setPageTitleAttribute.
public void setPageTitleAttribute(final HttpServletRequest request, final String pageName) {
final Page page = getPage(pageName);
if (page != null) {
final String title = page.getExpandedTitle();
request.setAttribute("title", title);
request.setAttribute("pageHeading", title);
}
}
Aggregations