Example usage for org.apache.wicket.markup.html.list ListView ListView

List of usage examples for org.apache.wicket.markup.html.list ListView ListView

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.list ListView ListView.

Prototype

public ListView(final String id, final List<T> list) 

Source Link

Usage

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