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

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

Introduction

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

Prototype

public AjaxLink(final String id) 

Source Link

Document

Construct.

Usage

From source file:de.alpharogroup.wicket.components.download.DownloadPanel.java

License:Apache License

/**
 * Factory method for creating the new {@link AjaxLink} for the download. This method is invoked
 * in the constructor from the derived classes and can be overridden so users can provide their
 * own version of a new {@link AjaxLink} for the download.
 *
 * @param id//from   w w  w  .  j a v  a2s. com
 *            the id
 * @param model
 *            the model
 * @return the new {@link AjaxLink} for the download.
 */
protected AjaxLink<Void> newDownloadLink(final String id, final IModel<DownloadModelBean> model) {
    final AjaxDownloadBehavior download = new AjaxDownloadBehavior() {
        /** The Constant serialVersionUID. */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        protected String getFileName() {
            return model.getObject().getFilename();
        }

        /**
         * {@inheritDoc}
         */
        @Override
        protected IResourceStream getResourceStream() {
            try {
                return ApplicationExtensions.getResourceStream(WebApplication.get(),
                        model.getObject().getPath(), model.getObject().getContentType());
            } catch (final IOException e) {
                getSession().info("Error: " + e.getLocalizedMessage());
            }
            return null;
        }
    };
    final AjaxLink<Void> downloadLink = new AjaxLink<Void>(id) {
        /** The Constant serialVersionUID. */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        public void onClick(final AjaxRequestTarget target) {
            download.initiate(target);
        }
    };
    downloadLink.add(download);
    return downloadLink;
}

From source file:de.alpharogroup.wicket.components.examples.ajaxtabs.addable.AddableTabbedPanel.java

License:Apache License

public AddableTabbedPanel(final String id, final IModel<TabbedPanelModels<String>> model) {
    super(id, model);

    setDefaultModel(new CompoundPropertyModel<TabbedPanelModels<String>>(model));
    final List<TabModel<String>> tabModels = model.getObject().getTabModels();
    for (int i = 0; i < tabModels.size(); i++) {
        tabs.add(new AbstractContentTab<TabModel<String>>(tabModels.get(i).getTitle(),
                Model.of(tabModels.get(i)), Model.of("x")) {
            private static final long serialVersionUID = 1L;

            @Override//ww w.  j av  a  2 s.c  om
            public Panel getPanel(final String panelId) {
                final Panel p = new TabPanel(panelId, getContent().getObject().getContent());
                return p;
            }
        });
    }

    add(ajaxTabbedPanel = new AjaxAddableTabbedPanel<ICloseableTab>("tabs", tabs) {
        private static final long serialVersionUID = 1L;

        @Override
        protected Component newAddTab(final String id, final IModel<String> model) {
            final WebMarkupContainer addTabContainer = new WebMarkupContainer(id);
            addTabContainer.setOutputMarkupId(true);
            addTabContainer.add(new AttributeAppender("class", " label"));
            final ModalWindow modalWindow = newAddTabModalWindow("modalWindow", Model.of("Add new tab"));
            addTabContainer.add(modalWindow);
            final AjaxLink<Void> openModal = new AjaxLink<Void>("openModal") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(final AjaxRequestTarget target) {
                    target.prependJavaScript("Wicket.Window.unloadConfirmation = false;");
                    modalWindow.show(target);
                }
            };
            openModal.setOutputMarkupId(true);
            openModal.add(newAddTabButtonLabel("addTabLabel", Model.of("+")));
            openModal.add(new AttributeAppender("class", " label-success"));
            addTabContainer.add(openModal);
            return addTabContainer;
        }

        @Override
        protected Label newaddTabLabel(final String id, final IModel<String> model) {
            return ComponentFactory.newLabel(id, model);
        }

        @Override
        protected IModel<String> newAddTabLabelModel() {
            return Model.of("+");
        }

        @Override
        protected ModalWindow newAddTabModalWindow(final String id, final IModel<String> model) {
            final ModalWindow modalWindow = new ModalWindow(id);
            modalWindow.setOutputMarkupId(true);
            modalWindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
            modalWindow.setTitle(model.getObject());
            modalWindow.setInitialHeight(200);
            modalWindow.setInitialWidth(300);
            modalWindow.setContent(
                    new SaveDialogPanel<String>(modalWindow.getContentId(), Model.of(new String())) {
                        /**
                         * The serialVersionUID.
                         */
                        private static final long serialVersionUID = 1L;

                        @Override
                        protected void onCancel(final AjaxRequestTarget target, final Form<?> form) {
                            super.onCancel(target, form);
                            modalWindow.close(target);
                        }

                        @SuppressWarnings("unchecked")
                        @Override
                        protected void onSave(AjaxRequestTarget target, final Form<?> form) {
                            super.onSave(target, form);
                            if (target == null) {
                                target = ComponentFinder.findAjaxRequestTarget();
                            }
                            final Object value = getModel();
                            String v = null;
                            if (value instanceof IModel) {
                                final Object obj = ((IModel<?>) value).getObject();
                                if (obj instanceof String) {
                                    v = (String) obj;
                                }
                            }
                            target.add(ajaxTabbedPanel);

                            final TabModel<String> newTabModel = new TabModel<>(Model.of(v), Model.of(v),
                                    Model.of("x"));

                            final AbstractContentTab<TabModel<String>> tab = new AbstractContentTab<TabModel<String>>(
                                    newTabModel.getTitle(), Model.of(newTabModel), Model.of("x")) {
                                private static final long serialVersionUID = 1L;

                                @Override
                                public Panel getPanel(final String panelId) {
                                    final Panel p = new TabPanel(panelId,
                                            getContent().getObject().getContent());
                                    return p;
                                }
                            };
                            final Object object = AddableTabbedPanel.this.getDefaultModelObject();
                            final TabbedPanelModels<String> tabbedModel = (TabbedPanelModels<String>) object;
                            final List<TabModel<String>> tabModels = tabbedModel.getTabModels();
                            tabModels.add(newTabModel);
                            ajaxTabbedPanel.onNewTab(target, tab);
                            modalWindow.close(target);
                        }
                    });
            return modalWindow;
        }

        @Override
        protected WebMarkupContainer newCloseLink(final String linkId, final int index) {
            final WebMarkupContainer wmc = super.newCloseLink(linkId, index);
            wmc.add(new AttributeAppender("class", "close label label-warning"));
            return wmc;

        }

        @Override
        protected WebMarkupContainer newLink(final String linkId, final int index) {
            final WebMarkupContainer wmc = super.newLink(linkId, index);
            wmc.add(new AttributeAppender("class", "label label-success"));
            return wmc;
        }
    });
}

