Example usage for org.apache.wicket.markup.head OnLoadHeaderItem forScript

List of usage examples for org.apache.wicket.markup.head OnLoadHeaderItem forScript

Introduction

In this page you can find the example usage for org.apache.wicket.markup.head OnLoadHeaderItem forScript.

Prototype

public static OnLoadHeaderItem forScript(CharSequence javaScript) 

Source Link

Document

Creates a OnLoadHeaderItem for the script.

Usage

From source file:com.axway.ats.testexplorer.pages.BasePage.java

License:Apache License

public BasePage(PageParameters parameters) {

    super(parameters);

    LOG = Logger.getLogger(this.getClass());

    add(new Label("page_title", "Axway ATS Test Explorer - " + getPageName()));

    // check DB connection and sets the current DB Name
    getTESession().getDbReadConnection();

    WebMarkupContainer topRightContent = new WebMarkupContainer("topRightContent");
    add(topRightContent);/* ww  w  .  j  a  v  a 2  s . c o m*/

    String dbName = getTESession().getDbName();
    if (dbName == null || "".equals(dbName)) {
        topRightContent.add(new Label("dbName", "").setVisible(false));
        topRightContent.add(new Label("machinesLink", "").setVisible(false));
        topRightContent.add(new Label("runCopyLink", runCopyLinkModel).setVisible(false));
        topRightContent.add(new Label("testcasesCopyLink", testcasesCopyLinkModel).setVisible(false));
        topRightContent.add(new Label("representationLink", representationLinkModel).setVisible(false));
    } else {
        String dbNameAndVersion = dbName;
        String dbVersion = getTESession().getDbVersion();
        if (dbVersion != null) {
            dbNameAndVersion = dbNameAndVersion + ", v" + dbVersion;
        }
        topRightContent.add(new Label("dbName",
                "<div class=\"dbName\"><span style=\"color:#C8D5DF;\">Exploring database:</span>&nbsp; "
                        + dbNameAndVersion + "</div>").setEscapeModelStrings(false));
        topRightContent.add(new Label("machinesLink",
                "<a href=\"machines?dbname=" + dbName + "\" class=\"machinesLink\" target=\"_blank\"></a>")
                        .setEscapeModelStrings(false));
        runCopyLinkModel.setObject(
                "<a href=\"runCopy?dbname=" + dbName + "\" class=\"runCopyLink\" target=\"_blank\"></a>");
        topRightContent.add(new Label("runCopyLink", runCopyLinkModel).setEscapeModelStrings(false));

        testcasesCopyLinkModel.setObject("<a href=\"testcasesCopy?dbname=" + dbName
                + "\" class=\"testcasesCopyLink\" target=\"_blank\"></a>");
        topRightContent.add(getTestcasesCopyButton());

        representationLinkModel.setObject(createRepresentationLinkModelObject());

        topRightContent
                .add(new Label("representationLink", representationLinkModel).setEscapeModelStrings(false));

    }

    itemsCountLabel = new Label("itemsCount", new Model<Integer>() {

        private static final long serialVersionUID = 1L;

        @Override
        public Integer getObject() {

            return getTESession().getCompareContainer().size();
        }
    });
    itemsCountLabel.setOutputMarkupId(true);
    topRightContent.setVisible(!(this instanceof WelcomePage));
    topRightContent.add(itemsCountLabel);

    FeedbackPanel feedbackPanel = new FeedbackPanel("feedback");
    feedbackPanel.setOutputMarkupId(true);
    add(feedbackPanel);

    // add navigation panel
    add(new ListView<PagePojo>("navigation_links", navigationList) {

        private static final long serialVersionUID = 1L;

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

            final PagePojo pp = item.getModelObject();

            if (pp.pageSuffix != null && !pp.pageName.endsWith("</span>")) {
                pp.pageName = pp.pageName + " <span class=\"locationName\">[" + pp.pageSuffix + "]</span>";
            }

            item.add(new Link<Object>("navigation_link") {

                private static final long serialVersionUID = 1L;

                @Override
                protected CharSequence getURL() {

                    // generate Bookmarkable link url
                    return urlFor(pp.pageClass, pp.parameters);
                }

                @Override
                public void onClick() {

                    // This link acts like Bookmarkable link and don't have a click handler.
                }
            }.add(new Label("navigation_link_name", pp.pageName).setEscapeModelStrings(false)));
        }
    });
    add(new Label("navigation_current_page_name", getPageName()));
    add(getNavigationSuffixComponent());
    add(getTestcaseNavigationButtons());

    currentTestDetails();

    // add child page
    TransparentWebMarkupContainer pageWrapper = new TransparentWebMarkupContainer("page_wrapper");
    add(pageWrapper);

    if (TestExplorerUtils.extractPageParameter(parameters, "hacks") != null) {
        showTestcaseStatusChangeButtons = true;
    }

    add(timeOffsetField);
    add(dayLightSavingOnField);

    // AJAX handler for obtaining browser's time offset from UTC and current browser timestamp
    add(new AbstractDefaultAjaxBehavior() {

        private static final long serialVersionUID = 1L;

        @Override
        protected void respond(AjaxRequestTarget target) {

            IRequestParameters request = RequestCycle.get().getRequest().getRequestParameters();
            int timeOffset = request.getParameterValue("timeOffset").toInt();
            TestExplorerSession teSession = (TestExplorerSession) Session.get();
            teSession.setTimeOffset(timeOffset);
            teSession.setDayLightSavingOn(request.getParameterValue("dayLightSavingOn").toBoolean());
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {

            super.updateAjaxAttributes(attributes);
            attributes.getDynamicExtraParameters().add("return {'timeOffset': $('#timeOffset').val(), "
                    + "'dayLightSavingOn': $('#dayLightSavingOn').val() }");
        }

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

            // Date.prototype.getTimezoneOffset() returns negative value if the local time is ahead of UTC,
            // so we invert the result, before sending it to Wicket
            String getTimeOffsetScript = ";var timeOffset = $('#timeOffset');timeOffset.val(new Date().getTimezoneOffset()*60*1000*-1);"
                    + ";var dayLightSavingOn = $('#dayLightSavingOn');dayLightSavingOn.val(isDayLightSavingOn());";
            response.render(OnLoadHeaderItem.forScript(getCallbackScript().toString()));
            response.render(OnLoadHeaderItem.forScript(getTimeOffsetScript));
        }

    });

}

