From 4d301a8f499a6e12de30c0b88290feba864790f1 Mon Sep 17 00:00:00 2001 From: quasi Date: Fri, 20 Jul 2012 11:01:47 +0000 Subject: [PATCH] ImagesPane * Reset funktioniert * Cancel funktioniert git-svn-id: https://svn.libreccm.org/ccm/trunk@1779 8810af33-2d31-482b-a856-94f89814c4df --- .../cms/ui/ImageComponentAbstractListener.java | 15 ++++++++++++++- .../cms/ui/ImageComponentAdminListener.java | 12 +++++++++++- .../arsdigita/cms/ui/ImageLibraryComponent.java | 3 ++- ccm-cms/src/com/arsdigita/cms/ui/ImagesPane.java | 5 +++-- 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAbstractListener.java b/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAbstractListener.java index 0a34064aa..b76213cfe 100644 --- a/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAbstractListener.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAbstractListener.java @@ -11,6 +11,7 @@ import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.event.FormInitListener; import com.arsdigita.bebop.event.FormProcessListener; import com.arsdigita.bebop.event.FormSectionEvent; +import com.arsdigita.bebop.event.FormSubmissionListener; import com.arsdigita.cms.ReusableImageAsset; import java.util.Iterator; import java.util.Map; @@ -20,7 +21,7 @@ import org.apache.log4j.Logger; * * @author Sören Bernstein (quasimodo) */ -public abstract class ImageComponentAbstractListener implements FormInitListener, FormProcessListener { +public abstract class ImageComponentAbstractListener implements FormInitListener, FormProcessListener, FormSubmissionListener { private static final Logger s_log = Logger.getLogger(ImageComponentSelectListener.class); MapComponentSelectionModel m_imageComponent; @@ -38,6 +39,15 @@ public abstract class ImageComponentAbstractListener implements FormInitListener } } + public void submitted(FormSectionEvent event) throws FormProcessException { + PageState ps = event.getPageState(); + ImageComponent component = getImageComponent(ps); + + if(component.getSaveCancelSection().getCancelButton().isSelected(ps)) { + cancelled(ps); + } + } + public void process(FormSectionEvent event) throws FormProcessException { PageState ps = event.getPageState(); ImageComponent component = getImageComponent(ps); @@ -51,6 +61,9 @@ public abstract class ImageComponentAbstractListener implements FormInitListener processImage(event, ps, component, image); } + + protected void cancelled(PageState ps) {}; + protected abstract void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image); protected ImageComponent getImageComponent(PageState ps) { diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAdminListener.java b/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAdminListener.java index 31cb348ae..4de4abe91 100644 --- a/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAdminListener.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAdminListener.java @@ -10,6 +10,7 @@ import com.arsdigita.bebop.event.ActionEvent; import com.arsdigita.bebop.event.ActionListener; import com.arsdigita.bebop.event.FormSectionEvent; import com.arsdigita.cms.ReusableImageAsset; +import com.arsdigita.toolbox.ui.ComponentMap; /** * @@ -17,12 +18,21 @@ import com.arsdigita.cms.ReusableImageAsset; */ class ImageComponentAdminListener extends ImageComponentAbstractListener implements ActionListener { - public ImageComponentAdminListener(MapComponentSelectionModel imageComponent) { + private final ComponentMap m_pane; + + public ImageComponentAdminListener(MapComponentSelectionModel imageComponent, ComponentMap pane) { super(imageComponent); + m_pane = pane; + } + + @Override + protected void cancelled(PageState ps) { + m_pane.reset(ps); } @Override protected void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image) { + m_pane.reset(ps); } public void actionPerformed(ActionEvent ev) { diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ImageLibraryComponent.java b/ccm-cms/src/com/arsdigita/cms/ui/ImageLibraryComponent.java index 7590892cc..ab8b03d00 100644 --- a/ccm-cms/src/com/arsdigita/cms/ui/ImageLibraryComponent.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ImageLibraryComponent.java @@ -160,10 +160,11 @@ public class ImageLibraryComponent extends SimpleContainer implements ImageCompo } } - // Reset this component + // Reset this component public void reset(PageState ps) { // clear selection m_imageModel.clearSelection(ps); + m_chooser.clearSelection(ps); m_chooser.clearKeyword(ps); } } diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ImagesPane.java b/ccm-cms/src/com/arsdigita/cms/ui/ImagesPane.java index b0cf72c0e..935f678be 100644 --- a/ccm-cms/src/com/arsdigita/cms/ui/ImagesPane.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ImagesPane.java @@ -47,11 +47,12 @@ public class ImagesPane extends LayoutPanel implements Resettable { m_imageComponent = new MapComponentSelectionModel(componentModel, new HashMap()); Map selectors = m_imageComponent.getComponentsMap(); - m_adminListener = new ImageComponentAdminListener(m_imageComponent); + m_adminListener = new ImageComponentAdminListener(m_imageComponent, this); ImageUploadComponent upload = new ImageUploadComponent(ImageComponent.ADMIN_IMAGES); upload.getForm().addInitListener(m_adminListener); - upload.addProcessListener(m_adminListener); + upload.getForm().addSubmissionListener(m_adminListener); + upload.getForm().addProcessListener(m_adminListener); selectors.put(ImageComponent.UPLOAD, upload); body.addSegment( new Label(GlobalizationUtil.globalize("cms.ui.image_upload")),