Search in sources :

Example 16 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog in project console by hal.

the class ContentColumn method replace.

private void replace(Content content) {
    UploadElement uploadElement = new UploadElement(resources.messages().noContent());
    Dialog dialog = new Dialog.Builder(resources.constants().replaceContent()).add(uploadElement.element()).cancel().primary(resources.constants().replace(), () -> {
        boolean valid = uploadElement.validate();
        if (valid) {
            ReplaceDeploymentPanel replaceDeploymentPanel = new ReplaceDeploymentPanel();
            replaceDeploymentPanel.on();
            series(new FlowContext(progress.get()), new CheckDeployment(dispatcher, content.getName()), // To replace an existing content, the original name and runtime-name must be preserved.
            new UploadOrReplace(environment, dispatcher, content.getName(), content.getRuntimeName(), uploadElement.getFiles().item(0), false)).subscribe(new Outcome<FlowContext>() {

                @Override
                public void onError(FlowContext context, Throwable error) {
                    replaceDeploymentPanel.off();
                    MessageEvent.fire(eventBus, Message.error(resources.messages().contentReplaceError(content.getName()), error.getMessage()));
                }

                @Override
                public void onSuccess(FlowContext context) {
                    refresh(Ids.content(content.getName()));
                    replaceDeploymentPanel.off();
                    MessageEvent.fire(eventBus, Message.success(resources.messages().contentReplaceSuccess(content.getName())));
                }
            });
        }
        return valid;
    }).build();
    dialog.show();
}
Also used : UploadOrReplace(org.jboss.hal.client.deployment.DeploymentTasks.UploadOrReplace) CheckDeployment(org.jboss.hal.client.deployment.DeploymentTasks.CheckDeployment) Dialog(org.jboss.hal.ballroom.dialog.Dialog) CreateEmptyDialog(org.jboss.hal.client.deployment.dialog.CreateEmptyDialog) AddUnmanagedDialog(org.jboss.hal.client.deployment.dialog.AddUnmanagedDialog) Outcome(org.jboss.hal.flow.Outcome) UploadElement(org.jboss.hal.client.shared.uploadwizard.UploadElement) FlowContext(org.jboss.hal.flow.FlowContext)

Example 17 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog 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)

Example 18 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog in project console by hal.

the class ConfigurationChangesPresenter method showInDialog.

void showInDialog(String textContent) {
    HTMLPreElement elem = pre().css(formControlStatic, wrap).element();
    elem.textContent = textContent;
    HTMLElement content = div().add(elem).style("overflow: scroll").element();
    int maxheight = applicationHeight() - 6 * MARGIN_BIG;
    content.style.maxHeight = CSSProperties.MaxHeightUnionType.of(px(maxheight));
    Dialog dialog = new Dialog.Builder(resources.constants().configurationChanges()).primary(resources.constants().close(), () -> true).closeOnEsc(true).closeIcon(true).size(LARGE).add(content).build();
    dialog.show();
}
Also used : HTMLElement(elemental2.dom.HTMLElement) HTMLPreElement(elemental2.dom.HTMLPreElement) Dialog(org.jboss.hal.ballroom.dialog.Dialog) OperationFormBuilder(org.jboss.hal.core.mbui.form.OperationFormBuilder)

Example 19 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog in project console by hal.

the class RealmsPresenter method editIdentity.

void editIdentity(Metadata metadata, String resource, String title, Consumer<ModelNode> callback) {
    AddressTemplate template = metadata.getTemplate();
    Metadata opMetadata = metadata.forOperation(READ_IDENTITY);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(Ids.build(template.lastName(), READ_IDENTITY), opMetadata).build();
    form.attach();
    Dialog dialog = new Dialog.Builder(title).add(form.element()).primary(resources.constants().search(), form::save).size(Dialog.Size.MEDIUM).cancel().build();
    dialog.registerAttachable(form);
    form.setSaveCallback((form1, changedValues) -> {
        ResourceAddress address = template.resolve(statementContext, resource);
        String identity = form.getModel().get(IDENTITY).asString();
        Operation operation = new Operation.Builder(address, READ_IDENTITY).param(IDENTITY, identity).build();
        LabelBuilder labelBuilder = new LabelBuilder();
        String resourceName = labelBuilder.label(template.lastName()) + SPACE + resource;
        dispatcher.execute(operation, callback::accept, (operation1, failure) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().readIdentityError(identity, resourceName, failure))), (operation1, exception) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().readIdentityError(identity, resourceName, exception.getMessage()))));
    });
    form.edit(new ModelNode());
    dialog.show();
}
Also used : AddressTemplate(org.jboss.hal.meta.AddressTemplate) ResourceAddress(org.jboss.hal.dmr.ResourceAddress) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Metadata(org.jboss.hal.meta.Metadata) Operation(org.jboss.hal.dmr.Operation) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) 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 20 with Dialog

