Example usage for org.apache.wicket.ajax.attributes IAjaxCallListener IAjaxCallListener

List of usage examples for org.apache.wicket.ajax.attributes IAjaxCallListener IAjaxCallListener

Introduction

In this page you can find the example usage for org.apache.wicket.ajax.attributes IAjaxCallListener IAjaxCallListener.

Prototype

IAjaxCallListener

Source Link

Usage

From source file:nl.mpi.lamus.web.components.AutoHideDisablingAjaxButton.java

License:Open Source License

/**
 * @see IndicatingAjaxButton#updateAjaxAttributes(org.apache.wicket.ajax.attributes.AjaxRequestAttributes)
 *///from w w w.  jav  a  2s  . c  o m
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {

    super.updateAjaxAttributes(attributes);

    attributes.getAjaxCallListeners().add(new IAjaxCallListener() {

        @Override
        public CharSequence getBeforeHandler(Component cmpnt) {
            return "$(\"#" + cmpnt.getMarkupId() + "\").hide()";
        }

        @Override
        public CharSequence getPrecondition(Component cmpnt) {
            return "";
        }

        @Override
        public CharSequence getBeforeSendHandler(Component cmpnt) {
            return "";
        }

        @Override
        public CharSequence getAfterHandler(Component cmpnt) {
            return "";
        }

        @Override
        public CharSequence getSuccessHandler(Component cmpnt) {
            return "";
        }

        @Override
        public CharSequence getFailureHandler(Component cmpnt) {
            return "";
        }

        @Override
        public CharSequence getCompleteHandler(Component cmpnt) {
            return "";
        }
    });
}

From source file:org.apache.openmeetings.web.user.chat.ChatForm.java

License:Apache License

public ChatForm(String id) {
    super(id);// ww  w  .j  ava 2 s.  com
    final ChatToolbar toolbar = new ChatToolbar("toolbarContainer", this);
    final WysiwygEditor chatMessage = new WysiwygEditor("chatMessage", Model.of(""), toolbar);
    add(toolbar, activeTab.add(new AjaxFormSubmitBehavior(this, "change") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            toolbar.update(target);
        }
    }), chatMessage.setOutputMarkupId(true), new AjaxButton("send") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
            super.updateAjaxAttributes(attributes);
            attributes.getAjaxCallListeners().add(new IAjaxCallListener() {
                @Override
                public CharSequence getPrecondition(Component component) {
                    return "return Chat.validate();";
                }
            });
        }

        private Chat getChat() {
            return findParent(Chat.class);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            final String txt = chatMessage.getDefaultModelObjectAsString();
            if (Strings.isEmpty(txt)) {
                return;
            }
            final ChatMessage m = new ChatMessage();
            m.setMessage(txt);
            m.setSent(new Date());
            m.setFromUser(userDao.get(getUserId()));
            m.setFromName(getClient().getUser().getDisplayName());
            if (!process(() -> getChat().isShowDashboardChat(), r -> {
                if (cm.isInRoom(r.getId(), getUserId())) {
                    m.setToRoom(r);
                } else {
                    log.error("It seems like we are being hacked!!!!");
                    return false;
                }
                m.setNeedModeration(
                        r.isChatModerated() && !isModerator(cm, m.getFromUser().getId(), r.getId()));
                return true;
            }, u -> {
                m.setToUser(u);
                return true;
            })) {
                return;
            }
            ;
            chatDao.update(m);
            JSONObject msg = getChat().getMessage(Arrays.asList(m));
            if (m.getToRoom() != null) {
                ChatWebSocketHelper.sendRoom(m, msg);
            } else if (m.getToUser() != null) {
                ChatWebSocketHelper.sendUser(getUserId(), m, msg);
                msg = Chat.getMessage(m.getToUser(), Arrays.asList(m));
                ChatWebSocketHelper.sendUser(m.getToUser().getId(), m, msg);
            } else {
                ChatWebSocketHelper.sendAll(m, msg);
            }
            chatMessage.setDefaultModelObject("");
            target.appendJavaScript("Chat.clean();");
        };
    });
}