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.inren.frontend.dbproperty.EditOrCreateDbPropertyPanel.java

License:Apache License

@Override
protected void initGui() {

    Form<DbProperty> form = new Form<DbProperty>("form", new CompoundPropertyModel<DbProperty>(dbProperty));

    StringResourceModel lName = new StringResourceModel("name.label", EditOrCreateDbPropertyPanel.this, null);
    form.add(new Label("name.label", lName));
    form.add(new TextField<String>("name", String.class).setRequired(true).setLabel(lName).setRequired(false)
            .setLabel(lName));//ww  w.j  av a 2 s .co  m

    StringResourceModel lHost = new StringResourceModel("host.label", EditOrCreateDbPropertyPanel.this, null);
    form.add(new Label("host.label", lHost));
    form.add(new TextField<String>("host", String.class).setRequired(false).setLabel(lHost).setRequired(false)
            .setLabel(lHost));

    StringResourceModel lValue = new StringResourceModel("value.label", EditOrCreateDbPropertyPanel.this, null);
    form.add(new Label("value.label", lValue));
    form.add(new TextField<String>("value", String.class).setRequired(true).setLabel(lValue).setRequired(false)
            .setLabel(lValue));

    StringResourceModel lDescription = new StringResourceModel("description.label",
            EditOrCreateDbPropertyPanel.this, null);
    form.add(new Label("description.label", lDescription));
    form.add(new TextField<String>("description", String.class).setRequired(false).setLabel(lDescription)
            .setRequired(false).setLabel(lDescription));

    form.add(new AjaxLink<Void>("cancel") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            getSession().getFeedbackMessages().clear();
            delegate.switchToComponent(target, delegate.getManagePanel());
        }
    });

    form.add(new AjaxButton("submit") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                DbProperty u = dbPropertyService.save((DbProperty) form.getModelObject());
                form.info(new StringResourceModel("feedback.success", EditOrCreateDbPropertyPanel.this, null)
                        .getString());
                delegate.switchToComponent(target, delegate.getManagePanel());
            } catch (Exception e) {
                form.error(new StringResourceModel("TODO", EditOrCreateDbPropertyPanel.this, null).getString());
                target.add(getFeedback());
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            FeedbackPanel f = getFeedback();
            if (target != null && f != null) {
                target.add(f);
            }
        }
    });

    add(form);
}

From source file:de.inren.frontend.group.EditOrCreateGroupPanel.java

License:Apache License

@Override
protected void initGui() {

    Form<Group> form = new Form<Group>("form", new CompoundPropertyModel<Group>(group));

    StringResourceModel lName = new StringResourceModel("name.label", EditOrCreateGroupPanel.this, null);
    form.add(new Label("name.label", lName));
    form.add(new TextField<String>("name", String.class).setRequired(true).setLabel(lName).setRequired(false)
            .setLabel(lName));//from w w  w. j  a  v  a 2s.  c  o  m

    StringResourceModel lDescription = new StringResourceModel("description.label", EditOrCreateGroupPanel.this,
            null);
    form.add(new Label("description.label", lDescription));
    form.add(new TextField<String>("description", String.class).setRequired(false).setLabel(lDescription)
            .setRequired(false).setLabel(lDescription));

    List<Role> allRoles = new ArrayList<Role>();
    try {
        allRoles = roleService.loadAllRoles();
    } catch (RuntimeException e1) {
        e1.printStackTrace();
    }
    StringResourceModel lRoles = new StringResourceModel("roles.label", EditOrCreateGroupPanel.this, null);
    form.add(new Label("roles.label", lRoles));

    form.add(new Palette<Role>("roles", new ListModel<Role>(allRoles), new ChoiceRenderer<Role>("name", "id"),
            5, false));

    form.add(new AjaxLink<Void>("cancel") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            getSession().getFeedbackMessages().clear();
            delegate.switchToComponent(target, delegate.getManagePanel());
        }
    });

    form.add(new AjaxButton("submit") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                Group u = groupService.save((Group) form.getModelObject());
                form.info(new StringResourceModel("feedback.success", EditOrCreateGroupPanel.this, null)
                        .getString());
                delegate.switchToComponent(target, delegate.getManagePanel());
            } catch (Exception e) {
                log.error(e.getMessage(), e);
                form.error(new StringResourceModel("TODO", EditOrCreateGroupPanel.this, null).getString());
                target.add(getFeedback());
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            FeedbackPanel f = getFeedback();
            if (target != null && f != null) {
                target.add(f);
            }
        }
    });

    add(form);
}

