Example usage for org.apache.wicket.ajax AjaxRequestTarget appendJavaScript

List of usage examples for org.apache.wicket.ajax AjaxRequestTarget appendJavaScript

Introduction

In this page you can find the example usage for org.apache.wicket.ajax AjaxRequestTarget appendJavaScript.

Prototype

void appendJavaScript(CharSequence javascript);

Source Link

Document

Adds javascript that will be evaluated on the client side after components are replaced

If the javascript needs to do something asynchronously (i.e.

Usage

From source file:com.servoy.j2db.server.headlessclient.DivWindow.java

License:Open Source License

/**
 * Should only be called if 'target' from a page inside a DivWindow iframe. Must always be followed by
 * {@link #actionBatchComplete(AjaxRequestTarget, String)} with the same batchID, after the appropriate actions are batched.
 *///from  w  w w  .j a  v a2s  .  c o m
public static void beginActionBatch(AjaxRequestTarget target, String batchID) {
    target.appendJavascript("Wicket.DivWindow.beginActionBatch(\"" + batchID + "\");");
}

From source file:com.servoy.j2db.server.headlessclient.DivWindow.java

License:Open Source License

/**
 * Should only be called if 'target' from a page inside a DivWindow iframe. Must always be preceded by
 * {@link #actionBatchComplete(AjaxRequestTarget, String)} with the same batchID and the appropriate actions that are to be batched.
 *//*from   w w w  . j a  va2 s. c om*/
public static void actionBatchComplete(AjaxRequestTarget target, String batchID) {
    target.appendJavascript("Wicket.DivWindow.actionBatchComplete(\"" + batchID + "\");");
}

From source file:com.servoy.j2db.server.headlessclient.dnd.DraggableBehavior.java

License:Open Source License

@Override
protected void respond(AjaxRequestTarget ajaxRequestTarget) {
    Page componentPage = getComponent().getPage();
    Request componentRequest = getComponent().getRequest();
    String action = componentRequest.getParameter(PARAM_ACTION);
    String id = componentRequest.getParameter(PARAM_DRAGGABLE_ID);
    int modifiers = WebEventExecutor
            .convertModifiers(Integer.parseInt(componentRequest.getParameter(PARAM_MODIFIERS)));

    if (ACTION_DRAG_START.equals(action)) {
        boolean dragStartReturn = onDragStart(id, Utils.getAsInteger(componentRequest.getParameter(PARAM_X)),
                Utils.getAsInteger(componentRequest.getParameter(PARAM_Y)), modifiers, ajaxRequestTarget);
        if (!dragStartReturn)
            ajaxRequestTarget
                    .appendJavascript("YAHOO.util.DragDropMgr.stopDrag(Servoy.DD.mouseDownEvent, false);");
    } else if (ACTION_DRAG_END.equals(action)) {
        onDragEnd(id, Utils.getAsInteger(componentRequest.getParameter(PARAM_X)),
                Utils.getAsInteger(componentRequest.getParameter(PARAM_Y)), modifiers, ajaxRequestTarget);
    } else if (ACTION_DROP_HOVER.equals(action)) {
        onDropHover(id, componentRequest.getParameter(PARAM_TARGET_ID), modifiers, ajaxRequestTarget);
    } else if (ACTION_DROP.equals(action)) {
        onDrop(id, componentRequest.getParameter(PARAM_TARGET_ID),
                Utils.getAsInteger(componentRequest.getParameter(PARAM_X)),
                Utils.getAsInteger(componentRequest.getParameter(PARAM_Y)), modifiers, ajaxRequestTarget);
    }/*  ww  w.j  av a 2s. c  om*/

    WebEventExecutor.generateResponse(ajaxRequestTarget, componentPage);
}

From source file:com.servoy.j2db.server.headlessclient.ServoyDivDialog.java

License:Open Source License

@Deprecated
@Override//from www .j  a  v  a  2  s.c  o  m
public void show(AjaxRequestTarget target) {
    if (!isShown()) {
        target.appendJavascript("Wicket.Window.unloadConfirmation = false;");
    }
    super.show(target);
}

From source file:com.socialsite.course.answer.AddAnswerPanel.java

License:Open Source License

public AddAnswerPanel(final String id, final IModel<Question> model, final MarkupContainer dependent) {
    super(id, model);
    final Form<Void> form = new Form<Void>("form");
    add(form);//from   w  ww. j av a  2 s .  c  o  m
    form.add(new RichEditor("richeditor", new PropertyModel<String>(this, "text")));
    final AjaxSubmitLink addAnswer = new AjaxSubmitLink("addanswer") {

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

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
            super.onError(target, form);
            // show feedback messages
            target.addComponent(feedback);
        }

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            // save the answers
            final Question question = model.getObject();
            final Answer answer = new Answer();
            answer.setUser(getSessionUser());
            answer.setText(text);
            answer.setTime(new Date());
            question.addAnswer(answer);

            answerDao.save(answer);
            target.addComponent(feedback);
            target.addComponent(dependent);
            // fire the update event so the editor can intialize
            firePostAjaxUpdateEvent(target);
            // slideup the reply panel
            final String id = AddAnswerPanel.this.getMarkupId();
            target.appendJavascript(" $('#" + id + " .slideText').trigger('click'); ");
        }
    };
    form.add(addAnswer);
    form.setDefaultButton(addAnswer);
    add(feedback = new FeedbackPanel("feedback"));
    feedback.setOutputMarkupId(true);
    setOutputMarkupId(true);
}

