Example usage for org.apache.wicket.ajax.markup.html AjaxLink add

List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink add

Introduction

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

Prototype

public MarkupContainer add(final Component... children) 

Source Link

Document

Adds the child component(s) to this container.

Usage

From source file:org.devproof.portal.module.bookmark.page.BookmarkBasePage.java

License:Apache License

private AjaxLink<Bookmark> createDeadlinkCheckLink(String linkMarkupId, String labelMarkupId) {
    AjaxLink<Bookmark> deadlinkCheckLink = newDeadlinkCheckLink(linkMarkupId);
    deadlinkCheckLink.add(createDeadlinkCheckLabel(labelMarkupId));
    return deadlinkCheckLink;
}

From source file:org.devproof.portal.module.download.page.DownloadBasePage.java

License:Apache License

private AjaxLink<Download> createDeadlinkCheckLink(String linkMarkupId, String labelMarkupId) {
    AjaxLink<Download> deadlinkCheckLink = newDeadlinkCheckLink(linkMarkupId);
    deadlinkCheckLink.add(new Label(labelMarkupId, getString("deadlinkCheckLink")));
    return deadlinkCheckLink;
}

From source file:org.devproof.portal.module.uploadcenter.page.UploadCenterPage.java

License:Apache License

private AjaxLink<BubblePanel> createFolderLink(String linkMarkupId, String labelMarkupId) {
    AjaxLink<BubblePanel> createFolderLink = newCreateFolderLink(linkMarkupId);
    createFolderLink.add(createFolderLinkLabel(labelMarkupId));
    return createFolderLink;
}

From source file:org.devproof.portal.module.uploadcenter.panel.UploadCenterPanel.java

License:Apache License

private AjaxLink<File> createDeleteLink() {
    AjaxLink<File> ajaxLink = newDeleteLink();
    ajaxLink.add(createDeleteLinkImage());
    return ajaxLink;
}

From source file:org.efaps.ui.wicket.pages.error.ErrorPage.java

License:Apache License

/**
 * Constructor adding all Components.//w  w w.  ja va2  s  .  c  o m
 *
 * @param _exception Excpetion that was thrown
 */
public ErrorPage(final Exception _exception) {
    super();

    ErrorPage.LOG.error("ErrorPage was called", _exception);

    String errorMessage = _exception.getMessage();
    String errorAction = "";
    String errorKey = "";
    String errorId = "";
    String errorAdvanced = "";

    add(DateLabel.forDateStyle("date", Model.of(new Date()), "FF"));

    if (_exception instanceof EFapsException) {
        final EFapsException eFapsException = (EFapsException) _exception;
        errorKey = eFapsException.getClassName().getName() + "." + eFapsException.getId();
        errorId = DBProperties.getProperty(errorKey + ".Id");
        errorMessage = DBProperties.getProperty(errorKey + ".Message");
        errorAction = DBProperties.getProperty(errorKey + ".Action");
        if (eFapsException.getArgs() != null) {
            errorMessage = MessageFormat.format(errorMessage, eFapsException.getArgs());
        }
    } else {
        if (errorMessage == null) {
            errorMessage = _exception.toString();
        }
    }

    final StackTraceElement[] traceElements = _exception.getStackTrace();
    for (int i = 0; i < traceElements.length; i++) {
        errorAdvanced += traceElements[i].toString() + "\n";
    }

    // set the title for the Page
    add(new Label("pageTitle", DBProperties.getProperty("ErrorPage.Titel")));

    add(new Label("dateLabel", DBProperties.getProperty("ErrorPage.Date.Label")));

    add(new Label("errorIDLabel", DBProperties.getProperty("ErrorPage.Id.Label")));
    add(new Label("errorID", errorId));

    add(new Label("errorMsgLabel", DBProperties.getProperty("ErrorPage.Message.Label")));
    add(new MultiLineLabel("errorMsg", errorMessage));

    final WebMarkupContainer advanced = new WebMarkupContainer("advanced");

    final AjaxLink<Object> ajaxlink = new AjaxLink<Object>("openclose") {

        private static final long serialVersionUID = 1L;

        private boolean expanded = false;

        @Override
        public void onClick(final AjaxRequestTarget _target) {
            this.expanded = !this.expanded;
            String text;
            if (this.expanded) {
                text = "less";
            } else {
                text = "more";
            }
            advanced.setVisible(this.expanded);

            final Label label = new Label("opencloseLabel", text);

            label.setOutputMarkupId(true);

            replace(label);

            _target.add(label);
            _target.add(advanced);

        }
    };
    this.add(ajaxlink);

    ajaxlink.add(new Label("opencloseLabel", "more").setOutputMarkupId(true));

    try {
        if (!(errorAdvanced.length() > 0) && Context.getThreadContext().getPerson()
                .isAssigned(Role.get(KernelSettings.USER_ROLE_ADMINISTRATION))) {
            ajaxlink.setVisible(false);
        }
    } catch (final EFapsException e) {
        ErrorPage.LOG.error("Catched Exception", _exception);
    }

    this.add(advanced);
    advanced.setVisible(false);
    advanced.setOutputMarkupPlaceholderTag(true);

    advanced.add(new MultiLineLabel("advancedMsg", errorAdvanced));

    add(new Label("errorActLabel", DBProperties.getProperty("ErrorPage.Action.Label")));
    add(new Label("errorAct", errorAction));

}