From source file:com.axway.ats.testexplorer.pages.reports.testcase.TestcaseReportPage.java

License:Apache License

public TestcaseReportPage(PageParameters parameters) throws IOException {

    super(parameters);

    reportHomeFolder = getAbsolutePathOfClass();
    reportHomeFolder = IoUtils.normalizeDirPath(reportHomeFolder);
    if (OperatingSystemType.getCurrentOsType().isWindows()
            && reportHomeFolder.startsWith(SYSTEM_FILE_SEPARATOR)) {

        reportHomeFolder = reportHomeFolder.substring(1);
    }/* w w w  .j  a v a2  s  . c om*/
    reportHomeFolder = reportHomeFolder.substring(0, reportHomeFolder.lastIndexOf(SYSTEM_FILE_SEPARATOR));
    // the current folder path is encoded (e.g. ' ' = '%20'). We need to decode it
    reportHomeFolder = URLDecoder.decode(reportHomeFolder, "UTF-8");

    add(timeOffsetField);
    add(dayLightSavingOnField);

    // AJAX handler for obtaining browser's time offset from UTC
    add(new AbstractDefaultAjaxBehavior() {

        private static final long serialVersionUID = 1L;

        @Override
        protected void respond(AjaxRequestTarget target) {

            IRequestParameters request = RequestCycle.get().getRequest().getRequestParameters();
            int timeOffset = request.getParameterValue("timeOffset").toInt();
            TestExplorerSession teSession = (TestExplorerSession) Session.get();
            teSession.setTimeOffset(timeOffset);
            teSession.setDayLightSavingOn(request.getParameterValue("dayLightSavingOn").toBoolean());
        }

        @Override
        protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {

            super.updateAjaxAttributes(attributes);
            attributes.getDynamicExtraParameters().add("return {'timeOffset': $('#timeOffset').val(),"
                    + "'dayLightSavingOn': $('#dayLightSavingOn').val() }");
        }

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

            // Date.prototype.getTimezoneOffset() returns negative value if the local time is ahead of UTC,
            // so we invert the result, before sending it to Wicket
            String getTimeOffsetScript = ";var timeOffset = $('#timeOffset');timeOffset.val(new Date().getTimezoneOffset()*60*1000*-1);"
                    + ";var dayLightSavingOn = $('#dayLightSavingOn');dayLightSavingOn.val(isDayLightSavingOn());";
            response.render(OnLoadHeaderItem.forScript(getCallbackScript().toString()));
            response.render(OnLoadHeaderItem.forScript(getTimeOffsetScript));
        }

    });

}

From source file:com.axway.ats.testexplorer.pages.runsByTypeDashboard.home.DashboardHomeUtils.java

License:Apache License

public void callJavaScript(Object source, List<String> jsonData) {

    if (source == null || jsonData == null) {
        return;/*  w  ww. ja v a2  s  .co  m*/
    }

    String script = ";setChartData(" + jsonData.get(0) + ")" + ";setRunsData(" + jsonData.get(1)
            + ");setStatusData(" + jsonData.get(2) + ")" + ";resize();";

    if (source instanceof AjaxRequestTarget) {
        ((AjaxRequestTarget) source).appendJavaScript(script);
    } else if (source instanceof IHeaderResponse) {
        ((IHeaderResponse) source).render(OnLoadHeaderItem.forScript(script));
    } else {
        LOG.error("Argument is not of type '" + IHeaderResponse.class.getName() + "' or '"
                + AjaxRequestTarget.class.getName() + "', but '" + source.getClass().getName() + "'");
    }
}

From source file:com.axway.ats.testexplorer.pages.runsByTypeDashboard.run.DashboardRunUtils.java

License:Apache License

