Example usage for org.apache.wicket.ajax.markup.html.form AjaxButton AjaxButton

List of usage examples for org.apache.wicket.ajax.markup.html.form AjaxButton AjaxButton

Introduction

In this page you can find the example usage for org.apache.wicket.ajax.markup.html.form AjaxButton AjaxButton.

Prototype

public AjaxButton(String id, Form<?> form) 

Source Link

Document

Construct.

Usage

From source file:at.ac.tuwien.ifs.tita.ui.controls.panel.AdministrationPanelEffort.java

License:Apache License

/**
 * Initializes the time effort data table.
 *///from   w  ww.j  a  v a2s. co  m
private void displayDataTable() {
    table = new Table("tetable", tm) {
        @Override
        protected void onSelection(AjaxRequestTarget target) {
            if (!(table.getSelectedRows()[0] == tm.getSelectedRow())) {
                tm.setSelectedRow(table.getSelectedRows()[0]);
                tm.reload();
                target.addComponent(table);
            }
        }
    };

    table.setWidths(EffortUtils.WIDTHS);

    DateTextFieldRenderer re = new DateTextFieldRenderer();
    table.setDefaultEditor(Date.class, re);
    table.setDefaultRenderer(Date.class, re);

    ButtonEditRenderer btReEdit = new ButtonEditRenderer(this);
    table.setDefaultRenderer(ButtonEdit.class, btReEdit);
    table.setDefaultEditor(ButtonEdit.class, btReEdit);

    ButtonDeleteRenderer btReDelete = new ButtonDeleteRenderer(this);
    table.setDefaultRenderer(ButtonDelete.class, btReDelete);
    table.setDefaultEditor(ButtonDelete.class, btReDelete);

    LinkToIssueTrackerRenderer lkRenderer = new LinkToIssueTrackerRenderer(this);
    table.setDefaultRenderer(ExternalLink.class, lkRenderer);
    table.setDefaultEditor(ExternalLink.class, lkRenderer);

    table.setRowsPerPage(EffortUtils.ROWS_PER_PAGE);
    table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);

    reloadPagingNavigator();
    form.add(pagingNavigator);

    form.add(table);

    form.add(new AjaxButton("buttonSave", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            saveListEntity(target);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
            // target.addComponent(form.getPage().get("feedbackPanel"));
        }
    });

    timeeffortContainer.add(form);
}

From source file:at.ac.tuwien.ifs.tita.ui.controls.panel.AdministrationPanelEffort.java

License:Apache License

/**
 * Display all FilterFields.// w  w w . j  av a2s.  c o  m
 */
private void displayFilterFields() {
    teFilterDescription = new TextField<String>("filterdescription", new Model<String>("")) {

    };
    teFilterDescription.add(StringValidator.maximumLength(IntegerConstants.FIFTY));
    teFilterDescription.setType(String.class);
    teFilterDescription.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            filterList(target);
        }
    });
    form.add(teFilterDescription);

    teFilterDateFrom = new DateTextField("filterdatefrom", new PropertyModel<Date>(this, "dateFrom"),
            new StyleDateConverter("S-", true));
    teFilterDateFrom.add(new DatePicker());
    teFilterDateFrom.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            filterList(target);
        }
    });
    form.add(teFilterDateFrom);

    form.add(new AjaxButton("buttonCancelDateFrom", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            dateFrom = null;
            target.addComponent(teFilterDateFrom);
            filterList(target);
        }
    });

    form.add(new AjaxButton("buttonCancelDateUntil", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            dateUntil = null;
            target.addComponent(teFilterDateUntil);
            filterList(target);
        }
    });

    teFilterDateUntil = new DateTextField("filterdateuntil", new PropertyModel<Date>(this, "dateUntil"),
            new StyleDateConverter("S-", true));
    teFilterDateUntil.add(new DatePicker());
    teFilterDateUntil.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            filterList(target);
        }
    });
    form.add(teFilterDateUntil);

    teFilterCostCenter = new TextField<String>("filtercostcenter", new Model<String>("")) {

    };
    teFilterCostCenter.add(StringValidator.maximumLength(IntegerConstants.FIFTY));
    teFilterCostCenter.setType(String.class);
    teFilterCostCenter.add(new OnChangeAjaxBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            filterList(target);
        }
    });
    form.add(teFilterCostCenter);
}

