From 5dc1a8ee92ed8921574e456753af4f34eb88ad34 Mon Sep 17 00:00:00 2001 From: jensp Date: Tue, 10 Jul 2012 09:33:54 +0000 Subject: [PATCH] ItemSearchCreate funktioniert jetzt git-svn-id: https://svn.libreccm.org/ccm/trunk@1762 8810af33-2d31-482b-a856-94f89814c4df --- .../arsdigita/cms/CMSResources_de.properties | 2 +- .../cms/ui/ItemSearchCreateItemPane.java | 55 +++++++++++-------- .../com/arsdigita/cms/ui/ItemSearchPage.java | 4 ++ 3 files changed, 37 insertions(+), 24 deletions(-) diff --git a/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties b/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties index 13f5e7389..0fa625c62 100755 --- a/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties +++ b/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties @@ -1093,4 +1093,4 @@ cms.ui.category.undeletable=Diese Kategorie kann nicht gel\u00f6scht werden. cms.ui.item_search.flat.filter.submit=Filtern cms.ui.item_search.selected=Ausgew\u00e4hltes Content Item (ID) cms.ui.item_search.create=Neu anlegen -cms.ui.item_search.create.folder_select=Order ausw\u00e4hlen +cms.ui.item_search.create.folder_select=Ordner ausw\u00e4hlen diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchCreateItemPane.java b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchCreateItemPane.java index 74dee7f8f..087f1f138 100644 --- a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchCreateItemPane.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchCreateItemPane.java @@ -39,10 +39,11 @@ import java.math.BigDecimal; class ItemSearchCreateItemPane extends CMSContainer implements FormProcessListener, FormSubmissionListener { private static final String CONTENT_TYPE_ID = "ct"; + private static final String FOLDER_ID = "folder_id"; private NewItemForm m_newItem; private SingleSelectionModel m_typeSel; private FlatFolderPicker m_folderPicker; - private final BaseTree m_tree; + //private final BaseTree m_tree; private final SingleSelectionModel m_model; private final FolderSelectionModel m_folderSel; // To support legacy UI code private final FolderRequestLocal m_folder; @@ -54,18 +55,19 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormProcessListen public ItemSearchCreateItemPane(final ItemSearchPage parent) { super(); - + this.parent = parent; m_segPanel = new SegmentedPanel("itemSearchCreate"); m_creationSeg = new Segment(); m_newItemSeg = new Segment(); - - m_newItem = new SectionNewItemForm("newItem"); - m_newItem.addProcessListener(this); - m_tree = new BaseTree(new FolderTreeModelBuilder()); - m_model = m_tree.getSelectionModel(); + m_newItem = new SectionNewItemForm("newItem"); + //m_newItem.addProcessListener(this); + + //m_tree = new BaseTree(new FolderTreeModelBuilder()); + //m_model = m_tree.getSelectionModel(); + m_model = new ParameterSingleSelectionModel(new BigDecimalParameter(FOLDER_ID)); m_folderSel = new FolderSelectionModel(m_model); m_folder = new FolderRequestLocal(m_folderSel); @@ -94,7 +96,7 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormProcessListen m_segPanel.add(m_newItemSeg); m_segPanel.add(m_creationSeg); - + add(m_segPanel); } @@ -105,30 +107,38 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormProcessListen page.setVisibleDefault(m_newItemSeg, true); page.setVisibleDefault(m_creationSeg, false); - + page.addComponentStateParam(this, m_typeSel.getStateParameter()); - page.addComponentStateParam(this, m_folderSel.getStateParameter()); + page.addComponentStateParam(this, m_folderSel.getStateParameter()); } public void submitted(final FormSectionEvent fse) { - + final PageState state = fse.getPageState(); + + final BigDecimal typeID = m_newItem.getTypeID(state); + m_typeSel.setSelectedKey(state, typeID); + final BigDecimal folderId = (BigDecimal) m_folderPicker.getValue(state); + m_folderSel.setSelectedKey(state, folderId); + + m_newItemSeg.setVisible(state, false); + m_creationSeg.setVisible(state, true); } - public void process(FormSectionEvent fse) throws FormProcessException { + public void process(final FormSectionEvent fse) throws FormProcessException { final PageState state = fse.getPageState(); final Object source = fse.getSource(); //if (source == m_newItem) { - final BigDecimal typeID = m_newItem.getTypeID(state); - m_typeSel.setSelectedKey(state, typeID); - final BigDecimal folderId = (BigDecimal) m_folderPicker.getValue(state); - m_folderSel.setSelectedKey(state, folderId); + final BigDecimal typeID = m_newItem.getTypeID(state); + m_typeSel.setSelectedKey(state, typeID); + final BigDecimal folderId = (BigDecimal) m_folderPicker.getValue(state); + m_folderSel.setSelectedKey(state, folderId); - //m_newItem.setVisible(state, false); - //m_creator.setVisible(state, true); - //m_newItemSeg.setVisible(state, false); - m_creationSeg.setVisible(state, true); - //parent.setTabActive(state, this, true); - //newItemMode(state); + //m_newItem.setVisible(state, false); + //m_creator.setVisible(state, true); + m_newItemSeg.setVisible(state, false); + m_creationSeg.setVisible(state, true); + //parent.setTabActive(state, this, true); + //newItemMode(state); //} } @@ -141,6 +151,5 @@ class ItemSearchCreateItemPane extends CMSContainer implements FormProcessListen public ContentSection getContentSection(PageState s) { return CMS.getContext().getContentSection(); } - } } diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java index e9345fcae..97990ee36 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchPage.java @@ -97,6 +97,10 @@ public class ItemSearchPage extends CMSPage { final String query = (String) state.getValue(new StringParameter(ItemSearchPopup.QUERY)); + if (m_tabbedPane.getCurrentPane(state) == m_create) { + return; + } + if ((query == null) || query.isEmpty()) { m_tabbedPane.setSelectedIndex(state, 1); } else {