List of usage examples for org.apache.wicket.markup.head OnLoadHeaderItem forScript
public static OnLoadHeaderItem forScript(CharSequence javaScript)
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> " + 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))); } }