Serveral small bug fixes and cleanups.
git-svn-id: https://svn.libreccm.org/ccm/trunk@2594 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
77f8047586
commit
069be900f6
|
|
@ -20,135 +20,138 @@ import org.apache.log4j.Logger;
|
||||||
/**
|
/**
|
||||||
* An abstract listener for {@link ImageComponent}.
|
* An abstract listener for {@link ImageComponent}.
|
||||||
*
|
*
|
||||||
* This listener provides the base implementation which is shared between all
|
* This listener provides the base implementation which is shared between all listeners of this
|
||||||
* listeners of this kind.
|
* kind.
|
||||||
*
|
*
|
||||||
* This listerner is used by {@link ImageSelectPage}.
|
* This listerner is used by {@link ImageSelectPage}.
|
||||||
*
|
*
|
||||||
* @author Sören Bernstein <quasi@quasiweb.de>
|
* @author Sören Bernstein <quasi@quasiweb.de>
|
||||||
*/
|
*/
|
||||||
public abstract class ImageComponentAbstractListener implements FormInitListener,
|
public abstract class ImageComponentAbstractListener implements FormInitListener,
|
||||||
FormProcessListener,
|
FormProcessListener,
|
||||||
FormSubmissionListener {
|
FormSubmissionListener {
|
||||||
|
|
||||||
private static final Logger s_log = Logger.getLogger(
|
private static final Logger s_log = Logger.getLogger(
|
||||||
ImageComponentSelectListener.class);
|
ImageComponentSelectListener.class);
|
||||||
MapComponentSelectionModel m_imageComponent;
|
MapComponentSelectionModel m_imageComponent;
|
||||||
|
|
||||||
public ImageComponentAbstractListener(MapComponentSelectionModel imageComponent) {
|
public ImageComponentAbstractListener(MapComponentSelectionModel imageComponent) {
|
||||||
super();
|
super();
|
||||||
m_imageComponent = imageComponent;
|
m_imageComponent = imageComponent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(FormSectionEvent event)
|
public void init(FormSectionEvent event)
|
||||||
throws FormProcessException {
|
throws FormProcessException {
|
||||||
PageState ps = event.getPageState();
|
PageState ps = event.getPageState();
|
||||||
if (!m_imageComponent.isSelected(ps)) {
|
if (!m_imageComponent.isSelected(ps)) {
|
||||||
setImageComponent(ps, ImageComponent.LIBRARY);
|
setImageComponent(ps, ImageComponent.LIBRARY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Call {@link #cancelled(com.arsdigita.bebop.PageState)} if the cancel
|
* Call {@link #cancelled(com.arsdigita.bebop.PageState)} if the cancel button was pressed.
|
||||||
* button was pressed.
|
*
|
||||||
*
|
* @param event the {@link FormSectionEvent}
|
||||||
* @param event the {@link FormSectionEvent}
|
*
|
||||||
* @throws FormProcessException
|
* @throws FormProcessException
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void submitted(FormSectionEvent event) throws FormProcessException {
|
public void submitted(FormSectionEvent event) throws FormProcessException {
|
||||||
PageState ps = event.getPageState();
|
PageState ps = event.getPageState();
|
||||||
ImageComponent component = getImageComponent(ps);
|
ImageComponent component = getImageComponent(ps);
|
||||||
|
|
||||||
if (component.getSaveCancelSection().getCancelButton().isSelected(ps)) {
|
if (component.getSaveCancelSection().getCancelButton().isSelected(ps)) {
|
||||||
cancelled(ps);
|
cancelled(ps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Call {@link #processImage(com.arsdigita.bebop.event.FormSectionEvent,
|
* Call {@link #processImage(com.arsdigita.bebop.event.FormSectionEvent,
|
||||||
* com.arsdigita.bebop.PageState, com.arsdigita.cms.ui.ImageComponent,
|
* com.arsdigita.bebop.PageState, com.arsdigita.cms.ui.ImageComponent,
|
||||||
* com.arsdigita.cms.ReusableImageAsset) }
|
* com.arsdigita.cms.ReusableImageAsset) }
|
||||||
* if the save button was pressed.
|
* if the save button was pressed.
|
||||||
*
|
*
|
||||||
* @param event the {@link FormSectionEvent}
|
* @param event the {@link FormSectionEvent}
|
||||||
* @throws FormProcessException
|
*
|
||||||
*/
|
* @throws FormProcessException
|
||||||
@Override
|
*/
|
||||||
public void process(FormSectionEvent event) throws FormProcessException {
|
@Override
|
||||||
PageState ps = event.getPageState();
|
public void process(FormSectionEvent event) throws FormProcessException {
|
||||||
ImageComponent component = getImageComponent(ps);
|
PageState ps = event.getPageState();
|
||||||
|
ImageComponent component = getImageComponent(ps);
|
||||||
|
|
||||||
if (!component.getSaveCancelSection().getSaveButton().isSelected(ps)) {
|
if (!component.getSaveCancelSection().getSaveButton().isSelected(ps)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// try {
|
// try {
|
||||||
ReusableImageAsset image = component.getImage(event);
|
ReusableImageAsset image = component.getImage(event);
|
||||||
|
|
||||||
processImage(event, ps, component, image);
|
processImage(event, ps, component, image);
|
||||||
// } catch (FormProcessException ex) {
|
// } catch (FormProcessException ex) {
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To be overridden by child if neccessary.
|
* To be overridden by child if neccessary.
|
||||||
*
|
*
|
||||||
* @param ps
|
* @param ps
|
||||||
*/
|
*/
|
||||||
protected void cancelled(PageState ps) {
|
protected void cancelled(PageState ps) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process the input.
|
* Process the input.
|
||||||
*
|
*
|
||||||
* @param event the {@link FormSectionEvent}
|
* @param event the {@link FormSectionEvent}
|
||||||
* @param ps {@link PageState}
|
* @param ps {@link PageState}
|
||||||
* @param component an {@link ImageComponent}
|
* @param component an {@link ImageComponent}
|
||||||
* @param image the {@link ReusableImageAsset}
|
* @param image the {@link ReusableImageAsset}
|
||||||
*/
|
*/
|
||||||
protected abstract void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image);
|
protected abstract void processImage(FormSectionEvent event, PageState ps,
|
||||||
|
ImageComponent component, ReusableImageAsset image);
|
||||||
|
|
||||||
protected ImageComponent getImageComponent(PageState ps) {
|
protected ImageComponent getImageComponent(PageState ps) {
|
||||||
if (!m_imageComponent.isSelected(ps)) {
|
if (!m_imageComponent.isSelected(ps)) {
|
||||||
if (s_log.isDebugEnabled()) {
|
if (s_log.isDebugEnabled()) {
|
||||||
s_log.debug("No component selected");
|
s_log.debug("No component selected");
|
||||||
s_log.debug("Selected: " + m_imageComponent.getComponent(ps));
|
s_log.debug("Selected: " + m_imageComponent.getComponent(ps));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_imageComponent.setSelectedKey(ps, ImageComponent.UPLOAD);
|
m_imageComponent.setSelectedKey(ps, ImageComponent.UPLOAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (ImageComponent) m_imageComponent.getComponent(ps);
|
return (ImageComponent) m_imageComponent.getComponent(ps);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the active component
|
* Sets the active component
|
||||||
*
|
*
|
||||||
* @param ps Page state
|
* @param ps Page state
|
||||||
* @param activeKey the key of the active component
|
* @param activeKey the key of the active component
|
||||||
*/
|
*/
|
||||||
protected void setImageComponent(PageState ps, final String activeKey) {
|
protected void setImageComponent(PageState ps, final String activeKey) {
|
||||||
|
|
||||||
if (s_log.isDebugEnabled()) {
|
if (s_log.isDebugEnabled()) {
|
||||||
s_log.debug("Selected component: " + activeKey);
|
s_log.debug("Selected component: " + activeKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map componentsMap = m_imageComponent.getComponentsMap();
|
Map componentsMap = m_imageComponent.getComponentsMap();
|
||||||
Iterator i = componentsMap.keySet().iterator();
|
Iterator i = componentsMap.keySet().iterator();
|
||||||
while (i.hasNext()) {
|
while (i.hasNext()) {
|
||||||
Object key = i.next();
|
Object key = i.next();
|
||||||
Component component = (Component) componentsMap.get(key);
|
Component component = (Component) componentsMap.get(key);
|
||||||
|
|
||||||
boolean isVisible = activeKey.equals(key);
|
boolean isVisible = activeKey.equals(key);
|
||||||
|
|
||||||
if (s_log.isDebugEnabled()) {
|
if (s_log.isDebugEnabled()) {
|
||||||
s_log.debug("Key: " + key + "; Visibility: " + isVisible);
|
s_log.debug("Key: " + key + "; Visibility: " + isVisible);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ps.setVisible(component, isVisible);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ps.setVisible(component, isVisible);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,151 +24,152 @@ import org.apache.log4j.Logger;
|
||||||
/**
|
/**
|
||||||
* A {@link CMSPage} to select and upload images.
|
* A {@link CMSPage} to select and upload images.
|
||||||
*
|
*
|
||||||
* This page is used by
|
* This page is used by /web/templates/ccm-cms/content-section/admin/image_select.jsp which is used
|
||||||
* /web/templates/ccm-cms/content-section/admin/image_select.jsp which is used
|
|
||||||
* by the OpenCCM plugin for Xinha editor.
|
* by the OpenCCM plugin for Xinha editor.
|
||||||
*
|
*
|
||||||
* @author Sören Bernstein <quasi@quasiweb.de>
|
* @author Sören Bernstein <quasi@quasiweb.de>
|
||||||
*/
|
*/
|
||||||
public class ImageSelectPage extends CMSPage {
|
public class ImageSelectPage extends CMSPage {
|
||||||
|
|
||||||
private static final Logger S_LOG = Logger.getLogger(ImagesPane.class);
|
private static final Logger S_LOG = Logger.getLogger(ImagesPane.class);
|
||||||
private final static String XSL_CLASS = "CMS Admin";
|
private final static String XSL_CLASS = "CMS Admin";
|
||||||
private TabbedPane m_tabbedPane;
|
private TabbedPane m_tabbedPane;
|
||||||
private LayoutPanel m_imageLibrary;
|
private LayoutPanel m_imageLibrary;
|
||||||
private ImageUploadComponent m_imageUpload;
|
private ImageUploadComponent m_imageUpload;
|
||||||
private ImageSelectResultComponent m_result;
|
private ImageSelectResultComponent m_result;
|
||||||
private BigDecimalParameter m_sectionId;
|
private BigDecimalParameter m_sectionId;
|
||||||
private final StringParameter m_imageComponentKey;
|
private final StringParameter m_imageComponentKey;
|
||||||
private final MapComponentSelectionModel m_imageComponent;
|
private final MapComponentSelectionModel m_imageComponent;
|
||||||
private final ImageComponentSelectListener m_selectListener;
|
private final ImageComponentSelectListener m_selectListener;
|
||||||
private static final CMSConfig s_conf = CMSConfig.getInstanceOf();
|
private static final CMSConfig s_conf = CMSConfig.getInstanceOf();
|
||||||
public static final String CONTENT_SECTION = "section_id";
|
public static final String CONTENT_SECTION = "section_id";
|
||||||
public static final String RESULT = "result";
|
public static final String RESULT = "result";
|
||||||
|
|
||||||
public ImageSelectPage() {
|
public ImageSelectPage() {
|
||||||
super(GlobalizationUtil.globalize(
|
super(GlobalizationUtil.globalize(
|
||||||
"cms.ui.image_select.page_title")
|
"cms.ui.image_select.page_title")
|
||||||
.localize().toString(),
|
.localize().toString(),
|
||||||
new SimpleContainer());
|
new SimpleContainer());
|
||||||
|
|
||||||
setClassAttr("cms-admin");
|
setClassAttr("cms-admin");
|
||||||
|
|
||||||
m_sectionId = new BigDecimalParameter(CONTENT_SECTION);
|
m_sectionId = new BigDecimalParameter(CONTENT_SECTION);
|
||||||
addGlobalStateParam(m_sectionId);
|
addGlobalStateParam(m_sectionId);
|
||||||
|
|
||||||
m_imageComponentKey = new StringParameter("imageComponent");
|
m_imageComponentKey = new StringParameter("imageComponent");
|
||||||
|
|
||||||
ParameterSingleSelectionModel componentModel =
|
ParameterSingleSelectionModel componentModel = new ParameterSingleSelectionModel(
|
||||||
new ParameterSingleSelectionModel(m_imageComponentKey);
|
m_imageComponentKey);
|
||||||
m_imageComponent =
|
m_imageComponent = new MapComponentSelectionModel(componentModel, new HashMap());
|
||||||
new MapComponentSelectionModel(componentModel, new HashMap());
|
|
||||||
|
|
||||||
m_selectListener = new ImageComponentSelectListener(m_imageComponent,
|
m_selectListener = new ImageComponentSelectListener(m_imageComponent,
|
||||||
getResultComponent());
|
getResultComponent());
|
||||||
|
|
||||||
m_tabbedPane = createTabbedPane();
|
m_tabbedPane = createTabbedPane();
|
||||||
m_tabbedPane.setIdAttr("page-body");
|
m_tabbedPane.setIdAttr("page-body");
|
||||||
|
|
||||||
add(m_tabbedPane);
|
add(m_tabbedPane);
|
||||||
// ActionListener to change the image component state param to the
|
// ActionListener to change the image component state param to the
|
||||||
// right value
|
// right value
|
||||||
addActionListener(new ActionListener() {
|
addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent event) {
|
public void actionPerformed(ActionEvent event) {
|
||||||
final PageState ps = event.getPageState();
|
final PageState ps = event.getPageState();
|
||||||
|
|
||||||
if (m_tabbedPane.getCurrentPane(ps).equals(m_imageLibrary)) {
|
if (m_tabbedPane.getCurrentPane(ps).equals(m_imageLibrary)) {
|
||||||
m_imageComponent.setSelectedKey(ps, ImageComponent.LIBRARY);
|
m_imageComponent.setSelectedKey(ps, ImageComponent.LIBRARY);
|
||||||
}
|
}
|
||||||
if (m_tabbedPane.getCurrentPane(ps).equals(m_imageUpload)) {
|
if (m_tabbedPane.getCurrentPane(ps).equals(m_imageUpload)) {
|
||||||
m_imageComponent.setSelectedKey(ps, ImageComponent.UPLOAD);
|
m_imageComponent.setSelectedKey(ps, ImageComponent.UPLOAD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
add(m_result);
|
});
|
||||||
|
|
||||||
addGlobalStateParam(m_imageComponentKey);
|
add(m_result);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
addGlobalStateParam(m_imageComponentKey);
|
||||||
* Create the image library pane
|
}
|
||||||
*
|
|
||||||
* @return m_imageLibrary
|
|
||||||
*/
|
|
||||||
protected LayoutPanel getImageLibraryPane() {
|
|
||||||
if (m_imageLibrary == null) {
|
|
||||||
m_imageLibrary = new LayoutPanel();
|
|
||||||
|
|
||||||
ImageLibraryComponent libComp = new ImageLibraryComponent(ImageComponent.SELECT_IMAGE,
|
/**
|
||||||
this);
|
* Create the image library pane
|
||||||
libComp.getForm().addInitListener(m_selectListener);
|
*
|
||||||
libComp.getForm().addProcessListener(m_selectListener);
|
* @return m_imageLibrary
|
||||||
m_imageLibrary.setBody(libComp);
|
*/
|
||||||
m_imageComponent.getComponentsMap().put(ImageComponent.LIBRARY,
|
protected LayoutPanel getImageLibraryPane() {
|
||||||
m_imageLibrary);
|
if (m_imageLibrary == null) {
|
||||||
}
|
m_imageLibrary = new LayoutPanel();
|
||||||
return m_imageLibrary;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
ImageLibraryComponent libComp = new ImageLibraryComponent(ImageComponent.SELECT_IMAGE,
|
||||||
* Create the image upload pane
|
this);
|
||||||
*
|
libComp.getForm().addInitListener(m_selectListener);
|
||||||
* @return m_imageUpload
|
libComp.getForm().addProcessListener(m_selectListener);
|
||||||
*/
|
m_imageLibrary.setBody(libComp);
|
||||||
protected ImageUploadComponent getImageUploadPane() {
|
m_imageComponent.getComponentsMap().put(ImageComponent.LIBRARY,
|
||||||
|
// m_imageLibrary);
|
||||||
|
libComp);
|
||||||
|
}
|
||||||
|
return m_imageLibrary;
|
||||||
|
}
|
||||||
|
|
||||||
if (m_imageUpload == null) {
|
/**
|
||||||
m_imageUpload = new ImageUploadComponent(ImageComponent.SELECT_IMAGE);
|
* Create the image upload pane
|
||||||
m_imageUpload.getForm().addInitListener(m_selectListener);
|
*
|
||||||
m_imageUpload.getForm().addProcessListener(m_selectListener);
|
* @return m_imageUpload
|
||||||
m_imageComponent.getComponentsMap().put(ImageComponent.UPLOAD,
|
*/
|
||||||
m_imageUpload);
|
protected ImageUploadComponent getImageUploadPane() {
|
||||||
}
|
|
||||||
return m_imageUpload;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
if (m_imageUpload == null) {
|
||||||
* Creates an {@link ImageSelectResultComponent}
|
m_imageUpload = new ImageUploadComponent(ImageComponent.SELECT_IMAGE);
|
||||||
*
|
m_imageUpload.getForm().addInitListener(m_selectListener);
|
||||||
* @return m_resultPane
|
m_imageUpload.getForm().addProcessListener(m_selectListener);
|
||||||
*/
|
m_imageComponent.getComponentsMap().put(ImageComponent.UPLOAD,
|
||||||
protected ImageSelectResultComponent getResultComponent() {
|
m_imageUpload);
|
||||||
if (m_result == null) {
|
}
|
||||||
m_result = new ImageSelectResultComponent();
|
return m_imageUpload;
|
||||||
}
|
}
|
||||||
return m_result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create the tabbed pane
|
* Creates an {@link ImageSelectResultComponent}
|
||||||
*/
|
*
|
||||||
protected TabbedPane createTabbedPane() {
|
* @return m_resultPane
|
||||||
TabbedPane pane = new TabbedPane();
|
*/
|
||||||
pane.setClassAttr(XSL_CLASS);
|
protected ImageSelectResultComponent getResultComponent() {
|
||||||
|
if (m_result == null) {
|
||||||
|
m_result = new ImageSelectResultComponent();
|
||||||
|
}
|
||||||
|
return m_result;
|
||||||
|
}
|
||||||
|
|
||||||
addToPane(pane, ImageComponent.LIBRARY, getImageLibraryPane());
|
/**
|
||||||
addToPane(pane, ImageComponent.UPLOAD, getImageUploadPane());
|
* Create the tabbed pane
|
||||||
pane.setDefaultPane(m_imageLibrary);
|
*/
|
||||||
|
protected TabbedPane createTabbedPane() {
|
||||||
|
TabbedPane pane = new TabbedPane();
|
||||||
|
pane.setClassAttr(XSL_CLASS);
|
||||||
|
|
||||||
return pane;
|
addToPane(pane, ImageComponent.LIBRARY, getImageLibraryPane());
|
||||||
}
|
addToPane(pane, ImageComponent.UPLOAD, getImageUploadPane());
|
||||||
|
pane.setDefaultPane(m_imageLibrary);
|
||||||
|
|
||||||
|
return pane;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds the specified component, with the specified tab name, to the tabbed pane only if it is
|
||||||
|
* not null.
|
||||||
|
*
|
||||||
|
* @param pane The pane to which to add the tab
|
||||||
|
* @param tabName The name of the tab if it's added
|
||||||
|
* @param comp The component to add to the pane
|
||||||
|
*/
|
||||||
|
protected void addToPane(final TabbedPane pane,
|
||||||
|
final String tabName,
|
||||||
|
final Component comp) {
|
||||||
|
if (comp != null) {
|
||||||
|
pane.addTab(GlobalizationUtil.globalize("cms.ui.image_" + tabName)
|
||||||
|
.localize().toString(), comp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds the specified component, with the specified tab name, to the
|
|
||||||
* tabbed pane only if it is not null.
|
|
||||||
*
|
|
||||||
* @param pane The pane to which to add the tab
|
|
||||||
* @param tabName The name of the tab if it's added
|
|
||||||
* @param comp The component to add to the pane
|
|
||||||
*/
|
|
||||||
protected void addToPane(final TabbedPane pane,
|
|
||||||
final String tabName,
|
|
||||||
final Component comp) {
|
|
||||||
if (comp != null) {
|
|
||||||
pane.addTab(GlobalizationUtil.globalize("cms.ui.image_" + tabName)
|
|
||||||
.localize().toString(), comp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,102 +13,103 @@ import com.arsdigita.web.URL;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A component which will insert a javascript to the xml output with the image
|
* A component which will insert a javascript to the xml output with the image information for the
|
||||||
* information for the OpenCCM plugin for Xinha editor.
|
* OpenCCM plugin for Xinha editor.
|
||||||
*
|
*
|
||||||
* @author Sören Bernstein <quasi@quasiweb.de>
|
* @author Sören Bernstein <quasi@quasiweb.de>
|
||||||
*/
|
*/
|
||||||
public class ImageSelectResultComponent extends SimpleContainer
|
public class ImageSelectResultComponent extends SimpleContainer
|
||||||
implements Resettable {
|
implements Resettable {
|
||||||
|
|
||||||
boolean m_valid = false;
|
boolean m_valid = false;
|
||||||
ImageAsset m_image;
|
ImageAsset m_image;
|
||||||
String m_lastImageComponent;
|
String m_lastImageComponent;
|
||||||
|
|
||||||
public ImageSelectResultComponent() {
|
public ImageSelectResultComponent() {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Save image imformation
|
* Save image imformation
|
||||||
*
|
*
|
||||||
* @param image an {@link ImageAsset}
|
* @param image an {@link ImageAsset}
|
||||||
*/
|
*/
|
||||||
public void setResult(final ImageAsset image, final String lastComponent) {
|
public void setResult(final ImageAsset image, final String lastComponent) {
|
||||||
m_image = image;
|
m_image = image;
|
||||||
m_lastImageComponent = lastComponent;
|
m_lastImageComponent = lastComponent;
|
||||||
m_valid = (m_image != null);
|
m_valid = (m_image != null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Insert a script tag to the xml output with a JavaScript function to
|
* Insert a script tag to the xml output with a JavaScript function to send the image
|
||||||
* send the image information back to the Xinha plugin.
|
* information back to the Xinha plugin.
|
||||||
*
|
*
|
||||||
* @param state The current {@link PageState}
|
* @param state The current {@link PageState}
|
||||||
* @param parent The parent {@link Element}
|
* @param parent The parent {@link Element}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void generateXML(PageState state, Element parent) {
|
public void generateXML(PageState state, Element parent) {
|
||||||
|
|
||||||
Element scriptElem = parent.newChildElement("script");
|
Element scriptElem = parent.newChildElement("script");
|
||||||
scriptElem.addAttribute("type", "text/javascript");
|
scriptElem.addAttribute("type", "text/javascript");
|
||||||
|
|
||||||
StringBuilder script = new StringBuilder(1000);
|
StringBuilder script = new StringBuilder(1000);
|
||||||
|
|
||||||
// Create function
|
// Create function
|
||||||
script.append("function selectImage(button) {");
|
script.append("function selectImage(button) {");
|
||||||
|
|
||||||
// If there is a valid image
|
// If there is a valid image
|
||||||
if (m_valid) {
|
if (m_valid) {
|
||||||
|
|
||||||
// If in library mode, only listen to save button
|
// If in library mode, only listen to save button
|
||||||
if (m_lastImageComponent.equals(ImageComponent.LIBRARY)) {
|
if (m_lastImageComponent.equals(ImageComponent.LIBRARY)) {
|
||||||
script.append("if(button.id != \"save\" ) { return false; } ");
|
script.append("if(button.id != \"save\" ) { return false; } ");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send image parameters to xinha plugin
|
// Send image parameters to xinha plugin
|
||||||
script.append("window.opener.openCCM.imageSet({");
|
script.append("window.opener.openCCM.imageSet({");
|
||||||
script.append(" src : \"");
|
script.append(" src : \"");
|
||||||
script.append(URL.getDispatcherPath());
|
script.append(URL.getDispatcherPath());
|
||||||
script.append(Service.getImageURL(m_image));
|
script.append(Service.getImageURL(m_image));
|
||||||
script.append("\", ");
|
script.append("\", ");
|
||||||
script.append(" name : \"");
|
script.append(" name : \"");
|
||||||
script.append(m_image.getDisplayName());
|
script.append(m_image.getDisplayName());
|
||||||
script.append("\", ");
|
script.append("\", ");
|
||||||
script.append(" width : \"");
|
script.append(" width : \"");
|
||||||
script.append(m_image.getWidth());
|
script.append(m_image.getWidth());
|
||||||
script.append("\", ");
|
script.append("\", ");
|
||||||
script.append(" height : \"");
|
script.append(" height : \"");
|
||||||
script.append(m_image.getHeight());
|
script.append(m_image.getHeight());
|
||||||
script.append("\"");
|
script.append("\"");
|
||||||
script.append("});");
|
script.append("});");
|
||||||
|
|
||||||
// Close window
|
// Close window
|
||||||
script.append("self.close();");
|
script.append("self.close();");
|
||||||
|
|
||||||
}
|
}
|
||||||
script.append("return false;");
|
script.append("return false;");
|
||||||
script.append("}");
|
script.append("}");
|
||||||
|
|
||||||
// If in upload mode and if there is a valid image, execute the
|
// If in upload mode and if there is a valid image, execute the
|
||||||
// javascript function
|
// javascript function
|
||||||
if (m_valid && ImageComponent.UPLOAD.equals(m_lastImageComponent)) {
|
if (m_valid && ImageComponent.UPLOAD.equals(m_lastImageComponent)) {
|
||||||
script.append("selectImage();");
|
script.append("selectImage();");
|
||||||
}
|
}
|
||||||
|
|
||||||
scriptElem.setText(script.toString());
|
scriptElem.setText(script.toString());
|
||||||
|
|
||||||
// Reset ImageSelectResultComponent
|
// Reset ImageSelectResultComponent
|
||||||
reset(state);
|
reset(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reset this component.
|
||||||
|
*
|
||||||
|
* @param state Page state
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void reset(PageState state) {
|
||||||
|
setResult(null, null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Reset this component.
|
|
||||||
*
|
|
||||||
* @param state Page state
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void reset(PageState state) {
|
|
||||||
setResult(null, null);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,18 @@
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
|
||||||
|
<xsl:variable name="exclude">
|
||||||
|
<xsl:call-template name="mandalay:getSetting">
|
||||||
|
<xsl:with-param name="module"
|
||||||
|
select="'subSiteBanner'"/>
|
||||||
|
<xsl:with-param name="setting"
|
||||||
|
select="concat($resultTree//ui:siteBanner[@bebop:classname='com.arsdigita.subsite.ui.SubSiteBanner']/@sitename, '/exclude')"/>
|
||||||
|
<xsl:with-param name="default"
|
||||||
|
select="'false'"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
|
||||||
|
<xsl:if test="$exclude != 'true'">
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="(string-length($subsiteBannerText) < 1) or (contains(subsiteBannerText, 'Missing translation'))">
|
<xsl:when test="(string-length($subsiteBannerText) < 1) or (contains(subsiteBannerText, 'Missing translation'))">
|
||||||
<xsl:value-of select="$resultTree//ui:siteBanner[@bebop:classname='com.arsdigita.subsite.ui.SubSiteBanner']/@sitename"/>
|
<xsl:value-of select="$resultTree//ui:siteBanner[@bebop:classname='com.arsdigita.subsite.ui.SubSiteBanner']/@sitename"/>
|
||||||
|
|
@ -30,6 +42,7 @@
|
||||||
<xsl:value-of select="$subsiteBannerText"/>
|
<xsl:value-of select="$subsiteBannerText"/>
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
|
</xsl:if>
|
||||||
</div>
|
</div>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ public class WorkingPaperConverter extends AbstractRisConverter {
|
||||||
|
|
||||||
workingPaper = (WorkingPaper) publication;
|
workingPaper = (WorkingPaper) publication;
|
||||||
|
|
||||||
getRisBuilder().setType(RisType.UNPD);
|
getRisBuilder().setType(RisType.UNPB);
|
||||||
|
|
||||||
convertAuthors(publication);
|
convertAuthors(publication);
|
||||||
convertTitle(publication);
|
convertTitle(publication);
|
||||||
|
|
|
||||||
|
|
@ -153,6 +153,7 @@ namespace com.arsdigita.cms {
|
||||||
ContentItem <|-- Folder
|
ContentItem <|-- Folder
|
||||||
ImageAsset <|-- ReusableImageAsset
|
ImageAsset <|-- ReusableImageAsset
|
||||||
MimeType <|-- ImageMimeType
|
MimeType <|-- ImageMimeType
|
||||||
|
MimeType <|-- TextMimeType
|
||||||
TextAsset <|-- Template
|
TextAsset <|-- Template
|
||||||
|
|
||||||
Asset -- MimeType
|
Asset -- MimeType
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue