List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder SafeHtmlBuilder
public SafeHtmlBuilder()
From source file:org.jboss.hal.core.modelbrowser.AttributesTable.java
License:Apache License
AttributesTable(List<Property> attributes, Resources resources) { HTMLElement tbody;/*from ww w .j av a2 s . co m*/ this.root = table().css(table, tableBordered, tableStriped, CSS.attributes) .add(thead().add(tr().add(th().textContent(resources.constants().attribute())) .add(th().textContent(resources.constants().type())) .add(th().textContent(resources.constants().storage())) .add(th().textContent(resources.constants().accessType())))) .add(tbody = tbody().get()).get(); HelpTextBuilder helpTextBuilder = new HelpTextBuilder(); for (Property property : Ordering.natural().onResultOf(Property::getName).sortedCopy(attributes)) { ModelNode attribute = property.getValue(); boolean required = attribute.hasDefined(NILLABLE) && !attribute.get(NILLABLE).asBoolean(); boolean deprecated = attribute.hasDefined(DEPRECATED) && attribute.get(DEPRECATED).asBoolean(); SafeHtml description = helpTextBuilder.helpText(property); // start a new table row HtmlContentBuilder<HTMLTableRowElement> builder = tr(); // attribute name & description @NonNls SafeHtmlBuilder html = new SafeHtmlBuilder(); html.appendHtmlConstant( "<strong" + (deprecated ? " class=\"" + CSS.deprecated + "\" title=\"deprecated\"" : "") + ">") .appendEscaped(property.getName()).appendHtmlConstant("</strong>"); if (required) { html.appendHtmlConstant(NBSP).append(resources.messages().requiredMarker()); } if (description != null) { html.appendHtmlConstant("<br/>").append(description); } builder.add(td().innerHtml(html.toSafeHtml())); // type builder.add(td().textContent(Types.formatType(attribute))); // storage HTMLElement storageTd; builder.add(storageTd = td().get()); if (attribute.hasDefined(STORAGE)) { switch (attribute.get(STORAGE).asString()) { case CONFIGURATION: storageTd.appendChild(i().css(fontAwesome("database")).title(CONFIGURATION).get()); break; case RUNTIME: storageTd.appendChild(i().css(pfIcon("memory")).title(RUNTIME).get()); break; default: storageTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString(); break; } } else { builder.innerHtml(SafeHtmlUtils.fromSafeConstant(NBSP)); } // access type HTMLElement accessTypeTd; builder.add(accessTypeTd = td().get()); if (attribute.hasDefined(ACCESS_TYPE)) { switch (attribute.get(ACCESS_TYPE).asString()) { case READ_WRITE: accessTypeTd.appendChild(i().css(pfIcon("edit")).title(READ_WRITE).get()); break; case READ_ONLY: accessTypeTd.appendChild(i().css(fontAwesome("lock")).title(READ_ONLY).get()); break; case METRIC: accessTypeTd.appendChild(i().css(pfIcon("trend-up")).title(METRIC).get()); break; default: accessTypeTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString(); break; } } else { builder.innerHtml(SafeHtmlUtils.fromSafeConstant(NBSP)); } tbody.appendChild(builder.get()); } }
From source file:org.jboss.hal.core.modelbrowser.ChildrenPanel.java
License:Apache License
@SuppressWarnings("HardCodedStringLiteral") void update(Node<Context> node, ResourceAddress address) { this.parent = node; SafeHtmlBuilder safeHtml = new SafeHtmlBuilder(); if (node.data.hasSingletons()) { safeHtml.appendEscaped("Singleton "); }/*from w ww.ja v a 2 s. c om*/ safeHtml.appendEscaped("Child Resources of ").appendHtmlConstant("<code>").appendEscaped(node.text) .appendHtmlConstant("</code>"); header.innerHTML = safeHtml.toSafeHtml().asString(); Operation operation = new Operation.Builder(address.getParent(), READ_CHILDREN_NAMES_OPERATION) .param(CHILD_TYPE, node.text).build(); dispatcher.execute(operation, result -> { List<String> names = result.asList().stream().map(ModelNode::asString).collect(toList()); table.update(names); if (node.data.hasSingletons()) { logger.debug("Read {} / {} singletons", names.size(), node.data.getSingletons().size()); } else { // enable / disable buttons makes only sense for none-singleton resources! AddressTemplate template = asGenericTemplate(node, address); metadataProcessor.lookup(template, Progress.NOOP, new MetadataProcessor.MetadataCallback() { @Override public void onMetadata(Metadata metadata) { table.enableButton(0, AuthorisationDecision .from(environment, constraint -> Optional.of(metadata.getSecurityContext())) .isAllowed(Constraint.executable(template, ADD))); table.enableButton(1, AuthorisationDecision .from(environment, constraint -> Optional.of(metadata.getSecurityContext())) .isAllowed(Constraint.executable(template, REMOVE))); } @Override public void onError(Throwable error) { logger.warn("Unable to enable / disable table buttons for {}", address); } }); } }); }
From source file:org.jboss.hal.core.modelbrowser.OperationsTable.java
License:Apache License
OperationsTable(List<Property> operations, Resources resources) { HTMLElement tbody;// w ww. j a v a 2 s . co m this.resources = resources; this.root = table().css(table, tableBordered, tableStriped, CSS.operations) .add(thead().add( tr().add(th().textContent(Names.NAME)).add(th().textContent(resources.constants().input())) .add(th().textContent(resources.constants().output())))) .add(tbody = tbody().get()).get(); for (Property property : Ordering.natural().onResultOf(Property::getName).sortedCopy(operations)) { ModelNode operation = property.getValue(); String description = operation.hasDefined(DESCRIPTION) ? operation.get(DESCRIPTION).asString() : null; // start a new table row HtmlContentBuilder<HTMLTableRowElement> builder = tr(); // operation name & description SafeHtmlBuilder html = new SafeHtmlBuilder(); html.appendHtmlConstant("<strong>") //NON-NLS .appendEscaped(property.getName()).appendHtmlConstant("</strong>"); //NON-NLS if (description != null) { html.appendHtmlConstant("<br/>").appendEscaped(description); //NON-NLS } builder.add(td().innerHtml(html.toSafeHtml())); // input HTMLElement inputTd; builder.add(inputTd = td().get()); if (operation.hasDefined(REQUEST_PROPERTIES) && !operation.get(REQUEST_PROPERTIES).asPropertyList().isEmpty()) { List<Property> input = operation.get(REQUEST_PROPERTIES).asPropertyList(); HTMLElement ul; inputTd.appendChild(ul = ul().css(operationParameter).get()); for (Property parameter : Ordering.natural().onResultOf(Property::getName).sortedCopy(input)) { HTMLElement li; ul.appendChild(li = li().get()); buildParameter(li, parameter.getName(), parameter.getValue()); } } else { inputTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString(); } // output HTMLElement outputTd; builder.add(outputTd = td().get()); if (operation.hasDefined(REPLY_PROPERTIES) && !operation.get(REPLY_PROPERTIES).asList().isEmpty()) { buildParameter(outputTd, null, operation.get(REPLY_PROPERTIES)); } else { outputTd.innerHTML = SafeHtmlUtils.fromSafeConstant(NBSP).asString(); } tbody.appendChild(builder.get()); } }
From source file:org.jboss.hal.core.modelbrowser.OperationsTable.java
License:Apache License
private void buildParameter(HTMLElement element, String name, ModelNode parameter) { boolean required = parameter.hasDefined(REQUIRED) && parameter.get(REQUIRED).asBoolean(); String description = parameter.hasDefined(DESCRIPTION) ? parameter.get(DESCRIPTION).asString() : null; SafeHtmlBuilder html = new SafeHtmlBuilder(); if (name != null) { //noinspection HardCodedStringLiteral html.appendHtmlConstant("<code>").appendEscaped(name).appendHtmlConstant("</code>").appendEscaped(": "); }//w w w .j a v a 2 s .c om html.appendEscaped(Types.formatType(parameter)); if (required) { html.appendHtmlConstant(NBSP).append(resources.messages().requiredMarker()); } if (description != null) { html.appendHtmlConstant("<br/>").appendEscaped(description); //NON-NLS } element.innerHTML = html.toSafeHtml().asString(); }
From source file:org.jbpm.console.ng.bd.client.util.DataGridUtils.java
License:Apache License
public static int calculateWidth(final String value) { if (value == null || value.length() == 0) return 0; com.google.gwt.dom.client.Element m = getCharacterMeasuringElement(DEPLOYMENTS_SIZE_CALCULATOR); if (m != null) { SafeHtmlBuilder sb = new SafeHtmlBuilder(); sb.append(SafeHtmlUtils.fromTrustedString(value)); m.setInnerHTML(sb.toSafeHtml().asString()); int a = m.getClientWidth(); int b = m.getOffsetWidth(); return a; }//from ww w . j a va 2s .c o m return 0; }
From source file:org.jbpm.console.ng.gc.client.util.ButtonActionCell.java
License:Apache License
public void render(final Cell.Context context, final T value, final SafeHtmlBuilder sb) { final SafeHtmlBuilder mysb = new SafeHtmlBuilder(); final Button btn = GWT.create(Button.class); btn.setText(getText(value));/* w w w . j a v a 2s .co m*/ btn.setTitle(getText(value)); btn.setType(ButtonType.DEFAULT); btn.setSize(ButtonSize.SMALL); btn.getElement().getStyle().setMarginRight(5, Style.Unit.PX); mysb.appendHtmlConstant(btn.getElement().getString()); sb.append(mysb.toSafeHtml()); }
From source file:org.jbpm.console.ng.ht.client.editors.tasklogs.TaskLogsPresenter.java
License:Apache License
public void refreshLogs() { Map<String, Object> params = new HashMap<String, Object>(); params.put("taskId", currentTaskId); QueryFilter filter = new PortableQueryFilter(0, 0, false, "", "", false, "", params); taskAuditService.call(new RemoteCallback<PageResponse<TaskEventSummary>>() { @Override/*w w w . j a v a 2 s . c om*/ public void callback(PageResponse<TaskEventSummary> events) { SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder(); DateTimeFormat format = DateTimeFormat.getFormat("dd/MM/yyyy HH:mm"); for (TaskEventSummary tes : events.getPageRowList()) { String timeStamp = format.format(tes.getLogTime()); if (tes.getType().equals("UPDATED")) { safeHtmlBuilder.appendEscapedLines( timeStamp + ": Task " + tes.getType() + " (" + tes.getMessage() + ") \n"); } else { safeHtmlBuilder.appendEscapedLines( timeStamp + ": Task - " + tes.getType() + " (" + tes.getUserId() + ") \n"); } } view.setLogTextAreaText(safeHtmlBuilder.toSafeHtml().asString()); } }, new ErrorCallback<Message>() { @Override public boolean error(Message message, Throwable throwable) { ErrorPopup.showMessage("Unexpected error encountered : " + throwable.getMessage()); return true; } }).getData(filter); }
From source file:org.jbpm.console.ng.pr.client.editors.definition.details.advance.AdvancedViewProcessDefDetailsPresenter.java
License:Apache License
private void refreshServiceTasks(final String deploymentId, final String processId) { dataServices.call(new RemoteCallback<Map<String, String>>() { @Override//from w w w .j a v a 2s. co m public void callback(Map<String, String> services) { view.getProcessServicesListBox().setText(""); SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder(); if (services.keySet().isEmpty()) { safeHtmlBuilder.appendEscaped("No services required for this process"); view.getProcessServicesListBox().setStyleName("muted"); view.getProcessServicesListBox().setHTML(safeHtmlBuilder.toSafeHtml()); } else { for (String key : services.keySet()) { safeHtmlBuilder.appendEscapedLines(key + " - " + services.get(key) + "\n"); } view.getProcessServicesListBox().setHTML(safeHtmlBuilder.toSafeHtml()); } } }, new ErrorCallback<Message>() { @Override public boolean error(Message message, Throwable throwable) { ErrorPopup.showMessage("Unexpected error encountered : " + throwable.getMessage()); return true; } }).getServiceTasks(deploymentId, processId); }
From source file:org.jbpm.console.ng.pr.client.editors.definition.details.advance.AdvancedViewProcessDefDetailsPresenter.java
License:Apache License
private void refreshReusableSubProcesses(final String deploymentId, final String processId) { dataServices.call(new RemoteCallback<Collection<String>>() { @Override//from w ww. j a v a 2 s .c o m public void callback(Collection<String> subprocesses) { view.getSubprocessListBox().setText(""); SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder(); if (subprocesses.isEmpty()) { safeHtmlBuilder.appendEscapedLines("No subproceses required by this process"); view.getSubprocessListBox().setStyleName("muted"); view.getSubprocessListBox().setHTML(safeHtmlBuilder.toSafeHtml()); } else { for (String key : subprocesses) { safeHtmlBuilder.appendEscapedLines(key + "\n"); } view.getSubprocessListBox().setHTML(safeHtmlBuilder.toSafeHtml()); } } }, new ErrorCallback<Message>() { @Override public boolean error(Message message, Throwable throwable) { ErrorPopup.showMessage("Unexpected error encountered : " + throwable.getMessage()); return true; } }).getReusableSubProcesses(deploymentId, processId); }
From source file:org.jbpm.console.ng.pr.client.editors.definition.details.advance.AdvancedViewProcessDefDetailsPresenter.java
License:Apache License
private void refreshRequiredInputData(final String deploymentId, final String processId) { dataServices.call(new RemoteCallback<Map<String, String>>() { @Override/*from w ww . j a va 2s .c o m*/ public void callback(Map<String, String> inputs) { view.getProcessDataListBox().setText(""); SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder(); if (inputs.keySet().isEmpty()) { safeHtmlBuilder.appendEscapedLines("No process variables defined for this process"); view.getProcessDataListBox().setStyleName("muted"); view.getProcessDataListBox().setHTML(safeHtmlBuilder.toSafeHtml()); } else { for (String key : inputs.keySet()) { safeHtmlBuilder.appendEscapedLines(key + " - " + inputs.get(key) + "\n"); } view.getProcessDataListBox().setHTML(safeHtmlBuilder.toSafeHtml()); } } }, new ErrorCallback<Message>() { @Override public boolean error(Message message, Throwable throwable) { ErrorPopup.showMessage("Unexpected error encountered : " + throwable.getMessage()); return true; } }).getRequiredInputData(deploymentId, processId); }