From source file:de.inren.frontend.health.EditOrCreateHealthSettingsPanel.java

License:Apache License

@Override
protected void initGui() {

    final Form<HealthSettings> form = new Form<HealthSettings>("form",
            new CompoundPropertyModel<HealthSettings>(healthSettings));

    StringResourceModel lBirthday = new StringResourceModel("birthday.label",
            EditOrCreateHealthSettingsPanel.this, null);
    form.add(new Label("birthday.label", lBirthday));
    form.add(new DateTextField("birthday",
            new DateTextFieldConfig().autoClose(true).withView(DateTextFieldConfig.View.Decade)
                    .showTodayButton(TodayButton.TRUE).withFormat("dd.MM.yyyy")
                    .withStartDate(new DateTime().withYear(1900))).setRequired(true).setLabel(lBirthday));

    // form.add(new TextField<Date>("birthday", Date.class).setRequired(true).setLabel(lBirthday));

    StringResourceModel lHeight = new StringResourceModel("height.label", EditOrCreateHealthSettingsPanel.this,
            null);//  www  .ja  v a  2  s. c o  m
    form.add(new Label("height.label", lHeight));
    form.add(new TextField<String>("height", String.class).setRequired(true).setLabel(lHeight));

    StringResourceModel lGender = new StringResourceModel("gender.label", EditOrCreateHealthSettingsPanel.this,
            null);
    form.add(new Label("gender.label", lGender));

    form.add(new RadioChoice<Boolean>("male", Arrays.asList(new Boolean[] { Boolean.TRUE, Boolean.FALSE }),
            new IChoiceRenderer<Boolean>() {

                @Override
                public Object getDisplayValue(Boolean object) {
                    return object
                            ? new StringResourceModel("male.label", EditOrCreateHealthSettingsPanel.this, null)
                                    .getString()
                            : new StringResourceModel("female.label", EditOrCreateHealthSettingsPanel.this,
                                    null).getString();
                }

                @Override
                public String getIdValue(Boolean object, int index) {
                    return String.valueOf(object);
                }
            }).setRequired(true).setLabel(lGender));

    form.add(new AjaxLink<Void>("cancel") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            getSession().getFeedbackMessages().clear();
            initSettings();
            target.add(form);
        }
    });

    StringResourceModel lTargetWeightMin = new StringResourceModel("targetWeightMin.label",
            EditOrCreateHealthSettingsPanel.this, null);
    form.add(new Label("targetWeightMin.label", lTargetWeightMin));
    form.add(new TextField<String>("targetWeightMin", String.class).setRequired(true)
            .setLabel(lTargetWeightMin));

    StringResourceModel lTargetWeightMax = new StringResourceModel("targetWeightMax.label",
            EditOrCreateHealthSettingsPanel.this, null);
    form.add(new Label("targetWeightMax.label", lTargetWeightMax));
    form.add(new TextField<String>("targetWeightMax", String.class).setRequired(true)
            .setLabel(lTargetWeightMax));

    form.add(new Button("submit") {

        @Override
        public void onSubmit() {
            try {
                healthSettingsService.save((HealthSettings) form.getModelObject());
                getFeedback().info(
                        new StringResourceModel("feedback.success", EditOrCreateHealthSettingsPanel.this, null)
                                .getString());
            } catch (Exception e) {
                getFeedback().error(new StringResourceModel("todo", EditOrCreateHealthSettingsPanel.this, null)
                        .getString());
            }
        }

        @Override
        public void onError() {
            FeedbackPanel f = getFeedback();
            f.info("Error");
        }
    });

    add(form);
}

From source file:de.inren.frontend.health.EditOrCreateMeasurementPanel.java

License:Apache License