From source file:at.ac.tuwien.ifs.tita.ui.evaluation.timeconsumer.DailyViewPage.java

License:Apache License

/**
 * Inits Page.//from  w ww.  ja v a 2  s  .  c om
 */
private void initPage() {
    Form<Effort> form = new Form<Effort>("timeConsumerEvaluationForm",
            new CompoundPropertyModel<Effort>(new Effort()));
    add(form);
    form.setOutputMarkupId(true);

    final DateTextField dateTextField = new DateTextField("tedate", new PropertyModel<Date>(this, "date"),
            new StyleDateConverter("S-", true));
    dateTextField.add(new DatePicker());
    form.add(dateTextField);

    final WebMarkupContainer timeeffortContainer = new WebMarkupContainer("timeeffortContainer");
    timeeffortContainer.setOutputMarkupId(true);
    timeeffortContainer.setOutputMarkupPlaceholderTag(true);
    add(timeeffortContainer);

    tableModel = new TableModelTimeConsumerEvaluation(getTimeEffortsDailyView(new Date()));
    Table table = new Table("tetable", tableModel);
    timeeffortContainer.add(table);

    final Button btnShowAsPDF = new Button("btnShowPDF") {
        @Override
        public void onSubmit() {
            try {
                loadReport();
                ResourceStreamRequestTarget rsrtarget = new ResourceStreamRequestTarget(
                        pdfResource.getResourceStream());
                rsrtarget.setFileName(pdfResource.getFilename());
                RequestCycle.get().setRequestTarget(rsrtarget);
            } catch (JRException e) {
                // TODO: GUI Exception Handling
                log.error(e.getMessage());
            } catch (PersistenceException e) {
                // TODO: GUI Exception Handling
                log.error(e.getMessage());
            }
        }

        @Override
        public boolean isEnabled() {
            return tableModel.getRowCount() == 0 ? false : true;
        }
    };

    form.add(btnShowAsPDF);

    form.add(new AjaxButton("btnShowEvaluation", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            tableModel.reload(getTimeEffortsDailyView(dateTextField.getModelObject()));
            target.addComponent(timeeffortContainer);
            target.addComponent(btnShowAsPDF);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
            // TODO Set border red on textfields which are'nt filled
        }
    });

}

From source file:at.ac.tuwien.ifs.tita.ui.evaluation.timeconsumer.MonthlyViewPage.java

License:Apache License

/**
 * Initializes buttons of form.// w w  w  .  j  a v a  2  s.  co  m
 * 
 * @param form form of page.
 * @param container container of page.
 */
private void initButtons(final Form<Effort> form, final WebMarkupContainer container) {
    final Button btnShowAsPDF = new Button("btnShowPDF") {
        @Override
        public void onSubmit() {
            try {
                loadReport();
                ResourceStreamRequestTarget rsrtarget = new ResourceStreamRequestTarget(
                        pdfResource.getResourceStream());
                rsrtarget.setFileName(pdfResource.getFilename());
                RequestCycle.get().setRequestTarget(rsrtarget);
            } catch (JRException e) {
                // TODO: GUI Exception Handling
                log.error(e.getMessage());

            } catch (PersistenceException e) {
                // TODO: GUI Exception Handling
                log.error(e.getMessage());
            }
        }

        @Override
        public boolean isEnabled() {
            return tableModel.getRowCount() == 0 ? false : true;
        }
    };

    form.add(btnShowAsPDF);

    form.add(new AjaxButton("btnShowEvaluation", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            Integer year = Integer.valueOf(selectedYear.toString());
            Integer month = Integer.valueOf(selectedMonth.toString());
            List<Effort> tlist = getTimeEffortsMonthlyView(year, month);
            tableModel.reload(tlist);
            target.addComponent(container);
            target.addComponent(btnShowAsPDF);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
            // TODO Set border red on textfields which are'nt filled
        }

        @Override
        public boolean isEnabled() {
            return !years.isEmpty();
        }
    });
}

