- Die neue FlatBrowsePane es ItemSearchWidgets kann jetzt konfiguriert werden

- Weitere kleinere Korrekturen an der FlatBrowsePane


git-svn-id: https://svn.libreccm.org/ccm/trunk@1716 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2012-06-22 15:16:33 +00:00
parent 250994a172
commit 3802caaed2
4 changed files with 60 additions and 31 deletions

View File

@ -543,6 +543,15 @@ public final class CMSConfig extends AbstractConfig {
new StringParameter(
"com.arsdigita.cms.item_search.default_tab",
Parameter.REQUIRED, "browse");
private final Parameter m_itemSearchFlatBrowsePaneEnable = new BooleanParameter(
"com.arsdigita.cms.item_search.flat_browse_pane.enable",
Parameter.REQUIRED,
true);
private final Parameter m_itemSearchFlatBrowsePanePageSize = new IntegerParameter(
"com.arsdigita.cms.item_search.flat_browse_pane.page_size",
Parameter.REQUIRED,
20);
/////////////////////////////////////////////
// FolderBrowse
/////////////////////////////////////////////
@ -597,6 +606,7 @@ public final class CMSConfig extends AbstractConfig {
Parameter.REQUIRED,
50);
// ///////////////////////////////////////////
// publishToFile package related parameter
// ///////////////////////////////////////////
@ -695,6 +705,9 @@ public final class CMSConfig extends AbstractConfig {
// register(m_disableItemPfs);
// register(m_publishToFileClass);
register(m_itemSearchFlatBrowsePaneEnable);
register(m_itemSearchFlatBrowsePanePageSize);
loadInfo();
}
@ -1143,4 +1156,12 @@ public final class CMSConfig extends AbstractConfig {
return (Integer) get(m_imageBrowserThumbnailMaxHeight);
}
public Boolean getItemSearchFlatBrowsePaneEnable() {
return (Boolean) get(m_itemSearchFlatBrowsePaneEnable);
}
public Integer getItemSearchFlatBrowsePanePageSize() {
return (Integer) get(m_itemSearchFlatBrowsePanePageSize);
}
}

View File

@ -240,10 +240,21 @@ com.arsdigita.cms.allow_content_create_in_section_listing.example=true
com.arsdigita.cms.allow_content_create_in_section_listing.format=[boolean]
com.arsdigita.cms.item_search.default_tab.title=Set the default table for ItemSearchWidget
com.arsdigita.cms.item_search.default_tab.purpose=Select either "browse" or "search" for default tab
com.arsdigita.cms.item_search.default_tab.purpose=Select either "browse", "flatBrowse" or "search" for default tab
com.arsdigita.cms.item_search.default_tab.example=browse
com.arsdigita.cms.item_search.default_tab.format=[string]
com.arsdigita.cms.item_search.flat_browse_pane.enable.title=Enables the flat browse pane of the item search widget
com.arsdigita.cms.item_search.flat_browse_pane.enable.purpose=Enables the flat browse pane of the item search widget
com.arsdigita.cms.item_search.flat_browse_pane.enable.example=true
com.arsdigita.cms.item_search.flat_browse_pane.enable.format=[boolean]
com.arsdigita.cms.item_search.flat_browse_pane.page_size.title=Page size for the flat browse pane
com.arsdigita.cms.item_search.flat_browse_pane.page_size.purpose=Sets the page size for the flat browse pane
com.arsdigita.cms.item_search.flat_browse_pane.page_size.example=20
com.arsdigita.cms.item_search.flat_browse_pane.page_size.format=[integer]
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

View File