@Override
protected void initGui() {

    Form<Measurement> form = new Form<Measurement>("form");
    form.setDefaultModel(getDefaultModel());

    StringResourceModel lDate = new StringResourceModel("date.label", EditOrCreateMeasurementPanel.this, null);
    form.add(new Label("date.label", lDate));
    form.add(new DateTextField("date").setRequired(true).setLabel(lDate));

    StringResourceModel lWeight = new StringResourceModel("weight.label", EditOrCreateMeasurementPanel.this,
            null);//w  w  w .  java 2 s  . c  om
    form.add(new Label("weight.label", lWeight));
    form.add(new TextField<String>("weight", String.class).setRequired(true).setLabel(lWeight));

    StringResourceModel lFat = new StringResourceModel("fat.label", EditOrCreateMeasurementPanel.this, null);
    form.add(new Label("fat.label", lFat));
    form.add(new TextField<String>("fat", String.class).setRequired(true).setLabel(lFat));

    StringResourceModel lWater = new StringResourceModel("water.label", EditOrCreateMeasurementPanel.this,
            null);
    form.add(new Label("water.label", lWater));
    form.add(new TextField<String>("water", String.class).setRequired(true).setLabel(lWater));

    StringResourceModel lMuscle = new StringResourceModel("muscle.label", EditOrCreateMeasurementPanel.this,
            null);
    form.add(new Label("muscle.label", lMuscle));
    form.add(new TextField<String>("muscle", String.class).setRequired(true).setLabel(lMuscle));

    StringResourceModel lBone = new StringResourceModel("bone.label", EditOrCreateMeasurementPanel.this, null);
    form.add(new Label("bone.label", lBone));
    form.add(new TextField<String>("bone", String.class).setRequired(true).setLabel(lBone));

    form.add(new AjaxLink<Void>("cancel") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            getSession().getFeedbackMessages().clear();
            delegate.switchToComponent(target, delegate.getManagePanel());
        }
    });

    form.add(new AjaxButton("submit") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                Measurement measurement = (Measurement) form.getModelObject();
                measurement.setUid(getUser().getId());

                Measurement u = measurementService.saveMeasurement(measurement);
                form.info(new StringResourceModel("feedback.success", EditOrCreateMeasurementPanel.this, null)
                        .getString());
                delegate.switchToComponent(target, delegate.getManagePanel());
            } catch (Exception e) {
                form.error(
                        new StringResourceModel("TODO", EditOrCreateMeasurementPanel.this, null).getString());
                target.add(getFeedback());
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            FeedbackPanel f = getFeedback();
            if (target != null && f != null) {
                target.add(f);
            }
        }
    });

    add(form);
}

From source file:de.inren.frontend.mailserver.EditOrCreateMailserverPanel.java

License:Apache License

@Override
protected void initGui() {

    Form<MailServer> form = new Form<MailServer>("form", new CompoundPropertyModel<MailServer>(mailserver));

    StringResourceModel lName = new StringResourceModel("name.label", EditOrCreateMailserverPanel.this, null);
    form.add(new Label("name.label", lName));
    form.add(new TextField<String>("name", String.class).setRequired(true).setLabel(lName).setRequired(false)
            .setLabel(lName));/*from ww w.ja  va 2  s. c o m*/

    StringResourceModel lHost = new StringResourceModel("host.label", EditOrCreateMailserverPanel.this, null);
    form.add(new Label("host.label", lHost));
    form.add(new TextField<String>("host", String.class).setRequired(false).setLabel(lHost).setRequired(false)
            .setLabel(lHost));

    StringResourceModel lPort = new StringResourceModel("port.label", EditOrCreateMailserverPanel.this, null);
    form.add(new Label("port.label", lPort));
    form.add(new TextField<String>("port", String.class).setRequired(false).setLabel(lPort).setRequired(false)
            .setLabel(lPort));

    StringResourceModel lUsername = new StringResourceModel("username.label", EditOrCreateMailserverPanel.this,
            null);
    form.add(new Label("username.label", lUsername));
    form.add(new TextField<String>("username", String.class).setRequired(false).setLabel(lUsername)
            .setRequired(false).setLabel(lUsername));

    StringResourceModel lpassword = new StringResourceModel("password.label", EditOrCreateMailserverPanel.this,
            null);
    form.add(new Label("password.label", lpassword));
    form.add(new TextField<String>("password", String.class).setRequired(false).setLabel(lpassword)
            .setRequired(false).setLabel(lpassword));

    StringResourceModel lCurrent = new StringResourceModel("current.label", EditOrCreateMailserverPanel.this,
            null);
    form.add(new Label("current.label", lCurrent));
    form.add(new TextField<String>("current", String.class).setRequired(false).setLabel(lCurrent)
            .setRequired(false).setLabel(lCurrent));

    form.add(new AjaxLink<Void>("cancel") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            getSession().getFeedbackMessages().clear();
            delegate.switchToComponent(target, delegate.getManagePanel());
        }
    });

    form.add(new AjaxButton("submit") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                MailServer u = mailServerService.save((MailServer) form.getModelObject());
                form.info(new StringResourceModel("feedback.success", EditOrCreateMailserverPanel.this, null)
                        .getString());
                delegate.switchToComponent(target, delegate.getManagePanel());
            } catch (Exception e) {
                form.error(new StringResourceModel("TODO", EditOrCreateMailserverPanel.this, null).getString());
                target.add(getFeedback());
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            FeedbackPanel f = getFeedback();
            if (target != null && f != null) {
                target.add(f);
            }
        }
    });

    add(form);
}

