Search in sources :

Example 6 with TextBoxItem

use of org.jboss.hal.ballroom.form.TextBoxItem in project console by hal.

the class RestResourcePreview method specifyParameters.

private void specifyParameters(String serverUrl, String link, List<String> params) {
    ModelNodeForm.Builder<ModelNode> builder = new ModelNodeForm.Builder<>(Ids.REST_RESOURCE_PATH_PARAM_FORM, Metadata.empty()).addOnly().onSave((form, changedValues) -> {
        String withValues = link;
        for (String param : params) {
            String value = form.<String>getFormItem(param).getValue();
            withValues = withValues.replace("{" + param + "}", value);
        }
        window.open(serverUrl + withValues, serverId());
    });
    int i = 0;
    for (String param : params) {
        FormItem<String> formItem = new TextBoxItem(param, param);
        formItem.setRequired(true);
        builder.unboundFormItem(formItem, i);
        i++;
    }
    Form<ModelNode> form = builder.build();
    Dialog dialog = new Dialog.Builder(resources.constants().specifyParameters()).add(p().innerHtml(resources.messages().specifyParameters(link)).element()).add(form.element()).primary(resources.constants().ok(), form::save).cancel().closeOnEsc(true).closeIcon(true).build();
    dialog.registerAttachable(form);
    dialog.show();
    form.edit(new ModelNode());
}
Also used : TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) Dialog(org.jboss.hal.ballroom.dialog.Dialog) HtmlContentBuilder(org.jboss.gwt.elemento.core.builder.HtmlContentBuilder) ModelNode(org.jboss.hal.dmr.ModelNode) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm)

Example 7 with TextBoxItem

use of org.jboss.hal.ballroom.form.TextBoxItem in project console by hal.

the class ConstantHeadersElement method addConstantHeaderPath.

private void addConstantHeaderPath(Metadata metadata) {
    LabelBuilder labelBuilder = new LabelBuilder();
    String type = labelBuilder.label(PATH);
    TextBoxItem headerName = new TextBoxItem(HEADER_NAME);
    headerName.setRequired(true);
    TextBoxItem headerValue = new TextBoxItem(HEADER_VALUE);
    headerValue.setRequired(true);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(Ids.build(Ids.CONSTANT_HEADERS, Ids.ADD), metadata).addOnly().include(PATH).exclude(HEADERS).dontVerifyExcludes().unboundFormItem(headerName).unboundFormItem(headerValue).build();
    AddResourceDialog dialog = new AddResourceDialog(resources.messages().addResourceTitle(type), form, (name, model) -> {
        if (model != null) {
            ModelNode header = new ModelNode();
            header.get(NAME).set(String.valueOf(form.getFormItem(HEADER_NAME).getValue()));
            header.get(VALUE).set(String.valueOf(form.getFormItem(HEADER_VALUE).getValue()));
            model.get(HEADERS).add(header);
            String finiWasHere = model.get(PATH).asString();
            SafeHtml message = resources.messages().addSuccess(type, finiWasHere, labelBuilder.label(CONSTANT_HEADERS));
            presenter.addConstantHeaderPath(model, message);
        }
    });
    dialog.show();
}
Also used : AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) SafeHtml(com.google.gwt.safehtml.shared.SafeHtml) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) ModelNode(org.jboss.hal.dmr.ModelNode) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm)

Example 8 with TextBoxItem

use of org.jboss.hal.ballroom.form.TextBoxItem in project console by hal.

the class ServerPresenter method disableSsl.

