Example usage for org.apache.wicket.markup.html.image Image setImageResourceReference

List of usage examples for org.apache.wicket.markup.html.image Image setImageResourceReference

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.image Image setImageResourceReference.

Prototype

public void setImageResourceReference(final ResourceReference resourceReference,
        final PageParameters parameters) 

Source Link

Usage

From source file:com.socialsite.image.ImagePanel.java

License:Open Source License

/**
 * //from w  w w.  j av  a2  s .c om
 * @param component
 *            component id
 * @param id
 *            id used to fetch the image
 * @param imageType
 *            type of the image (userimage , courseimage etc)
 * @param thumb
 *            will show thumb image if true
 * @param lastModified
 *            lastmodified date of the image
 */
public ImagePanel(final String component, final long id, final ImageType imageType, final Date lastModified,
        final boolean thumb, final boolean changeLink) {
    super(component);

    this.changeLink = changeLink;

    // allow the modal window to update the panel
    setOutputMarkupId(true);
    final ResourceReference imageResource = new ResourceReference(imageType.name());
    final Image userImage;
    final ValueMap valueMap = new ValueMap();
    valueMap.add("id", id + "");

    // the version is used to change the url dynamically if the image is
    // changed. This will allow the browser to cache images
    // reference http://code.google.com/speed/page-speed/docs/caching.html
    // #Use fingerprinting to dynamically enable caching.
    valueMap.add("version", lastModified.getTime() + "");
    if (thumb) {
        valueMap.add("thumb", "true");
    }
    add(userImage = new Image("userimage", imageResource, valueMap));
    userImage.setOutputMarkupId(true);

    final ModalWindow modal;
    add(modal = new ModalWindow("modal"));

    modal.setContent(new UploadPanel(modal.getContentId()) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public String onFileUploaded(final FileUpload upload) {

            if (upload == null || upload.getSize() == 0) {
                // No image was provided
                error("Please upload an image.");
            } else if (!checkContentType(upload.getContentType())) {
                error("Only images of types png, jpg, and gif are allowed.");
            } else {
                saveImage(upload.getBytes());
            }

            return null;
        }

        @Override
        public void onUploadFinished(final AjaxRequestTarget target, final String filename,
                final String newFileUrl) {

            final ResourceReference imageResource = new ResourceReference(imageType.name());

            final ValueMap valueMap = new ValueMap();
            valueMap.add("id", id + "");
            // change the image lively
            valueMap.add("version", new Date().getTime() + "");
            if (thumb) {
                valueMap.add("thumb", "true");
            }

            userImage.setImageResourceReference(imageResource, valueMap);
            // update the image after the user changes it
            target.addComponent(userImage);
        }
    });
    modal.setTitle(" Select the image ");
    modal.setCookieName("modal");

    modal.setCloseButtonCallback(new ModalWindow.CloseButtonCallback() {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        public boolean onCloseButtonClicked(final AjaxRequestTarget target) {
            return true;
        }
    });

    modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        public void onClose(final AjaxRequestTarget target) {
        }
    });

    add(new AjaxLink<Void>("changeimage") {
        /**
         * 
         */
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            if (changeLink) {
                // TODO allow admins to change the university image and
                // allow
                // staffs to change the course image
                // it. don't show it for thumb images
                return hasRole(SocialSiteRoles.OWNER) || hasRole(SocialSiteRoles.STAFF);
            }
            return false;

        }

        @Override
        public void onClick(final AjaxRequestTarget target) {
            modal.show(target);
        }
    });
}

From source file:com.swordlord.gozer.components.wicket.detail.GWDetailDateFieldPanel.java

License:Open Source License

/**
 * Constructor//from   www  . j a v  a  2s . co  m
 * 
 * @param id
 * @param model
 * @param fieldForm
 */
