New navigation configuration feature: index_page_max_items.

git-svn-id: https://svn.libreccm.org/ccm/trunk@5629 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2018-08-02 05:10:11 +00:00
parent d5910871bc
commit 0dd2b80ab4
2 changed files with 27 additions and 13 deletions

View File

@ -85,10 +85,6 @@ public final class NavigationConfig extends AbstractConfig {
* back on default? Default: true * back on default? Default: true
*/ */
private final Parameter m_inheritTemplates; private final Parameter m_inheritTemplates;
// Removed, use content-section config directly instead!
// ContentSection.getConfig().getDefaultContentSection()
// /** The URL of the default content section. Default: /content/ */
// private final Parameter m_defaultContentSectionURL;
private final Parameter m_relatedItemsContext; private final Parameter m_relatedItemsContext;
private final Parameter m_defaultModelClass; private final Parameter m_defaultModelClass;
private final Parameter m_defaultCatRootPath; private final Parameter m_defaultCatRootPath;
@ -113,19 +109,29 @@ public final class NavigationConfig extends AbstractConfig {
private Category m_defaultCategoryRoot = null; private Category m_defaultCategoryRoot = null;
/**
* The maximum number of items In the object list on an index page.
*/
private final Parameter m_indexPageMaxItems = new StringParameter(
"com.arsdigita.navigation.index_page_max_items",
Parameter.REQUIRED, new Integer(30) );
// maybe 2 lookups in a single request so prevent double overhead // maybe 2 lookups in a single request so prevent double overhead
private RequestLocal m_allDateOrderCategories = new RequestLocal() { private RequestLocal m_allDateOrderCategories = new RequestLocal() {
public Object initialValue(PageState state) { public Object initialValue(PageState state) {
return getCurrentDateOrderCategories(); return getCurrentDateOrderCategories();
} }
}; };
private NavigationModel m_defaultModel = null; private NavigationModel m_defaultModel = null;
private TreeCatProvider m_treeCatProvider = null; private TreeCatProvider m_treeCatProvider = null;
/**
*
*/
public NavigationConfig() { public NavigationConfig() {
// not desirable default value (IMHO) but retains existing behaviour // not desirable default value (IMHO) but retains existing behaviour
m_inheritTemplates = new BooleanParameter( m_inheritTemplates = new BooleanParameter(
@ -179,9 +185,6 @@ public final class NavigationConfig extends AbstractConfig {
register(m_generateItemURL); register(m_generateItemURL);
register(m_defaultTemplate); register(m_defaultTemplate);
register(m_inheritTemplates); register(m_inheritTemplates);
// Removed, use content-section config directly instead!
// ContentSection.getConfig().getDefaultContentSection()
// register(m_defaultContentSectionURL);
register(m_relatedItemsContext); register(m_relatedItemsContext);
register(m_defaultModelClass); register(m_defaultModelClass);
register(m_defaultCatRootPath); register(m_defaultCatRootPath);
@ -197,6 +200,7 @@ public final class NavigationConfig extends AbstractConfig {
register(m_dateOrderCategories); register(m_dateOrderCategories);
register(m_topLevelDateOrderCategories); register(m_topLevelDateOrderCategories);
register(m_defaultMenuCatProvider); register(m_defaultMenuCatProvider);
register(m_indexPageMaxItems);
loadInfo(); loadInfo();
// Quasimodo: Begin // Quasimodo: Begin
@ -230,11 +234,6 @@ public final class NavigationConfig extends AbstractConfig {
return ((Boolean) get(m_inheritTemplates)).booleanValue(); return ((Boolean) get(m_inheritTemplates)).booleanValue();
} }
// Removed, use content-section config directly instead!
// ContentSection.getConfig().getDefaultContentSection()
// public final String getDefaultContentSectionURL() {
// return (String)get(m_defaultContentSectionURL);
// }
public final String getRelatedItemsContext() { public final String getRelatedItemsContext() {
return (String) get(m_relatedItemsContext); return (String) get(m_relatedItemsContext);
} }
@ -425,4 +424,14 @@ public final class NavigationConfig extends AbstractConfig {
return m_treeCatProvider; return m_treeCatProvider;
} }
/**
* Retrieve the maximum number of items contained in the object list of an
* index page.
*
* @return Number of obuect list items.
*/
public final Integer getIndexPageMaxItems() {
return ((Integer) get(m_indexPageMaxItems));
}
} }

View File

@ -83,3 +83,8 @@ com.arsdigita.navigation.default_menu_cat_provider.purpose=Class that provides c
com.arsdigita.navigation.default_menu_cat_provider.example=com.arsdigita.navigation.ui.category.TreeCatProviderImpl com.arsdigita.navigation.default_menu_cat_provider.example=com.arsdigita.navigation.ui.category.TreeCatProviderImpl
com.arsdigita.navigation.default_menu_cat_provider.format=[class] com.arsdigita.navigation.default_menu_cat_provider.format=[class]
com.arsdigita.navigation.index_page_max_items.title=Max. number of items on an index page
com.arsdigita.navigation.index_page_max_items.purpose=The max. number of items contained in the object list if an index page.
com.arsdigita.navigation.index_page_max_items.example=30
com.arsdigita.navigation.index_page_max_items.format=[integer]