From c8889b99253bd4242b4c771f55567bb705334e0e Mon Sep 17 00:00:00 2001 From: quasi Date: Wed, 15 Dec 2010 11:11:22 +0000 Subject: [PATCH] =?UTF-8?q?Diverse=20=C3=84nderungen=20an=20ItemSearchWidg?= =?UTF-8?q?et,=20FlatItemList=20und=20NewItemForm=20in=20Vorbereitung=20f?= =?UTF-8?q?=C3=BCr=20die=20weitern=20=C3=84nderungen=20am=20ItemSearchWidg?= =?UTF-8?q?et?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FlatItemList * Die Länge der Liste ist nun per Config-Parameter einstellbar (war auf 20 hardcodiert) ItemSearchFolderBrowser * Die Länger der Liste ist nun per Config-Parameter einstellbar (war auf 15 hardcodiert) NewitemForm * Sucht jetzt im PageState nach einem SingleType - Parameter und begrenzt ggf. die Liste der CTs auf die Liste der Siblings von singleType TextAssetBodyLabelCellRenderer * Dem Label des Textkörpers zum Anzeigen des TextAssets (z.B. be Artikeln) wird nun ein id="webPage" mitgegeben. Dadurch kann man auch im CC an dieser Stelle die Layouts der Webseite verwenden. git-svn-id: https://svn.libreccm.org/ccm/trunk@649 8810af33-2d31-482b-a856-94f89814c4df --- ccm-cms/src/com/arsdigita/cms/CMSConfig.java | 13 ++ .../cms/CMSConfig_parameter.properties | 13 +- .../com/arsdigita/cms/ui/FlatItemList.java | 4 +- .../cms/ui/ItemSearchFolderBrowser.java | 11 +- .../arsdigita/cms/ui/ItemSearchWidget.java | 9 +- .../cms/ui/authoring/NewItemForm.java | 114 +++++++++--------- .../TextAssetBodyLabelCellRenderer.java | 4 +- .../cms/ui/folder/FolderManipulator.java | 6 +- .../cms/ui/search/ItemQueryComponent.java | 3 +- 9 files changed, 98 insertions(+), 79 deletions(-) diff --git a/ccm-cms/src/com/arsdigita/cms/CMSConfig.java b/ccm-cms/src/com/arsdigita/cms/CMSConfig.java index 0f9540bba..8d58fd7e0 100755 --- a/ccm-cms/src/com/arsdigita/cms/CMSConfig.java +++ b/ccm-cms/src/com/arsdigita/cms/CMSConfig.java @@ -442,6 +442,13 @@ public final class CMSConfig extends AbstractConfig { private final Parameter m_itemSearchDefaultTab = new StringParameter("com.arsdigita.cms.item_search.default_tab", Parameter.REQUIRED, "browse"); + ///////////////////////////////////////////// + // FolderBrowse + ///////////////////////////////////////////// + private final Parameter m_folderBrowseListSize = new IntegerParameter("com.arsdigita.cms.folder_browse_list_size", + Parameter.REQUIRED, 20); + + // /////////////////////////////////////////// // publishToFile package related parameter // /////////////////////////////////////////// @@ -516,6 +523,8 @@ public final class CMSConfig extends AbstractConfig { register(m_itemSearchDefaultTab); + register(m_folderBrowseListSize); + // publishToFile package related parameter // Moved to publishToFile.PublishToFileConfig as of version 6.0.2 // register(m_disableItemPfs); @@ -888,4 +897,8 @@ public final class CMSConfig extends AbstractConfig { public String getItemSearchDefaultTab() { return (String) get(m_itemSearchDefaultTab); } + + public Integer getFolderBrowseListSize() { + return (Integer) get(m_folderBrowseListSize); + } } diff --git a/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties b/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties index c28e274cd..a6017c654 100755 --- a/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties +++ b/ccm-cms/src/com/arsdigita/cms/CMSConfig_parameter.properties @@ -233,8 +233,13 @@ com.arsdigita.cms.item_search.default_tab.purpose=Select either "browse" or "sea com.arsdigita.cms.item_search.default_tab.example=browse com.arsdigita.cms.item_search.default_tab.format=[string] -com.arsdigita.cms.item_search.xx.title= -com.arsdigita.cms.item_search.xx.purpose= -com.arsdigita.cms.item_search.xx.example= -com.arsdigita.cms.item_search.xx.format=[string] +com.arsdigita.cms.folder_browse_list_size.title=List size for the folder browse widget +com.arsdigita.cms.folder_browse_list_size.purpose=Allows to change the number of items displayed on each page of the folder browse widget +com.arsdigita.cms.folder_browse_list_size.example=20 +com.arsdigita.cms.folder_browse_list_size.format=[integer] + +com.arsdigita.cms.xx.title= +com.arsdigita.cms.xx.purpose= +com.arsdigita.cms.xx.example= +com.arsdigita.cms.xx.format=[string] diff --git a/ccm-cms/src/com/arsdigita/cms/ui/FlatItemList.java b/ccm-cms/src/com/arsdigita/cms/ui/FlatItemList.java index 44c62fdbd..65d67e150 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/FlatItemList.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/FlatItemList.java @@ -93,9 +93,6 @@ public class FlatItemList extends SegmentedPanel private static final String PRIVILEGE = "privilege"; private static final String PRIVILEGE_NAME = "prettyName"; - //maximum number of items displayed in the table at a time - public static int LIST_SIZE = 20; - // The folder selectors private FolderSelectionModel m_folderSel; private FolderRequestLocal m_folder; @@ -295,6 +292,7 @@ public class FlatItemList extends SegmentedPanel m_editFolderSeg.add(new Label("
", false)); } + @Override public void register(Page p) { super.register(p); diff --git a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java index 43311a3e2..12611b542 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/ItemSearchFolderBrowser.java @@ -56,8 +56,6 @@ import com.arsdigita.persistence.FilterFactory; import com.arsdigita.util.Assert; import java.math.BigDecimal; -import java.util.HashSet; -import java.util.Iterator; import java.util.StringTokenizer; /** @@ -72,7 +70,7 @@ public class ItemSearchFolderBrowser extends Table { private static final org.apache.log4j.Logger s_log = org.apache.log4j.Logger.getLogger(ItemSearchFolderBrowser.class); - public static final int MAX_ROWS = 15; + private static GlobalizedMessage[] s_headers = { globalize("cms.ui.folder.name"), globalize("cms.ui.folder.title"), @@ -90,7 +88,7 @@ public class ItemSearchFolderBrowser extends Table { FolderTableModelBuilder builder = new FolderTableModelBuilder(); setModelBuilder(builder); - m_paginator = new Paginator(builder, MAX_ROWS); + m_paginator = new Paginator(builder, ContentSection.getConfig().getFolderBrowseListSize()); m_currentFolder = currentFolder; @@ -253,7 +251,7 @@ public class ItemSearchFolderBrowser extends Table { int size = ((Integer) m_size.get(state)).intValue(); return ItemSearchFolderBrowser.this.isVisible(state) - && (size > MAX_ROWS); + && (size > ContentSection.getConfig().getFolderBrowseListSize()); } } @@ -319,7 +317,7 @@ public class ItemSearchFolderBrowser extends Table { } private String generateJSLabel(BigDecimal id, String widget, String fill) { - StringBuffer buffer = new StringBuffer(); + StringBuilder buffer = new StringBuilder(); buffer.append("