public GWDetailDateFieldPanel(String id, IModel<?> model, GField fieldForm) {
    super(id, model);

    isReadOnly = fieldForm.isReadOnly();

    final String caption = translateCaption(
            fieldForm.getDataBinding().getDataBindingMember().getDataBindingTableName(),
            fieldForm.getCaption());

    final DataBinding dataBinding = fieldForm.getDataBinding();

    final DataBindingModel textfieldmodel = new DataBindingModel(dataBinding);

    DataBindingField field = dataBinding.getDataBindingField();

    Label label = new Label("label", caption + (field.isMandatory() ? " *" : ""));
    add(label);

    _datePicker = new DatePicker<Date>("datePicker");
    _datePicker.setDefaultModel(textfieldmodel);
    _datePicker.setShowButtonPanel(true);
    _datePicker.setShowOn(ShowOnEnum.FOCUS);
    add(_datePicker);

    Image image = new Image("cmdShowDatePicker", "");

    PageParameters pp = new PageParameters();
    pp.add("id", Icons.ICON_DATE);

    image.setImageResourceReference(new PackageResourceReference("img"), pp);
    image.setOutputMarkupPlaceholderTag(true);

    WiQueryEventBehavior event = new WiQueryEventBehavior(new Event(MouseEvent.CLICK) {
        private static final long serialVersionUID = 1L;

        /* (non-Javadoc)
         * @see org.odlabs.wiquery.core.events.Event#callback()
         */
        @Override
        public JsScope callback() {
            return JsScope.quickScope(_datePicker.show().render());
        }
    });
    event.bind(image);

    /*
    image.add(new WiQueryEventBehavior(new Event(MouseEvent.CLICK) {
       private static final long serialVersionUID = 1L;
            
       /* (non-Javadoc)
        * @see org.odlabs.wiquery.core.events.Event#callback()
                
       @Override
       public JsScope callback() {
    return JsScope.quickScope(_datePicker.show().render());
       }
    }));      
    */
    add(image);

    // This shows feedback when the name input is not correct.
    FeedbackLabel feedbackLabel = new FeedbackLabel("feedback", _datePicker);
    feedbackLabel.setOutputMarkupId(true);
    add(feedbackLabel);

    //TODO Validierung luft noch nicht sauber -> Disable
    //_datePicker.add(new ErrorBehaviour("onblur", feedbackLabel));
}

From source file:org.onehippo.forge.document.commenting.cms.impl.DefaultDocumentCommentingFieldPlugin.java

License:Apache License

public DefaultDocumentCommentingFieldPlugin(IPluginContext context, IPluginConfig config) {
    super(context, config);

    setOutputMarkupId(true);/*from  w w  w  . jav  a2s  . c o m*/

    documentModel = (JcrNodeModel) getModel();

    commentingContext = new CommentingContext(context, config, documentModel);

    String commentPersistenceManagerClazz = config.getString("comment.persistence.manager", null);

    if (StringUtils.isNotBlank(commentPersistenceManagerClazz)) {
        try {
            commentPersistenceManager = (CommentPersistenceManager) Class
                    .forName(commentPersistenceManagerClazz).newInstance();
        } catch (Exception e) {
            log.error("Cannot create custom comment persistence manager.", e);
        }
    }

    if (commentPersistenceManager == null) {
        commentPersistenceManager = new DefaultJcrCommentPersistenceManager();
    }

    queryLimit = config.getAsLong("comment.query.limit", 100);

    editableByAuthorOnly = config.getAsBoolean("comment.editable.author.only", false);
    deletableByAuthorOnly = config.getAsBoolean("comment.deletable.author.only", false);

    add(new Label("doc-commenting-caption", getCaptionModel()));

    MarkupContainer commentsContainer = new WebMarkupContainer("doc-comments-container");

    addDialogAction = new DialogAction(
            createDialogFactory(new CommentItem(), new SerializableCallable<Object>() {
                @Override
                public Object call() throws Exception {
                    refreshCommentItems();
                    return refreshDocumentEditorWithSelectedCompounds();
                }
            }), getDialogService());

    AjaxLink addLink = new AjaxLink("add") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            addDialogAction.execute();
        }
    };

    final Image addImage = new Image("add-image") {
        private static final long serialVersionUID = 1L;
    };

    addImage.setImageResourceReference(ADD_ICON_REF, null);
    addLink.add(addImage);
    addLink.setVisible(canCreateCommentItem(UserSession.get().getJcrSession()));
    commentsContainer.add(addLink);

    refreshCommentItems();

    commentsContainer.add(createRefreshingView());

    add(commentsContainer);
}

From source file:org.onehippo.forge.document.commenting.cms.impl.DefaultDocumentCommentingFieldPlugin.java

License:Apache License

