Example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow close

List of usage examples for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow close

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.ajax.markup.html.modal ModalWindow close.

Prototype

public void close(final IPartialPageRequestHandler target) 

Source Link

Document

Closes the modal window.

Usage

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.DiseaseForm.java

License:Apache License

public DiseaseForm(String id, final ModalWindow window) {
    super(id, new CompoundPropertyModel<Disease>(new Disease()));

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);// ww w.  j ava 2  s . c  o m
    add(feedback);
    add(new Label("addDiseaseHeader", ResourceUtils.getModel("pageTitle.addDisease")));

    ChoiceRenderer<ResearchGroup> renderer = new ChoiceRenderer<ResearchGroup>("title", "researchGroupId");
    List<ResearchGroup> choices = researchGroupFacade
            .getResearchGroupsWhereAbleToWriteInto(EEGDataBaseSession.get().getLoggedUser());
    final DropDownChoice<ResearchGroup> researchGroupChoice = new DropDownChoice<ResearchGroup>("researchGroup",
            new Model<ResearchGroup>(), choices, renderer);

    researchGroupChoice.setRequired(true);
    researchGroupChoice.setLabel(ResourceUtils.getModel("label.group"));
    add(researchGroupChoice);

    RequiredTextField<String> title = new RequiredTextField<String>("title");
    title.setLabel(ResourceUtils.getModel("label.title"));
    add(title);

    TextArea<String> description = new TextArea<String>("description");
    description.setRequired(true);
    description.setLabel((ResourceUtils.getModel("label.description")));
    description.add(StringValidator.maximumLength(255));
    add(description);

    add(new AjaxButton("submitForm", ResourceUtils.getModel("button.submitForm"), this) {

        private static final long serialVersionUID = -975100666951875819L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            Disease disease = (Disease) form.getModelObject();
            ResearchGroup group = researchGroupChoice.getModelObject();

            if (!diseaseFacade.canSaveTitle(disease.getTitle(), group.getResearchGroupId(),
                    disease.getDiseaseId())) {
                error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                target.add(feedback);
                return;
            }

            HashSet<ResearchGroup> groups = new HashSet<ResearchGroup>();
            groups.add(group);
            disease.setResearchGroups(groups);
            diseaseFacade.create(disease);
            window.close(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedback);
        }

    });

    add(new AjaxButton("closeForm", ResourceUtils.getModel("button.close"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            window.close(target);
        }
    }.setDefaultFormProcessing(false));

    setOutputMarkupId(true);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.GroupForm.java

License:Apache License

public GroupForm(String id, final ModalWindow window) {
    super(id, new CompoundPropertyModel<ResearchGroup>(new ResearchGroup()));

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);//from  ww w  .  jav a  2  s . c  om
    add(feedback);
    add(new Label("addGroupHeader", ResourceUtils.getModel("pageTitle.addGroupDefinition")));

    RequiredTextField<String> title = new RequiredTextField<String>("title");
    title.setLabel(ResourceUtils.getModel("label.title"));
    title.add(new TitleExistsValidator());
    title.add(StringValidator.maximumLength(100));
    add(title);

    TextArea<String> description = new TextArea<String>("description");
    description.setRequired(true);
    description.setLabel((ResourceUtils.getModel("label.description")));
    description.add(StringValidator.maximumLength(250));
    add(description);

    add(new AjaxButton("submitForm", ResourceUtils.getModel("button.submitForm"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            ResearchGroup researchGroup = (ResearchGroup) form.getModelObject();

            researchGroup.setPerson(EEGDataBaseSession.get().getLoggedUser());
            researchGroupFacade.create(researchGroup);
            window.close(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedback);
        }

    });

    add(new AjaxButton("closeForm", ResourceUtils.getModel("button.close"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            window.close(target);
        }
    }.setDefaultFormProcessing(false));

    setOutputMarkupId(true);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.HardwareForm.java

License:Apache License

