List of usage examples for org.apache.wicket.util.template JavaScriptTemplate JavaScriptTemplate
public JavaScriptTemplate(TextTemplate textTemplate)
From source file:com.lyndir.lhunath.portal.apps.page.DemoPage.java
License:Apache License
public DemoPage() { add(new StringHeaderContributor(new LoadableDetachableModel<String>() { @Override/*from ww w .ja v a 2s . c om*/ protected String load() { if (AppVersion.getLatest().hasVideo()) return new JavaScriptTemplate(new PackagedTextTemplate(getPageClass(), "showMovie.js")) .asString(ImmutableMap.<String, Object>builder() // .put("movieLink", AppVersion.getLatest().getFLVLink()) .put("pageTrackCode", AppVersion.getLatest().getFLVPageTrackCode()).build()); return ""; } })); add(new Label("tagline", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return AppVersion.getLatest().getTagLine(); } }) { @Override public boolean isVisible() { return AppVersion.getLatest().getTagLine() != null; } }); add(new Label("description", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return AppVersion.getLatest().getDescription(); } }) { @Override public boolean isVisible() { return AppVersion.getLatest().getDescription() != null; } }.setEscapeModelStrings(false)); add(new WebMarkupContainer("youtube") { @Override protected void onComponentTag(final ComponentTag tag) { tag.put("href", // AppVersion.getLatest().getYouTubeLink()); tag.put("onclick", // AppVersion.getLatest().getYouTubePageTrackCode()); super.onComponentTag(tag); } @Override public boolean isVisible() { return AppVersion.getLatest().hasVideo(); } }); add(new WebMarkupContainer("mpeg") { @Override protected void onComponentTag(final ComponentTag tag) { tag.put("href", // AppVersion.getLatest().getMP4Link()); tag.put("onclick", // AppVersion.getLatest().getMP4PageTrackCode()); super.onComponentTag(tag); } @Override public boolean isVisible() { return AppVersion.getLatest().hasVideo(); } }); add(new WebMarkupContainer("iphone-youtube") { @Override protected void onComponentTag(final ComponentTag tag) { tag.put("href", // AppVersion.getLatest().getYouTubeLink()); tag.put("onclick", // AppVersion.getLatest().getYouTubePageTrackCode()); super.onComponentTag(tag); } @Override public boolean isVisible() { return AppVersion.getLatest().hasVideo(); } }); }
From source file:com.lyndir.lhunath.snaplog.webapp.page.util.LayoutPageUtils.java
License:Apache License
/** * Generate some JavaScript to track a user hit on the given component in the analytics tracker. * * @param trackComponent The component that we want to track a hit for. * * @return The JavaScript code that, when executed, will track the hit. *//*from w w w . jav a 2 s . co m*/ public static String trackJS(final Component trackComponent) { checkNotNull(trackComponent, "Given trackComponent must not be null."); Map<String, Object> trackVariables = new HashMap<String, Object>(); trackVariables.put("googleAnalyticsID", "UA-90535-10"); // TODO: Unhardcode. trackVariables.put("pageView", trackComponent.getClass().getSimpleName()); TextTemplate trackJS = new JavaScriptTemplate(new PackagedTextTemplate(LayoutPage.class, "trackPage.js")); return trackJS.asString(trackVariables); }
From source file:org.obiba.onyx.quartz.editor.widget.sortable.SortableList.java
License:Open Source License
@SuppressWarnings("unchecked") public SortableList(String id, IModel<? extends List<? extends T>> model, final boolean hideEditButton) { super(id, model); add(CSSPackageResource.getHeaderContribution(SortableList.class, "SortableList.css")); ListView<T> listView = new ListView<T>("listView", model) { @Override//from w w w . j a v a 2s . c om protected void populateItem(ListItem<T> item) { item.setOutputMarkupId(true); final T t = item.getModelObject(); item.add(getItemTitle("item", t)); Image editImg = new Image("editImg", Images.EDIT); editImg.add(new AttributeModifier("title", true, new ResourceModel("Edit"))); AjaxLink<Void> editAjaxLink = new AjaxLink<Void>("editItem") { @Override public void onClick(AjaxRequestTarget target) { editItem(t, target); } }; editAjaxLink.setVisible(!hideEditButton); item.add(editAjaxLink.add(editImg)); Image deleteImg = new Image("deleteImg", Images.DELETE); deleteImg.add(new AttributeModifier("title", true, new ResourceModel("Delete"))); item.add(new AjaxLink<Void>("deleteItem") { @Override public void onClick(AjaxRequestTarget target) { deleteItem(t, target); } }.add(deleteImg)); itemByMarkupId.put(item.getMarkupId(), t); } }; listContainer = new WebMarkupContainer("listContainer") { @Override protected void onBeforeRender() { super.onBeforeRender(); final IModel<Map<String, Object>> variablesModel = new AbstractReadOnlyModel<Map<String, Object>>() { private Map<String, Object> variables; @Override public Map<String, Object> getObject() { if (variables == null) { this.variables = new MiniMap<String, Object>(2); variables.put("listMarkupId", listContainer.getMarkupId()); variables.put("callbackUrl", toArrayBehavior.getCallbackUrl()); } return variables; } }; PackagedTextTemplate jsTemplate = new PackagedTextTemplate(SortableList.class, "SortableList.js"); final Label jsScript = new Label("sortableJs", new JavaScriptTemplate(jsTemplate).asString(variablesModel.getObject())); jsScript.setEscapeModelStrings(false); listContainer.addOrReplace(jsScript); } }; listContainer.add(toArrayBehavior = new ToArrayBehavior()); listContainer.setOutputMarkupId(true); listContainer.add(listView); add(listContainer); listContainer.add(new AbstractBehavior() { @Override public void renderHead(IHeaderResponse response) { response.renderOnLoadJavascript("Wicket.Sortable.create" + listContainer.getMarkupId() + "('" + listContainer.getMarkupId() + "')"); } }); add(new ListView<Button>("buttons", getButtons() == null ? Collections.EMPTY_LIST : Arrays.asList(getButtons())) { @Override protected void populateItem(ListItem<Button> item) { item.add(new ButtonFragment("button", item.getModel())); } }); listContainer.addOrReplace(new WebMarkupContainer("sortableJs")); }
From source file:org.projectforge.web.common.ColorPickerPanel.java
License:Open Source License
/** * @see org.apache.wicket.Component#onInitialize() *//*from ww w. j av a 2s .c o m*/ @Override protected void onInitialize() { super.onInitialize(); final Form<Void> colorForm = new Form<Void>("colorForm"); add(colorForm); final TextField<String> colorField = new TextField<String>("color", new PropertyModel<String>(this, "selectedColor")); colorField.add(new AjaxFormComponentUpdatingBehavior("onChange") { private static final long serialVersionUID = 1L; /** * @see org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior#onUpdate(org.apache.wicket.ajax.AjaxRequestTarget) */ @Override protected void onUpdate(final AjaxRequestTarget target) { onColorUpdate(selectedColor); } }); colorForm.add(colorField); // colorpicker js final JavaScriptTemplate jsTemplate = new JavaScriptTemplate( new PackageTextTemplate(ColorPickerPanel.class, "ColorPicker.js.template")); final String javaScript = jsTemplate .asString(new MicroMap<String, String>("markupId", colorField.getMarkupId())); add(new Label("template", javaScript).setEscapeModelStrings(false)); }