use of org.jboss.hal.ballroom.dialog.Dialog in project console by hal.

the class SSLPresenter method createAccount.

// ----------------- certificate authority account
void createAccount(String name) {
    Metadata metadata = metadataRegistry.lookup(CERTIFICATE_AUTHORITY_ACCOUNT_TEMPLATE).forOperation(CREATE_ACCOUNT);
    String id = Ids.build(CERTIFICATE_AUTHORITY_ACCOUNT, FORM);
    String title = new LabelBuilder().label(CERTIFICATE_AUTHORITY_ACCOUNT);
    Form<ModelNode> form = new ModelNodeForm.Builder<>(id, metadata).build();
    form.setSaveCallback((form1, changedValues) -> {
        ResourceAddress address = CERTIFICATE_AUTHORITY_ACCOUNT_TEMPLATE.resolve(statementContext, name);
        Operation operation = new Operation.Builder(address, CREATE_ACCOUNT).payload(form.getModel()).build();
        dispatcher.execute(operation, result -> MessageEvent.fire(getEventBus(), Message.success(resources.messages().createAccountSuccess(name))), (operation1, failure) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().createAccountError(name, failure))), (operation1, exception) -> MessageEvent.fire(getEventBus(), Message.error(resources.messages().createAccountError(name, exception.getMessage()))));
    });
    Dialog dialog = new Dialog.Builder(title).add(p().textContent(resources.messages().createAccountQuestion(name)).element()).add(form.element()).primary(resources.constants().create(), form::save).size(Dialog.Size.MEDIUM).closeOnEsc(true).cancel().build();
    dialog.registerAttachable(form);
    dialog.show();
    form.edit(new ModelNode());
}
Also used : ResourceAddress(org.jboss.hal.dmr.ResourceAddress) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) Metadata(org.jboss.hal.meta.Metadata) Operation(org.jboss.hal.dmr.Operation) ModelNodeForm(org.jboss.hal.core.mbui.form.ModelNodeForm) Dialog(org.jboss.hal.ballroom.dialog.Dialog) LabelBuilder(org.jboss.hal.ballroom.LabelBuilder) ModelNode(org.jboss.hal.dmr.ModelNode)

Aggregations

Dialog (org.jboss.hal.ballroom.dialog.Dialog)30 ModelNode (org.jboss.hal.dmr.ModelNode)26 Operation (org.jboss.hal.dmr.Operation)23 ResourceAddress (org.jboss.hal.dmr.ResourceAddress)22 ModelNodeForm (org.jboss.hal.core.mbui.form.ModelNodeForm)21 LabelBuilder (org.jboss.hal.ballroom.LabelBuilder)18 Metadata (org.jboss.hal.meta.Metadata)17 AddResourceDialog (org.jboss.hal.core.mbui.dialog.AddResourceDialog)15 AddressTemplate (org.jboss.hal.meta.AddressTemplate)12 FlowContext (org.jboss.hal.flow.FlowContext)11 Form (org.jboss.hal.ballroom.form.Form)9 Ids (org.jboss.hal.resources.Ids)9 Resources (org.jboss.hal.resources.Resources)9 SafeHtml (com.google.gwt.safehtml.shared.SafeHtml)8 EventBus (com.google.web.bindery.event.shared.EventBus)8 Inject (javax.inject.Inject)8 Provider (javax.inject.Provider)8 ModelDescriptionConstants (org.jboss.hal.dmr.ModelDescriptionConstants)8 Dispatcher (org.jboss.hal.dmr.dispatch.Dispatcher)8 Progress (org.jboss.hal.flow.Progress)8