private RefreshingView<? extends Serializable> createRefreshingView() {

    return new RefreshingView<Serializable>("view") {

        private static final long serialVersionUID = 1L;

        private IDataProvider<CommentItem> dataProvider = new SimpleListDataProvider<CommentItem>(
                currentCommentItems);//www  .  ja  va2s . co m

        @Override
        protected Iterator getItemModels() {

            final Iterator<? extends CommentItem> baseIt = dataProvider.iterator(0, currentCommentItems.size());

            return new Iterator<IModel<CommentItem>>() {
                public boolean hasNext() {
                    return baseIt.hasNext();
                }

                public IModel<CommentItem> next() {
                    return dataProvider.model(baseIt.next());
                }

                public void remove() {
                    baseIt.remove();
                }
            };
        }

        @Override
        protected void populateItem(Item item) {
            final CommentItem comment = (CommentItem) item.getModelObject();
            final Session userJcrSession = UserSession.get().getJcrSession();

            final Label commentHeadLabel = new Label("docitem-head-text", new Model<String>() {
                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    return getCommentPersistenceManager().getCommentHeadText(getCommentingContext(), comment);
                }
            });
            commentHeadLabel.setEscapeModelStrings(false);
            item.add(commentHeadLabel);

            final String headTooltip = getCommentPersistenceManager()
                    .getCommentHeadTooltip(getCommentingContext(), comment);
            if (StringUtils.isNotBlank(headTooltip)) {
                commentHeadLabel.add(new AttributeModifier("title", new Model<String>(headTooltip)));
            }

            final Label commentBodyLabel = new Label("docitem-body-text", new Model<String>() {
                private static final long serialVersionUID = 1L;

                @Override
                public String getObject() {
                    return getCommentPersistenceManager().getCommentBodyText(getCommentingContext(), comment);
                }
            });
            commentBodyLabel.setEscapeModelStrings(false);
            item.add(commentBodyLabel);

            final String bodyTooltip = getCommentPersistenceManager()
                    .getCommentBodyTooltip(getCommentingContext(), comment);
            if (StringUtils.isNotBlank(bodyTooltip)) {
                commentBodyLabel.add(new AttributeModifier("title", new Model<String>(bodyTooltip)));
            }

            if (item.getIndex() == currentCommentItems.size() - 1) {
                item.add(new AttributeAppender("class", new Model("last"), " "));
            }

            final DialogAction editDialogAction = new DialogAction(
                    createDialogFactory(comment, new SerializableCallable<Object>() {
                        @Override
                        public Object call() throws Exception {
                            refreshCommentItems();
                            return refreshDocumentEditorWithSelectedCompounds();
                        }
                    }), getDialogService());

            AjaxLink editLink = new AjaxLink("edit") {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    editDialogAction.execute();
                }
            };

            final Image editImage = new Image("edit-image") {
                private static final long serialVersionUID = 1L;
            };

            editImage.setImageResourceReference(EDIT_ICON_REF, null);
            editLink.add(editImage);
            editLink.setVisible(isEditableCommentItem(userJcrSession, comment));
            item.add(editLink);

            AjaxLink deleteLink = new AjaxLink("delete") {

                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(final AjaxRequestTarget target) {
                    try {
                        final ConfirmDialog confirmDlg = new ConfirmDialog(
                                new StringResourceModel("confirm.delete.comment.title", this, null,
                                        "Confirmation"),
                                new StringResourceModel("confirm.delete.comment.message", this, null,
                                        "Are you sure to delete the item?")) {
                            @Override
                            public void invokeWorkflow() throws Exception {
                                getCommentPersistenceManager().deleteCommentItem(getCommentingContext(),
                                        comment);
                                currentCommentItems.remove(comment);
                                refreshDocumentEditorWithSelectedCompounds();
                            }
                        };
                        getDialogService().show(confirmDlg);
                    } catch (CommentingException e) {
                        log.error("Failed to delete comment.", e);
                    }
                }
            };

            final Image deleteImage = new Image("delete-image") {
                private static final long serialVersionUID = 1L;
            };

            deleteImage.setImageResourceReference(DELETE_ICON_REF, null);
            deleteLink.add(deleteImage);
            deleteLink.setVisible(isDeletableCommentItem(userJcrSession, comment));
            item.add(deleteLink);
        }
    };
}