void disableSsl(String httpsListener) {
    AddressTemplate httpsTemplate = SERVER_TEMPLATE.append(HTTPS_LISTENER + EQ_WILDCARD);
    Metadata metadata = metadataRegistry.lookup(httpsTemplate);
    SafeHtml description = resources.messages().disableSSLUndertowQuestion(httpsListener);
    String label = new LabelBuilder().label(SECURITY_REALM);
    TextBoxItem securityRealmItem = new TextBoxItem(SECURITY_REALM, label);
    securityRealmItem.setRequired(true);
    SafeHtml securityRealmDescription = SafeHtmlUtils.fromTrustedString(metadata.getDescription().get(ATTRIBUTES).get(SECURITY_REALM).get(DESCRIPTION).asString());
    Form<ModelNode> form = new ModelNodeForm.Builder<>(Ids.build(SECURITY_REALM, Ids.FORM), Metadata.empty()).unboundFormItem(securityRealmItem, 0, securityRealmDescription).build();
    HTMLElement content = div().add(p().innerHtml(description)).add(form.element()).element();
    Dialog dialog = new Dialog.Builder(resources.constants().disableSSL()).size(Dialog.Size.MEDIUM).primary(resources.constants().yes(), () -> {
        boolean valid = form.save();
        // if the form contains validation error, don't close the dialog
        if (valid) {
            ResourceAddress httpsAddress = httpsTemplate.resolve(statementContext, serverName, httpsListener);
            Operation undefineSslCtx = new Operation.Builder(httpsAddress, UNDEFINE_ATTRIBUTE_OPERATION).param(NAME, SSL_CONTEXT).build();
            Operation writeSecurityRealm = new Operation.Builder(httpsAddress, WRITE_ATTRIBUTE_OPERATION).param(NAME, SECURITY_REALM).param(VALUE, securityRealmItem.getValue()).build();
            Composite composite = new Composite();
            composite.add(undefineSslCtx);
            composite.add(writeSecurityRealm);
            dispatcher.execute(composite, (CompositeResult result) -> {
                MessageEvent.fire(getEventBus(), Message.success(resources.messages().disableSSLUndertowSuccess(httpsListener)));
                reload();
            }, (operation, failure) -> {
                MessageEvent.fire(getEventBus(), Message.error(resources.messages().disableSSLUndertowError(httpsListener, failure)));
            }, (operation, exception) -> {
                SafeHtml message = resources.messages().disableSSLUndertowError(httpsListener, exception.getMessage());
                MessageEvent.fire(getEventBus(), Message.error(message));
            });
        }
        return valid;
    }).secondary(resources.constants().no(), () -> true).closeIcon(true).closeOnEsc(true).add(content).build();
    dialog.registerAttachable(form);
    dialog.show();
    ModelNode model = new ModelNode().setEmptyObject();
    form.edit(model);
}
Also used : AddressTemplate(org.jboss.hal.meta.AddressTemplate) Dialog(org.jboss.hal.ballroom.dialog.Dialog) Provider(javax.inject.Provider) FinishRemove(org.jboss.hal.ballroom.form.Form.FinishRemove) Environment(org.jboss.hal.config.Environment) StatementContext(org.jboss.hal.meta.StatementContext) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) FilteringStatementContext(org.jboss.hal.meta.FilteringStatementContext) Collections.singletonList(java.util.Collections.singletonList) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) Elements.p(org.jboss.gwt.elemento.core.Elements.p) HTMLElement(elemental2.dom.HTMLElement) Map(java.util.Map) Message(org.jboss.hal.spi.Message) AddressTemplates(org.jboss.hal.client.configuration.subsystem.undertow.AddressTemplates) FinishReset(org.jboss.hal.ballroom.form.Form.FinishReset) HasPresenter(org.jboss.hal.core.mvp.HasPresenter) Metadata(org.jboss.hal.meta.Metadata) Names(org.jboss.hal.resources.Names) ModelNodeHelper.asNamedNodes(org.jboss.hal.dmr.ModelNodeHelper.asNamedNodes) CrudOperations(org.jboss.hal.core.CrudOperations) NameToken(com.gwtplatform.mvp.client.annotations.NameToken) FinderPath(org.jboss.hal.core.finder.FinderPath) Collectors(java.util.stream.Collectors) List(java.util.List) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) MetadataRegistry(org.jboss.hal.meta.MetadataRegistry) ModelDescriptionConstants(org.jboss.hal.dmr.ModelDescriptionConstants) HalView(org.jboss.hal.core.mvp.HalView) Flow.series(org.jboss.hal.flow.Flow.series) ModelNodeHelper.encodeValue(org.jboss.hal.dmr.ModelNodeHelper.encodeValue) Finder(org.jboss.hal.core.finder.Finder) Footer(org.jboss.hal.spi.Footer) SafeHtml(com.google.gwt.safehtml.shared.SafeHtml) SupportsExpertMode(org.jboss.hal.core.mvp.SupportsExpertMode) ModelNode(org.jboss.hal.dmr.ModelNode) Elements.div(org.jboss.gwt.elemento.core.Elements.div) MessageEvent(org.jboss.hal.spi.MessageEvent) ProxyPlace(com.gwtplatform.mvp.client.proxy.ProxyPlace) SuccessfulOutcome(org.jboss.hal.core.SuccessfulOutcome) HashMap(java.util.HashMap) FlowContext(org.jboss.hal.flow.FlowContext) ArrayList(java.util.ArrayList) Inject(javax.inject.Inject) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) Filter(org.jboss.hal.meta.FilteringStatementContext.Filter) Task(org.jboss.hal.flow.Task) Progress(org.jboss.hal.flow.Progress) AddressTemplate(org.jboss.hal.meta.AddressTemplate) NameItem(org.jboss.hal.core.mbui.dialog.NameItem) ApplicationFinderPresenter(org.jboss.hal.core.mvp.ApplicationFinderPresenter) SafeHtmlUtils(com.google.gwt.safehtml.shared.SafeHtmlUtils) Requires(org.jboss.hal.spi.Requires) SELECTION_KEY(org.jboss.hal.meta.SelectionAwareStatementContext.SELECTION_KEY) CompositeResult(org.jboss.hal.dmr.CompositeResult) ProxyCodeSplit(com.gwtplatform.mvp.client.annotations.ProxyCodeSplit) EnableSSLWizard(org.jboss.hal.client.shared.sslwizard.EnableSSLWizard) Operation(org.jboss.hal.dmr.Operation) Ids(org.jboss.hal.resources.Ids) FinderPathFactory(org.jboss.hal.core.finder.FinderPathFactory) EventBus(com.google.web.bindery.event.shared.EventBus) ReadChildrenAutoComplete(org.jboss.hal.ballroom.autocomplete.ReadChildrenAutoComplete) PlaceRequest(com.gwtplatform.mvp.shared.proxy.PlaceRequest) Consumer(java.util.function.Consumer) Composite(org.jboss.hal.dmr.Composite) ModelNodeHelper.failSafePropertyList(org.jboss.hal.dmr.ModelNodeHelper.failSafePropertyList) Dispatcher(org.jboss.hal.dmr.dispatch.Dispatcher) NameTokens(org.jboss.hal.meta.token.NameTokens) Resources(org.jboss.hal.resources.Resources) EnableSSLPresenter(org.jboss.hal.client.shared.sslwizard.EnableSSLPresenter) NamedNode(org.jboss.hal.dmr.NamedNode) Form(org.jboss.hal.ballroom.form.Form) HTMLElement(elemental2.dom.HTMLElement) Composite(org.jboss.hal.dmr.Composite) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) SafeHtml(com.google.gwt.safehtml.shared.SafeHtml) CompositeResult(org.jboss.hal.dmr.CompositeResult) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Metadata(org.jboss.hal.meta.Metadata) Operation(org.jboss.hal.dmr.Operation) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) Dialog(org.jboss.hal.ballroom.dialog.Dialog) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) ModelNode(org.jboss.hal.dmr.ModelNode)

