Example usage for org.apache.wicket.ajax AjaxRequestTarget add

List of usage examples for org.apache.wicket.ajax AjaxRequestTarget add

Introduction

In this page you can find the example usage for org.apache.wicket.ajax AjaxRequestTarget add.

Prototype

void add(Component... components);

Source Link

Document

Adds components to the list of components to be rendered.

Usage

From source file:com.axway.ats.testexplorer.pages.model.BaseCopyPage.java

License:Apache License

private void addCopyButton(Form<Object> form) {

    AjaxButton button = new AjaxButton("copyButton", form) {

        private static final long serialVersionUID = 1L;

        @Override//w  ww. j a  va  2s. co  m
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            if (consoleUpdateTimer == null || consoleUpdateTimer.isStopped()) {

                // clear current console logs
                webConsole.clear();

                // do some input validation
                if (isInputValid()) {

                    // get the thread identifier for this copy process
                    String threadIdentifier = generateThreadIdentifier();

                    // if we are already running this copy process - we will not start a new copy
                    // process, but we will simply attach to the current copy console
                    if (!checkForThreadCopingTheSameRun(threadIdentifier)) {

                        // create a new copy process
                        copyThread = getNewCopyThread(threadIdentifier);

                        if (copyThread.isInitSuccessful()) {

                            if (copyThread.areDbVersionsDifferent()) {

                                // ask user for confirmation
                                target.appendJavaScript(
                                        "if ( confirm('The two databases has different versions!"
                                                + "\\nSource database version is "
                                                + copyThread.getSrcDbVersion() + " but the destinanation is "
                                                + copyThread.getDstDbVersion()
                                                + "\\nAre you sure you want to continue?') ) "
                                                + "document.getElementById('copyHiddenButtonSpan').getElementsByTagName('input')[0].click();");
                            } else {
                                startCurrentCopyThread();
                            }
                        }
                    }
                }
                target.add(consoleContainer);
            }
        }
    };

    form.add(button);
}

From source file:com.axway.ats.testexplorer.pages.model.BaseCopyPage.java

License:Apache License

private void addCopyHiddenButton(Form<Object> form) {

    AjaxButton button = new AjaxButton("copyHiddenButton") {

        private static final long serialVersionUID = 1L;

        @Override//from   w w  w  .jav  a  2  s. c o m
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            startCurrentCopyThread();
            target.add(consoleContainer);
        }
    };

    form.add(button);
}

From source file:com.axway.ats.testexplorer.pages.model.ColumnsDialog.java

License:Apache License