public HardwareForm(String id, final ModalWindow window) {
    super(id, new CompoundPropertyModel<Hardware>(new Hardware()));

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);/*w  ww  .  j  a  v  a  2  s .c o  m*/
    add(feedback);

    add(new Label("addHWHeader", ResourceUtils.getModel("pageTitle.addHardwareDefinition")));

    ChoiceRenderer<ResearchGroup> renderer = new ChoiceRenderer<ResearchGroup>("title", "researchGroupId");
    List<ResearchGroup> choices = researchGroupFacade
            .getResearchGroupsWhereAbleToWriteInto(EEGDataBaseSession.get().getLoggedUser());
    final DropDownChoice<ResearchGroup> researchGroupChoice = new DropDownChoice<ResearchGroup>("researchGroup",
            new Model<ResearchGroup>(), choices, renderer);

    researchGroupChoice.setRequired(true);
    researchGroupChoice.setLabel(ResourceUtils.getModel("label.group"));
    add(researchGroupChoice);

    TextField<String> title = new TextField<String>("title");
    title.setRequired(true);
    title.setLabel(ResourceUtils.getModel("label.title"));
    add(title);

    TextField<String> type = new TextField<String>("type");
    type.setRequired(true);
    type.setLabel(ResourceUtils.getModel("label.type"));
    type.add(StringValidator.maximumLength(50));
    add(type);

    TextArea<String> description = new TextArea<String>("description");
    description.setRequired(true);
    description.setLabel(ResourceUtils.getModel("label.description"));
    add(description);

    add(new AjaxButton("submitForm", this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            Hardware hardware = HardwareForm.this.getModelObject();

            int hardwareId = hardware.getHardwareId();
            ResearchGroup group = researchGroupChoice.getModelObject();
            int researchGroupId = group.getResearchGroupId();

            if (researchGroupId == CoreConstants.DEFAULT_ITEM_ID) {
                if (!hardwareFacade.canSaveDefaultTitle(hardware.getTitle(), hardwareId)) {
                    error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                    target.add(feedback);
                    return;
                }
            } else {
                if (!hardwareFacade.canSaveTitle(hardware.getTitle(), researchGroupId, hardwareId)) {
                    error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                    target.add(feedback);
                    return;
                }
            }

            // Creating new
            if (researchGroupId == CoreConstants.DEFAULT_ITEM_ID) {
                hardwareFacade.createDefaultRecord(hardware);
            } else {
                int pkHardware = hardwareFacade.create(hardware);

                HardwareGroupRelId hardwareGroupRelId = new HardwareGroupRelId(pkHardware, researchGroupId);
                HardwareGroupRel hardwareGroupRel = new HardwareGroupRel(hardwareGroupRelId, group, hardware);
                hardwareFacade.createGroupRel(hardwareGroupRel);
            }

            window.close(target);

        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedback);
        }

    });

    add(new AjaxButton("closeForm", ResourceUtils.getModel("button.close"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            window.close(target);
        }
    }.setDefaultFormProcessing(false));

    setOutputMarkupId(true);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.PersonForm.java

License:Apache License