From source file:de.alpharogroup.wicket.components.examples.ajaxtabs.addtab.EditableAjaxTabbedPanelDecorator.java

License:Apache License

public EditableAjaxTabbedPanelDecorator(final String id, final IModel<TabbedPanelModels<String>> model) {
    super(id, model);
    setDefaultModel(new CompoundPropertyModel<TabbedPanelModels<String>>(model));
    final List<TabModel<String>> tabModels = model.getObject().getTabModels();
    for (int i = 0; i < tabModels.size(); i++) {
        tabs.add(new AbstractContentTab<TabModel<String>>(tabModels.get(i).getTitle(),
                Model.of(tabModels.get(i)), Model.of("x")) {
            private static final long serialVersionUID = 1L;

            @Override//from  w w  w  .  j  a v  a 2  s .  c  o  m
            public Panel getPanel(final String panelId) {
                final Panel p = new TabPanel(panelId, getContent().getObject().getContent());
                return p;
            }
        });
    }

    add(ajaxTabbedPanel = new AjaxCloseableTabbedPanel<ICloseableTab>("tabs", tabs) {
        private static final long serialVersionUID = 1L;

        @Override
        protected WebMarkupContainer newCloseLink(final String linkId, final int index) {
            final WebMarkupContainer wmc = super.newCloseLink(linkId, index);
            wmc.add(new AttributeAppender("class", "close label label-warning"));
            return wmc;

        }

        @Override
        protected WebMarkupContainer newLink(final String linkId, final int index) {
            final WebMarkupContainer wmc = super.newLink(linkId, index);
            wmc.add(new AttributeAppender("class", "label label-success"));
            return wmc;
        }
    });
    ajaxTabbedPanel.getTabsUlContainer().add(new AttributeAppender("class", " nav nav-tabs"));
    final AjaxLink<Void> addTabLink = new AjaxLink<Void>("addTabLink") {
        private static final long serialVersionUID = 1L;

        @SuppressWarnings("unchecked")
        @Override
        public void onClick(AjaxRequestTarget target) {
            if (target == null) {
                target = ComponentFinder.findAjaxRequestTarget();
            }
            target.add(ajaxTabbedPanel);
            final int tabNumber = tabs.size() + 1;
            final TabModel<String> thirdTabModel = new TabModel<>(Model.of("tab " + tabNumber),
                    Model.of("TAB_" + tabNumber), Model.of("x"));

            final AbstractContentTab<TabModel<String>> tab = new AbstractContentTab<TabModel<String>>(
                    thirdTabModel.getTitle(), Model.of(thirdTabModel), Model.of("x")) {
                private static final long serialVersionUID = 1L;

                @Override
                public Panel getPanel(final String panelId) {
                    final Panel p = new TabPanel(panelId, getContent().getObject().getContent());
                    return p;
                }
            };
            final Object object = EditableAjaxTabbedPanelDecorator.this.getDefaultModelObject();
            final TabbedPanelModels<String> tabbedModel = (TabbedPanelModels<String>) object;
            final List<TabModel<String>> tabModels = tabbedModel.getTabModels();
            tabModels.add(thirdTabModel);
            ajaxTabbedPanel.onNewTab(target, tab);
        }
    };
    add(addTabLink);
    final AjaxFallbackLink<Object> removeTabLink = new AjaxFallbackLink<Object>("removeTabLink") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            target.add(ajaxTabbedPanel);
            onRemoveTab(target, 0);
        }
    };
    add(removeTabLink);
}