@SuppressWarnings({ "rawtypes" })
public ColumnsDialog(String id, final DataGrid grid, List<TableColumn> columnDefinitions) {

    super(id);/* w  w  w .  ja v  a2s .  c  o m*/
    setOutputMarkupId(true);

    this.dbColumnDefinitions = columnDefinitions;

    DataView<TableColumn> table = new DataView<TableColumn>("headers",
            new ListDataProvider<TableColumn>(dbColumnDefinitions), 100) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<TableColumn> item) {

            final TableColumn column = item.getModelObject();

            item.add(new CheckBox("visible", new PropertyModel<Boolean>(column, "visible")));
            item.add(new Label("columnName", new PropertyModel<String>(column, "columnName")));

            item.add(new AjaxEventBehavior("click") {

                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {

                    TableColumn tableColumn = (TableColumn) this.getComponent().getDefaultModelObject();
                    tableColumn.setVisible(!tableColumn.isVisible());

                    if (tableColumn.isVisible()) {
                        item.add(AttributeModifier.replace("class", "selected"));
                    } else {
                        item.add(AttributeModifier.replace("class", "notSelected"));
                    }
                    grid.getColumnState().setColumnVisibility(tableColumn.getColumnId(),
                            tableColumn.isVisible());
                    target.add(grid);
                    target.add(this.getComponent());

                    open(target);
                }
            });
            item.setOutputMarkupId(true);

            if (column.isVisible()) {
                item.add(AttributeModifier.replace("class", "selected"));
            } else {
                item.add(AttributeModifier.replace("class", "notSelected"));
            }
        }
    };
    add(table);

    final Form<Void> columnDefinitionsForm = new Form<Void>("columnDefinitionsForm");
    add(columnDefinitionsForm);

    AjaxSubmitLink saveButton = new AjaxSubmitLink("saveButton", columnDefinitionsForm) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {

            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener();
            ajaxCallListener.onPrecondition("getTableColumnDefinitions(); ");
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }

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

            String columnDefinitionsString = form.getRequest().getPostParameters()
                    .getParameterValue("columnDefinitions").toString();

            List<TableColumn> jsColDefinitions = asList(columnDefinitionsString);
            orderTableColumns(dbColumnDefinitions, jsColDefinitions);

            try {
                saveColumnDefinitionsToDb(jsColDefinitions);

                modifyDBColumnDefinitionList(jsColDefinitions);

            } catch (DatabaseAccessException dae) {
                throw new RuntimeException("Unable to save table Column definitions in db: "
                        + ((TestExplorerSession) Session.get()).getDbName(), dae);
            } catch (SQLException sqle) {
                throw new RuntimeException("Unable to save table Column definitions in db: "
                        + ((TestExplorerSession) Session.get()).getDbName(), sqle);
            }

            close(target);
        }
    };
    add(AttributeModifier.append("class", "runsTableColDialogDivWrapper"));
    columnDefinitionsForm.add(saveButton);

    add(new Behavior() {

        private static final long serialVersionUID = 1L;

        @Override
        public void renderHead(Component component, IHeaderResponse response) {

            if (autoAddToHeader()) {

                String script = "jQuery.fn.center=function(){" + "this.css(\"position\",\"absolute\");"
                        + "this.css(\"top\",(jQuery(window).height()-this.height())/2+jQuery(window).scrollTop()+\"px\");"
                        + "this.css(\"left\",(jQuery(window).width()-this.width())/2+jQuery(window).scrollLeft()+\"px\");"
                        + "return this};";

                String css = "#settingsoverlay,.settingsoverlay,#settingsoverlay_high,"
                        + ".settingsoverlay_high{filter:Alpha(Opacity=40);"
                        + "-moz-opacity:.4;opacity:.4;background-color:#444;display:none;position:absolute;"
                        + "left:0;top:0;width:100%;height:100%;text-align:center;z-index:5000;}"
                        + "#settingsoverlay_high,.settingsoverlay_high{z-index:6000;}"
                        + "#settingsoverlaycontent,#settingsoverlaycontent_high{display:none;z-index:5500;"
                        + "text-align:center;}.settingsoverlaycontent,"
                        + ".settingsoverlaycontent_high{display:none;z-index:5500;text-align:left;}"
                        + "#settingsoverlaycontent_high,.settingsoverlaycontent_high{z-index:6500;}"
                        + "#settingsoverlaycontent .modalborder,"
                        + "#settingsoverlaycontent_high .modalborder{padding:15px;width:300px;"
                        + "border:1px solid #444;background-color:white;"
                        + "-webkit-box-shadow:0 0 10px rgba(0,0,0,0.8);-moz-box-shadow:0 0 10px rgba(0,0,0,0.8);"
                        + "box-shadow:0 0 10px rgba(0,0,0,0.8);"
                        + "filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=5,OffY=5,Color='gray');"
                        + "-ms-filter:\"progid:DXImageTransform.Microsoft.dropshadow(OffX=5,OffY=5,Color='gray')\";}";

                response.render(JavaScriptHeaderItem.forScript(script, null));
                response.render(CssHeaderItem.forCSS(css, null));
                if (isSupportIE6()) {
                    response.render(JavaScriptHeaderItem
                            .forReference(new PackageResourceReference(getClass(), "jquery.bgiframe.js")));
                }
            }

            response.render(OnDomReadyHeaderItem.forScript(getJS()));
        }

        private String getJS() {

            StringBuilder sb = new StringBuilder();
            sb.append("if (jQuery('#").append(getDivId())
                    .append("').length == 0) { jQuery(document.body).append('")
                    .append(getDiv().replace("'", "\\'")).append("'); }");
            return sb.toString();
        }

        private String getDivId() {

            return getMarkupId() + "_ovl";
        }

        private String getDiv() {

            if (isClickBkgToClose()) {
                return ("<div id=\"" + getDivId() + "\" class=\"settingsoverlayCD\" onclick=\""
                        + getCloseString() + "\"></div>");
            } else {
                return ("<div id=\"" + getDivId() + "\" class=\"settingsoverlayCD\"></div>");
            }
        }
    });

}

From source file:com.axway.ats.testexplorer.pages.model.messages.MessageFilter.java

License:Apache License

public MessageFilter(String wicketId, final DataGrid dataGrid, String idColumnName, String idColumnValue) {

    super(wicketId);

    this.idColumnValue = idColumnValue;
    searchByMessage.setOutputMarkupId(true);
    searchByMessage.setEscapeModelStrings(false);
    add(searchByMessage);// w w  w. j  av a2  s.  c om

    TestExplorerDbReadAccessInterface dbAccess = ((TestExplorerSession) Session.get()).getDbReadConnection();
    try {
        if ("runId".equals(idColumnName)) {
            messageFilterDetails = dbAccess.getRunMessageFilterDetails(idColumnValue);
        } else if ("suiteId".equals(idColumnName)) {
            messageFilterDetails = dbAccess.getSuiteMessageFilterDetails(idColumnValue);
        } else {
            messageFilterDetails = dbAccess.getTestcaseMessageFilterDetails(idColumnValue);
        }
    } catch (DatabaseAccessException e) {
        LOG.error("Can't get message filter details", e);
    }
    add(getThreadChoices());
    add(getMachineChoices());
    add(getLevelChoices());

    // search button
    AjaxButton searchButton = new AjaxButton("search_button") {

        private static final long serialVersionUID = 1L;

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

            target.add(dataGrid);
        }
    };
    add(searchButton);

    AjaxButton hiddenSearchButton = new AjaxButton("hiddenSearchButton") {

        private static final long serialVersionUID = 1L;

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

            target.add(dataGrid);
        }
    };
    add(hiddenSearchButton);

    // search button is the button to trigger when user hit the enter key
    this.setDefaultButton(searchButton);

    // reset button
    add(new AjaxButton("reset_button") {

        private static final long serialVersionUID = 1L;

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

            // reset the filter
            searchByMessage.setModelObject("");
            target.add(searchByMessage);

            selectedThreads.setObject(new TreeSet<String>(messageFilterDetails.getThreads()));
            target.add(threadChoices);

            selectedMachines.setObject(new TreeSet<String>(messageFilterDetails.getMachines()));
            target.add(machineChoices);

            selectedLevels.setObject(messageFilterDetails.getSelectedLevels());
            target.add(levelChoices);

            // automatically trigger a new search
            target.add(dataGrid);
        }
    });

    // if there are error log messages, show only them at page load
    if (messageFilterDetails.getSelectedLevels().contains("error")) {
        List<String> errorListObject = new ArrayList<String>();
        errorListObject.add("error");
        selectedLevels.setObject(errorListObject);
    }
}

From source file:com.axway.ats.testexplorer.pages.model.PagingToolbar.java

License:Apache License

