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:com.userweave.pages.configuration.editentitypanel.DeleteEntityPage.java

License:Open Source License

@Override
protected WebMarkupContainer getAcceptButton(String componentId, final ModalWindow window) {
    return new AjaxLink(componentId) {
        private static final long serialVersionUID = 1L;

        @Override/*from   w  w  w. j  av  a 2s.c  o m*/
        public void onClick(AjaxRequestTarget target) {
            window.close(target);

            DeleteEntityPage.this.onDelete(target);
        }
    };
}

From source file:com.userweave.pages.configuration.editentitypanel.EditStudyEntityPanel.java

License:Open Source License

/**
 * A study can be in the state INIT, RUNNING, FINISH. This
 * Link triggers the state transition./*ww  w.jav  a 2s . c o  m*/
 * 
 * @return
 *       An abstract link.
 */
private AbstractLink getChangeStateLink() {
    AjaxLink<Void> changeState = new AjaxLink<Void>("changeState") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            // see #974 for workflow.
            if (studyService.isAtLeastOneAdminRegistered(getStudy().getParentProject())) {
                changeStateModalWindow.show(target);
            } else {
                notRegiteredModalWindow.show(target);
            }
        }

        @Override
        public boolean isEnabled() {
            return UserWeaveSession.get().getUser().hasRole(Role.PROJECT_ADMIN)
                    && getStudy().getState() != StudyState.FINISHED;
        }
    };

    IModel<String> labelModel;

    if (getStudy().getState() != StudyState.INIT) {
        labelModel = new StringResourceModel("deactivate_study", this, null);
    } else {
        labelModel = new StringResourceModel("activate_study", this, null);
    }

    changeState.add(new Label("action", labelModel));

    return changeState;
}

From source file:com.userweave.pages.configuration.editentitypanel.EditStudyEntityPanel.java

License:Open Source License

/**
 * Displays a link to reset the study state to predecessor state.
 * // w w  w.j  a  va 2  s. c  om
 * @important Link is only visible, if user is portal admin.
 * 
 * @param callback
 *       Callback to fire on study event.
 * 
 * @return
 *       An ajax link.
 */
private AjaxLink<Void> getResetLink(final EventHandler callback) {
    AjaxLink<Void> resetLink = new AjaxLink<Void>("resetState") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            Study study = getStudy();

            resetState(study);

            // Fire purged event, because this event deletes
            // nothing and redirects to select project panel
            EntityEvent.Purged(target, study).fire(callback);
        }

        @Override
        public boolean isVisible() {
            return UserWeaveSession.get().isAdmin() && getStudy().getState() != StudyState.INIT;
        }
    };

    IModel<String> resetModel;

    if (getStudy().getState() != StudyState.RUNNING) {
        resetModel = new StringResourceModel("activate_study", this, null);
    } else {
        resetModel = new StringResourceModel("init_study", this, null);
    }

    resetLink.add(new Label("resetStateLabel", resetModel));

    return resetLink;
}

From source file:com.userweave.pages.configuration.editentitypanel.EditStudyEntityPanel.java

License:Open Source License

/**
 * Returns a link to preview the study./*from www. j av  a 2  s. c  o m*/
 * 
 * @return
 *       An abstract link component, depending on registered admins.
 */