From source file:de.alpharogroup.wicket.components.link.LinkPanel.java

License:Apache License

/**
 * Factory method for create a new {@link AbstractLink}. This method is invoked in the
 * constructor from the derived classes and can be overridden so users can provide their own
 * version of a new {@link AbstractLink}.
 *
 * @param id/* w w  w  . ja va2  s . co  m*/
 *            the id
 * @return the new {@link AbstractLink}
 */
protected AbstractLink newLink(final String id) {
    return new AjaxLink<Void>(id) {

        /**
         * The serialVersionUID
         */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        public void onClick(final AjaxRequestTarget target) {
            LinkPanel.this.onClick(target);

        }
    };
}

From source file:de.alpharogroup.wicket.components.report.ReportThrowablePanel.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();
    add(header = newHeaderLabel("header",
            ResourceModelFactory.newResourceModel("header.label", this, "Upps! An error occured.")));

    add(form = newForm("form", getModel()));

    form.add(description = newDescription("description", getModel()));

    form.add(toReplace = newToReplace("toReplace", Model.of("")));

    final AjaxLink<Void> link = new AjaxLink<Void>("link") {

        /** The Constant serialVersionUID. */
        private static final long serialVersionUID = 1L;

        /**/*from   ww  w .  j a va  2s. c o m*/
         * {@inheritDoc}
         */
        @Override
        public void onClick(final AjaxRequestTarget target) {
            toReplace.setDefaultModelObject(reportThrowableModel.getStackTrace());
            Effects.replace(target, toReplace);

        }
    };

    form.add(link);

    form.add(submitButton = newSubmitButton("submitButton"));

    form.add(stackTrace = newHiddenField("stackTrace", PropertyModel.<String>of(getModel(), "stackTrace")));
    LOGGER.error(reportThrowableModel.getStackTrace());
}

From source file:de.alpharogroup.wicket.data.provider.examples.refreshingview.ModalDialogWithStylePanel.java

License:Apache License

public ModalDialogWithStylePanel(final String id) {
    super(id);//from   ww  w .ja  v a  2s . c o m
    final ModalWindow modal = new ModalWindow("modal");
    modal.setCssClassName("w_vegas");
    modal.setTitle("Trivial Modal");

    final AjaxLink<Void> modalLink = new AjaxLink<Void>("modalLink") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(final AjaxRequestTarget target) {

            target.appendJavaScript("var originalStyle = $('.wicket-modal').attr('style');"
                    + "$('.wicket-modal').attr('style', originalStyle + 'opacity: 0.5;');");
        }
    };
    final Fragment modalFragment = new Fragment(modal.getContentId(), "modalContent", this);
    modalFragment.add(modalLink);
    modal.setContent(modalFragment);

    add(modal);
    add(new AjaxLink<Void>("openModal") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            modal.show(target);
        }
    });
}

From source file:de.alpharogroup.wicket.dialogs.ajax.modal.ModalDialogFragmentPanel.java

License:Apache License