From source file:at.ac.tuwien.ifs.tita.ui.evaluation.timecontroller.MultipleProjectsView.java

License:Apache License

@SuppressWarnings("unchecked")
public MultipleProjectsView() {
    // add form to page
    form = new Form<Object>("multipleProjectsForm");
    form.setOutputMarkupId(true);/*from w ww  .jav a 2  s . co m*/
    add(form);

    // load projects from db
    projectList = new ListMultipleChoice("projectSelection", new PropertyModel(this, "selectedProjects"),
            new LoadableDetachableModel() {
                @Override
                protected Object load() {
                    return new ArrayList<String>();
                }
            });
    projectList.setOutputMarkupId(true);

    // load users from db
    tcList = new ListMultipleChoice("timeConsumerSelection", new PropertyModel(this, "selectedUsers"),
            new LoadableDetachableModel() {
                @Override
                protected Object load() {
                    return new ArrayList<String>();
                }
            });
    tcList.setOutputMarkupId(true);

    loadTiTAProjects();
    form.add(tcList);
    form.add(projectList);

    // set select options
    selectedTimespan = new SelectOption("overall", "Overall");
    ChoiceRenderer<SelectOption> choiceRenderer = new ChoiceRenderer<SelectOption>("value", "key");
    SelectOption[] options = new SelectOption[] { new SelectOption("day", "Daily"),
            new SelectOption("month", "Monthly"), new SelectOption("overall", "Overall") };

    ddTimeSpan = new DropDownChoice<SelectOption>("timeSpanSelection",
            new PropertyModel<SelectOption>(this, "selectedTimespan"), Arrays.asList(options), choiceRenderer);

    ddTimeSpan.setOutputMarkupId(true);
    form.add(ddTimeSpan);

    // add pdf button
    final Button btnShowAsPDF = new Button("btnShowPDF") {
        @Override
        public void onSubmit() {
            try {
                loadReport();
                ResourceStreamRequestTarget rsrtarget = new ResourceStreamRequestTarget(
                        pdfResource.getResourceStream());
                rsrtarget.setFileName(pdfResource.getFilename());
                RequestCycle.get().setRequestTarget(rsrtarget);
            } catch (JRException e) {
                // TODO: GUI Exception Handling
                log.error(e.getMessage());
            } catch (PersistenceException e) {
                // TODO: GUI Exception Handling
                log.error(e.getMessage());
            }
        }

        @Override
        public boolean isEnabled() {
            return mpem.getRowCount() == 0 ? false : true;
        }
    };

    form.add(btnShowAsPDF);

    // add ajax buttons
    form.add(new AjaxButton("btnShowEfforts", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            loadMultipleProjectEvaluation();
            target.addComponent(table);
            target.addComponent(btnShowAsPDF);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
        }
    });

    form.add(new AjaxButton("btnResetLists", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            projectList.getModel().setObject(new ArrayList<String>());
            tcList.getModel().setObject(new ArrayList<String>());
            ddTimeSpan.getModel().setObject(new SelectOption("overall", "Overall"));
            mpem.setColumnNames(new String[] {});
            mpem.reload(new ArrayList<UserProjectEffort>());
            target.addComponent(table);
            target.addComponent(projectList);
            target.addComponent(tcList);
            target.addComponent(ddTimeSpan);
            target.addComponent(btnShowAsPDF);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
        }
    });

    form.add(new AjaxButton("btnLoadUsers", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            loadTiTAUsers();
            target.addComponent(tcList);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
        }
    });

    form.add(new AjaxButton("btnRefreshProjects", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            loadTiTAProjects();
            target.addComponent(projectList);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form1) {
        }
    });

    mpem = new TableModelMultipleProjectsEvaluation(new ArrayList<UserProjectEffort>(), new String[] {});

    table = new Table("evaluationTable", mpem);
    table.setRowsPerPage(EffortUtils.ROWS_PER_PAGE);
    table.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    table.setWidths(new String[] { "100", "100", "100", "100", "100", "100" });

    form.add(table.getRowsAjaxPagingNavigator("rowsPaging"));
    form.add(table);
}

From source file:at.ac.tuwien.ifs.tita.ui.evaluation.timecontroller.PerformanceOfPersonView.java

