List of usage examples for org.apache.wicket.markup.html.list ListView ListView
public ListView(final String id, final List<T> list)
From source file:guru.mmp.application.web.template.components.ExtensibleDialog.java
License:Apache License
/** * Constructs a new <code>ExtensibleDialog</code>. * * @param id the non-null id of this component *//* w w w.j a v a2s . c o m*/ public ExtensibleDialog(String id) { super(id); setOutputMarkupId(true); // The "title" label Label titleLabel = new Label("title", new PropertyModel<String>(this, "title")); titleLabel.setRenderBodyOnly(true); add(titleLabel); // Initialise the default extensible dialog implementation this.implementation = new DefaultImplementation(); add(implementation); // Initialise the buttons buttonsListView = new ListView<ExtensibleDialogButton>("buttons", implementation.getButtons()) { protected void populateItem(ListItem<ExtensibleDialogButton> item) { item.add(item.getModelObject()); } }; add(buttonsListView); }
From source file:guru.mmp.application.web.template.pages.ErrorReportsPage.java
License:Apache License
/** * Constructs a new <code>ErrorReportsPage</code>. *//*from ww w . j a va2 s . c o m*/ public ErrorReportsPage() { super("Error Reports"); try { LoadableDetachableModel<List<ErrorReportSummary>> ldm = new LoadableDetachableModel<List<ErrorReportSummary>>() { private static final long serialVersionUID = 1000000; @Override protected List<ErrorReportSummary> load() { WebSession session = getWebApplicationSession(); try { return messagingService.getMostRecentErrorReportSummaries(MAXIMUM_NUMBER_OF_ENTRIES); } catch (Throwable e) { throw new WebApplicationException( String.format("Failed to load the form audit log entries for the organisation (%s)", session.getOrganisation()), e); } } }; ListView<ErrorReportSummary> listView = new ListView<ErrorReportSummary>("errorReportSummary", ldm) { private static final long serialVersionUID = 1000000; @Override protected void populateItem(ListItem<ErrorReportSummary> item) { ErrorReportSummary errorReportSummary = item.getModelObject(); UUID id = errorReportSummary.getId(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); item.add(new Label("application", errorReportSummary.getApplicationName())); item.add(new Label("created", sdf.format(errorReportSummary.getCreated()))); item.add(new Label("who", errorReportSummary.getWho())); Link<Void> viewErrorReportLink = new Link<Void>("viewErrorReportLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { ViewErrorReportPage page = new ViewErrorReportPage(getPageReference(), id); setResponsePage(page); } }; viewErrorReportLink.add(new Label("id", errorReportSummary.getId())); item.add(viewErrorReportLink); } }; add(listView); } catch (Throwable e) { throw new WebApplicationException("Failed to initialise the ErrorReportsPage", e); } }
From source file:hsa.awp.admingui.edit.CategoryPanel.java
License:Open Source License
/** * Creates a new {@link CategoryPanel}./*from ww w.j av a 2s . c o m*/ * * @param id wicket id. */ public CategoryPanel(String id) { super(id); feedbackPanel.setOutputMarkupId(true); Form<String> form = new Form<String>("categoryPanel.form"); final WebMarkupContainer availableCategories = new WebMarkupContainer("availableCategories"); add(availableCategories); availableCategories.setOutputMarkupId(true); Comparator<Category> categoryComparator = new Comparator<Category>() { @Override public int compare(Category o1, Category o2) { return o1.getName().compareTo(o2.getName()); } }; List<Category> categories = new ArrayList<Category>(controller.getCategoriesByMandator(getSession())); Collections.sort(categories, categoryComparator); availableCategories.add(new ListView<Category>("knownCategories", categories) { /** * unique serialization id. */ private static final long serialVersionUID = 7541183670558921101L; @Override protected void populateItem(ListItem<Category> item) { final Category category = controller.getCategoryById(item.getModelObject().getId()); item.add(new Label("name", category.getName())); AbstractDeleteLink<Category> deleteLink = new AbstractDeleteLink<Category>("delete", category) { @Override public void modifyItem(Category category) { controller.deleteCategory(category); setResponsePage(new OnePanelPage(new CategoryPanel(OnePanelPage.getPanelIdOne()))); } }; deleteLink.setVisible(category.getSubjects().size() == 0); item.add(deleteLink); } }); form.add(new TextField<String>("categoryPanel.name", nameModel).setRequired(true)); form.add(new AjaxButton("categoryPanel.button") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override protected void onError(final AjaxRequestTarget target, final Form<?> form) { target.addComponent(feedbackPanel); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { try { Category cat = Category.getInstance(nameModel.getObject(), controller.getActiveMandator(getSession())); controller.writeCategory(cat); feedbackPanel.info("Eingaben bernommen."); this.setVisible(false); target.addComponent(feedbackPanel); target.addComponent(form); target.addComponent(availableCategories); setResponsePage(new OnePanelPage(new CategoryPanel(OnePanelPage.getPanelIdOne()))); } catch (DataAccessException e) { feedbackPanel.error("'" + nameModel.getObject() + "' existiert bereits"); } } }); add(form); form.add(feedbackPanel); }
From source file:hsa.awp.admingui.edit.event.tabs.TabExam.java
License:Open Source License
/** * Constructor for tab.//from w w w .j av a2 s. co m * * @param id wicket id * @param evt event whose exams are edited. */ public TabExam(String id, Event evt) { super(id); this.event = evt; examEditContainer = new WebMarkupContainer("event.tabExam.examEditContainer"); examEditContainer.setOutputMarkupId(true); add(examEditContainer); ExamPanel examPanel = new ExamPanel("event.tabExam.examPanel", event, examListContainer); examEditContainer.add(examPanel); examPanel.setVisible(false); examListContainer = new WebMarkupContainer("event.tabExam.examListContainer"); examListContainer.setOutputMarkupId(true); add(examListContainer); examListContainer.add(new AjaxFallbackLink<Exam>("event.tabExam.createNewExamLink") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(examEditContainer); examEditContainer.removeAll(); examEditContainer.add(new ExamPanel("event.tabExam.examPanel", event, examListContainer)); } }); LoadableDetachedModel<List<Exam>> exams = new LoadableDetachedModel<List<Exam>>() { /** * unique serialization id. */ private static final long serialVersionUID = 7140862438222206869L; @Override protected List<Exam> load() { if (event.getId().equals(0L)) { return new LinkedList<Exam>(); } return new LinkedList<Exam>(controller.getEventById(event.getId()).getExams()); } }; event = controller.getEventById(event.getId()); ListView<Exam> examList = new ListView<Exam>("event.tabExam.examList", exams) { /** * unique serialization id. */ private static final long serialVersionUID = 999046116701991766L; @Override protected void populateItem(final ListItem<Exam> item) { final Exam exam = item.getModelObject(); item.add(new Label("event.tabExam.type", new Model<String>(exam.getExamType().name()))); item.add( new Label("event.tabExam.duration", new Model<String>(String.valueOf(exam.getDuration())))); item.add(new Label("event.tabExam.resources", new Model<String>(exam.getResources()))); item.add(new AjaxFallbackLink<Exam>("event.tabExam.edit") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(examEditContainer); examEditContainer.removeAll(); examEditContainer .add(new ExamPanel("event.tabExam.examPanel", event, examListContainer, exam)); } }); item.add(new AjaxFallbackLink<Exam>("event.tabExam.delete") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(examListContainer); controller.deleteExam(item.getModelObject(), event); } }); } }; examListContainer.add(examList); examListContainer.setOutputMarkupId(true); }
From source file:hsa.awp.admingui.edit.event.tabs.TabRule.java
License:Open Source License
/** * Constructor.//from www. java 2s .co m * * @param id wicket-id. * @param event event to edit. */ public TabRule(String id, final Event event) { super(id); if (event == null) { throw new IllegalArgumentException("no event given"); } this.event = event; feedbackPanel = new FeedbackPanel("feedbackPanel"); feedbackPanel.setOutputMarkupId(true); add(feedbackPanel); add(new Link<RulePanel>("event.rule.ruleLink") { /** * Generated serialization id. */ private static final long serialVersionUID = -4330022747603538362L; @Override public void onClick() { setResponsePage(new OnePanelPage(new RulePanel(OnePanelPage.getPanelIdOne()))); } }); final WebMarkupContainer viewContainer = new WebMarkupContainer("event.rule.viewContainer"); add(viewContainer); viewContainer.setOutputMarkupId(true); final LoadableDetachedModel<List<MappingCampaignRule>> appliedRuleSets = new LoadableDetachedModel<List<MappingCampaignRule>>() { /** * unique serialization id. */ private static final long serialVersionUID = -2124579745330512796L; @Override protected List<MappingCampaignRule> load() { return getCampaignRuleSetMappingUsingRegistrationRuleSet(); } }; ListView<MappingCampaignRule> campaigns = new ListView<MappingCampaignRule>( "event.rule.viewContainer.campaigns", appliedRuleSets) { /** * unique serialization id. */ private static final long serialVersionUID = -8838977200090913199L; @Override protected void populateItem(ListItem<MappingCampaignRule> item) { Campaign campaign = item.getModelObject().campaign; item.add(new Label("event.rule.viewContainer.campaigns.campaignName", campaign.getName())); item.add(new ListView<Rule>("event.rule.viewContainer.campaigns.rules", item.getModelObject().rules) { /** * unique serialization id. */ private static final long serialVersionUID = 3744568568875419040L; @Override protected void populateItem(ListItem<Rule> item) { item.add(new Label("event.rule.viewContainer.campaigns.rules.rulename", item.getModelObject().getName())); } }); } }; campaigns.setOutputMarkupId(true); viewContainer.add(campaigns); Form<Object> form = new Form<Object>("event.rule.selectForm"); add(form); LoadableDetachedModel<List<Rule>> ruleChoiceModel = new LoadableDetachedModel<List<Rule>>() { /** * unique serialization id. */ private static final long serialVersionUID = 8248346584785484372L; @Override protected List<Rule> load() { return getAllAvailableCampaignRules(); } }; campaignDropDownChoice = new DropDownChoice<Campaign>("event.rule.campaignSelect", new Model<Campaign>(), getAllCampaigns(), new ChoiceRenderer<Campaign>("name")); form.add(campaignDropDownChoice); campaignDropDownChoice.add(new OnChangeAjaxBehavior() { /** * unique serialization id. */ private static final long serialVersionUID = 3121098439171790920L; @Override protected void onUpdate(AjaxRequestTarget target) { target.addComponent(ruleDropDownChoice); } }); campaignDropDownChoice.setRequired(true); ruleDropDownChoice = new DropDownChoice<Rule>("event.rule.ruleSelect", new Model<Rule>(), ruleChoiceModel, new ChoiceRenderer<Rule>("name")); form.add(ruleDropDownChoice); ruleDropDownChoice.setRequired(true); ruleDropDownChoice.setOutputMarkupId(true); form.add(new AjaxButton("event.rule.submit") { /** * unique serialization id. */ private static final long serialVersionUID = 3023000043184393346L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { target.addComponent(viewContainer); target.addComponent(feedbackPanel); controller.addRule(campaignDropDownChoice.getModelObject(), event, ruleDropDownChoice.getModelObject(), getSession()); info("Regel wurde zugeordnet."); } }); }
From source file:hsa.awp.admingui.edit.event.tabs.TabTeacher.java
License:Open Source License
/** * Tab for Teacher.// w w w.j av a 2 s .c om * * @param id wicket id * @param evt event whose Teacher */ public TabTeacher(String id, Event evt) { super(id); this.event = evt; teacherEditContainer = new WebMarkupContainer("event.tabTeacher.TeacherEditContainer"); teacherEditContainer.setOutputMarkupId(true); TeacherSelectPanel teacherSelectPanel = new TeacherSelectPanel("event.tabTeacher.TeacherSelectPanel"); teacherEditContainer.add(teacherSelectPanel); teacherSelectPanel.setVisible(false); add(teacherEditContainer); teacherListContainer = new WebMarkupContainer("event.tabTeacher.TeacherListContainer"); teacherListContainer.setOutputMarkupId(true); add(teacherListContainer); teacherListContainer.add(new AjaxFallbackLink<Exam>("event.tabTeacher.createNewTeacherLink") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(teacherEditContainer); teacherEditContainer.removeAll(); teacherEditContainer.add(new TeacherSelectPanel("event.tabTeacher.TeacherSelectPanel")); } }); final LoadableDetachedModel<List<SingleUser>> teachers = new LoadableDetachedModel<List<SingleUser>>() { /** * unique serialization id. */ private static final long serialVersionUID = 7140862438222206869L; @Override protected List<SingleUser> load() { event = controller.getEventById(event.getId()); List<SingleUser> teacherList = new LinkedList<SingleUser>(); for (Long id : event.getTeachers()) { teacherList.add(controller.getUserById(id)); } return teacherList; } }; ListView<SingleUser> singleUserList = new ListView<SingleUser>("event.tabTeacher.TeacherList", teachers) { /** * unique serialization id. */ private static final long serialVersionUID = 999046116701991766L; @Override protected void populateItem(final ListItem<SingleUser> item) { final SingleUser singleUser = item.getModelObject(); item.add(new Label("event.tabTeacher.string", singleUser.getName())); item.add(new AjaxFallbackLink<SingleUser>("event.tabTeacher.delete") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(teacherListContainer); controller.deleteLecture(singleUser, event); } }); } }; teacherListContainer.add(singleUserList); teacherListContainer.setOutputMarkupId(true); }
From source file:hsa.awp.admingui.edit.event.tabs.TabTimetable.java
License:Open Source License
/** * Tab for timetable./* w w w. jav a 2 s . co m*/ * * @param id wicket id * @param evt event whose timetable */ public TabTimetable(String id, Event evt) { super(id); this.event = evt; timetableEditContainer = new WebMarkupContainer("event.tabTimetable.TimetableEditContainer"); timetableEditContainer.setOutputMarkupId(true); add(timetableEditContainer); OccurrencePanel occurrencePanel = new OccurrencePanel("event.tabTimetable.OccurrencePanel", event, timetableListContainer); timetableEditContainer.add(occurrencePanel); occurrencePanel.setVisible(false); // ExamPanel examPanel = new ExamPanel("event.tabExam.examPanel", examListContainer); // examEditContainer.add(examPanel); // examPanel.setVisible(false); timetableListContainer = new WebMarkupContainer("event.tabTimetable.TimetableListContainer"); timetableListContainer.setOutputMarkupId(true); add(timetableListContainer); timetableListContainer.add(new AjaxFallbackLink<Exam>("event.tabTimetable.createNewTimetableLink") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(timetableEditContainer); timetableEditContainer.removeAll(); timetableEditContainer.add( new OccurrencePanel("event.tabTimetable.OccurrencePanel", event, timetableListContainer)); // examEditContainer.add(new ExamPanel("event.tabExam.examPanel", examListContainer)); } }); final LoadableDetachedModel<List<Occurrence>> occurrences = new LoadableDetachedModel<List<Occurrence>>() { /** * unique serialization id. */ private static final long serialVersionUID = 7140862438222206869L; @Override protected List<Occurrence> load() { event = controller.getEventById(event.getId()); if (event.getId().equals(0L) || event.getTimetable() == null || event.getTimetable().getOccurrences().size() <= 0) { Timetable time = Timetable.getInstance(controller.getActiveMandator(getSession())); return new LinkedList<Occurrence>(time.getOccurrences()); } return new LinkedList<Occurrence>( controller.getEventById(event.getId()).getTimetable().getOccurrences()); } }; ListView<Occurrence> occurrenceList = new ListView<Occurrence>("event.tabTimetable.OccurrenceList", occurrences) { /** * unique serialization id. */ private static final long serialVersionUID = 999046116701991766L; @Override protected void populateItem(final ListItem<Occurrence> item) { final Occurrence occurence = item.getModelObject(); DateFormat singleFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm"); DateFormat dayFormat = new SimpleDateFormat("EEEE"); DateFormat timeFormat = new SimpleDateFormat("HH:mm"); String s; switch (item.getModelObject().getType()) { case SINGLE: s = "Einzeltermin vom " + singleFormat.format(item.getModelObject().getStartDate().getTime()); s += " bis " + singleFormat.format(item.getModelObject().getEndDate().getTime()); break; case PERIODICAL: s = "Wchentlich am " + dayFormat.format(item.getModelObject().getStartDate().getTime()); s += " von " + timeFormat.format(item.getModelObject().getStartDate().getTime()) + " bis " + timeFormat.format(item.getModelObject().getEndDate().getTime()); break; default: s = ""; } item.add(new Label("event.tabTimetable.string", s)); item.add(new AjaxFallbackLink<Occurrence>("event.tabTimetable.edit") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(timetableEditContainer); timetableEditContainer.removeAll(); timetableEditContainer.add(new OccurrencePanel("event.tabTimetable.OccurrencePanel", event, timetableListContainer, occurence)); // examEditContainer.add(new ExamPanel("event.tabExam.examPanel", examListContainer, exam)); } }); item.add(new AjaxFallbackLink<Occurrence>("event.tabTimetable.delete") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(timetableListContainer); controller.deleteOccurrence(item.getModelObject(), event.getTimetable()); } }); } }; timetableListContainer.add(occurrenceList); timetableListContainer.setOutputMarkupId(true); }
From source file:hsa.awp.admingui.edit.TermPanel.java
License:Open Source License
/** * Creates a new {@link hsa.awp.admingui.edit.TermPanel}. * * @param id wicket id./* ww w . ja v a 2 s . c om*/ */ public TermPanel(String id) { super(id); feedbackPanel.setOutputMarkupId(true); Form<String> form = new Form<String>("termPanel.form"); final WebMarkupContainer availableTerms = new WebMarkupContainer("availableTerms"); add(availableTerms); availableTerms.setOutputMarkupId(true); Comparator<Term> termComparator = new Comparator<Term>() { @Override public int compare(Term o1, Term o2) { return o1.getTermDesc().compareToIgnoreCase(o2.getTermDesc()); } }; List<Term> terms = new ArrayList<Term>(controller.getTermsByMandator(getSession())); Collections.sort(terms, termComparator); availableTerms.add(new ListView<Term>("knownTerms", terms) { /** * unique serialization id. */ private static final long serialVersionUID = 7541183670558921101L; @Override protected void populateItem(ListItem<Term> item) { item.add(new Label("name", item.getModelObject().toString())); item.add(new AbstractDeleteLink<Term>("deleteLink", item.getModelObject()) { @Override public void modifyItem(Term term) { controller.deleteTerm(term); setResponsePage(new OnePanelPage(new TermPanel(OnePanelPage.getPanelIdOne()))); } }); } }); form.add(new TextField<String>("termPanel.desc", descModel, String.class).setRequired(true)); form.add(new AjaxButton("termPanel.button") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override protected void onError(final AjaxRequestTarget target, final Form<?> form) { target.addComponent(feedbackPanel); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { try { controller.createTerm(descModel.getObject(), getSession()); // TODO Sprache: feedbackPanel.info("Eingaben bernommen."); this.setVisible(false); target.addComponent(feedbackPanel); target.addComponent(form); target.addComponent(availableTerms); setResponsePage(new OnePanelPage(new TermPanel(OnePanelPage.getPanelIdOne()))); } catch (DataAccessException e) { // TODO Sprache: feedbackPanel.error("'" + typeModel.getObject() + "' already exists"); } } }); add(form); form.add(feedbackPanel); }
From source file:hsa.awp.admingui.rule.RuleListPanel.java
License:Open Source License
/** * Creates a new {@link RuleListPanel}./*w w w . j a va 2 s. co m*/ * * @param id wicket-id. */ public RuleListPanel(String id) { super(id); LoadableDetachedModel<List<Rule>> rules = new LoadableDetachedModel<List<Rule>>() { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override protected List<Rule> load() { List<Rule> rules = controller.getRulesByMandator(getSession()); Collections.sort(rules, new Comparator<Rule>() { @Override public int compare(Rule o1, Rule o2) { return o1.getName().compareTo(o2.getName()); } }); return rules; } }; final WebMarkupContainer listContainer = new WebMarkupContainer("rules.listContainer"); add(listContainer); listContainer.setOutputMarkupId(true); listContainer.add(new ListView<Rule>("rules.list", rules) { /** * unique serialization id. */ private static final long serialVersionUID = 2060257002016027097L; @Override protected void populateItem(final ListItem<Rule> item) { item.add(new Label("rule.name", item.getModelObject().getName())); AjaxFallbackLink<Rule> delLink = new AjaxFallbackLink<Rule>("rule.delete") { /** * unique serialization id. */ private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.addComponent(listContainer); controller.deleteRule(item.getModelObject()); } }; delLink.add(new JavascriptEventConfirmation("onclick", "Sind Sie sicher?")); item.add(delLink); } }); }
From source file:hsa.awp.admingui.usermanagement.MandatorPanel.java
License:Open Source License
private void addPersistentMandatorList() { LoadableDetachedModel<List<Mandator>> mandatorModel = new LoadableDetachedModel<List<Mandator>>() { @Override//w ww. ja v a 2s . co m protected List<Mandator> load() { Set<Mandator> mandatorSet = new HashSet<Mandator>(controller.getAllMandators()); mandatorSet.remove(controller.getTheAllMandator()); return new ArrayList<Mandator>(mandatorSet); } }; ListView<Mandator> listView = new ListView<Mandator>("listView", mandatorModel) { @Override protected void populateItem(ListItem<Mandator> mandatorListItem) { final Mandator mandator = mandatorListItem.getModelObject(); mandatorListItem.add(new Label("mandatorName", new Model<String>(mandator.getName()))); AbstractDetailLink<Mandator> mandatorDetailPanelLink = new AbstractDetailLink<Mandator>( "mandatorDetailLink", mandator) { @Override public void modifyItem(Mandator mandator) { setResponsePage( new OnePanelPage(new MandatorDetailPanel(OnePanelPage.getPanelIdOne(), mandator))); } }; mandatorListItem.add(mandatorDetailPanelLink); AbstractDeleteLink<Mandator> deleteLink = new AbstractDeleteLink<Mandator>("deleteLink", mandator) { @Override public void modifyItem(Mandator mandator) { controller.deleteMandator(mandator); setResponsePage(new OnePanelPage(new MandatorPanel(OnePanelPage.getPanelIdOne()))); } }; deleteLink.setVisible(controller.isMandatorDeletable(mandator)); mandatorListItem.add(deleteLink); } }; container = new WebMarkupContainer("availableMandators"); container.setOutputMarkupId(true); container.add(listView); add(container); }