From source file:de.inren.frontend.right.EditOrCreateRightPanel.java

License:Apache License

@Override
protected void initGui() {

    Form<Right> form = new Form<Right>("form", new CompoundPropertyModel<Right>(right));

    StringResourceModel lName = new StringResourceModel("name.label", EditOrCreateRightPanel.this, null);
    form.add(new Label("name.label", lName));
    form.add(new TextField<String>("name", String.class).setRequired(true).setLabel(lName).setRequired(false)
            .setLabel(lName));/* www .j  av a  2  s  . c o  m*/

    StringResourceModel lDescription = new StringResourceModel("description.label", EditOrCreateRightPanel.this,
            null);
    form.add(new Label("description.label", lDescription));
    form.add(new TextField<String>("description", String.class).setRequired(false).setLabel(lDescription)
            .setRequired(false).setLabel(lDescription));

    form.add(new AjaxLink<Void>("cancel") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            getSession().getFeedbackMessages().clear();
            delegate.switchToComponent(target, delegate.getManagePanel());
        }
    });

    form.add(new AjaxButton("submit") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                Right u = rightService.save((Right) form.getModelObject());
                form.info(new StringResourceModel("feedback.success", EditOrCreateRightPanel.this, null)
                        .getString());
                delegate.switchToComponent(target, delegate.getManagePanel());
            } catch (Exception e) {
                form.error(new StringResourceModel("TODO", EditOrCreateRightPanel.this, null).getString());
                target.add(getFeedback());
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            FeedbackPanel f = getFeedback();
            if (target != null && f != null) {
                target.add(f);
            }
        }
    });

    add(form);
}

From source file:de.inren.frontend.role.EditOrCreateRolePanel.java

License:Apache License

@Override
protected void initGui() {

    Form<Role> form = new Form<Role>("form", new CompoundPropertyModel<Role>(role));

    StringResourceModel lName = new StringResourceModel("name.label", EditOrCreateRolePanel.this, null);
    form.add(new Label("name.label", lName));
    form.add(new TextField<String>("name", String.class).setRequired(true).setLabel(lName).setRequired(false)
            .setLabel(lName));//from  w ww . j  a  v a  2s .  co m

    StringResourceModel lDescription = new StringResourceModel("description.label", EditOrCreateRolePanel.this,
            null);
    form.add(new Label("description.label", lDescription));
    form.add(new TextField<String>("description", String.class).setRequired(false).setLabel(lDescription)
            .setRequired(false).setLabel(lDescription));

    List<Right> allRights = new ArrayList<Right>();
    try {
        allRights = rightService.loadAllRights();
    } catch (RuntimeException e1) {
        e1.printStackTrace();
    }
    StringResourceModel lRights = new StringResourceModel("rights.label", EditOrCreateRolePanel.this, null);
    form.add(new Label("rights.label", lRights));

    form.add(new Palette<Right>("rights", new ListModel<Right>(allRights),
            new ChoiceRenderer<Right>("name", "id"), 5, false));

    form.add(new AjaxLink<Void>("cancel") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            getSession().getFeedbackMessages().clear();
            delegate.switchToComponent(target, delegate.getManagePanel());
        }
    });

    form.add(new AjaxButton("submit") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                Role u = roleService.save((Role) form.getModelObject());
                form.info(new StringResourceModel("feedback.success", EditOrCreateRolePanel.this, null)
                        .getString());
                delegate.switchToComponent(target, delegate.getManagePanel());
            } catch (Exception e) {
                form.error(new StringResourceModel("TODO", EditOrCreateRolePanel.this, null).getString());
                target.add(getFeedback());
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            FeedbackPanel f = getFeedback();
            if (target != null && f != null) {
                target.add(f);
            }
        }
    });

    add(form);
}

From source file:de.inren.frontend.user.EditOrCreateUserPanel.java

License:Apache License