License:Apache License

/**
 * Displays the buttons for the target/actual comparison.
 *///from w  ww.  j av a 2s .co m
public void displayButtons() {
    btnShowPoPAsPDF = new Button("btnShowPoPAsPDF") {
        @Override
        public void onSubmit() {
            try {
                loadReport();
                ResourceStreamRequestTarget rsrtarget = new ResourceStreamRequestTarget(
                        pdfResource.getResourceStream());
                rsrtarget.setFileName(pdfResource.getFilename());
                RequestCycle.get().setRequestTarget(rsrtarget);
            } catch (JRException e) {
                // TODO: GUI Exception Handling
                log.error(e.getMessage());
            } catch (PersistenceException e) {
                // TODO: GUI Exception Handling
                log.error(e.getMessage());
            }
        }

        @Override
        public boolean isEnabled() {
            return tableForResults.isVisible();
        }
    };

    form.add(btnShowPoPAsPDF);

    form.add(new AjaxButton("btnShowPoP", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            if (loadPerformanceOfPerson()) {
                updateResultElements();
                target.addComponent(popContainer);
            }

            updateResultElements();
            target.addComponent(popContainer);
            target.addComponent(btnShowPoPAsPDF);
        }
    });
}

From source file:at.ac.tuwien.ifs.tita.ui.evaluation.timecontroller.TargetActualView.java

License:Apache License

/**
 * Displays the buttons for the target/actual comparison.
 *//*w w w . j  a  v a2  s .  c om*/
public void displayButtons() {
    form.add(new AjaxButton("btnRefreshTables", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            loadTableValues();

            makeVisible(false);
            updateResultElements();

            target.addComponent(tableForTiTAProject);
            target.addComponent(tableForTiTAUser);
            target.addComponent(targetActualComparison);
        }
    });

    form.add(new AjaxButton("btnShowTargetActual", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            if (loadTargetActualComparison()) {
                updateResultElements();
                target.addComponent(targetActualComparison);
            }

            updateResultElements();
            target.addComponent(targetActualComparison);
        }
    });

    form.add(new Button("btnShowTargetActualAsPDF") {
        @Override
        public void onSubmit() {
            try {
                loadReport();
                ResourceStreamRequestTarget rsrtarget = new ResourceStreamRequestTarget(
                        pdfResource.getResourceStream());
                rsrtarget.setFileName(pdfResource.getFilename());
                RequestCycle.get().setRequestTarget(rsrtarget);
            } catch (JRException e) {
                log.debug(e.getMessage());
            }
        }
    });
}

From source file:at.ac.tuwien.ifs.tita.ui.importing.effort.csv.EffortImportCSVPage.java

License:Apache License

/**
 * Displays the buttons for the target/actual comparison.
 *///from   www .  java2  s  .c  om
public void displayButtons() {
    importData = new AjaxButton("btnEffortImport", form) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {

            boolean importSuccesful = true;

            if (tableForTiTAProject.getSelectedRows().length > 0 && csvFile != null) {
                TiTAProject titaProject = (TiTAProject) tableForTiTAProject.getTableModel()
                        .getValueAt(tableForTiTAProject.getSelectedRows()[0], IntegerConstants.FIFTY);

                String[] headers = getDropDownValues(listOfDropDowns);

                for (String header : headers) {
                    if (header == null) {
                        importSuccesful = false;
                        setMessageForUser("The first line in the csv file looks like this: \n");
                        try {
                            for (String h1 : reader.getFirstDataSourceOrHeader(csvFile.getAbsolutePath())) {
                                setMessageForUser(getMessageForUser() + " " + h1 + ",");
                            }
                            setMessageForUser(
                                    getMessageForUser() + " \n You have to map your columns to our fields.");
                            break;
                        } catch (IOException e) {
                            e.getMessage();
                        }
                    }
                }

                if (importSuccesful) {
                    CellProcessor[] processors = getCellProcessors(headers);

                    try {
                        effortResult.clear();
                        List<Effort> importedEfforts = importEffortData(csvFile.getAbsolutePath(), headers,
                                processors, titaProject);
                        effortResult.addAll(importedEfforts);

                        tmForImportedEfforts.reload(effortResult);
                        tableForImportedEfforts.setVisible(true);
                        lblMessageForUser.setVisible(false);

                    } catch (PersistenceException e) {
                        e.getMessage();
                    } catch (IOException io) {
                        io.getMessage();
                    } catch (Exception e) {
                        effortResult.clear();
                        tmForImportedEfforts.reload(effortResult);
                        tableForImportedEfforts.setVisible(false);
                        lblMessageForUser.setVisible(true);
                        setMessageForUser("Parsing Error: You have to map your fields to ours.");
                    }
                } else {
                    effortResult.clear();
                    tmForImportedEfforts.reload(effortResult);
                    tableForImportedEfforts.setVisible(false);
                    lblMessageForUser.setVisible(true);
                }

                results.add(tableForImportedEfforts);
                results.add(lblMessageForUser);
                target.addComponent(results);
            }
        }
    };

    importData.setVisible(true);

    add(importData);
}