public void callJavaScript(Object responseOrTarget, String[] jsonDatas) {

    String script = ";setRunsData(" + jsonDatas[0] + ");setSuitesData(" + jsonDatas[1] + ");setChartData("
            + jsonDatas[2] + ");setStatusData(" + jsonDatas[3] + ");setDbName(\""
            + ((TestExplorerSession) Session.get()).getDbName() + "\");resize();";

    if (responseOrTarget instanceof IHeaderResponse) {
        ((IHeaderResponse) responseOrTarget).render(OnLoadHeaderItem.forScript(script));
    } else if (responseOrTarget instanceof AjaxRequestTarget) {
        ((AjaxRequestTarget) responseOrTarget).appendJavaScript(script);
    } else {//from w  w w .  ja  va  2 s .  c o m
        LOG.error("Argument is not of type '" + IHeaderResponse.class.getName() + "' or '"
                + AjaxRequestTarget.class.getName() + "', but '" + responseOrTarget.getClass().getName() + "'");
    }

}

From source file:com.axway.ats.testexplorer.pages.runsByTypeDashboard.run.RunsByTypeDashboardRunPage.java

License:Apache License

@Override
public void renderHead(IHeaderResponse response) {

    if (!getPageParameters().isEmpty()) {
        new DashboardRunUtils().callJavaScript(response, jsonDatas);
    } else {/*from w  ww  .j a  va  2s.  com*/
        String errorScript = ";resize();";
        response.render(OnLoadHeaderItem.forScript(errorScript));
    }

}

From source file:com.axway.ats.testexplorer.pages.runsByTypeDashboard.suite.DashboardSuiteUtils.java

License:Apache License

public void callJavaScript(Object responseOrTarget, String[] jsonDatas) {

    String script = ";setSuiteData(" + jsonDatas[0] + ");setTestcasesData(" + jsonDatas[1] + ");setDbName(\""
            + ((TestExplorerSession) Session.get()).getDbName() + "\");resize();";

    if (responseOrTarget instanceof IHeaderResponse) {
        ((IHeaderResponse) responseOrTarget).render(OnLoadHeaderItem.forScript(script));
    } else if (responseOrTarget instanceof AjaxRequestTarget) {
        ((AjaxRequestTarget) responseOrTarget).appendJavaScript(script);
    } else {/*from   w ww. ja  v  a 2  s.c  o  m*/
        LOG.error("Argument is not of type '" + IHeaderResponse.class.getName() + "' or '"
                + AjaxRequestTarget.class.getName() + "', but '" + responseOrTarget.getClass().getName() + "'");
    }

}

From source file:com.axway.ats.testexplorer.pages.runsByTypeDashboard.suite.RunsByTypeDashboardSuitePage.java

License:Apache License

@Override
public void renderHead(IHeaderResponse response) {

    if (!getPageParameters().isEmpty()) {
        new DashboardSuiteUtils().callJavaScript(response, jsonDatas);
    } else {//from w w  w . j  a  v a  2  s  . co m
        String errorScript = ";resize();";
        response.render(OnLoadHeaderItem.forScript(errorScript));
    }
}

From source file:com.axway.ats.testexplorer.pages.testcasesByGroups.TestcasesByGroupsPage.java

License:Apache License

@Override
public void renderHead(IHeaderResponse response) {

    super.renderHead(response);

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

    String initScript = ";setHiddenValue(\"groups\");drawTreemap(" + treemapData + ","
            + TestcaseInfoPerGroupStorage.TREEMAP_OPTIONS + ");populateFilterDataPanel(" + filterData
            + ");setDbName(\"" + (session.getDbName()) + "\");setTestcasesIdsMap(" + testcasesIdsMap + ");";

    response.render(OnLoadHeaderItem.forScript(initScript));

}

From source file:com.comcast.cdn.traffic_control.traffic_monitor.wicket.behaviors.MultiUpdatingTimerBehavior.java

License:Apache License

@Override
public void renderHead(final Component component, final IHeaderResponse response) {
    super.renderHead(component, response);

    response.render(JavaScriptHeaderItem.forScript(
            "if (typeof(Wicket.TimerHandles) === 'undefined') {Wicket.TimerHandles = {}}", WICKET_TIMERS_ID));

    final WebRequest request = (WebRequest) component.getRequest();

    if (!isStopped() && (!headRendered || !request.isAjax())) {
        headRendered = true;//from w w  w . j  av  a2  s .  c o m
        response.render(OnLoadHeaderItem.forScript(getJsTimeoutCall(updateInterval)));
    }
}

From source file:com.comcast.cdn.traffic_control.traffic_monitor.wicket.behaviors.MultiUpdatingTimerBehavior.java

License:Apache License

/**
 * //from   w ww .ja  v a  2s.c om
 * @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#respond(AjaxRequestTarget)
 */
@Override
protected final void respond(final AjaxRequestTarget target) {
    if (!isStopped() && isEnabled(getComponent())) {
        onTimer(target);

        target.getHeaderResponse().render(OnLoadHeaderItem.forScript(getJsTimeoutCall(updateInterval)));
    }
}