@Override
protected void initGui() {

    Form<User> form = new Form<User>("form", new CompoundPropertyModel<User>(user));

    StringResourceModel lEmail = new StringResourceModel("email.label", EditOrCreateUserPanel.this, null);
    form.add(new Label("email.label", lEmail));
    form.add(new TextField<String>("email", String.class).setRequired(true).setLabel(lEmail)
            .add(RfcCompliantEmailAddressValidator.getInstance()));

    StringResourceModel lPwd = new StringResourceModel("password.label", EditOrCreateUserPanel.this, null);
    form.add(new Label("password.label", lPwd));
    PasswordTextField password = new PasswordTextField("password");
    password.setModel(passwordModel);//from  w  w w  . j a v a2 s. c  o m
    password.setRequired(false).setLabel(lPwd);
    form.add(password);

    StringResourceModel lPwdrep = new StringResourceModel("passwordrepeat.label", EditOrCreateUserPanel.this,
            null);
    form.add(new Label("passwordrepeat.label", lPwdrep));
    PasswordTextField passwordrepeat = new PasswordTextField("passwordrepeat");
    passwordrepeat.setModel(password.getModel());
    passwordrepeat.setRequired(false).setLabel(lPwdrep);
    form.add(passwordrepeat);

    form.add(new EqualPasswordInputValidator(password, passwordrepeat));

    StringResourceModel lFname = new StringResourceModel("firstname.label", EditOrCreateUserPanel.this, null);
    form.add(new Label("firstname.label", lFname));
    form.add(new TextField<String>("firstname", String.class).setRequired(true).setLabel(lFname));

    StringResourceModel lLname = new StringResourceModel("lastname.label", EditOrCreateUserPanel.this, null);
    form.add(new Label("lastname.label", lLname));
    form.add(new TextField<String>("lastname", String.class).setRequired(true).setLabel(lLname));

    // TODO die Boolean Werte
    StringResourceModel lLaccountNonExpired = new StringResourceModel("accountNonExpired.label",
            EditOrCreateUserPanel.this, null);
    form.add(new Label("accountNonExpired.label", lLaccountNonExpired));
    form.add(new CheckBox("accountNonExpired").setLabel(lLaccountNonExpired));

    StringResourceModel laccountNonLocked = new StringResourceModel("accountNonLocked.label",
            EditOrCreateUserPanel.this, null);
    form.add(new Label("accountNonLocked.label", laccountNonLocked));
    form.add(new CheckBox("accountNonLocked").setLabel(laccountNonLocked));

    StringResourceModel lLcredentialsNonExpired = new StringResourceModel("credentialsNonExpired.label",
            EditOrCreateUserPanel.this, null);
    form.add(new Label("credentialsNonExpired.label", lLcredentialsNonExpired));
    form.add(new CheckBox("credentialsNonExpired").setLabel(lLcredentialsNonExpired));

    List<Role> allRoles = new ArrayList<Role>();
    try {
        allRoles = roleService.loadAllRoles();
    } catch (RuntimeException e1) {
        e1.printStackTrace();
    }
    StringResourceModel lRoles = new StringResourceModel("roles.label", EditOrCreateUserPanel.this, null);
    form.add(new Label("roles.label", lRoles));

    form.add(new Palette<Role>("roles", new ListModel<Role>(allRoles), new ChoiceRenderer<Role>("name", "id"),
            5, false));

    form.add(new AjaxLink<Void>("cancel") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            getSession().getFeedbackMessages().clear();
            delegate.switchToComponent(target, delegate.getManagePanel());
        }
    });

    form.add(new AjaxButton("submit") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            try {
                String password = passwordModel.getObject();
                if (!"".equals(password)) {
                    ((User) form.getDefaultModelObject()).setPassword(password);
                }
                User u = userService.save((User) form.getModelObject());
                form.info(new StringResourceModel("feedback.success", EditOrCreateUserPanel.this, null)
                        .getString());
                delegate.switchToComponent(target, delegate.getManagePanel());
            } catch (RuntimeException e) {
                form.error(new StringResourceModel("TODO", EditOrCreateUserPanel.this, null).getString());
                target.add(getFeedback());
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            FeedbackPanel f = getFeedback();
            if (target != null && f != null) {
                target.add(f);
            }
        }
    });

    add(form);
}

From source file:de.inren.frontend.usersettings.EditOrCreateUserSettingsPanel.java

License:Apache License

@Override
protected void initGui() {

    final Form<UserSettings> form = new Form<UserSettings>("form",
            new CompoundPropertyModel<UserSettings>(userSettings));

    StringResourceModel lName = new StringResourceModel("name.label", EditOrCreateUserSettingsPanel.this, null);
    form.add(new Label("name.label", lName));

    form.add(new DropDownChoice<String>("name", new PropertyModel<String>(userSettings, "theme"), getThemes()));

    form.add(new AjaxLink<Void>("cancel") {
        @Override/*from   w w w  .  ja v  a 2 s .c o m*/
        public void onClick(AjaxRequestTarget target) {
            getSession().getFeedbackMessages().clear();
            initSettings();
            target.add(form);
        }
    });

    form.add(new Button("submit") {

        @Override
        public void onSubmit() {
            try {
                UserSettings u = userSettingsService.save(form.getModelObject());

                ApplicationSettingsUtil.applySettings(u);

                getFeedback().info(
                        new StringResourceModel("feedback.success", EditOrCreateUserSettingsPanel.this, null)
                                .getString());
            } catch (RuntimeException e) {
                getFeedback().error(
                        new StringResourceModel("TODO", EditOrCreateUserSettingsPanel.this, null).getString());
            }
        }

        @Override
        public void onError() {
            FeedbackPanel f = getFeedback();
            f.info("Error");
        }
    });

    add(form);
}

From source file:de.jetwick.ui.UserPanel.java

License:Apache License

public UserPanel(String id, final TweetSearchPage tweetSearchRef) {
    super(id);/*from  ww w.ja va  2s.  c  o  m*/

    ExternalLink profileImageLink = new ExternalLink("profileImageLink",
            new PropertyModel(this, "profileLink"));
    profileImageLink.add(new ContextImage("profileImage", new PropertyModel(this, "imageUrl")));
    profileImageLink.add(new AttributeAppender("title", new PropertyModel(this, "title"), " "));
    add(profileImageLink);

    add(new WebMarkupContainer("gojetslideLink") {

        @Override
        public boolean isVisible() {
            return !tweetSearchRef.getMySession().hasLoggedIn();
        }
    });
    Link loginLink = new Link("loginLink") {

        @Override
        public void onClick() {
            setResponsePage(Login.class);
        }
    };
    add(loginLink);

    if (!tweetSearchRef.getMySession().hasLoggedIn()) {
        add(new WebMarkupContainer("loginContainer").setVisible(false));
        add(new AttributeModifier("class", "logged-in", new Model("logged-out")));
        return;
    }

    title = tweetSearchRef.getMySession().getUser().getScreenName();
    imageUrl = tweetSearchRef.getMySession().getUser().getProfileImageUrl();
    profileLink = Helper.TURL + "/" + title;
    loginLink.setVisible(false);
    WebMarkupContainer container = new WebMarkupContainer("loginContainer") {

        {
            final JUser user = tweetSearchRef.getMySession().getUser();
            String name = user.getRealName();
            if (name == null)
                name = user.getScreenName();
            add(new Label("loginText", "Hi " + name + "!"));
            add(new Link("logout") {

                @Override
                public void onClick() {
                    onLogout();
                }
            });

            add(new AjaxFallbackLink("showHomeline") {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    onHomeline(target, user.getScreenName());
                }
            });

            add(new AjaxFallbackLink("showTweets") {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    onShowTweets(target, user.getScreenName());
                }
            });

            final ModalWindow modalW = new ModalWindow("userModal");
            add(modalW);
            add(new AjaxLink("grabTweets") {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    modalW.show(target);
                }
            });
            modalW.setTitle("Specify the user and the number of tweets you want to grab");

            final GrabTweetsDialog dialog = new GrabTweetsDialog(modalW.getContentId(), user.getScreenName()) {

                @Override
                public TwitterSearch getTwitterSearch() {
                    return tweetSearchRef.getTwitterSearch();
                }

                @Override
                public void updateAfterAjax(AjaxRequestTarget target) {
                    UserPanel.this.updateAfterAjax(target);
                }

                @Override
                public void onClose(AjaxRequestTarget target) {
                    modalW.close(target);
                }

                @Override
                protected Collection<String> getUserChoices(String input) {
                    return UserPanel.this.getUserChoices(input);
                }
            };

            modalW.setContent(dialog);
            modalW.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() {

                @Override
                public boolean onCloseButtonClicked(AjaxRequestTarget target) {
                    logger.info("cancel grabber archiving thread!");
                    dialog.interruptGrabber();
                    modalW.close(target);
                    return true;
                }
            });
            modalW.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {

                @Override
                public void onClose(AjaxRequestTarget target) {
                    logger.info("closed dialog");
                }
            });
            modalW.setCookieName("user-modal");
        }
    };
    add(container);
}