Example usage for org.apache.wicket.markup.html.basic MultiLineLabel add

List of usage examples for org.apache.wicket.markup.html.basic MultiLineLabel add

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.basic MultiLineLabel add.

Prototype

public Component add(final Behavior... behaviors) 

Source Link

Document

Adds a behavior modifier to the component.

Usage

From source file:com.doculibre.constellio.wicket.panels.admin.thesaurus.AddEditThesaurusPanel.java

License:Open Source License

public AddEditThesaurusPanel(String id) {
    super(id, false);

    this.thesaurusModel = new EntityModel<Thesaurus>(new LoadableDetachableModel() {
        @Override/*from   w ww .  jav  a  2 s  .c om*/
        protected Object load() {
            AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent(
                    AdminCollectionPanel.class);
            RecordCollection collection = collectionAdminPanel.getCollection();
            Thesaurus thesaurus = collection.getThesaurus();
            return thesaurus != null ? thesaurus : newThesaurus;
        }
    });

    Form form = getForm();
    form.setModel(new CompoundPropertyModel(thesaurusModel));

    final List<String> errorMessages = new ArrayList<String>();
    errorsModalWindow = new ModalWindow("errorsModal");
    errorsModalWindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);

    skosFileField = new FileUploadField("skosFile");
    uploadButton = new Button("uploadButton") {
        @Override
        public void onSubmit() {
            errorMessages.clear();
            FileUpload upload = skosFileField.getFileUpload();
            if (upload != null) {
                try {
                    skosFile = upload.writeToTempFile();
                } catch (IOException e) {
                    throw new WicketRuntimeException(e);
                }
            }
            AddEditThesaurusPanel.this.add(new AbstractAjaxTimerBehavior(Duration.seconds(1)) {
                @Override
                protected void onTimer(AjaxRequestTarget target) {
                    stop();
                    if (!importing && skosFile != null && skosFile.exists()) {
                        importing = true;
                        importCompleted = false;
                        progressInfo = new ProgressInfo();
                        progressPanel.start(target);
                        getForm().modelChanging();
                        new Thread() {
                            @Override
                            public void run() {
                                try {
                                    SkosServices skosServices = ConstellioSpringUtils.getSkosServices();
                                    FileInputStream is = new FileInputStream(skosFile);
                                    AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent(
                                            AdminCollectionPanel.class);
                                    RecordCollection collection = collectionAdminPanel.getCollection();
                                    Thesaurus importedThesaurus = skosServices.importThesaurus(is, progressInfo,
                                            errorMessages);
                                    List<ImportThesaurusPlugin> importThesaurusPlugins = PluginFactory
                                            .getPlugins(ImportThesaurusPlugin.class);
                                    if (!importThesaurusPlugins.isEmpty()) {
                                        for (ImportThesaurusPlugin importThesaurusPlugin : importThesaurusPlugins) {
                                            is = new FileInputStream(skosFile);
                                            importThesaurusPlugin.afterUpload(is, importedThesaurus,
                                                    collection);
                                        }
                                    }
                                    FileUtils.deleteQuietly(skosFile);
                                    thesaurusModel.setObject(importedThesaurus);
                                    importing = false;
                                    importCompleted = true;
                                } catch (FileNotFoundException e) {
                                    throw new WicketRuntimeException(e);
                                }
                            }
                        }.start();

                    }
                }
            });
        }
    };
    uploadButton.setDefaultFormProcessing(false);

    progressInfo = new ProgressInfo();
    progressInfoModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            return progressInfo;
        }
    };
    progressPanel = new ProgressPanel("progressPanel", progressInfoModel) {
        @Override
        protected void onFinished(AjaxRequestTarget target) {
            //                while (!importCompleted) {
            //                    // Wait for the import to be completed
            //                    try {
            //                        Thread.sleep(500);
            //                    } catch (InterruptedException e) {
            //                        throw new WicketRuntimeException(e);
            //                    }
            //                }
            target.addComponent(rdfAbout);
            target.addComponent(dcTitle);
            target.addComponent(dcDescription);
            target.addComponent(dcDate);
            target.addComponent(dcCreator);

            if (!errorMessages.isEmpty()) {
                IModel errorMsgModel = new LoadableDetachableModel() {
                    @Override
                    protected Object load() {
                        StringBuffer sb = new StringBuffer();
                        for (String errorMsg : errorMessages) {
                            sb.append(errorMsg);
                            sb.append("\n");
                        }
                        return sb.toString();
                    }
                };
                MultiLineLabel multiLineLabel = new MultiLineLabel(errorsModalWindow.getContentId(),
                        errorMsgModel);
                multiLineLabel.add(new SimpleAttributeModifier("style", "text-align:left;"));
                errorsModalWindow.setContent(multiLineLabel);
                errorsModalWindow.show(target);
            }
        }
    };
    progressPanel.setVisible(false);

    deleteButton = new Button("deleteButton") {
        @Override
        public void onSubmit() {
            Thesaurus thesaurus = thesaurusModel.getObject();
            if (thesaurus.getId() != null) {
                SkosServices skosServices = ConstellioSpringUtils.getSkosServices();

                EntityManager entityManager = ConstellioPersistenceContext.getCurrentEntityManager();
                if (!entityManager.getTransaction().isActive()) {
                    entityManager.getTransaction().begin();
                }

                skosServices.makeTransient(thesaurus);
                entityManager.getTransaction().commit();

                AdminCollectionPanel collectionAdminPanel = (AdminCollectionPanel) findParent(
                        AdminCollectionPanel.class);
                RecordCollection collection = collectionAdminPanel.getCollection();
                collection.setThesaurus(null);
                AddEditThesaurusPanel.this.replaceWith(newReturnComponent(AddEditThesaurusPanel.this.getId()));
            }
        }

        @Override
        public boolean isVisible() {
            return super.isVisible() && thesaurusModel.getObject().getId() != null;
        }

        @Override
        protected String getOnClickScript() {
            String confirmMsg = getLocalizer().getString("confirmDelete", AddEditThesaurusPanel.this)
                    .replace("'", "\\'");
            return "if (confirm('" + confirmMsg + "')) { return true;} else { return false; }";
        }
    };
    deleteButton.setDefaultFormProcessing(false);

    rdfAbout = new Label("rdfAbout");
    rdfAbout.setOutputMarkupId(true);

    dcTitle = new Label("dcTitle");
    dcTitle.setOutputMarkupId(true);

    dcDescription = new Label("dcDescription");
    dcDescription.setOutputMarkupId(true);

    dcDate = new Label("dcDate");
    dcDate.setOutputMarkupId(true);

    dcCreator = new Label("dcCreator");
    dcCreator.setOutputMarkupId(true);

    form.add(skosFileField);
    form.add(uploadButton);
    form.add(progressPanel);
    form.add(errorsModalWindow);
    form.add(deleteButton);
    form.add(rdfAbout);
    form.add(dcTitle);
    form.add(dcDescription);
    form.add(dcDate);
    form.add(dcCreator);
}