From source file:org.geoserver.importer.web.AdvancedDbParamPanel.java

License:Open Source License

Component toggleAdvanced() {
    final AjaxLink advanced = new AjaxLink("advancedLink") {

        @Override//from   ww  w.  j  av a 2 s .com
        public void onClick(AjaxRequestTarget target) {
            advancedPanel.setVisible(!advancedPanel.isVisible());
            target.addComponent(advancedContainer);
            target.addComponent(this);
        }
    };
    advanced.add(new AttributeModifier("class", true, new AbstractReadOnlyModel() {

        @Override
        public Object getObject() {
            return advancedPanel.isVisible() ? "expanded" : "collapsed";
        }
    }));
    advanced.setOutputMarkupId(true);
    return advanced;
}

From source file:org.geoserver.importer.web.BasicDbParamPanel.java

License:Open Source License

/**
 * Toggles the connection pool param panel
 * /*from  w w w . j av  a  2  s  .c o m*/
 * @return
 */
Component toggleConnectionPoolLink() {
    AjaxLink connPoolLink = new AjaxLink("connectionPoolLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            connPoolPanel.setVisible(!connPoolPanel.isVisible());
            target.addComponent(connPoolPanelContainer);
            target.addComponent(this);
        }
    };
    connPoolLink.add(new AttributeModifier("class", true, new AbstractReadOnlyModel() {

        @Override
        public Object getObject() {
            return connPoolPanel.isVisible() ? "expanded" : "collapsed";
        }
    }));
    connPoolLink.setOutputMarkupId(true);
    return connPoolLink;
}

From source file:org.geoserver.importer.web.ImportPage.java

License:Open Source License