public PersonForm(String id, final ModalWindow window) {
    super(id, new CompoundPropertyModel<Person>(new Person()));

    add(new Label("addPersonHeader", ResourceUtils.getModel("pageTitle.addPerson")));

    feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);//from w  ww .ja va2  s .  c o m
    add(feedback);

    TextField<String> name = new TextField<String>("givenname");
    name.setLabel(ResourceUtils.getModel("label.name"));
    name.setRequired(true);
    name.add(new PatternValidator(StringUtils.REGEX_ONLY_LETTERS));
    add(name);

    TextField<String> surname = new TextField<String>("surname");
    surname.setLabel(ResourceUtils.getModel("label.surname"));
    surname.setRequired(true);
    surname.add(new PatternValidator(StringUtils.REGEX_ONLY_LETTERS));
    add(surname);

    DatePicker date = new DatePicker("dateOfBirth") {

        private static final long serialVersionUID = 1L;

        @Override
        public <C> IConverter<C> getConverter(Class<C> type) {
            return (IConverter<C>) new TimestampConverter();
        }
    };

    date.setLabel(ResourceUtils.getModel("label.dateOfBirth"));
    date.setRequired(true);
    add(date);

    EmailTextField email = new EmailTextField("username");
    email.setLabel(ResourceUtils.getModel("label.email"));
    email.setRequired(true);
    add(email);

    TextField<String> phoneNumber = new TextField<String>("phoneNumber");
    phoneNumber.setLabel(ResourceUtils.getModel("label.phoneNumber"));
    add(phoneNumber);

    RadioChoice<Character> gender = new RadioChoice<Character>("gender", Gender.getShortcutList(),
            new ChoiceRenderer<Character>() {

                private static final long serialVersionUID = 1L;

                @Override
                public Object getDisplayValue(Character object) {
                    Gender enumValue = Gender.getGenderByShortcut(object);
                    return getString(
                            Classes.simpleName(enumValue.getDeclaringClass()) + '.' + enumValue.name());
                }

            });
    gender.setSuffix("\n");
    gender.setRequired(true);
    gender.setLabel(ResourceUtils.getModel("label.gender"));
    add(gender);

    TextArea<String> note = new TextArea<String>("note");
    note.setLabel(ResourceUtils.getModel("label.note"));
    note.add(StringValidator.maximumLength(255));
    add(note);

    DropDownChoice<Character> laterality = new DropDownChoice<Character>("laterality",
            Laterality.getShortcutList(), new ChoiceRenderer<Character>() {

                private static final long serialVersionUID = 1L;

                @Override
                public Object getDisplayValue(Character object) {
                    Laterality enumValue = Laterality.getLateralityByShortcut(object);
                    return getString(
                            Classes.simpleName(enumValue.getDeclaringClass()) + '.' + enumValue.name());
                }

            });

    laterality.setLabel(ResourceUtils.getModel("label.laterality"));
    add(laterality);

    DropDownChoice<EducationLevel> educationLevel = new DropDownChoice<EducationLevel>("educationLevel",
            educationFacade.getAllRecords(), new ChoiceRenderer<EducationLevel>("title", "educationLevelId") {

                private static final long serialVersionUID = 1L;

                @Override
                public Object getDisplayValue(EducationLevel object) {
                    return object.getEducationLevelId() + " " + super.getDisplayValue(object);
                }

            });

    educationLevel.setLabel(ResourceUtils.getModel("label.educationLevel"));
    add(educationLevel);

    AjaxButton submit = new AjaxButton("submitForm", ResourceUtils.getModel("button.save"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedback);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            Person user = PersonForm.this.getModelObject();

            boolean isEdit = user.getPersonId() > 0;

            if (validation(user, personFacade, isEdit)) {
                if (isEdit) {
                    personFacade.update(user);
                } else {
                    user.setAuthority(Util.ROLE_READER);
                    personFacade.create(user);
                }
                window.close(target);
            }
            target.add(feedback);
        }
    };
    add(submit);

    add(new AjaxButton("closeForm", ResourceUtils.getModel("button.close"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            window.close(target);
        }
    }.setDefaultFormProcessing(false));

    setOutputMarkupId(true);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.ProjectTypeForm.java

License:Apache License

public ProjectTypeForm(String id, final ModalWindow window) {
    super(id, new CompoundPropertyModel<ProjectType>(new ProjectType()));

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);/*w  w w.j a va2 s  . co m*/
    add(feedback);

    add(new Label("addProjectHeader", ResourceUtils.getModel("pageTitle.addProjectTypeDefinition")));

    ChoiceRenderer<ResearchGroup> renderer = new ChoiceRenderer<ResearchGroup>("title", "researchGroupId");
    List<ResearchGroup> choices = researchGroupFacade
            .getResearchGroupsWhereAbleToWriteInto(EEGDataBaseSession.get().getLoggedUser());
    final DropDownChoice<ResearchGroup> researchGroupChoice = new DropDownChoice<ResearchGroup>("researchGroup",
            new Model<ResearchGroup>(), choices, renderer);

    researchGroupChoice.setRequired(true);
    researchGroupChoice.setLabel(ResourceUtils.getModel("label.group"));
    add(researchGroupChoice);

    TextField<String> title = new TextField<String>("title");
    title.setRequired(true);
    title.setLabel(ResourceUtils.getModel("label.title"));
    add(title);

    TextArea<String> description = new TextArea<String>("description");
    description.setRequired(true);
    description.setLabel(ResourceUtils.getModel("label.description"));
    description.add(StringValidator.maximumLength(255));
    add(description);

    add(new AjaxButton("submitForm", ResourceUtils.getModel("button.save"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            ProjectType project = (ProjectType) form.getModelObject();

            ResearchGroup group = researchGroupChoice.getModelObject();
            if (group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) {
                if (!facade.canSaveDefaultTitle(project.getTitle(), project.getProjectTypeId())) {
                    error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                    target.add(feedback);
                    return;
                }
            } else {
                if (!facade.canSaveTitle(project.getTitle(), group.getResearchGroupId(),
                        project.getProjectTypeId())) {
                    error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                    target.add(feedback);
                    return;
                }
            }
            HashSet<ResearchGroup> groups = new HashSet<ResearchGroup>();
            groups.add(group);
            project.setResearchGroups(groups);

            facade.create(project);
            window.close(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedback);
        }

    });

    add(new AjaxButton("closeForm", ResourceUtils.getModel("button.close"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            window.close(target);
        }
    }.setDefaultFormProcessing(false));

    setOutputMarkupId(true);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.ScenarioForm.java

License:Apache License

public ScenarioForm(String id, final ModalWindow window) {
    super(id, new CompoundPropertyModel<Scenario>(new Scenario()));

    add(new Label("addScenarioHeader", ResourceUtils.getModel("pageTitle.addScenario")));

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);//from  w w w  . j a  va2  s.c o m
    add(feedback);

    setMultiPart(true);

    Person owner = getModel().getObject().getPerson();
    if (owner == null)
        owner = EEGDataBaseSession.get().getLoggedUser();

    getModel().getObject().setPerson(owner);

    List<ResearchGroup> choices = researchGroupFacade.getResearchGroupsWhereAbleToWriteInto(owner);
    if (choices == null || choices.isEmpty())
        choices = Arrays.asList(getModel().getObject().getResearchGroup());

    DropDownChoice<ResearchGroup> groups = new DropDownChoice<ResearchGroup>("researchGroup", choices,
            new ChoiceRenderer<ResearchGroup>("title"));
    groups.setRequired(true);

    TextField<String> title = new TextField<String>("title");
    title.setLabel(ResourceUtils.getModel("label.scenarioTitle"));
    title.setRequired(true);
    // title.add(new TitleExistsValidator());

    TextField<Integer> length = new TextField<Integer>("scenarioLength", Integer.class);
    length.setRequired(true);
    length.add(RangeValidator.minimum(0));

    TextArea<String> description = new TextArea<String>("description");
    description.setRequired(true);
    description.setLabel(ResourceUtils.getModel("label.scenarioDescription"));

    final WebMarkupContainer fileContainer = new WebMarkupContainer("contailer");
    fileContainer.setVisibilityAllowed(false);
    fileContainer.setOutputMarkupPlaceholderTag(true);

    /*
     * TODO file field for xml was not visible in old portal. I dont know why. So I hided it but its implemented and not tested.
     */
    // hidded line in old portal
    final DropDownChoice<ScenarioSchemas> schemaList = new DropDownChoice<ScenarioSchemas>("schemaList",
            new Model<ScenarioSchemas>(), scenariosFacade.getListOfScenarioSchemas(),
            new ChoiceRenderer<ScenarioSchemas>("schemaName", "schemaId"));
    schemaList.setOutputMarkupPlaceholderTag(true);
    schemaList.setRequired(true);
    schemaList.setLabel(ResourceUtils.getModel("label.scenarioSchema"));
    schemaList.setVisibilityAllowed(false);

    final FileUploadField file = new FileUploadField("file", new ListModel<FileUpload>());
    file.setOutputMarkupId(true);
    file.setLabel(ResourceUtils.getModel("description.fileType.dataFile"));
    file.setOutputMarkupPlaceholderTag(true);

    // hidded line in old portal
    final FileUploadField xmlfile = new FileUploadField("xmlfile", new ListModel<FileUpload>());
    xmlfile.setOutputMarkupId(true);
    xmlfile.setLabel(ResourceUtils.getModel("label.xmlDataFile"));
    xmlfile.setOutputMarkupPlaceholderTag(true);
    xmlfile.setVisibilityAllowed(false);

    // hidded line in old portal
    final RadioGroup<Boolean> schema = new RadioGroup<Boolean>("schema", new Model<Boolean>(Boolean.FALSE));
    schema.add(new Radio<Boolean>("noschema", new Model<Boolean>(Boolean.FALSE), schema));
    schema.add(new Radio<Boolean>("fromschema", new Model<Boolean>(Boolean.TRUE), schema));
    schema.setOutputMarkupPlaceholderTag(true);
    schema.setVisibilityAllowed(false);
    schema.add(new AjaxFormChoiceComponentUpdatingBehavior() {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            schemaList.setVisibilityAllowed(schema.getModelObject());
            xmlfile.setRequired(!xmlfile.isRequired());

            target.add(xmlfile);
            target.add(schemaList);
        }
    });

    CheckBox privateCheck = new CheckBox("privateScenario");
    final CheckBox dataAvailable = new CheckBox("dataAvailable", new Model<Boolean>());
    dataAvailable.add(new AjaxFormComponentUpdatingBehavior("onChange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {

            fileContainer.setVisibilityAllowed(dataAvailable.getModelObject());
            file.setRequired(!file.isRequired());
            target.add(fileContainer);
        }
    });

    fileContainer.add(file, xmlfile, schema, schemaList);

    add(groups, title, length, description, privateCheck, dataAvailable, fileContainer);

    add(new AjaxButton("submitForm", this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            FileUpload uploadedFile = file.getFileUpload();
            Scenario scenario = ScenarioForm.this.getModelObject();

            if (!scenariosFacade.canSaveTitle(scenario.getTitle(), scenario.getScenarioId())) {
                error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                target.add(feedback);
                return;
            } else {
                // loading non-XML scenario file
                if ((uploadedFile != null) && (!(uploadedFile.getSize() == 0))) {

                    String name = uploadedFile.getClientFileName();
                    // when uploading from localhost some browsers will specify the entire path, we strip it
                    // down to just the file name
                    name = Strings.lastPathComponent(name, '/');
                    name = Strings.lastPathComponent(name, '\\');

                    // File uploaded
                    String filename = name.replace(" ", "_");
                    scenario.setScenarioName(filename);

                    scenario.setMimetype(uploadedFile.getContentType());
                    try {
                        scenario.setFileContentStream(uploadedFile.getInputStream());
                    } catch (IOException e) {
                        log.error(e.getMessage(), e);
                        error("Error while saving data.");
                        target.add(feedback);
                    }
                }

                // Creating new
                scenariosFacade.create(scenario);

                /*
                 * clean up after upload file, and set model to null or will be problem with page serialization when redirect start - DON'T DELETE IT !
                 */
                ScenarioForm.this.setModelObject(null);

                window.close(target);
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {

            target.add(feedback);
        }
    });

    add(new AjaxButton("closeForm", ResourceUtils.getModel("button.close")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            window.close(target);
        }
    }.setDefaultFormProcessing(false));

    setOutputMarkupId(true);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.SoftwareForm.java

License:Apache License

public SoftwareForm(String id, final ModalWindow window) {
    super(id, new CompoundPropertyModel<Software>(new Software()));

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);/*w  ww .j a  v  a  2  s.c o  m*/
    add(feedback);

    add(new Label("addSWHeader", ResourceUtils.getModel("pageTitle.addSoftwareDefinition")));

    ChoiceRenderer<ResearchGroup> renderer = new ChoiceRenderer<ResearchGroup>("title", "researchGroupId");
    List<ResearchGroup> choices = researchGroupFacade
            .getResearchGroupsWhereAbleToWriteInto(EEGDataBaseSession.get().getLoggedUser());
    final DropDownChoice<ResearchGroup> researchGroupChoice = new DropDownChoice<ResearchGroup>("researchGroup",
            new Model<ResearchGroup>(), choices, renderer);

    researchGroupChoice.setRequired(true);
    researchGroupChoice.setLabel(ResourceUtils.getModel("label.group"));
    add(researchGroupChoice);

    TextField<String> title = new TextField<String>("title");
    title.setRequired(true);
    title.setLabel(ResourceUtils.getModel("label.title"));
    add(title);

    TextArea<String> description = new TextArea<String>("description");
    description.setRequired(true);
    description.setLabel(ResourceUtils.getModel("label.description"));
    description.add(StringValidator.maximumLength(255));
    add(description);

    add(new AjaxButton("submitForm", ResourceUtils.getModel("button.save")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            Software newSw = (Software) form.getModelObject();
            ResearchGroup group = researchGroupChoice.getModelObject();

            if (group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) {
                if (!facade.canSaveDefaultTitle(newSw.getTitle(), newSw.getSoftwareId())) {
                    error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                    target.add(feedback);
                    return;
                }
            } else {
                if (!facade.canSaveTitle(newSw.getTitle(), group.getResearchGroupId(), newSw.getSoftwareId())) {
                    error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                    target.add(feedback);
                    return;
                }
            }
            HashSet<ResearchGroup> groups = new HashSet<ResearchGroup>();
            groups.add(group);
            newSw.setResearchGroups(groups);

            facade.create(newSw);
            window.close(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedback);
        }

    });

    add(new AjaxButton("closeForm", ResourceUtils.getModel("button.close")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            window.close(target);
        }
    }.setDefaultFormProcessing(false));

    setOutputMarkupId(true);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.WeatherForm.java