private void addColumnsDialog(final List<TableColumn> dbColumnDefinitions) {

    final MainDataGrid grid = getDataGrid();

    Form<Object> form = new Form<Object>("columnsForm");
    add(form);//from  w ww . ja va2  s .  c o m

    final ColumnsDialog dialog = new ColumnsDialog("modal", grid, dbColumnDefinitions);
    dialog.setClickBkgToClose(true);
    form.add(dialog);

    AjaxButton openChColumnsDialogButton = new AjaxButton("chColsButton", new Model<String>("Change columns")) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {

            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener();
            ajaxCallListener.onPrecondition("getTableColumnDefinitions(); ");
            attributes.getAjaxCallListeners().add(ajaxCallListener);
        }

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

            // get column definitions from the JavaScript
            String columnDefinitionString = form.getRequest().getPostParameters()
                    .getParameterValue("columnDefinitions").toString();

            // as List
            List<TableColumn> jsColumnDefinitions = dialog.asList(columnDefinitionString);

            for (TableColumn colDefinition : dbColumnDefinitions) {
                if (jsColumnDefinitions.contains(colDefinition)) {
                    // add column id
                    jsColumnDefinitions.get(jsColumnDefinitions.indexOf(colDefinition))
                            .setColumnId(colDefinition.getColumnId());
                }
            }

            //update column indexes according to the JavaScript result
            ColumnsState cs = grid.getColumnState();
            int index;

            if (cs.getEntry("check") != null) {
                index = 1;
            } else {
                index = 0;
            }

            for (TableColumn col : jsColumnDefinitions) {

                cs.setColumnIndex(col.getColumnId(), index++);
                cs.setColumnWidth(col.getColumnId(), col.getInitialWidth());
            }
            grid.setColumnState(cs);

            //reload grid
            target.add(grid);

            //open column selection dialog
            dialog.open(target);
        }
    };
    form.add(openChColumnsDialogButton);

}

From source file:com.axway.ats.testexplorer.pages.model.PagingToolbar.java

License:Apache License