Example 9 with TextBoxItem

use of org.jboss.hal.ballroom.form.TextBoxItem in project console by hal.

the class DefaultFormItemProvider method createFrom.

@Override
public FormItem<?> createFrom(Property property) {
    FormItem<?> formItem = null;
    String name = property.getName();
    String label = labelBuilder.label(property);
    ModelNode attributeDescription = property.getValue();
    // don't use 'required' here!
    boolean required = attributeDescription.hasDefined(NILLABLE) && !attributeDescription.get(NILLABLE).asBoolean();
    boolean expressionAllowed = attributeDescription.hasDefined(EXPRESSIONS_ALLOWED) && attributeDescription.get(EXPRESSIONS_ALLOWED).asBoolean();
    boolean readOnly = attributeDescription.hasDefined(ACCESS_TYPE) && (READ_ONLY.equals(attributeDescription.get(ACCESS_TYPE).asString()) || METRIC.equals(attributeDescription.get(ACCESS_TYPE).asString()));
    String unit = attributeDescription.hasDefined(UNIT) ? attributeDescription.get(UNIT).asString() : null;
    Deprecation deprecation = attributeDescription.hasDefined(DEPRECATED) ? new Deprecation(attributeDescription.get(DEPRECATED)) : null;
    if (attributeDescription.hasDefined(TYPE)) {
        ModelType type = attributeDescription.get(TYPE).asType();
        ModelType valueType = (attributeDescription.has(VALUE_TYPE) && attributeDescription.get(VALUE_TYPE).getType() != ModelType.OBJECT) ? ModelType.valueOf(attributeDescription.get(VALUE_TYPE).asString()) : null;
        switch(type) {
            case BOOLEAN:
                {
                    SwitchItem switchItem = new SwitchItem(name, label);
                    if (attributeDescription.hasDefined(DEFAULT)) {
                        switchItem.assignDefaultValue(attributeDescription.get(DEFAULT).asBoolean());
                    }
                    formItem = switchItem;
                    break;
                }
            case BIG_INTEGER:
            case INT:
            case LONG:
                {
                    long min, max;
                    if (type == ModelType.INT) {
                        min = attributeDescription.get(MIN).asLong(Integer.MIN_VALUE);
                        max = attributeDescription.get(MAX).asLong(Integer.MAX_VALUE);
                    } else {
                        min = attributeDescription.get(MIN).asLong(MIN_SAFE_LONG);
                        max = attributeDescription.get(MAX).asLong(MAX_SAFE_LONG);
                    }
                    NumberItem numberItem = new NumberItem(name, label, unit, min, max);
                    if (attributeDescription.hasDefined(DEFAULT)) {
                        long defaultValue = attributeDescription.get(DEFAULT).asLong();
                        numberItem.assignDefaultValue(defaultValue);
                    }
                    formItem = numberItem;
                    break;
                }
            case DOUBLE:
                {
                    long min = attributeDescription.get(MIN).asLong(MIN_SAFE_LONG);
                    long max = attributeDescription.get(MAX).asLong(MAX_SAFE_LONG);
                    NumberDoubleItem numberItem = new NumberDoubleItem(name, label, unit, min, max);
                    if (attributeDescription.hasDefined(DEFAULT)) {
                        double defaultValue = attributeDescription.get(DEFAULT).asDouble();
                        numberItem.assignDefaultValue(defaultValue);
                    }
                    formItem = numberItem;
                    break;
                }
            case LIST:
                {
                    if (valueType != null && ModelType.STRING == valueType) {
                        List<String> allowedValues = stringValues(attributeDescription, ALLOWED);
                        if (!allowedValues.isEmpty()) {
                            MultiSelectBoxItem multiSelectBoxItem = new MultiSelectBoxItem(name, label, allowedValues);
                            if (attributeDescription.hasDefined(DEFAULT)) {
                                List<String> defaultValues = stringValues(attributeDescription, DEFAULT);
                                if (!defaultValues.isEmpty()) {
                                    multiSelectBoxItem.assignDefaultValue(defaultValues);
                                }
                            }
                            formItem = multiSelectBoxItem;
                        } else {
                            ListItem listItem = new ListItem(name, label);
                            if (attributeDescription.hasDefined(DEFAULT)) {
                                List<String> defaultValues = stringValues(attributeDescription, DEFAULT);
                                if (!defaultValues.isEmpty()) {
                                    listItem.assignDefaultValue(defaultValues);
                                }
                            }
                            formItem = listItem;
                            checkCapabilityReference(attributeDescription, formItem);
                        }
                    } else if (isSimpleTuple(attributeDescription)) {
                        // process OBJECT type attribute if all of its subattributes are simple types
                        formItem = new TuplesListItem(name, label, metadata.forComplexAttribute(property.getName()));
                    } else {
                        logger.warn("Unsupported model type {} for attribute {} in metadata {}. Unable to create a form item. Attribute will be skipped.", type.name(), property.getName(), metadata.getTemplate());
                        break;
                    }
                    break;
                }
            case OBJECT:
                {
                    if (valueType != null && ModelType.STRING == valueType) {
                        PropertiesItem propertiesItem = new PropertiesItem(name, label);
                        List<Property> properties = ModelNodeHelper.getOrDefault(attributeDescription, DEFAULT, () -> attributeDescription.get(DEFAULT).asPropertyList(), emptyList());
                        if (!properties.isEmpty()) {
                            Map<String, String> defaultValues = new HashMap<>();
                            for (Property p : properties) {
                                defaultValues.put(p.getName(), p.getValue().asString());
                            }
                            propertiesItem.assignDefaultValue(defaultValues);
                        }
                        formItem = propertiesItem;
                    }
                    break;
                }
            case STRING:
                {
                    List<String> allowedValues = stringValues(attributeDescription, ALLOWED);
                    if (allowedValues.isEmpty()) {
                        FormItem<String> textBoxItem = new TextBoxItem(name, label, null);
                        boolean sensitive = failSafeGet(attributeDescription, ACCESS_CONSTRAINTS + "/" + SENSITIVE).isDefined();
                        if (PASSWORD.equals(name) || sensitive) {
                            textBoxItem.mask();
                        }
                        if (attributeDescription.hasDefined(DEFAULT)) {
                            textBoxItem.assignDefaultValue(attributeDescription.get(DEFAULT).asString());
                        }
                        formItem = textBoxItem;
                        checkCapabilityReference(attributeDescription, formItem);
                    } else {
                        SingleSelectBoxItem singleSelectBoxItem = new SingleSelectBoxItem(name, label, allowedValues, !required);
                        if (attributeDescription.hasDefined(DEFAULT)) {
                            singleSelectBoxItem.assignDefaultValue(attributeDescription.get(DEFAULT).asString());
                        }
                        formItem = singleSelectBoxItem;
                    }
                    break;
                }
            // unsupported types
            case BIG_DECIMAL:
            case BYTES:
            case EXPRESSION:
            case PROPERTY:
            case TYPE:
            case UNDEFINED:
                logger.warn("Unsupported model type {} for attribute {} in metadata {}. Unable to create a form item. Attribute will be skipped.", type.name(), property.getName(), metadata.getTemplate());
                break;
            default:
                break;
        }
        if (formItem != null) {
            formItem.setRequired(required);
            formItem.setDeprecated(deprecation);
            if (formItem.supportsExpressions()) {
                formItem.setExpressionAllowed(expressionAllowed);
                formItem.addResolveExpressionHandler(event -> {
                    // resend as application event
                    Core.INSTANCE.eventBus().fireEvent(event);
                });
            }
            if (readOnly) {
                formItem.setEnabled(false);
                // if the attribute is read-only and required, the form validation prevents to save the form
                // remove the required constraint to allow the save operation.
                formItem.setRequired(false);
            }
        }
    }
    return formItem;
}
Also used : TuplesListItem(org.jboss.hal.core.ui.TuplesListItem) SingleSelectBoxItem(org.jboss.hal.ballroom.form.SingleSelectBoxItem) FormItem(org.jboss.hal.ballroom.form.FormItem) NumberItem(org.jboss.hal.ballroom.form.NumberItem) MultiSelectBoxItem(org.jboss.hal.ballroom.form.MultiSelectBoxItem) PropertiesItem(org.jboss.hal.ballroom.form.PropertiesItem) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) Deprecation(org.jboss.hal.dmr.Deprecation) ModelType(org.jboss.hal.dmr.ModelType) Collections.emptyList(java.util.Collections.emptyList) List(java.util.List) Collectors.toList(java.util.stream.Collectors.toList) NumberDoubleItem(org.jboss.hal.ballroom.form.NumberDoubleItem) ListItem(org.jboss.hal.ballroom.form.ListItem) TuplesListItem(org.jboss.hal.core.ui.TuplesListItem) ModelNode(org.jboss.hal.dmr.ModelNode) HashMap(java.util.HashMap) Map(java.util.Map) Property(org.jboss.hal.dmr.Property) SwitchItem(org.jboss.hal.ballroom.form.SwitchItem)

