List of usage examples for org.apache.wicket.markup.html.image Image setImageResourceReference
public void setImageResourceReference(final ResourceReference resourceReference, final PageParameters parameters)
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); } }; }