License:Apache License

public WeatherForm(String id, final ModalWindow window) {
    super(id, new CompoundPropertyModel<Weather>(new Weather()));

    final FeedbackPanel feedback = new FeedbackPanel("feedback");
    feedback.setOutputMarkupId(true);/*from   w w  w .  j a  va  2s . c o m*/
    add(feedback);

    add(new Label("addWeatherHeader", ResourceUtils.getModel("pageTitle.addWeatherDefinition")));

    ChoiceRenderer<ResearchGroup> renderer = new ChoiceRenderer<ResearchGroup>("title", "researchGroupId");
    List<ResearchGroup> choices = researchGroupFacade
            .getResearchGroupsWhereAbleToWriteInto(EEGDataBaseSession.get().getLoggedUser());
    final DropDownChoice<ResearchGroup> researchGroupChoice = new DropDownChoice<ResearchGroup>("researchGroup",
            new Model<ResearchGroup>(), choices, renderer);

    researchGroupChoice.setRequired(true);
    researchGroupChoice.setLabel(ResourceUtils.getModel("label.group"));
    add(researchGroupChoice);

    TextField<String> title = new TextField<String>("title");
    title.setRequired(true);
    title.setLabel(ResourceUtils.getModel("label.title"));
    add(title);

    TextArea<String> description = new TextArea<String>("description");
    description.setRequired(true);
    description.setLabel(ResourceUtils.getModel("label.description"));
    description.add(StringValidator.maximumLength(30));
    add(description);

    add(new AjaxButton("submitForm", ResourceUtils.getModel("button.save"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            Weather weather = WeatherForm.this.getModelObject();

            int weatherId = weather.getWeatherId();
            ResearchGroup group = researchGroupChoice.getModelObject();
            int researchGroupId = group.getResearchGroupId();

            if (researchGroupId == CoreConstants.DEFAULT_ITEM_ID) {
                if (!facade.canSaveDefaultTitle(weather.getTitle(), weatherId)) {
                    error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                    target.add(feedback);
                    return;
                }
            } else {
                if (!facade.canSaveTitle(weather.getTitle(), researchGroupId, weatherId)) {
                    error(ResourceUtils.getString("error.titleAlreadyInDatabase"));
                    target.add(feedback);
                    return;
                }
            }

            // Creating new
            if (researchGroupId == CoreConstants.DEFAULT_ITEM_ID) {
                facade.createDefaultRecord(weather);
                window.close(target);
            } else {
                int pkWeather = facade.create(weather);
                WeatherGroupRelId weatherGroupRelId = new WeatherGroupRelId(pkWeather, researchGroupId);
                WeatherGroupRel weatherGroupRel = new WeatherGroupRel(weatherGroupRelId, group, weather);
                facade.createGroupRel(weatherGroupRel);
                window.close(target);
            }

        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedback);
        }

    });

    add(new AjaxButton("closeForm", ResourceUtils.getModel("button.close"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            window.close(target);
        }
    }.setDefaultFormProcessing(false));

    setOutputMarkupId(true);
}

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/*w  ww  .ja  v a2s.  co m*/
            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.jetwick.ui.UserPanel.java

License:Apache License

public UserPanel(String id, final TweetSearchPage tweetSearchRef) {
    super(id);//ww w .  j  av a2  s .com

    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);
}