Example 10 with TextBoxItem

use of org.jboss.hal.ballroom.form.TextBoxItem in project console by hal.

the class BrowseContentElement method uploadContent.

private void uploadContent() {
    LabelBuilder labelBuilder = new LabelBuilder();
    TextBoxItem targetPathItem = new TextBoxItem(TARGET_PATH);
    targetPathItem.setRequired(true);
    FileItem fileItem = new FileItem(FILE, labelBuilder.label(FILE));
    fileItem.addValueChangeHandler(event -> targetPathItem.setValue(appendFilename(targetPathItem.getValue(), event.getValue().name)));
    TextBoxItem urlItem = new TextBoxItem(URL, labelBuilder.label(URL));
    urlItem.addValueChangeHandler(event -> targetPathItem.setValue(appendFilename(targetPathItem.getValue(), filename(event.getValue()))));
    Form<ModelNode> form = new ModelNodeForm.Builder<>(Ids.CONTENT_NEW, Metadata.empty()).unboundFormItem(fileItem).unboundFormItem(urlItem).unboundFormItem(targetPathItem).addOnly().build();
    form.addFormValidation(f -> {
        if (fileItem.isEmpty() && urlItem.isEmpty()) {
            return ValidationResult.invalid(resources.messages().uploadContentInvalid());
        }
        return ValidationResult.OK;
    });
    form.setSaveCallback((f, model) -> {
        String path = targetPathItem.getValue();
        ResourceAddress address = new ResourceAddress().add(DEPLOYMENT, content.getName());
        ModelNode contentNode = new ModelNode();
        if (fileItem.isEmpty()) {
            contentNode.get(URL).set(urlItem.getValue());
        } else {
            contentNode.get(INPUT_STREAM_INDEX).set(0);
        }
        contentNode.get(TARGET_PATH).set(path);
        Operation operation = new Operation.Builder(address, ADD_CONTENT).param(CONTENT, new ModelNode().add(contentNode)).build();
        Single<ModelNode> single = fileItem.isEmpty() ? dispatcher.execute(operation) : dispatcher.upload(fileItem.getValue(), operation);
        single.toCompletable().andThen(browseContent()).andThen(awaitTreeReady()).subscribe(() -> {
            MessageEvent.fire(eventBus, Message.success(resources.messages().newContentSuccess(content.getName(), path)));
            tree.selectNode(NODE_ID.apply(path));
        });
    });
    Dialog dialog = new Dialog.Builder(resources.constants().uploadContent()).add(p().innerHtml(resources.messages().uploadContentDescription()).element()).add(form.element()).primary(resources.constants().upload(), form::save).size(Dialog.Size.MEDIUM).cancel().build();
    dialog.registerAttachable(form);
    targetPathItem.setValue(selectedPath());
    dialog.show();
    form.edit(new ModelNode());
}
Also used : ResourceAddress(org.jboss.hal.dmr.ResourceAddress) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Operation(org.jboss.hal.dmr.Operation) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) FileItem(org.jboss.hal.ballroom.form.FileItem) TextBoxItem(org.jboss.hal.ballroom.form.TextBoxItem) Dialog(org.jboss.hal.ballroom.dialog.Dialog) AddResourceDialog(org.jboss.hal.core.mbui.dialog.AddResourceDialog) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) ModelNode(org.jboss.hal.dmr.ModelNode)