From source file:com.evolveum.midpoint.web.page.forgetpassword.PageForgotPassword.java

License:Apache License

private void initButtons(Form<?> form) {
    AjaxSubmitButton submit = new AjaxSubmitButton(ID_SUBMIT,
            createStringResource("PageForgetPassword.resetPassword")) {

        private static final long serialVersionUID = 1L;

        @Override//from   w  ww .  j  a v  a2s  .  c om
        protected void onSubmit(AjaxRequestTarget target) {
            processResetPassword(target, form);
        }

        @Override
        protected void onError(AjaxRequestTarget target) {
            target.add(getFeedbackPanel());
        }

    };
    submit.setOutputMarkupId(true);
    form.add(submit);
    form.setDefaultButton(submit);

    AjaxButton backButton = new AjaxButton(ID_BACK, createStringResource("PageForgetPassword.back")) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            setResponsePage(PageLogin.class);
        }
    };
    backButton.setOutputMarkupId(true);
    form.add(backButton);

    add(form);

    MultiLineLabel label = new MultiLineLabel(ID_PASSWORD_RESET_SUBMITED,
            createStringResource("PageForgotPassword.form.submited.message"));
    add(label);
    label.add(new VisibleEnableBehaviour() {

        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return submited;
        }

        @Override
        public boolean isEnabled() {
            return submited;
        }

    });
}

From source file:com.francetelecom.clara.cloud.presentation.designer.panels.DesignerArchitectureConfigSetPanel.java

License:Apache License

private void initComponents() {

    entries = new ArrayList<DetailedConfigEntry>();

    createConfigEntryList();//www  .j  av a2 s .  c  o m

    List<IColumn<DetailedConfigEntry, String>> columns = new ArrayList<IColumn<DetailedConfigEntry, String>>();

    columns.add(new PropertyColumn<DetailedConfigEntry, String>(
            getStringResourceModel("portal.designer.config.summary.header.execNodeName"), "execNodeName"));
    columns.add(new PropertyColumn<DetailedConfigEntry, String>(
            getStringResourceModel("portal.designer.config.summary.header.configSetName"), "configSetName"));
    columns.add(new PropertyColumn<DetailedConfigEntry, String>(
            getStringResourceModel("portal.designer.config.summary.header.key"), "key"));
    columns.add(new PropertyColumn<DetailedConfigEntry, String>(
            getStringResourceModel("portal.designer.config.summary.header.value"), "value"));

    columns.add(new PropertyColumn<DetailedConfigEntry, String>(
            getStringResourceModel("portal.designer.config.summary.header.comment"), "comment") {
        private static final long serialVersionUID = 1321984147078227956L;

        @Override
        public void populateItem(Item<ICellPopulator<DetailedConfigEntry>> item, String componentId,
                IModel<DetailedConfigEntry> rowModel) {
            MultiLineLabel label = new MultiLineLabel(componentId, getDataModel(rowModel));
            label.add(new AttributeAppender("class", "preserve_whitespace"));
            item.add(label);
        }
    });

    AjaxFallbackCustomDataTable<DetailedConfigEntry, String> table = new AjaxFallbackCustomDataTable<>(
            "configList", columns, new ConfigEntryProvider(), PageTemplate.ROWS_PER_PAGE);

    add(table);

    if (entries.size() == 0) {
        this.setVisible(false);
    }

}