void initComponents(final IModel<ImportContext> model) {
    add(new Label("id", new PropertyModel(model, "id")));

    ImportContextProvider provider = new ImportContextProvider() {
        @Override//from   ww  w  . j a va 2s. co  m
        protected List<Property<ImportContext>> getProperties() {
            return Arrays.asList(STATE, CREATED, UPDATED);
        }

        @Override
        protected List<ImportContext> getItems() {
            return Collections.singletonList(model.getObject());
        }
    };

    add(new AjaxLink("raw") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            dialog.setInitialHeight(500);
            dialog.setInitialWidth(700);
            dialog.showOkCancel(target, new DialogDelegate() {
                @Override
                protected Component getContents(String id) {
                    XStreamPersister xp = importer().createXStreamPersisterXML();
                    ByteArrayOutputStream bout = new ByteArrayOutputStream();
                    try {
                        xp.save(model.getObject(), bout);
                    } catch (IOException e) {
                        bout = new ByteArrayOutputStream();
                        LOGGER.log(Level.FINER, e.getMessage(), e);
                        e.printStackTrace(new PrintWriter(bout));
                    }

                    return new TextAreaPanel(id, new Model(new String(bout.toByteArray())));
                }

                @Override
                protected boolean onSubmit(AjaxRequestTarget target, Component contents) {
                    return true;
                }
            });
        }
    }.setVisible(ImporterWebUtils.isDevMode()));

    final ImportContextTable headerTable = new ImportContextTable("header", provider);

    headerTable.setOutputMarkupId(true);
    headerTable.setFilterable(false);
    headerTable.setPageable(false);
    add(headerTable);

    final ImportContext imp = model.getObject();
    boolean selectable = imp.getState() != ImportContext.State.COMPLETE;
    final ImportTaskTable taskTable = new ImportTaskTable("tasks", new ImportTaskProvider(model), selectable) {
        @Override
        protected void onSelectionUpdate(AjaxRequestTarget target) {
            updateImportLink((AjaxLink) ImportPage.this.get("import"), this, target);
        }
    }.setFeedbackPanel(feedbackPanel);
    taskTable.setOutputMarkupId(true);
    taskTable.setFilterable(false);
    add(taskTable);

    final AjaxLink<Long> importLink = new AjaxLink<Long>("import", new Model<Long>()) {
        @Override
        protected void disableLink(ComponentTag tag) {
            super.disableLink(tag);
            ImporterWebUtils.disableLink(tag);
        }

        @Override
        public void onClick(AjaxRequestTarget target) {
            ImportContext imp = model.getObject();

            BasicImportFilter filter = new BasicImportFilter();
            for (ImportTask t : taskTable.getSelection()) {
                filter.add(t);
            }

            //set running flag and update cancel link
            running.set(true);
            target.addComponent(cancelLink(this));

            final Long jobid = importer().runAsync(imp, filter, false);
            setDefaultModelObject(jobid);

            final AjaxLink self = this;

            // create a timer to update the table and reload the page when
            // necessary
            taskTable.add(new AbstractAjaxTimerBehavior(Duration.milliseconds(500)) {
                @Override
                protected void onTimer(AjaxRequestTarget target) {
                    Task<ImportContext> job = importer().getTask(jobid);
                    if (job == null || job.isDone()) {
                        // remove the timer
                        stop();

                        self.setEnabled(true);
                        target.addComponent(self);

                        running.set(false);
                        target.addComponent(cancelLink(self));

                        /*ImportContext imp = model.getObject();
                        if (imp.getState() == ImportContext.State.COMPLETE) {
                        // enable cancel, which will not be "done"
                        setLinkEnabled(cancelLink(self), true, target);
                        } else {
                        // disable cancel, import is not longer running, but
                        // also
                        // not complete
                        setLinkEnabled(cancelLink(self), false, target);
                        }*/
                    }

                    // update the table
                    target.addComponent(taskTable);
                    target.addComponent(headerTable);
                }
            });
            target.addComponent(taskTable);

            // disable import button
            setLinkEnabled(this, false, target);
            // enable cancel button
            //setLinkEnabled(cancelLink(this), true, target);
        }
    };
    importLink.setOutputMarkupId(true);
    importLink.setEnabled(doSelectReady(imp, taskTable, null));
    add(importLink);

    final AjaxLink cancelLink = new AjaxLink("cancel") {
        @Override
        protected void disableLink(ComponentTag tag) {
            super.disableLink(tag);
            ImporterWebUtils.disableLink(tag);
        }

        @Override
        public void onClick(AjaxRequestTarget target) {
            ImportContext imp = model.getObject();
            if (!running.get()) {
                //if (imp.getState() == ImportContext.State.COMPLETE) {
                setResponsePage(ImportDataPage.class);
                return;
            }

            Long jobid = importLink.getModelObject();
            if (jobid == null) {
                return;
            }

            Task<ImportContext> task = importer().getTask(jobid);
            if (task == null || task.isDone()) {
                return;
            }

            task.getMonitor().setCanceled(true);
            task.cancel(false);
            try {
                task.get();
            } catch (Exception e) {
            }

            // enable import button
            setLinkEnabled(importLink, true, target);
            // disable cancel button
            //setLinkEnabled(cancelLink(importLink), false, target);
        }

    };
    //cancelLink.setEnabled(imp.getState() == ImportContext.State.COMPLETE);
    cancelLink.add(new Label("text", new CancelTitleModel()));
    add(cancelLink);

    WebMarkupContainer selectPanel = new WebMarkupContainer("select");
    selectPanel.add(new AjaxLink<ImportContext>("select-all", model) {
        @Override
        public void onClick(AjaxRequestTarget target) {
            taskTable.selectAll();
            target.addComponent(taskTable);
            updateImportLink(importLink, taskTable, target);
        }
    });
    selectPanel.add(new AjaxLink<ImportContext>("select-none", model) {
        @Override
        public void onClick(AjaxRequestTarget target) {
            taskTable.clearSelection();
            target.addComponent(taskTable);
            updateImportLink(importLink, taskTable, target);
        }
    });
    selectPanel.add(new AjaxLink<ImportContext>("select-ready", model) {
        @Override
        public void onClick(AjaxRequestTarget target) {
            doSelectReady(getModelObject(), taskTable, target);
            target.addComponent(taskTable);
            updateImportLink(importLink, taskTable, target);
        }
    });
    add(selectPanel);

    add(new Icon("icon", new DataIconModel(imp.getData())));
    add(new Label("title", new DataTitleModel(imp))
            .add(new AttributeModifier("title", new DataTitleModel(imp, false))));

    add(dialog = new GeoServerDialog("dialog"));
}

