Example usage for org.apache.wicket.util.template JavaScriptTemplate JavaScriptTemplate

List of usage examples for org.apache.wicket.util.template JavaScriptTemplate JavaScriptTemplate

Introduction

In this page you can find the example usage for org.apache.wicket.util.template JavaScriptTemplate JavaScriptTemplate.

Prototype

public JavaScriptTemplate(TextTemplate textTemplate) 

Source Link

Document

Constructor.

Usage

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));
}