List of usage examples for org.apache.wicket.ajax.markup.html AjaxLink AjaxLink
public AjaxLink(final String id)
From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.metadata.MetadataForm.java
License:Apache License
public MetadataForm(String id, IModel<Section> model, final int experimentId) { super(id);// ww w . ja v a 2s .c om this.model = new CompoundPropertyModel<Section>(model); setDefaultModel(this.model); setOutputMarkupId(true); wizardModel = new WizardModel(); if (model.getObject() != null) { for (Section section : model.getObject().getSections()) { wizardModel.add(new MetadataWizardStep(new Model<Section>(section))); } } else { wizardModel.add(new WizardStep()); } wizard = new Wizard("wizard", wizardModel, true) { private static final long serialVersionUID = 1L; @Override public void onFinish() { Section data = MetadataForm.this.model.getObject(); Experiment experiment = expFacade.getExperimentForDetail(experimentId); experiment.getElasticExperiment().setMetadata(data); expFacade.update(experiment); setResponsePage(ExperimentsDetailPage.class, PageParametersUtils.getDefaultPageParameters(experimentId)); } @Override public void onCancel() { throw new RestartResponseAtInterceptPageException(MetadataForm.this.getPage().getPageClass(), MetadataForm.this.getPage().getPageParameters()); } }; wizard.setOutputMarkupId(true); add(wizard.setVisible(model.getObject() != null)); int personId = EEGDataBaseSession.get().getLoggedUser().getPersonId(); List<Template> templatesByPerson = templateFacade.getTemplatesByPerson(personId); ChoiceRenderer<Template> templateChoiceRenderer = new ChoiceRenderer<Template>("name", "templateId"); AjaxDropDownChoice<Template> templateSelection = new AjaxDropDownChoice<Template>("template-choice", new Model<Template>(), templatesByPerson, templateChoiceRenderer) { private static final long serialVersionUID = 1L; @Override protected void onSelectionChangeAjaxified(AjaxRequestTarget target, Template template) { try { Reader reader = new Reader(); Section section = reader .load(new ByteInputStream(template.getTemplate(), template.getTemplate().length)); section.setName(template.getName()); MetadataForm.this.model.setObject(section); wizardModel = new WizardModel(); for (Section subsection : section.getSections()) { wizardModel.add(new MetadataWizardStep(new Model<Section>(subsection))); } Wizard wiz = new Wizard("wizard", wizardModel, true) { private static final long serialVersionUID = 1L; @Override public void onFinish() { Section data = MetadataForm.this.model.getObject(); Experiment experiment = expFacade.getExperimentForDetail(experimentId); experiment.getElasticExperiment().setMetadata(data); expFacade.update(experiment); setResponsePage(ExperimentsDetailPage.class, PageParametersUtils.getDefaultPageParameters(experimentId)); } @Override public void onCancel() { throw new RestartResponseAtInterceptPageException( MetadataForm.this.getPage().getPageClass(), MetadataForm.this.getPage().getPageParameters()); } }; wizard = (Wizard) wizard.replaceWith(wiz); } catch (Exception e) { log.error(e.getMessage(), e); error(ResourceUtils.getString("text.template.error.load")); } target.add(MetadataForm.this); } }; add(templateSelection); AjaxLink<Void> saveAsTemplate = new AjaxLink<Void>("saveAsTemplate") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { Section section = MetadataForm.this.model.getObject(); String templateName = section.getName() != null ? section.getName() + "-savedFromWizard" : "Template-savedFromWizard"; Date now = new Date(); templateName += "-" + DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(now); Writer writer = new Writer(section, true, true); ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); if (writer.write(byteStream)) { Template template = new Template(); byte[] templateXML = byteStream.toByteArray(); template.setTemplate(templateXML); template.setName(templateName); template.setPersonByPersonId(EEGDataBaseSession.get().getLoggedUser()); templateFacade.create(template); setResponsePage(ListTemplatePage.class); } else { error(ResourceUtils.getString("text.template.error.save")); } } }; add(saveAsTemplate); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.metadata.template.PropertyMultiValuePanel.java
License:Apache License
public PropertyMultiValuePanel(String id, final IModel<Property> model) { super(id, new CompoundPropertyModel<Property>(model)); setOutputMarkupId(true);//from ww w . j a v a2 s .c o m property = model.getObject(); valueSuffix = property.valueCount() + 1; PropertyListView<Value> values = new PropertyListView<Value>("values") { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Value> item) { int index = item.getIndex(); item.add(new AjaxEditableLabel<Serializable>("content", new PropertyValueModel(property, index)) { private static final long serialVersionUID = 1L; @Override protected String defaultNullLabel() { return "..."; } }); item.add(new AjaxLink<Void>("removeValueLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int index = item.getIndex(); property.removeValue(index); target.add(PropertyMultiValuePanel.this); } @Override protected void onConfigure() { super.onConfigure(); setVisible(property.valueCount() > 1); } }); } }; values.setReuseItems(true); add(values); AjaxLink<Void> addLink = new AjaxLink<Void>("addButton") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { property.addValue(ResourceUtils.getString("text.template.empty.propertyValue") + valueSuffix++); target.add(PropertyMultiValuePanel.this); } }; add(addLink); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.metadata.template.TemplateForm.java
License:Apache License
private void setupControlComponents(final List<Section> sections, final TemplateTreeViewModel viewModel, Form<Section> form) {/*from w ww . ja v a 2s . c om*/ AjaxLink<Void> hideDefinition = new AjaxLink<Void>("hideDefinition") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { viewModel.setDefinitionVisible(!viewModel.isDefinitionVisible()); target.add(TemplateForm.this); } }; form.add(hideDefinition); AjaxButton saveTemplate = new AjaxButton("save-template", ResourceUtils.getModel("button.template.save")) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { Section section = TemplateForm.this.model.getObject(); if (section.getName() == null || section.getName().isEmpty()) { error(ResourceUtils.getString("text.template.error.templateName")); } else { String templateName = section.getName(); Writer writer = new Writer(section, true, true); ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); if (writer.write(byteStream)) { Template template = new Template(); byte[] templateXML = byteStream.toByteArray(); if (templateId == 0) { // create new template.setTemplate(templateXML); template.setName(templateName); template.setPersonByPersonId(EEGDataBaseSession.get().getLoggedUser()); templateFacade.create(template); } else { // update existing Template updated = templateFacade.read(templateId); updated.setName(templateName); updated.setTemplate(templateXML); templateFacade.update(updated); } setResponsePage(ListTemplatePage.class); } else { error(ResourceUtils.getString("text.template.error.save")); } } target.add(TemplateForm.this); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(TemplateForm.this); } }; form.add(saveTemplate); AjaxLink<Void> viewTemplateFormButton = new AjaxLink<Void>("viewTemplateFormButton") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { window.show(target); } }; form.add(viewTemplateFormButton); AjaxButton saveTemplateAsSystem = new AjaxButton("save-template-system", ResourceUtils.getModel("button.template.save.system")) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { Section section = TemplateForm.this.model.getObject(); if (section.getName() == null || section.getName().isEmpty()) { error(ResourceUtils.getString("text.template.error.templateName")); } else { String templateName = section.getName(); Writer writer = new Writer(section, true, true); ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); if (writer.write(byteStream)) { Template template = new Template(); byte[] templateXML = byteStream.toByteArray(); template.setTemplate(templateXML); template.setName(templateName); template.setPersonByPersonId(null); templateFacade.createSystemTemplate(template); setResponsePage(ListTemplatePage.class); } else { error(ResourceUtils.getString("text.template.error.save")); } } target.add(TemplateForm.this); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(TemplateForm.this); } }; boolean isAdmin = EEGDataBaseSession.get().hasRole(UserRole.ROLE_ADMIN.name()); form.add(saveTemplateAsSystem.setVisibilityAllowed(isAdmin)); AjaxButton saveTemplateAsNew = new AjaxButton("save-template-new", ResourceUtils.getModel("button.template.save.new")) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { Section section = TemplateForm.this.model.getObject(); if (section.getName() == null || section.getName().isEmpty()) { error(ResourceUtils.getString("text.template.error.templateName")); } else { String templateName = section.getName(); Writer writer = new Writer(section, true, true); ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); if (writer.write(byteStream)) { Template template = new Template(); byte[] templateXML = byteStream.toByteArray(); template.setTemplate(templateXML); template.setName(templateName); template.setPersonByPersonId(EEGDataBaseSession.get().getLoggedUser()); templateFacade.create(template); setResponsePage(ListTemplatePage.class); } else { error(ResourceUtils.getString("text.template.error.save")); } } target.add(TemplateForm.this); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(TemplateForm.this); } }; form.add(saveTemplateAsNew); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.metadata.template.TemplatePropertyPanel.java
License:Apache License
private void setupComponents(final IModel<Property> model) { add(new AjaxEditableLabel<String>("name") { private static final long serialVersionUID = 1L; @Override//from w w w . j ava 2s . com protected String defaultNullLabel() { return ResourceUtils.getString("text.template.empty.propertyName"); } }); add(new PropertyMultiValuePanel("value", model)); add(new AjaxEditableMultiLineLabel<String>("definition", new PropertyModel(model, "definition") { private static final long serialVersionUID = 1L; // TODO remove this if java odml lib will be upgraded, bug fix with definition setter. @Override public void setObject(Object object) { super.setObject(object == null ? "" : object); } }) { private static final long serialVersionUID = 1L; @Override protected void onConfigure() { super.onConfigure(); setVisible(TemplatePropertyPanel.this.viewModel.isDefinitionVisible()); } @Override protected String defaultNullLabel() { return ResourceUtils.getString("text.template.empty.property.definition"); } }); add(new AjaxLink<Void>("remove-property") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { Property property = (Property) TemplatePropertyPanel.this.getDefaultModelObject(); property.getParent().removeProperty(property.getName()); target.add(container); } }); add(new AjaxCheckBox("required", new PropertyModel<Boolean>(model.getObject(), "guiHelper.required")) { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { target.add(this); } }.setOutputMarkupId(true)); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.metadata.template.TemplateSectionPanel.java
License:Apache License
private void setupHeadAndControlComponents(final IModel<Section> model, final List<Section> choices) { // head + control final boolean notRootSection = model.getObject().getParent() != null; head.add(new AjaxEditableLabel<String>("name") { private static final long serialVersionUID = 1L; @Override//from www . ja v a2 s .c om protected String defaultNullLabel() { if (notRootSection) { return ResourceUtils.getString("text.template.empty.sectionName"); } else { return ResourceUtils.getString("text.template.empty.templateName"); } } }); String key; if (notRootSection) { key = "label.template.section"; } else { key = "label.template.templateName"; } head.add(new Label("sectionNameLabel", ResourceUtils.getString(key))); head.add(new AjaxEditableMultiLineLabel<String>("definition") { private static final long serialVersionUID = 1L; @Override protected String defaultNullLabel() { return ResourceUtils.getString("text.template.empty.section.definition"); } @Override protected void onConfigure() { super.onConfigure(); setVisible(viewModel.isDefinitionVisible()); } }.setVisibilityAllowed(notRootSection)); final DropDownChoice<Section> sectionList = new DropDownChoice<Section>("addSubsectionList", new Model<Section>(), choices, new ChoiceRenderer<Section>("name")); sectionList.setOutputMarkupId(true); head.add(sectionList); sectionList.add(new AjaxFormComponentUpdatingBehavior("onChange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { Section section = sectionList.getModelObject(); try { section = section.copy(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } TemplateSectionPanel.this.model.getObject().add(section); sectionList.setModelObject(null); target.add(mainContainer); } }); head.add(new AjaxLink<Void>("removeSection") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { Section section = TemplateSectionPanel.this.model.getObject(); section.getParent().removeSection(section); target.add(mainContainer); } }.setVisibilityAllowed(notRootSection)); head.add(new AjaxLink<Void>("showhideSectionContent") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { content.setVisible(!content.isVisible()); target.add(content); } }); head.add(new AjaxLink<Void>("addProperty") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { try { Property property = new Property( ResourceUtils.getString("text.template.empty.propertyName") + propertySuffix++, ResourceUtils.getString("text.template.empty.propertyValue")); TemplateSectionPanel.this.model.getObject().add(property); } catch (Exception e) { e.printStackTrace(); } target.add(mainContainer); } }.setVisibilityAllowed(notRootSection)); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.groups.ListOfMembersGroupPage.java
License:Apache License
private void setupComponents(final int groupId) { add(new Label("title", facade.getResearchGroupTitle(groupId))); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); LoadableDetachableModel<List<Map<String, Object>>> listModel = new LoadableDetachableModel<List<Map<String, Object>>>() { private static final long serialVersionUID = 1L; @Override// ww w. j a va 2s. co m protected List<Map<String, Object>> load() { return facade.getListOfGroupMembers(groupId); } }; final boolean isUserGroupAdmin = securityFacade.userIsAdminInGroup(groupId); PropertyListView<Map<String, Object>> members = new PropertyListView<Map<String, Object>>("members", listModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Map<String, Object>> item) { final Map<String, Object> person = item.getModelObject(); boolean enabled = true; final int personId = (Integer) person.get("personId"); final ResearchGroupMembershipId id = new ResearchGroupMembershipId(personId, groupId); item.add(new Label("givenname", (String) person.get("givenname"))); item.add(new Label("surname", (String) person.get("surname"))); item.add(new Label("username", (String) (person.get("username") != null ? person.get("username") : "---"))); GroupRole role = GroupRole.valueOf((String) person.get("authority")); item.add(new EnumLabel<GroupRole>("authority", role)); final DropDownChoice<GroupRole> roles = new DropDownChoice<GroupRole>("roles", new Model<GroupRole>(role), Arrays.asList(GroupRole.values()), new EnumChoiceRenderer<GroupRole>()); roles.add(new AjaxFormComponentUpdatingBehavior("onChange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { GroupRole groupRole = roles.getModelObject(); ResearchGroupMembership membership = facade.readMemberhip(id); membership.setAuthority(groupRole.name()); facade.updateMemberhip(membership); setResponsePage(getPage()); } }); roles.setVisibilityAllowed(isUserGroupAdmin); Person owner = personFacade.getPerson((String) person.get("username")); List<ResearchGroup> groups = facade.getResearchGroupsWhereOwner(owner); for (ResearchGroup group : groups) { if (group.getResearchGroupId() == groupId) { enabled = false; } } item.setEnabled(enabled); item.add(roles); AjaxLink<Void> removeLink = (new AjaxLink<Void>("removeFromGroupLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { ResearchGroupMembership membership = facade.readMemberhip(id); facade.deleteMemberhip(membership); setResponsePage(getPage()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('" + ResourceUtils.getString("link.confirm.sureToRemoveUserFromGroup") + "');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }); removeLink.setVisibilityAllowed(isUserGroupAdmin); removeLink.setVisible(enabled); item.add(removeLink); } }; container.add(members); BookmarkablePageLink<Void> backToDetailLink = new BookmarkablePageLink<Void>("backLink", ResearchGroupsDetailPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> addMemberLink = new BookmarkablePageLink<Void>("addMemberLink", AddMemberToGroupPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> transferOwnershipLink = new BookmarkablePageLink<Void>("transferOwnershipLink", TransferOwnershipPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); addMemberLink.setVisibilityAllowed(isUserGroupAdmin); transferOwnershipLink.setVisibilityAllowed(isLoggedPersonOwner); add(container, backToDetailLink, addMemberLink, transferOwnershipLink); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.groups.ResearchGroupsDetailPage.java
License:Apache License
public ResearchGroupsDetailPage(PageParameters parameters) { setPageTitle(ResourceUtils.getModel("pageTitle.researchGroupDetail")); add(new ButtonPageMenu("leftMenu", prepareLeftMenu())); StringValue value = parseParameters(parameters); int groupId = value.toInt(); final ResearchGroup group = researchGroupFacade.getResearchGroupById(groupId); add(new Label("title", group.getTitle())); add(new Label("description", group.getDescription())); AjaxLink<Void> requestMembership = new AjaxLink<Void>("request") { private static final long serialVersionUID = 1L; @Override//from w ww . j av a2 s . c o m public void onClick(AjaxRequestTarget target) { try { GroupPermissionRequest request = new GroupPermissionRequest(); request.setPerson(EEGDataBaseSession.get().getLoggedUser()); request.setResearchGroup(group); request.setRequestedPermission(Util.GROUP_EXPERIMENTER); researchGroupFacade.createPermissionRequest(request); info("Request was send."); setVisibilityAllowed(false); target.add(this); } catch (MailException e) { error("Request was not send."); } target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('" + ResourceUtils.getString( "text.confirmSendingMembershipRequest", new Model<ResearchGroup>(group)) + "');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }; requestMembership.setVisibilityAllowed(!securityFacade.userIsMemberInGroup(groupId)); BookmarkablePageLink<Void> listOfMembers = new BookmarkablePageLink<Void>("listOfMembers", ListOfMembersGroupPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> addMember = new BookmarkablePageLink<Void>("addMember", AddMemberToGroupPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> editGroup = new BookmarkablePageLink<Void>("editGroup", ResearchGroupFormPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); BookmarkablePageLink<Void> listOfPlans = new BookmarkablePageLink<Void>("listGroupMembershipPlans", ListOfMembershipPlansGroupPage.class, PageParametersUtils.getDefaultPageParameters(groupId)); boolean userIsAdminInGroup = securityFacade.userIsAdminInGroup(groupId); listOfMembers.setVisibilityAllowed(securityFacade.userIsExperimenterInGroup(groupId)); addMember.setVisibilityAllowed(userIsAdminInGroup); editGroup.setVisibilityAllowed(userIsAdminInGroup); add(requestMembership, listOfMembers, addMember, editGroup, listOfPlans); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListArtifactDefinitionsPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.artifactList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<Artifact> model = new ListModelWithResearchGroupCriteria<Artifact>() { private static final long serialVersionUID = 1L; @Override//from w ww .ja va2 s . c o m protected List<Artifact> loadList(ResearchGroup group) { if (group == null) return Collections.EMPTY_LIST; else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) groups = researchGroupFacade.getAllRecords(); else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<Artifact> artifacts = new PropertyListView<Artifact>("artifacts", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<Artifact> item) { item.add(new Label("artifactId")); item.add(new Label("compensation")); item.add(new Label("rejectCondition")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getArtifactId()) .add(PageParametersUtils.GROUP_PARAM, model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", ArtifactFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int id = item.getModelObject().getArtifactId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { facade.deleteGroupRel(item.getModelObject(), researchGroupFacade.getResearchGroupById(group.getResearchGroupId())); facade.delete(item.getModelObject()); setResponsePage(ListArtifactDefinitionsPage.class); } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(artifacts); AjaxLink<Void> link = new AjaxLink<Void>("addArtifactLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(ArtifactFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListExperimentOptParamPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.experimentOptionalParameterList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<ExperimentOptParamDef> model = new ListModelWithResearchGroupCriteria<ExperimentOptParamDef>() { private static final long serialVersionUID = 1L; @Override// w ww. ja v a 2 s.c o m protected List<ExperimentOptParamDef> loadList(ResearchGroup group) { if (group == null || group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) return facade.getDefaultRecords(); else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) { ResearchGroup defaultGroup = new ResearchGroup(CoreConstants.DEFAULT_ITEM_ID, EEGDataBaseSession.get().getLoggedUser(), ResourceUtils.getString("label.defaultExperimentOptParamDef"), "-"); groups = researchGroupFacade.getAllRecords(); groups.add(0, defaultGroup); } else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<ExperimentOptParamDef> params = new PropertyListView<ExperimentOptParamDef>("params", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<ExperimentOptParamDef> item) { item.add(new Label("experimentOptParamDefId")); item.add(new Label("paramName")); item.add(new Label("paramDataType")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getExperimentOptParamDefId()) .add(PageParametersUtils.GROUP_PARAM, (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", ExperimentOptParamFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int id = item.getModelObject().getExperimentOptParamDefId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { int groupId = group.getResearchGroupId(); if (groupId == CoreConstants.DEFAULT_ITEM_ID) { // delete default weather if it's from default group if (!facade.hasGroupRel(id)) { // delete only if it doesn't have group relationship facade.delete(item.getModelObject()); setResponsePage(ListExperimentOptParamPage.class); } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } else { ExperimentOptParamDefGroupRel h = facade.getGroupRel(id, groupId); if (!facade.isDefault(id)) { // delete only non default weather facade.delete(item.getModelObject()); } facade.deleteGroupRel(h); setResponsePage(ListExperimentOptParamPage.class); } } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(params); AjaxLink<Void> link = new AjaxLink<Void>("addParamLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(ExperimentOptParamFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.ListFileMetadataPage.java
License:Apache License
private void setupComponents() { setPageTitle(ResourceUtils.getModel("pageTitle.fileMetadataDefinitionsList")); add(new ButtonPageMenu("leftMenu", ListsLeftPageMenu.values())); final WebMarkupContainer container = new WebMarkupContainer("container"); container.setOutputMarkupPlaceholderTag(true); final ListModelWithResearchGroupCriteria<FileMetadataParamDef> model = new ListModelWithResearchGroupCriteria<FileMetadataParamDef>() { private static final long serialVersionUID = 1L; @Override//from ww w .j a v a 2s. co m protected List<FileMetadataParamDef> loadList(ResearchGroup group) { if (group == null || group.getResearchGroupId() == CoreConstants.DEFAULT_ITEM_ID) return facade.getDefaultRecords(); else { return facade.getRecordsByGroup(group.getResearchGroupId()); } } }; List<ResearchGroup> groups; final boolean isAdmin = security.isAdmin(); final boolean isExperimenter = security.userIsExperimenter(); if (isAdmin) { ResearchGroup defaultGroup = new ResearchGroup(CoreConstants.DEFAULT_ITEM_ID, EEGDataBaseSession.get().getLoggedUser(), ResourceUtils.getString("label.defaultFileMetadataParamDef"), "-"); groups = researchGroupFacade.getAllRecords(); groups.add(0, defaultGroup); } else groups = researchGroupFacade.getResearchGroupsWhereMember(EEGDataBaseSession.get().getLoggedUser()); PropertyListView<FileMetadataParamDef> params = new PropertyListView<FileMetadataParamDef>("params", model) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<FileMetadataParamDef> item) { item.add(new Label("fileMetadataParamDefId")); item.add(new Label("paramName")); item.add(new Label("paramDataType")); PageParameters parameters = PageParametersUtils .getDefaultPageParameters(item.getModelObject().getFileMetadataParamDefId()) .add(PageParametersUtils.GROUP_PARAM, (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId()); item.add(new BookmarkablePageLink<Void>("edit", FileMetadataFormPage.class, parameters)); item.add(new AjaxLink<Void>("delete") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int id = item.getModelObject().getFileMetadataParamDefId(); ResearchGroup group = model.getCriteriaModel().getObject(); if (facade.canDelete(id)) { if (group != null) { int groupId = group.getResearchGroupId(); if (groupId == CoreConstants.DEFAULT_ITEM_ID) { // delete default weather if it's from default group if (!facade.hasGroupRel(id)) { // delete only if it doesn't have group relationship facade.delete(item.getModelObject()); setResponsePage(ListFileMetadataPage.class); } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } } else { FileMetadataParamDefGroupRel h = facade.getGroupRel(id, groupId); if (!facade.isDefault(id)) { // delete only non default weather facade.delete(item.getModelObject()); } facade.deleteGroupRel(h); setResponsePage(ListFileMetadataPage.class); } } } else { getFeedback().error(ResourceUtils.getString("text.itemInUse")); } target.add(getFeedback()); } @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); AjaxCallListener ajaxCallListener = new AjaxCallListener(); ajaxCallListener.onPrecondition("return confirm('Are you sure you want to delete item?');"); attributes.getAjaxCallListeners().add(ajaxCallListener); } }.setVisibilityAllowed(isAdmin || isExperimenter)); } }; container.add(params); AjaxLink<Void> link = new AjaxLink<Void>("addMetadataLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { int researchGroupId = (model.getCriteriaModel().getObject() == null) ? CoreConstants.DEFAULT_ITEM_ID : model.getCriteriaModel().getObject().getResearchGroupId(); setResponsePage(FileMetadataFormPage.class, PageParametersUtils.getPageParameters(PageParametersUtils.GROUP_PARAM, researchGroupId)); } }; link.setVisibilityAllowed(isAdmin || isExperimenter); add(new ResearchGroupSelectForm("form", model.getCriteriaModel(), new ListModel<ResearchGroup>(groups), container, isAdmin)); add(link, container); }