From source file:org.geoserver.security.web.SecurityNamedServicesTogglePanel.java

License:Open Source License

public SecurityNamedServicesTogglePanel(String id, IModel<List<T>> model) {
    super(id);/*from   w  w w  .  j  av a  2  s . co  m*/

    Form form = new Form("form");
    add(form);

    form.add(new ListView<T>("services", model) {
        @Override
        protected void populateItem(final ListItem<T> item) {
            IModel<T> model = item.getModel();
            AjaxLink toggle = new AjaxLink<T>("toggle", model) {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    if (item.get("panel") instanceof ContentPanel) {
                        //toggle off
                        item.addOrReplace(new WebMarkupContainer("panel"));
                        item.get("toggle").add(new AttributeModifier("class", new Model("collapsed")));
                    } else {
                        //toggle on
                        item.addOrReplace(createPanel("panel", item.getModel()));
                        item.get("toggle").add(new AttributeModifier("class", new Model("expanded")));
                    }
                    target.addComponent(item);
                }
            };
            toggle.add(new Label("name", new PropertyModel(model, "name")));

            boolean first = item.getIndex() == 0;
            toggle.add(new AttributeAppender("class", new Model(first ? "expanded" : "collapsed"), " "));
            item.add(toggle);

            item.add(first ? createPanel("panel", model) : new WebMarkupContainer("panel"));
            item.setOutputMarkupId(true);
        }
    });
}

From source file:org.geoserver.web.importer.BasicDbmsParamPanel.java

License:Open Source License

/**
 * Toggles the connection pool param panel
 * /*from   w ww.j  av  a2s . co  m*/
 * @return
 */
Component toggleConnectionPoolLink() {
    AjaxLink connPoolLink = new AjaxLink("connectionPoolLink") {

        @Override
        public void onClick(AjaxRequestTarget target) {
            connPool.setVisible(!connPool.isVisible());
            target.addComponent(connPoolParametersContainer);
            target.addComponent(this);
        }
    };
    connPoolLink.add(new AttributeModifier("class", true, new AbstractReadOnlyModel() {

        @Override
        public Object getObject() {
            return connPool.isVisible() ? "expanded" : "collapsed";
        }
    }));
    connPoolLink.setOutputMarkupId(true);
    return connPoolLink;
}