From source file:at.ac.tuwien.ifs.tita.ui.tasklist.stopwatch.NewTaskTimerPanel.java

License:Apache License

/**
 * Displays the Panel with all wicket elements.
 *//* w  w w .  jav a 2  s.  c  o  m*/
private void displayPanel() {
    taskTimerForm = new Form<Object>("timerTaskForm");
    add(taskTimerForm);

    taskTimerForm.add(new Label("taskId", task.getId().toString()));
    taskTimerForm.add(new Label("taskDescription", task.getDescription()));
    taskTimerForm.add(new AjaxButton("startStopTimer", taskTimerForm) {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form1) {
            owner.assignTask(task, target);
        }
    });
}

From source file:au.org.theark.admin.web.component.rolePolicy.SearchResultsPanel.java

License:Open Source License

@SuppressWarnings("unchecked")
public DataView<ArkRoleModuleFunctionVO> buildDataView(
        ArkDataProvider<ArkRoleModuleFunctionVO, IAdminService> dataProvider) {
    DataView<ArkRoleModuleFunctionVO> dataView = new DataView<ArkRoleModuleFunctionVO>(
            "arkRoleModuleFunctionVoList", dataProvider) {

        private static final long serialVersionUID = -7977497161071264676L;

        @Override//from  w  w w .  j a v a  2  s  . co  m
        protected void populateItem(final Item<ArkRoleModuleFunctionVO> item) {

            final ArkRoleModuleFunctionVO arkRoleModuleFunctionVo = item.getModelObject();
            item.setOutputMarkupId(true);
            item.setOutputMarkupPlaceholderTag(true);

            WebMarkupContainer rowEditWMC = new WebMarkupContainer("rowEditWMC", item.getModel());
            AjaxButton listEditButton = new AjaxButton("listEditButton",
                    new StringResourceModel(au.org.theark.core.Constants.EDIT, this, null)) {
                private static final long serialVersionUID = 197521505680635043L;

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    item.setEnabled(true);
                    item.get("arkCreatePermissionImg").setVisible(false);
                    item.get("arkReadPermissionImg").setVisible(false);
                    item.get("arkUpdatePermissionImg").setVisible(false);
                    item.get("arkDeletePermissionImg").setVisible(false);
                    item.addOrReplace(new CheckBox("arkCreatePermission",
                            new PropertyModel(arkRoleModuleFunctionVo, "arkCreatePermission"))
                                    .setEnabled(true));
                    item.addOrReplace(new CheckBox("arkReadPermission",
                            new PropertyModel(arkRoleModuleFunctionVo, "arkReadPermission")).setEnabled(true));
                    item.addOrReplace(new CheckBox("arkUpdatePermission",
                            new PropertyModel(arkRoleModuleFunctionVo, "arkUpdatePermission"))
                                    .setEnabled(true));
                    item.addOrReplace(new CheckBox("arkDeletePermission",
                            new PropertyModel(arkRoleModuleFunctionVo, "arkDeletePermission"))
                                    .setEnabled(true));
                    item.get("rowSaveWMC").setVisible(true);
                    target.add(item);
                }

                @Override
                protected void onError(AjaxRequestTarget target, Form<?> form) {
                    log.error("onError called when listEditButton pressed");
                }
            };
            listEditButton.setDefaultFormProcessing(false);
            rowEditWMC.add(listEditButton);
            item.add(rowEditWMC);

            if (arkRoleModuleFunctionVo.getArkRole() != null) {
                item.add(new Label("arkRole", arkRoleModuleFunctionVo.getArkRole().getName()));
            } else {
                item.add(new Label("arkRole", ""));
            }

            if (arkRoleModuleFunctionVo.getArkModule() != null) {
                item.add(new Label("arkModule", arkRoleModuleFunctionVo.getArkModule().getName()));
            } else {
                item.add(new Label("arkModule", ""));
            }

            if (arkRoleModuleFunctionVo.getArkFunction() != null) {
                item.add(new Label("arkFunction", arkRoleModuleFunctionVo.getArkFunction().getName()));
            } else {
                item.add(new Label("arkFunction", ""));
            }

            if (arkRoleModuleFunctionVo.getArkCreatePermission()) {
                item.addOrReplace(
                        new ContextImage("arkCreatePermissionImg", new Model<String>("images/icons/tick.png")));
            } else {
                item.addOrReplace(new ContextImage("arkCreatePermissionImg",
                        new Model<String>("images/icons/cross.png")));
            }

            if (arkRoleModuleFunctionVo.getArkReadPermission()) {
                item.addOrReplace(
                        new ContextImage("arkReadPermissionImg", new Model<String>("images/icons/tick.png")));
            } else {
                item.addOrReplace(
                        new ContextImage("arkReadPermissionImg", new Model<String>("images/icons/cross.png")));
            }

            if (arkRoleModuleFunctionVo.getArkUpdatePermission()) {
                item.addOrReplace(
                        new ContextImage("arkUpdatePermissionImg", new Model<String>("images/icons/tick.png")));
            } else {
                item.addOrReplace(new ContextImage("arkUpdatePermissionImg",
                        new Model<String>("images/icons/cross.png")));
            }

            if (arkRoleModuleFunctionVo.getArkDeletePermission()) {
                item.addOrReplace(
                        new ContextImage("arkDeletePermissionImg", new Model<String>("images/icons/tick.png")));
            } else {
                item.addOrReplace(new ContextImage("arkDeletePermissionImg",
                        new Model<String>("images/icons/cross.png")));
            }

            item.addOrReplace(new CheckBox("arkCreatePermission",
                    new PropertyModel(arkRoleModuleFunctionVo, "arkCreatePermission")).setVisible(false));
            item.addOrReplace(new CheckBox("arkReadPermission",
                    new PropertyModel(arkRoleModuleFunctionVo, "arkReadPermission")).setVisible(false));
            item.addOrReplace(new CheckBox("arkUpdatePermission",
                    new PropertyModel(arkRoleModuleFunctionVo, "arkUpdatePermission")).setVisible(false));
            item.addOrReplace(new CheckBox("arkDeletePermission",
                    new PropertyModel(arkRoleModuleFunctionVo, "arkDeletePermission")).setVisible(false));

            WebMarkupContainer rowSaveWMC = new WebMarkupContainer("rowSaveWMC", item.getModel());
            AjaxButton listSaveButton = new AjaxButton("listSaveButton",
                    new StringResourceModel(au.org.theark.core.Constants.SAVE, this, null)) {
                private static final long serialVersionUID = -7382768898426488999L;

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    onSave(target, arkRoleModuleFunctionVo);
                    target.add(SearchResultsPanel.this);
                    target.add(feedbackPanel);
                }

                @Override
                protected void onError(AjaxRequestTarget target, Form<?> form) {
                    log.error("onError called when listSaveButton pressed");
                }
            };
            rowSaveWMC.add(listSaveButton);
            rowSaveWMC.setVisible(false);
            item.add(rowSaveWMC);

            item.add(new AttributeModifier("class", new AbstractReadOnlyModel<String>() {
                private static final long serialVersionUID = 1938679383897533820L;

                @Override
                public String getObject() {
                    return (item.getIndex() % 2 == 1) ? "even" : "odd";
                }
            }));
        }
    };
    return dataView;
}