/**
 * Factory method for creating a new {@link Component} to open the {@link ModalWindow}. This
 * method is invoked in the constructor from the derived classes and can be overridden so users
 * can provide their own version of a new {@link Component} to open the {@link ModalWindow}.
 *
 * @param id//from  w w  w.j a v  a2s  . c o  m
 *            the wicket id
 * @param model
 *            the model
 * @return the new {@link Component} to open the {@link ModalWindow}.
 */
protected MarkupContainer newOpenModalLink(final String id, final IModel<T> model) {
    return new AjaxLink<Void>(id) {

        /** The Constant serialVersionUID. */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        public void onClick(final AjaxRequestTarget target) {
            ModalDialogFragmentPanel.this.onShow(target);
        }
    };
}

From source file:de.alpharogroup.wicket.dialogs.examples.HomePage.java

License:Apache License

/**
 * Constructor that is invoked when page is invoked without a session.
 *
 * @param parameters//from www. ja  va 2 s .c o m
 *            Page parameters
 */
public HomePage(final PageParameters parameters) {

    final WebMarkupContainer wmc = new WebMarkupContainer("comments");
    wmc.setOutputMarkupId(true);

    final List<MessageBean> noteList = new ArrayList<MessageBean>();
    final MessageBean messageBean = new MessageBean();
    messageBean.setMessageContent("hello");
    final IModel<MessageBean> dialogModel = new CompoundPropertyModel<MessageBean>(messageBean);
    final ModalWindow modalWindow = new BaseModalWindow<MessageBean>("baseModalWindow", dialogModel, "Title",
            350, 160) {
        /**
         * The serialVersionUID.
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onCancel(final AjaxRequestTarget target) {
            target.add(wmc);
            close(target);
        }

        @Override
        public void onSelect(final AjaxRequestTarget target, final MessageBean object) {
            final MessageBean clone = (MessageBean) WicketObjects.cloneObject(object);
            noteList.add(clone);
            // Clear the content from textarea in the dialog.
            object.setMessageContent("");
            target.add(wmc);
            close(target);
        }

    };
    modalWindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    modalWindow.setResizable(false);
    add(modalWindow);

    final AjaxLink<String> linkToModalWindow = new AjaxLink<String>("linkToModalWindow") {
        /**
         * The serialVersionUID.
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            modalWindow.show(target);
        }
    };
    // Add the WebMarkupContainer...
    add(wmc);

    final Label linkToModalWindowLabel = new Label("linkToModalWindowLabel", "show modal dialog");
    linkToModalWindow.add(linkToModalWindowLabel);
    // The AjaxLink to open the modal window
    add(linkToModalWindow);
    // here we have to set the message content from the bean in a repeater...
    final ListView<MessageBean> repliesAndNotesListView = new ListView<MessageBean>("repliesAndNotesListView",
            noteList) {
        /**
         * The serialVersionUID.
         */
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<MessageBean> item) {
            final MessageBean repliesandnotes = item.getModelObject();
            item.add(new RepliesandnotesPanel("repliesandnotesPanel", repliesandnotes));

        }
    };
    repliesAndNotesListView.setVisible(true);
    wmc.add(repliesAndNotesListView);

    @SuppressWarnings("rawtypes")
    final Link showUploadPage = new Link("showUploadPage") {

        /**
         *
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            setResponsePage(new UploadPage(getPageParameters()));
        }

    };
    add(showUploadPage);

    add(new ModalDialogWithStylePanel("modalDialogWithStylePanel", Model.of("bla")));

}

From source file:de.alpharogroup.wicket.dialogs.examples.UploadPage.java

License:Apache License

public UploadPage(final PageParameters parameters) {
    super(parameters);
    final ModalWindow uploadFileDialog = new ModalWindow("uploadFileDialog");

    add(uploadFileDialog);/*from w  w  w.  jav a 2 s.c o  m*/

    final UploadFilePanel uploadFilePanel = new UploadFilePanel("content");
    uploadFileDialog.setContent(uploadFilePanel);

    add(new AjaxLink<Void>("showUpdoadFileDialog") {
        /**
         * The serialVersionUID.
         */
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(final AjaxRequestTarget target) {
            uploadFileDialog.show(target);
        }
    });
}

From source file:de.codepitbull.application.HomePage.java

License:Apache License

public HomePage(final PageParameters parameters) {
    add(new DebugBar("debug"));
    add(new Label("version", getApplication().getFrameworkSettings().getVersion()));
    add(new AjaxLink<Void>("testLink") {
        @Override/*  w w  w.j  a  v a  2  s  .c o  m*/
        public void onClick(AjaxRequestTarget target) {

        }
    });
}