private void addToolbarButtons(int supportedOperations) {

    final MainDataGrid grid = getDataGrid();

    final IDataSource<?> dataSource = grid.getDataSource();
    buttonsForm = new Form<Object>("toolbarButtonsForm");
    buttonsForm.setOutputMarkupId(true);
    add(buttonsForm);/*from w w  w  .ja va  2s  . c om*/

    defaultMode = new WebMarkupContainer("defaultMode");
    defaultMode.setVisible((supportedOperations & MainDataGrid.OPERATION_EDIT) > 0);

    editMode = new WebMarkupContainer("editMode");
    editMode.setVisible(false);

    buttonsForm.add(defaultMode);
    buttonsForm.add(editMode);

    // add DELETE button for DEFAULT mode
    AjaxButton deleteButton = new AjaxButton("deleteButton") {

        private static final long serialVersionUID = 1L;

        // Add user confirmation dialog on the delete event
        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {

            super.updateAjaxAttributes(attributes);
            AjaxCallListener ajaxCallListener = new AjaxCallListener();
            int selectedItems = grid.getSelectedItems().size();
            if (selectedItems > 0) {
                ajaxCallListener.onPrecondition("return confirm('"
                        + "Are you sure you want to delete the selected " + "item(s)?" + "');");
                attributes.getAjaxCallListeners().add(ajaxCallListener);
            }
        }

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

            // collect the objects to delete
            List<Object> objectsToDelete = new ArrayList<Object>();
            for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) {
                objectsToDelete.add(model.getObject());
            }

            // delete
            deleteObjects(objectsToDelete);

            // the selected items were deleted, unselect them
            grid.resetSelectedItems();
            target.add(grid);
        }
    };
    deleteButton.setVisible((supportedOperations & MainDataGrid.OPERATION_DELETE) > 0);
    defaultMode.add(deleteButton);

    // add EDIT button for DEFAULT mode
    AjaxButton editButton = new AjaxButton("editButton") {

        private static final long serialVersionUID = 1L;

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

            if (grid.getSelectedItems().size() > 0) {
                for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) {
                    grid.setItemEdit(model, true);
                }
                grid.switchToEditMode();
                target.add(grid);
            }
        }
    };
    editButton.setVisible((supportedOperations & MainDataGrid.OPERATION_EDIT) > 0);
    defaultMode.add(editButton);

    //add MESSAGE button for run and suite  
    AjaxButton messageButton = new AjaxButton("messageButton") {

        private static final long serialVersionUID = 1L;

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

            PageParameters parameters = new PageParameters();
            // pass database name
            parameters.add("dbname", ((TestExplorerSession) Session.get()).getDbName());

            String id = null;
            if (dataSource instanceof ScenariosDataSource) {
                id = ((ScenariosDataSource) dataSource).getSuiteId();
                parameters.add("suiteId", id);
                setResponsePage(SuiteMessagePage.class, parameters);
            } else if (dataSource instanceof SuitesDataSource) {
                id = ((SuitesDataSource) dataSource).getRunId();
                parameters.add("runId", id);
                setResponsePage(RunMessagePage.class, parameters);
            }
        }
    };
    if (dataSource instanceof ScenariosDataSource) {
        messageButton.add(new Label("button_label", "Suite messages"));
    } else if (dataSource instanceof SuitesDataSource) {
        messageButton.add(new Label("button_label", "Run messages"));
    }
    messageButton.setVisible((supportedOperations & MainDataGrid.OPERATION_GET_LOG) > 0);
    defaultMode.add(messageButton);

    // add ADD TO COMPARE BASKET button for DEFAULT mode
    AjaxButton addToCompareButton = new AjaxButton("addToCompareButton") {

        private static final long serialVersionUID = 1L;

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

            for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) {

                ((TestExplorerSession) Session.get()).getCompareContainer().addObject(model.getObject(),
                        ((BasePage) getPage()).getCurrentPath());
            }
            target.add(((BasePage) getPage()).getItemsCountLabel());

            // unselect the items
            grid.resetSelectedItems();
            target.add(grid);

            target.appendJavaScript(
                    "$(\".arrowUpIndicator\").stop(true,true).removeAttr('style').show().effect(\"shake\",{times:2},300).fadeOut('slow');");
        }
    };
    addToCompareButton.setVisible((supportedOperations & MainDataGrid.OPERATION_ADD_TO_COMPARE) > 0);
    defaultMode.add(addToCompareButton);

    // add CREATE REPORT button for DEFAULT mode
    AjaxButton createReportButton = new AjaxButton("createReportButton") {

        private static final long serialVersionUID = 1L;

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

            TestExplorerSession session = (TestExplorerSession) Session.get();

            Collection<IModel<?>> selectedItems = grid.getSelectedItems();
            if (selectedItems.isEmpty()) {
                error("Please select a test to create a report for");
                return;
            }

            boolean workingWithScenarios = selectedItems.iterator().next().getObject() instanceof Scenario;

            String testcaseId = null;

            if (workingWithScenarios) {
                // get the ID of the first selected scenario
                int firstSuiteId = Integer.MAX_VALUE;
                String firstScenarioName = "";
                for (IModel<?> model : selectedItems) {
                    Object obj = model.getObject();
                    int thisSuiteId = Integer.parseInt(((Scenario) obj).suiteId);
                    if (thisSuiteId < firstSuiteId) {
                        firstSuiteId = thisSuiteId;
                        firstScenarioName = ((Scenario) obj).name;
                    }
                }

                try {
                    // get the ID of the first testcase
                    List<Testcase> testcases = session.getDbReadConnection().getTestcases(0, 1,
                            "where suiteId=" + firstSuiteId, "testcaseId", true,
                            ((TestExplorerSession) Session.get()).getTimeOffset());
                    if (testcases.size() < 1) {
                        error("Could not find testcase(s) for scenario with name '" + firstScenarioName
                                + "'and suite id " + firstSuiteId + ".");
                        return;
                    }
                    testcaseId = testcases.get(0).testcaseId;
                } catch (DatabaseAccessException e) {
                    error("Could not fetch testcase(s) for scenario with name '" + firstScenarioName
                            + "'and suite id " + firstSuiteId + ".");
                    return;
                }
            } else {
                testcaseId = ((Testcase) selectedItems.iterator().next().getObject()).testcaseId;
            }

            PageParameters parameters = new PageParameters();
            parameters.add("testcaseId", testcaseId);
            setResponsePage(SelectTestcaseReportPage.class, parameters);
        }
    };
    createReportButton.setVisible((supportedOperations & MainDataGrid.OPERATION_CREATE_REPORT) > 0);
    defaultMode.add(createReportButton);

    // add APPLY button for EDIT mode
    AjaxButton applyButton = new AjaxButton("applyButton", grid.getForm()) {

        private static final long serialVersionUID = 1L;

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

            boolean hasError = false;
            for (IModel<?> model : (Collection<IModel<?>>) grid.getSelectedItems()) {
                if (updateObject(model.getObject())) {

                    grid.setItemEdit(model, false);
                } else {

                    hasError = true;
                }
            }
            if (!hasError) {

                grid.switchToDefaultMode();
            }
            grid.resetSelectedItems();
            target.add(grid);
        }
    };
    applyButton.setVisible((supportedOperations & MainDataGrid.OPERATION_EDIT) > 0);
    editMode.add(applyButton);

    // add CANCEL button for DEFAULT mode
    AjaxButton cancelButton = new AjaxButton("cancelButton") {

        private static final long serialVersionUID = 1L;

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

            for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) {
                grid.setItemEdit(model, false);
            }
            grid.switchToDefaultMode();
            grid.resetSelectedItems();
            target.add(grid);
        }
    };
    cancelButton.setVisible((supportedOperations & MainDataGrid.OPERATION_EDIT) > 0);
    cancelButton.setDefaultFormProcessing(false);
    editMode.add(cancelButton);

    // add STATUS CHANGE buttons for DEFAULT mode
    AjaxButton statusChangePassButton = new AjaxButton("statusChangePassButton") {

        private static final long serialVersionUID = 1L;

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

            // collect the objects to change state to PASS
            List<Object> objectsToPass = new ArrayList<Object>();
            for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) {
                objectsToPass.add(model.getObject());
            }

            changeTestcaseStatus(objectsToPass, 1);

            // unselect the selected items
            grid.resetSelectedItems();
            target.add(grid);
        }
    };
    statusChangePassButton.setVisible((supportedOperations & MainDataGrid.OPERATION_STATUS_CHANGE) > 0);
    defaultMode.add(statusChangePassButton);

    AjaxButton statusChangeFailButton = new AjaxButton("statusChangeFailButton") {

        private static final long serialVersionUID = 1L;

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

            // collect the objects to change state to FAIL
            List<Object> objectsToFail = new ArrayList<Object>();
            for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) {
                objectsToFail.add(model.getObject());
            }

            changeTestcaseStatus(objectsToFail, 0);

            // unselect the selected items
            grid.resetSelectedItems();
            target.add(grid);
        }
    };
    statusChangeFailButton.setVisible((supportedOperations & MainDataGrid.OPERATION_STATUS_CHANGE) > 0);
    defaultMode.add(statusChangeFailButton);

    AjaxButton statusChangeSkipButton = new AjaxButton("statusChangeSkipButton") {

        private static final long serialVersionUID = 1L;

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

            // collect the objects to change state to SKIP
            List<Object> objectsToSkip = new ArrayList<Object>();
            for (IModel<?> model : (Collection<IModel>) grid.getSelectedItems()) {
                objectsToSkip.add(model.getObject());
            }

            changeTestcaseStatus(objectsToSkip, 2);

            // unselect the selected items
            grid.resetSelectedItems();
            target.add(grid);
        }
    };
    statusChangeSkipButton.setVisible((supportedOperations & MainDataGrid.OPERATION_STATUS_CHANGE) > 0);
    defaultMode.add(statusChangeSkipButton);
}