Aggregations

TextBoxItem (org.jboss.hal.ballroom.form.TextBoxItem)16 ModelNode (org.jboss.hal.dmr.ModelNode)16 ModelNodeForm (org.jboss.hal.core.mbui.form.ModelNodeForm)15 AddResourceDialog (org.jboss.hal.core.mbui.dialog.AddResourceDialog)12 Operation (org.jboss.hal.dmr.Operation)11 ResourceAddress (org.jboss.hal.dmr.ResourceAddress)11 Metadata (org.jboss.hal.meta.Metadata)11 LabelBuilder (org.jboss.hal.ballroom.LabelBuilder)10 Map (java.util.Map)8 EventBus (com.google.web.bindery.event.shared.EventBus)7 List (java.util.List)7 Inject (javax.inject.Inject)7 NameItem (org.jboss.hal.core.mbui.dialog.NameItem)7 AddressTemplate (org.jboss.hal.meta.AddressTemplate)7 Form (org.jboss.hal.ballroom.form.Form)6 CrudOperations (org.jboss.hal.core.CrudOperations)6 Finder (org.jboss.hal.core.finder.Finder)6 FinderPath (org.jboss.hal.core.finder.FinderPath)6 FinderPathFactory (org.jboss.hal.core.finder.FinderPathFactory)6 ModelDescriptionConstants (org.jboss.hal.dmr.ModelDescriptionConstants)6