private AbstractLink getPreviewLink(final EventHandler callback) {
    PageParameters parameters = new PageParameters();

    AbstractLink link;

    IModel<String> linkLabelModel = new StringResourceModel("studylink", EditStudyEntityPanel.this, null);

    // see #974 for workflow.
    if (studyService.isAtLeastOneAdminRegistered(getStudy().getParentProject())) {
        parameters.set(0, getStudy().getHashCode());

        if (getStudy().getState() == StudyState.INIT) {
            linkLabelModel = new StringResourceModel("preview", EditStudyEntityPanel.this, null);
        }

        link = new BookmarkablePageLink<Void>("preview", DisplaySurveyUI.class, parameters);
    } else {
        linkLabelModel = new StringResourceModel("preview", EditStudyEntityPanel.this, null);

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

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

    link.add(new Label("previewLabel", linkLabelModel));

    link.setEnabled(getStudy().getState() != StudyState.FINISHED && !getStudy().isDeleted());

    return link;
}

From source file:com.userweave.pages.configuration.editentitypanel.RedirectOnNotRegisteredWebPage.java

License:Open Source License

public RedirectOnNotRegisteredWebPage(final ModalWindow window) {
    super(window);

    add(new AjaxLink("redirectUserLink") {
        private static final long serialVersionUID = 1L;

        @Override//from   www  .  j a  va 2 s  . co m
        public void onClick(AjaxRequestTarget target) {
            onLinkClicked(target);
        }
    });
}

From source file:com.userweave.pages.configuration.project.projectbrowser.MyProjectListViewPanel.java

License:Open Source License

/**
 * Factory method to create an ajax link to move the
 * given project in the ordering 'up';/*from w ww  .ja  v a  2  s .com*/
 * 
 * @param project
 *       Project to move.
 * @param user
 *       User to find joins to. 
 * @param rowIndex
 *       The index of the row that is currently populated.
 * @return
 *       An ajax link.
 */
private AjaxLink<Void> createMoveUp(final Project project, final User user, final int rowIndex) {
    return new AjaxLink<Void>("moveUp") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            moveUp(project, user);

            target.add(MyProjectListViewPanel.this);
        }

        @Override
        public boolean isEnabled() {
            return rowIndex > 0;
        }
    };
}

From source file:com.userweave.pages.configuration.project.projectbrowser.MyProjectListViewPanel.java

License:Open Source License

/**
 * Factory method to create an ajax link to move the
 * given project in the ordering 'down';
 * //from  ww  w  .j a  va 2 s . c  om
 * @param project
 *       Project to move.
 * @param user
 *       User to find joins to. 
 * @param rowIndex
 *       The index of the row that is currently populated.
 * @return
 *       An ajax link.
 */
private AjaxLink<Void> createMoveDown(final Project project, final User user, final int rowIndex) {
    return new AjaxLink<Void>("moveDown") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            moveDown(project, user);

            target.add(MyProjectListViewPanel.this);
        }

        @Override
        public boolean isEnabled() {
            if (numberOfProjects <= PROJECT_ROWS) {
                return rowIndex < (numberOfProjects - 1);
            }

            return rowIndex < (PROJECT_ROWS - 1);
        }
    };
}

From source file:com.userweave.pages.configuration.project.projectbrowser.ProjectListViewPanel.java

License:Open Source License

/**
 * Factory method for a link to select a project.
 * /* ww  w.j a  v  a 2  s . c  o m*/
 * @param id
 *       Component markup id.
 * @param project
 *       Project to open.
 * @param callback
 *       Callback to fire on project select.
 * @return
 */
private AjaxLink<Void> getProjectSelectLink(String id, final Project project, final EventHandler callback) {
    return new AjaxLink<Void>(id) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            EntityEvent.Selected(target, project).fire(callback);
        }
    };
}

From source file:com.userweave.pages.configuration.project.ProjectInvitationListItem.java

License:Open Source License

public ProjectInvitationListItem(String id, final ProjectInvitation invitation) {
    super(id);//from w ww.ja  v a 2 s  .c  o m

    add(new Label("projectName", invitation.getProject().getName()));

    AbstractLink accept = new AjaxLink("accept") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            projectInvitationService.acceptProjectInvitation(invitation.getId());

            ProjectInvitationListItem.this.onClick(target, true);
        }
    };

    AjaxLink decline = new AjaxLink("decline") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            projectInvitationService.declineProjectInvitation(invitation.getId());

            ProjectInvitationListItem.this.onClick(target, false);
        }

    };

    add(decline);
    add(accept);
}

From source file:com.userweave.pages.configuration.project.SetToPublicWebPage.java

License:Open Source License

@Override
protected WebMarkupContainer getAcceptButton(String componentId, final ModalWindow window) {
    AjaxLink acceptLink = new AjaxLink(componentId) {
        private static final long serialVersionUID = 1L;

        @Override/*from  w w w. j  a  va 2s .c  om*/
        public void onClick(AjaxRequestTarget target) {
            onAccept(target);
            window.close(target);
        }
    };

    acceptLink.setVisible(false);
    acceptLink.setOutputMarkupId(true);
    acceptLink.setOutputMarkupPlaceholderTag(true);

    return acceptLink;
}