From source file:com.axway.ats.testexplorer.pages.model.PagingToolbar.java

License:Apache License

private Component getResultsPerPageDropDown() {

    SelectOption[] options = new SelectOption[] { new SelectOption("20", "20"), new SelectOption("50", "50"),
            new SelectOption("100", "100"), new SelectOption("500", "500") };
    ChoiceRenderer<SelectOption> choiceRenderer = new ChoiceRenderer<SelectOption>("value", "key");
    DropDownChoice<SelectOption> dropDown = new DropDownChoice<SelectOption>("resultsPerPage",
            getDataGrid().getRowsPerPageModel(), Arrays.asList(options), choiceRenderer);
    dropDown.add(new AjaxFormComponentUpdatingBehavior("change") {

        private static final long serialVersionUID = 1L;

        protected void onUpdate(AjaxRequestTarget target) {

            SelectOption newSelectOption = (SelectOption) getComponent().getDefaultModel().getObject();
            MainDataGrid grid = getDataGrid();
            grid.setRowsPerPage(Integer.parseInt(newSelectOption.getKey()));
            target.add(grid);
        }//  w  w w.  j  a  va  2 s  . c  o m
    });
    dropDown.setOutputMarkupId(true);
    return dropDown;
}

From source file:com.axway.ats.testexplorer.pages.model.PagingToolbar.java

