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

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

Introduction

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

Prototype

@Override
public String getId() 

Source Link

Document

Gets the id of this component.

Usage

From source file:org.xaloon.wicket.plugin.image.panel.ImagePanel.java

License:Apache License

@Override
protected void onBeforeRender() {
    super.onBeforeRender();
    removeAll();//ww w .  ja  v  a  2s  .com
    final ImageComposition image = getModelObject();

    // Add show temporary image
    FileDescriptor temporaryFiledeDescriptor = image.getImage().getThumbnail();
    if (temporaryFiledeDescriptor == null) {
        temporaryFiledeDescriptor = image.getImage();
    }
    if (temporaryFiledeDescriptor != null && temporaryFiledeDescriptor.getImageInputStreamContainer() == null) {
        if (temporaryFiledeDescriptor.isExternal()) {
            temporaryFiledeDescriptor.setImageInputStreamContainer(
                    new UrlInputStreamContainer(temporaryFiledeDescriptor.getPath()));
        } else {
            temporaryFiledeDescriptor.setImageInputStreamContainer(new ByteArrayAsInputStreamContainer(
                    fileRepositoryFacade.getFileByPath(temporaryFiledeDescriptor.getPath())));
        }
    }
    TemporaryResource temporaryResource = new TemporaryResource(temporaryFiledeDescriptor);
    Image temporaryImage = new NonCachingImage("temporary-image", temporaryResource);
    temporaryImage.add(AttributeModifier.replace(HtmlElementEnum.WIDTH.value(), String.valueOf(imageWidth)));
    temporaryImage.add(AttributeModifier.replace(HtmlElementEnum.HEIGHT.value(), String.valueOf(imageHeight)));
    temporaryImage.setVisible(!temporaryResource.isEmpty());
    add(temporaryImage);

    // Add delete image link
    add(new ConfirmationAjaxLink<Void>("delete-image-link") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            deleteFileDescriptor(image);
            Component componentToRefresh = getOnCloseRefreshComponent();
            if (componentToRefresh != null) {
                target.add(componentToRefresh);
            }
        }
    }.setVisible(securityFacade.hasAny(GallerySecurityAuthorities.IMAGE_DELETE)));

    // Add the modal window to edit image information
    final ModalWindow imageInformationModalWindow = new CustomModalWindow("modal-image-information",
            "Image information") {
        private static final long serialVersionUID = 1L;

        @Override
        protected void addComponentsToRefresh(java.util.List<Component> components) {
            components.add(ImagePanel.this);
        };
    };
    imageInformationModalWindow.setContent(new ImageDescriptionPanel(imageInformationModalWindow.getContentId(),
            new Model<org.xaloon.core.api.image.model.Image>(image.getImage())) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onImageUpdate(AjaxRequestTarget target, org.xaloon.core.api.image.model.Image entity) {
            // Usually parent of this panel should be responsible to save
            // new entity, so we just update existing one here
            if (entity.getId() != null) {
                albumFacade.save(entity);
            }
            imageInformationModalWindow.close(target);
        }

    });
    add(imageInformationModalWindow);

    // Add edit image metadata modal window
    add(new AjaxLink<Void>("edit-information") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            imageInformationModalWindow.show(target);
        }
    }.setVisible(securityFacade.hasAny(GallerySecurityAuthorities.IMAGE_EDIT)));
}