@ -28,6 +28,7 @@ import com.arsdigita.bebop.table.TableColumn;
import com.arsdigita.bebop.table.TableColumnModel;
import com.arsdigita.bebop.table.TableModel;
import com.arsdigita.bebop.table.TableModelBuilder;
import com.arsdigita.cms.CMSConfig;
import com.arsdigita.cms.ContentBundle;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.cms.ContentPage;
@ -59,6 +60,7 @@ public class ItemSearchFlatBrowsePane extends Form implements FormInitListener,
private final Table resultsTable;
private final Paginator paginator;
private final StringParameter queryParam;
private final static CMSConfig CMS_CONFIG = CMSConfig.getInstance();
public ItemSearchFlatBrowsePane(final String name) {
super(name);
@ -75,7 +77,8 @@ public class ItemSearchFlatBrowsePane extends Form implements FormInitListener,
mainPanel.add(boxPanel);
resultsTable = new ResultsTable();
paginator = new Paginator((PaginationModelBuilder) resultsTable.getModelBuilder(), 5);
paginator = new Paginator((PaginationModelBuilder) resultsTable.getModelBuilder(),
CMS_CONFIG.getItemSearchFlatBrowsePanePageSize());
mainPanel.add(paginator);
mainPanel.add(resultsTable);
@ -100,6 +103,7 @@ public class ItemSearchFlatBrowsePane extends Form implements FormInitListener,
if ((query == null) || query.isEmpty()) {
data.setParameter(QUERY_PARAM,
new ParameterData(queryParam, state.getValue(new StringParameter(ItemSearchPopup.QUERY))));
state.setValue(queryParam, data.getParameter(QUERY_PARAM).getValue());
}
}
@ -204,17 +208,6 @@ public class ItemSearchFlatBrowsePane extends Form implements FormInitListener,
this.collection = collection;
/*
* final Session session = SessionManager.getSession(); final BigDecimal typeId = (BigDecimal)
* state.getValue(new BigDecimalParameter(ItemSearch.SINGLE_TYPE_PARAM)); if (typeId == null) { collection =
* session.retrieve(ContentPage.BASE_DATA_OBJECT_TYPE); } else { final ContentType type = new
* ContentType(typeId); collection = session.retrieve(type.getClassName()); }
*
* final String query = (String) state.getValue(queryParam); if ((query != null) && !query.isEmpty()) {
* collection.addFilter(String.format( "(lower(%s) like lower('%%%s%%')) or (lower(%s) like
* lower('%%%s%%'))", ContentItem.NAME, query, ContentPage.TITLE, query));
}
*/
}
public int getColumnCount() {

View File

@ -62,7 +62,7 @@ public class ItemSearchPage extends CMSPage {
private static final CMSConfig s_conf = CMSConfig.getInstance();
private static final boolean LIMIT_TO_CONTENT_SECTION = false;
public static final String CONTENT_SECTION = "section_id";
private boolean showFlatBrowsePane = false;
private final boolean showFlatBrowsePane;
/**
* Construct a new ItemSearchPage
@ -76,6 +76,9 @@ public class ItemSearchPage extends CMSPage {
addGlobalStateParam(new StringParameter(ItemSearchPopup.WIDGET_PARAM));
addGlobalStateParam(new StringParameter("searchWidget"));
showFlatBrowsePane = s_conf.getItemSearchFlatBrowsePaneEnable();
m_sectionId = new BigDecimalParameter(CONTENT_SECTION);
addGlobalStateParam(m_sectionId);
@ -152,15 +155,16 @@ public class ItemSearchPage extends CMSPage {
addToPane(pane, "search", getSearchPane());
// addToPane(pane, "create", getCreatePane());
if (s_conf.getItemSearchDefaultTab().equals("browse")) {
if ("browse".equals(s_conf.getItemSearchDefaultTab())) {
pane.setDefaultPane(m_browse);
}
if (s_conf.getItemSearchDefaultTab().equals("search")) {
if ("search".equals(s_conf.getItemSearchDefaultTab())) {
pane.setDefaultPane(m_search);
}
if (showFlatBrowsePane) {
if ("flatBrowse".equals(s_conf.getItemSearchDefaultTab()) && showFlatBrowsePane) {
pane.setDefaultPane(m_flatBrowse);
} else {
pane.setDefaultPane(m_browse);
}
//pane.addActionListener(this);