License:Apache License

public void reloadButtons() {

    AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class);
    target.add(buttonsForm);
}

From source file:com.axway.ats.testexplorer.pages.reports.compare.ComparePage.java

License:Apache License

private Form<Object> getItemsToCompareForm(final Label noRunsLabel, final Label noTestcasesLabel) {

    final Form<Object> itemsToCompareForm = new Form<Object>("itemsToCompareForm");
    itemsToCompareForm.setOutputMarkupId(true);

    IModel<? extends List<Run>> runsListModel = new LoadableDetachableModel<List<Run>>() {
        private static final long serialVersionUID = 1L;

        protected List<Run> load() {

            return getTESession().getCompareContainer().getRunsList();
        }/*from   w  w  w .j  a  v a 2  s .co m*/
    };
    final ListView<Run> runsToCompare = new ListView<Run>("runsToCompare", runsListModel) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Run> item) {

            final ListView<Run> runsToCompareComponent = this;

            if (item.getIndex() % 2 != 0) {
                item.add(AttributeModifier.replace("class", "oddRow"));
            }
            Map<Run, Model<Boolean>> runs = getTESession().getCompareContainer().getRuns();
            item.add(new CheckBox("checkbox", runs.get(item.getModelObject())));
            item.add(new Label("runName", item.getModelObject().runName).setEscapeModelStrings(false));
            item.add(new Label("version", item.getModelObject().versionName).setEscapeModelStrings(false));
            item.add(new Label("build", item.getModelObject().buildName).setEscapeModelStrings(false));
            item.add(new Label("startDate", item.getModelObject().getDateStart()).setEscapeModelStrings(false));
            item.add(new Label("endDate", item.getModelObject().getDateEnd()).setEscapeModelStrings(false));
            item.add(new AjaxButton("removeIcon") {

                private static final long serialVersionUID = 1L;

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

                    CompareContainer compareContainer = getTESession().getCompareContainer();
                    compareContainer.removeObject(item.getModelObject());
                    runsToCompareComponent.setModelObject(compareContainer.getRunsList());

                    noRunsLabel.setVisible(compareContainer.getRuns().size() == 0);

                    target.add(noRunsLabel);
                    target.add(itemsToCompareForm);
                }
            });
        }
    };
    itemsToCompareForm.add(runsToCompare);

    AjaxButton removeAllRunsButton = new AjaxButton("removeAllRuns") {

        private static final long serialVersionUID = 1L;

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

            CompareContainer compareContainer = getTESession().getCompareContainer();
            compareContainer.getRuns().clear();
            runsToCompare.setModelObject(compareContainer.getRunsList());
            noRunsLabel.setVisible(true);

            target.add(noRunsLabel);
            target.add(itemsToCompareForm);
        }
    };
    itemsToCompareForm.add(removeAllRunsButton);

    IModel<? extends List<Testcase>> testcasesListModel = new LoadableDetachableModel<List<Testcase>>() {
        private static final long serialVersionUID = 1L;

        protected List<Testcase> load() {

            return getTESession().getCompareContainer().getTestcasesList();
        }
    };
    final TestcaseListView<Testcase> testcasesToCompare = new TestcaseListView<Testcase>("testcasesToCompare",
            testcasesListModel) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Testcase> item) {

            final ListView<Testcase> testcasesToCompareComponent = this;

            if (item.getIndex() % 2 != 0) {
                item.add(AttributeModifier.replace("class", "oddRow"));
            }
            Map<Testcase, Model<Boolean>> testcases = getTESession().getCompareContainer().getTestcases();
            item.add(new CheckBox("checkbox", testcases.get(item.getModelObject())));
            item.add(new Label("runName", item.getModelObject().runName).setEscapeModelStrings(false));
            item.add(new Label("suiteName", item.getModelObject().suiteName).setEscapeModelStrings(false));
            item.add(
                    new Label("scenarioName", item.getModelObject().scenarioName).setEscapeModelStrings(false));
            item.add(new Label("testcaseName", item.getModelObject().name).setEscapeModelStrings(false));
            item.add(new Label("dateStart", item.getModelObject().getDateStart()).setEscapeModelStrings(false));
            item.add(new TextField<String>("testcaseAlias",
                    new PropertyModel<String>(item.getModelObject(), "alias")));

            item.add(moveLinkUp("moveUpLink", item));
            item.add(new AjaxButton("removeIcon") {

                private static final long serialVersionUID = 1L;

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

                    CompareContainer compareContainer = getTESession().getCompareContainer();
                    compareContainer.removeObject(item.getModelObject());
                    testcasesToCompareComponent.setModelObject(compareContainer.getTestcasesList());

                    noTestcasesLabel.setVisible(compareContainer.getTestcases().size() == 0);

                    target.add(noTestcasesLabel);
                    target.add(itemsToCompareForm);
                }
            });
        }
    };
    itemsToCompareForm.add(testcasesToCompare);

    AjaxButton removeAllTestcasesButton = new AjaxButton("removeAllTestcases") {

        private static final long serialVersionUID = 1L;

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

            CompareContainer compareContainer = getTESession().getCompareContainer();
            compareContainer.getTestcases().clear();
            testcasesToCompare.setModelObject(compareContainer.getTestcasesList());
            noTestcasesLabel.setVisible(true);

            target.add(noTestcasesLabel);
            target.add(itemsToCompareForm);
        }
    };
    itemsToCompareForm.add(removeAllTestcasesButton);

    // Standard Runs Compare buttons
    itemsToCompareForm.add(getStandardRunsCompareButtons());

    // Custom Runs Compare buttons
    itemsToCompareForm.add(getCustomRunsCompareButtons());

    // Standard Testcases Compare buttons
    itemsToCompareForm.add(getStandardTestcasesCompareButtons());

    // Custom Testcases Compare buttons
    itemsToCompareForm.add(getCustomTestcasesCompareButtons());

    noRunsLabel.setVisible(getTESession().getCompareContainer().getRuns().size() == 0);
    itemsToCompareForm.add(noRunsLabel);
    noTestcasesLabel.setVisible(getTESession().getCompareContainer().getTestcases().size() == 0);
    itemsToCompareForm.add(noTestcasesLabel);

    return itemsToCompareForm;
}