From source file:com.socialsite.course.comment.AddCommentPanel.java

License:Open Source License

public AddCommentPanel(final String id, final IModel<Answer> model, final MarkupContainer dependent) {
    super(id, model);
    final Form<Void> form = new Form<Void>("form");
    add(form);/* w w w  .j a va2  s  . c  o  m*/
    form.add(new RichEditor("richeditor", new PropertyModel<String>(this, "text")));
    final AjaxSubmitLink addComment = new AjaxSubmitLink("addcomment") {

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

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
            super.onError(target, form);
            // show feedback messages
            target.addComponent(feedback);
        }

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            // saves the new comment
            final Answer answer = model.getObject();
            final Comment comment = new Comment();
            comment.setText(text);
            comment.setTime(new Date());
            comment.setUser(getSessionUser());
            answer.addComment(comment);
            commentDao.save(comment);
            // update the dependent
            target.addComponent(dependent);
            // slideup the reply panel
            final String id = AddCommentPanel.this.getMarkupId();
            target.appendJavascript(" $('#" + id + " .slideText').trigger('click'); ");
        }
    };
    form.add(addComment);
    form.setDefaultButton(addComment);
    add(feedback = new FeedbackPanel("feedback"));
    feedback.setOutputMarkupId(true);
    setOutputMarkupId(true);
}

From source file:com.socialsite.course.JoinCoursePanel.java

License:Open Source License

public JoinCoursePanel(final String id, final IModel<Course> model) {
    super(id, model);
    course = model.getObject();/*from  ww w.  j  a v  a 2  s.co  m*/
    setOutputMarkupId(true);
    add(new AjaxLink<Void>("join") {

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

        @Override
        public void onClick(final AjaxRequestTarget target) {
            // reload
            course = courseDao.load(course.getId());
            final User user = getSessionUser();
            final CourseJoinedMsg msg = new CourseJoinedMsg();
            msg.setSender(user);
            msg.setCourse(course);
            msg.setTime(new Date());
            msg.setUsers(new HashSet<User>(user.getFriends()));
            messageDao.save(msg);
            isVisible = false;
            course.addStudents((Student) user);
            courseDao.save(course);
            target.addComponent(JoinCoursePanel.this);
            target.appendJavascript("SocialSite.Message.show('You joined the course');");
        }
    });
}

From source file:com.socialsite.course.question.AddQuestionPanel.java

License:Open Source License

public AddQuestionPanel(final String id, final IModel<Course> model, final MarkupContainer dependent) {
    super(id, model);
    final Form<Course> form = new Form<Course>("form", model);
    add(form);/* ww w . j a v a  2s  . co m*/
    form.add(new RequiredTextField<String>("heading", new PropertyModel<String>(this, "heading")));
    form.add(new RichEditor("richeditor", new PropertyModel<String>(this, "text")));
    final AjaxSubmitLink addQuestionLink = new AjaxSubmitLink("addquestion", form) {

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

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
            super.onError(target, form);
            // show feedback messages
            target.addComponent(feedback);
        }

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            // save the question
            final Course course = (Course) form.getModelObject();
            // create another question model
            final Question question = new Question(heading, text);
            question.setCourse(course);
            question.setUser(getSessionUser());
            questionDao.save(question);

            QuestionInfoMsg infoMsg = new QuestionInfoMsg();
            infoMsg.setQuestion(question);
            infoMsg.setTime(new Date());
            infoMsg.setUsers(new HashSet<User>(course.getStudents()));
            messageDao.save(infoMsg);

            // update the related contents
            target.addComponent(dependent);
            target.addComponent(feedback);
            // fire the update event so the editor can intialize
            firePostAjaxUpdateEvent(target);
            // slideup the reply panel
            final String id = AddQuestionPanel.this.getMarkupId();
            target.appendJavascript(" $('#" + id + " .slideText').trigger('click'); ");
        }
    };

    form.add(addQuestionLink);
    form.setDefaultButton(addQuestionLink);
    add(feedback = new FeedbackPanel("feedback"));
    feedback.setOutputMarkupId(true);
    setOutputMarkupId(true);
}

From source file:com.socialsite.friend.AddAsFriendPanel.java

License:Open Source License

/**
 * constructor// w  ww .  j  a  v a 2  s  .c o m
 */
public AddAsFriendPanel(final String id) {
    super(id);
    final Form<Object> addAsFriendForm = new Form<Object>("addasfriendform");
    add(addAsFriendForm);
    addAsFriendForm.add(new RequiredTextField<String>("message", new PropertyModel<String>(this, "message")));
    AjaxSubmitLink send;
    addAsFriendForm.add(send = new AjaxSubmitLink("send") {

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

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            // load the users
            final User user = userDao.load(SocialSiteSession.get().getSessionUser().getId());
            final User friend = userDao.load(SocialSiteSession.get().getUserId());
            // create a new friend request
            final FriendRequestMsg friendRequest = new FriendRequestMsg();
            friendRequest.setSender(user);
            friendRequest.getUsers().add(friend);
            friendRequest.setMessage(message);
            friendRequest.setTime(new Date());
            friendRequestMsgDao.save(friendRequest);
            // TODO show some meaningful message
            target.appendJavascript(
                    "SocialSite.Message.show('Your friend request has been sent successfully ');");

            // remove the form
            target.appendJavascript(" SocialSite.Home.AddAsFriend.removeAll();");
            isVisible = false;
        }
    });
    addAsFriendForm.setDefaultButton(send);
    add(feedback = new FeedbackPanel("feedback"));
    feedback.setOutputMarkupId(true);
}

From source file:com.socialsite.message.InfoMsgPanel.java

License:Open Source License

/**
 * constructor/*from   ww w. ja v  a  2s. co  m*/
 * 
 * @param id
 *            id
 * @param infoMsg
 *            message
 */
public InfoMsgPanel(final String id, final IModel<InfoMsg> infoMsgModel, final MarkupContainer dependent) {
    super(id, infoMsgModel);
    final InfoMsg infoMsg = infoMsgModel.getObject();
    final User sender = infoMsg.getSender();

    // user image
    UserLink<User> userImageLink;
    final Model<User> senderModel = new Model<User>(sender);
    add(userImageLink = new UserLink<User>("imagelink", senderModel));
    userImageLink
            .add(new ImagePanel("userthumb", sender.getId(), ImageType.USER, sender.getLastModified(), true));
    Link<User> name;
    add(name = new UserLink<User>("home", senderModel));
    name.add(new Label("username", sender.getUserName()));

    add(new Label("date", DateUtils.relativeTime(infoMsg.getTime())));

    // message
    add(new Label("message", infoMsg.getMessage()).setEscapeModelStrings(false));

    // delete link
    add(new DeleteMsgLink<InfoMsg>("delete", infoMsgModel, dependent, this, infoMsg.getSender().getId()));

    // reply form
    final Form<InfoMsg> form = new Form<InfoMsg>("form", infoMsgModel);
    add(form);
    form.add(new RichEditor("richeditor", new PropertyModel<String>(this, "text")));
    form.add(new AjaxSubmitLink("send") {

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

        @Override
        public boolean isVisible() {
            // don't allow the user to reply himself
            if (infoMsg.getSender().getId() == getSessionUserId()) {
                return false;
            }
            return hasRole(SocialSiteRoles.OWNER);
        }

        @Override
        protected void onError(final AjaxRequestTarget target, final Form<?> form) {
            super.onError(target, form);
            // show feedback messages
            target.addComponent(feedback);
        }

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
            try {
                final InfoMsg msg = (InfoMsg) form.getModelObject();
                final InfoMsg replyMsg = new InfoMsg();
                replyMsg.setMessage(text);
                replyMsg.setSender(getSessionUser());
                replyMsg.setTime(new Date());
                replyMsg.addUser(msg.getSender());
                messageDao.save(replyMsg);
            } catch (final Exception ex) {
                target.appendJavascript(
                        "SocialSite.Message.show('sorry we can't send your message. Try again later');");
            }

            // show a message
            target.appendJavascript(
                    "SocialSite.Message.show('Your reply message has been sent successfully ');");

            // slideup the reply panel
            final String id = InfoMsgPanel.this.getMarkupId();
            target.appendJavascript(" $('#" + id + " .slideText').trigger('click'); ");

            // TODO show the success message
            // either use a global success or failure message handler
            // or show the messge near this message

            // clears the old feedback message
            target.addComponent(feedback);
        }
    });

    // feedback for reply
    add(feedback = new FeedbackPanel("feedback"));
    feedback.setOutputMarkupId(true);
    setOutputMarkupId(true);
}