From source file:com.axway.ats.testexplorer.pages.reports.compare.CompareRunsPage.java

License:Apache License

public CompareRunsPage(PageParameters parameters) {

    super(parameters);

    final String runIds = extractParameter(parameters, "runIds").replace("_", ",");

    final WebMarkupContainer testsComparisonContainer = new WebMarkupContainer("testsComparison");
    testsComparisonContainer.setOutputMarkupId(true);
    add(testsComparisonContainer);/*from  ww  w . jav a  2 s . c o  m*/

    Form<Object> testsComparisonForm = new Form<Object>("testsComparisonForm");
    testsComparisonForm.setOutputMarkupId(true);
    testsComparisonForm.setMarkupId("testsComparisonForm");

    List<List<TestcasesTableCell>> testcasesTableModel = getTestcasesTableModel(runIds);
    final ListView<List<TestcasesTableCell>> testcasesTable = getTestcasesTable(testcasesTableModel);
    testsComparisonForm.add(testcasesTable);
    testsComparisonContainer.add(testsComparisonForm);

    AjaxButton applyFilterButton = new AjaxButton("applyFilterButton") {

        private static final long serialVersionUID = 1L;

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

            List<List<TestcasesTableCell>> testcasesTableModel = getTestcasesTableModel(runIds);
            testcasesTable.setDefaultModelObject(testcasesTableModel);

            target.add(testsComparisonContainer);
        }
    };
    applyFilterButton.setOutputMarkupId(true);
    applyFilterButton.setMarkupId("applyFilterButton");

    testsComparisonForm.add(applyFilterButton);
    testsComparisonForm.setDefaultButton(applyFilterButton);
}