Added possibility to specify a different paging size.

This commit is contained in:
Dario Solera 2011-01-04 09:39:25 +00:00
parent 9acaf35935
commit 42f4344501
18 changed files with 183 additions and 83 deletions

View file

@ -16,5 +16,5 @@ using System.Reflection;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("3.0.4.567")] [assembly: AssemblyVersion("3.0.4.568")]
[assembly: AssemblyFileVersion("3.0.4.567")] [assembly: AssemblyFileVersion("3.0.4.568")]

View file

@ -144,6 +144,8 @@ namespace ScrewTurn.Wiki {
return Settings.DefaultCacheProvider; return Settings.DefaultCacheProvider;
case SettingName.RootNamespaceTheme: case SettingName.RootNamespaceTheme:
return Settings.GetTheme(null); return Settings.GetTheme(null);
case SettingName.ListSize:
return Settings.ListSize.ToString();
} }
return ""; return "";
} }

View file

@ -432,6 +432,18 @@ namespace ScrewTurn.Wiki {
} }
} }
/// <summary>
/// Gets or sets the number of items displayed in pages/users lists.
/// </summary>
public static int ListSize {
get {
return GetInt(Provider.GetSetting("ListSize"), 50);
}
set {
Provider.SetSetting("ListSize", value.ToString());
}
}
/// <summary> /// <summary>
/// Gets or sets the Account Activation Mode. /// Gets or sets the Account Activation Mode.
/// </summary> /// </summary>

View file

@ -631,7 +631,11 @@ namespace ScrewTurn.Wiki.PluginFramework {
/// <summary> /// <summary>
/// The name of the theme of the root namespace. /// The name of the theme of the root namespace.
/// </summary> /// </summary>
RootNamespaceTheme RootNamespaceTheme,
/// <summary>
/// The number of items to display in lists of items before enabling paging.
/// </summary>
ListSize
} }
/// <summary> /// <summary>

View file

@ -419,6 +419,21 @@
Text="Display Gravatars for user accounts" Text="Display Gravatars for user accounts"
meta:resourcekey="chkDisplayGravatarsResource1" /> meta:resourcekey="chkDisplayGravatarsResource1" />
</div> </div>
<div class="featurecontainer">
<asp:Literal ID="lblDisplayAtMostPre" runat="server" Text="Display at most"
EnableViewState="false" meta:resourcekey="lblDisplayAtMostPreResource1" />
<anthem:TextBox ID="txtListSize" runat="server"
CssClass="configsmallest" meta:resourceKey="txtListSizeResource1" />
<asp:Literal ID="lblDisplayAtMostPost" runat="server" Text="items in a list, then start paging"
EnableViewState="false" meta:resourcekey="lblDisplayAtMostPostResource1" />
<anthem:RangeValidator ID="rvListSize" runat="server" Display="Dynamic"
AutoUpdateAfterCallBack="True" CssClass="resulterror"
ControlToValidate="txtListSize" ErrorMessage="Number must be between 10 and 1000"
Type="Integer" MinimumValue="10" MaximumValue="1000"
meta:resourcekey="rvListSizeResource1" UpdateAfterCallBack="True" />
</div>
</div> </div>
<div id="ConfigSecurityDiv"> <div id="ConfigSecurityDiv">

View file

@ -176,6 +176,7 @@ namespace ScrewTurn.Wiki {
if(Settings.KeptBackupNumber == -1) txtKeptBackupNumber.Text = ""; if(Settings.KeptBackupNumber == -1) txtKeptBackupNumber.Text = "";
else txtKeptBackupNumber.Text = Settings.KeptBackupNumber.ToString(); else txtKeptBackupNumber.Text = Settings.KeptBackupNumber.ToString();
chkDisplayGravatars.Checked = Settings.DisplayGravatars; chkDisplayGravatars.Checked = Settings.DisplayGravatars;
txtListSize.Text = Settings.ListSize.ToString();
} }
/// <summary> /// <summary>
@ -465,6 +466,7 @@ namespace ScrewTurn.Wiki {
if(txtKeptBackupNumber.Text == "") Settings.KeptBackupNumber = -1; if(txtKeptBackupNumber.Text == "") Settings.KeptBackupNumber = -1;
else Settings.KeptBackupNumber = int.Parse(txtKeptBackupNumber.Text); else Settings.KeptBackupNumber = int.Parse(txtKeptBackupNumber.Text);
Settings.DisplayGravatars = chkDisplayGravatars.Checked; Settings.DisplayGravatars = chkDisplayGravatars.Checked;
Settings.ListSize = int.Parse(txtListSize.Text);
// Save security configuration // Save security configuration
Settings.UsersCanRegister = chkAllowUsersToRegister.Checked; Settings.UsersCanRegister = chkAllowUsersToRegister.Checked;

View file

@ -1,7 +1,6 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:2.0.50727.4927
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
@ -706,6 +705,42 @@ namespace ScrewTurn.Wiki {
/// </remarks> /// </remarks>
protected global::Anthem.CheckBox chkDisplayGravatars; protected global::Anthem.CheckBox chkDisplayGravatars;
/// <summary>
/// lblDisplayAtMostPre control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal lblDisplayAtMostPre;
/// <summary>
/// txtListSize control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Anthem.TextBox txtListSize;
/// <summary>
/// lblDisplayAtMostPost control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal lblDisplayAtMostPost;
/// <summary>
/// rvListSize control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::Anthem.RangeValidator rvListSize;
/// <summary> /// <summary>
/// lblSecurityConfig control. /// lblSecurityConfig control.
/// </summary> /// </summary>

View file

@ -44,7 +44,7 @@
</div> </div>
<div id="PageSelectorDiv"> <div id="PageSelectorDiv">
<st:PageSelector ID="pageSelector" runat="server" PageSize='<%# ScrewTurn.Wiki.AdminPages.PageSize %>' OnSelectedPageChanged="pageSelector_SelectedPageChanged" /> <st:PageSelector ID="pageSelector" runat="server" PageSize='<%# PageSize %>' OnSelectedPageChanged="pageSelector_SelectedPageChanged" />
</div> </div>
<div id="PagesListContainerDiv"> <div id="PagesListContainerDiv">

View file

@ -13,18 +13,20 @@ namespace ScrewTurn.Wiki {
/// <summary> /// <summary>
/// The numer of items in a page. /// The numer of items in a page.
/// </summary> /// </summary>
public const int PageSize = 50; public int PageSize = 50;
private IList<PageInfo> currentPages = null; private IList<PageInfo> currentPages = null;
private int rangeBegin = 0; private int rangeBegin = 0;
private int rangeEnd = PageSize - 1; private int rangeEnd = 49;
private int selectedPage = 0; private int selectedPage = 0;
private PageInfo externallySelectedPage = null; private PageInfo externallySelectedPage = null;
protected void Page_Load(object sender, EventArgs e) { protected void Page_Load(object sender, EventArgs e) {
AdminMaster.RedirectToLoginIfNeeded(); AdminMaster.RedirectToLoginIfNeeded();
PageSize = Settings.ListSize;
rangeEnd = PageSize - 1;
if(!Page.IsPostBack) { if(!Page.IsPostBack) {
// Load namespaces // Load namespaces

View file

@ -1,7 +1,6 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:2.0.50727.4927
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.

View file

@ -55,7 +55,7 @@
meta:resourcekey="btnFilterResource1" /> meta:resourcekey="btnFilterResource1" />
<div id="PageSelectorDiv"> <div id="PageSelectorDiv">
<st:PageSelector ID="pageSelector" runat="server" PageSize='<%# ScrewTurn.Wiki.AdminUsers.PageSize %>' OnSelectedPageChanged="pageSelector_SelectedPageChanged" /> <st:PageSelector ID="pageSelector" runat="server" PageSize='<%# PageSize %>' OnSelectedPageChanged="pageSelector_SelectedPageChanged" />
</div> </div>
<div id="UsersListContainerDiv"> <div id="UsersListContainerDiv">

View file

@ -14,16 +14,18 @@ namespace ScrewTurn.Wiki {
/// <summary> /// <summary>
/// The numer of items in a page. /// The numer of items in a page.
/// </summary> /// </summary>
public const int PageSize = 50; public int PageSize = 50;
private IList<UserInfo> currentUsers = null; private IList<UserInfo> currentUsers = null;
private int rangeBegin = 0; private int rangeBegin = 0;
private int rangeEnd = PageSize - 1; private int rangeEnd = 49;
private int selectedPage = 0; private int selectedPage = 0;
protected void Page_Load(object sender, EventArgs e) { protected void Page_Load(object sender, EventArgs e) {
AdminMaster.RedirectToLoginIfNeeded(); AdminMaster.RedirectToLoginIfNeeded();
PageSize = Settings.ListSize;
rangeEnd = PageSize - 1;
if(!AdminMaster.CanManageUsers(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames())) UrlTools.Redirect("AccessDenied.aspx"); if(!AdminMaster.CanManageUsers(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames())) UrlTools.Redirect("AccessDenied.aspx");
aclActionsSelector.Visible = AdminMaster.CanManagePermissions(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames()); aclActionsSelector.Visible = AdminMaster.CanManagePermissions(SessionFacade.GetCurrentUsername(), SessionFacade.GetCurrentGroupNames());

View file

@ -1,7 +1,6 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:2.0.50727.4927
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.

View file

@ -13,7 +13,7 @@
<asp:HyperLink ID="lnkSearch" runat="server" Text="Search" ToolTip="Perform a Search" meta:resourcekey="lnkSearchResource1" /> <asp:HyperLink ID="lnkSearch" runat="server" Text="Search" ToolTip="Perform a Search" meta:resourcekey="lnkSearchResource1" />
<div id="PageSelectorDiv"> <div id="PageSelectorDiv">
<st:PageSelector ID="pageSelector" runat="server" PageSize="<%# ScrewTurn.Wiki.AllPages.PageSize %>" OnSelectedPageChanged="pageSelector_SelectedPageChanged" /> <st:PageSelector ID="pageSelector" runat="server" PageSize="<%# PageSize %>" OnSelectedPageChanged="pageSelector_SelectedPageChanged" />
</div> </div>
<anthem:Panel ID="pnlPageList" runat="server" EnableViewState="False" AutoUpdateAfterCallBack="True" meta:resourcekey="pnlPageListResource1" UpdateAfterCallBack="True" /> <anthem:Panel ID="pnlPageList" runat="server" EnableViewState="False" AutoUpdateAfterCallBack="True" meta:resourcekey="pnlPageListResource1" UpdateAfterCallBack="True" />

View file

@ -21,16 +21,18 @@ namespace ScrewTurn.Wiki {
/// <summary> /// <summary>
/// The number of items in a page. /// The number of items in a page.
/// </summary> /// </summary>
public const int PageSize = 50; public int PageSize = 50;
private int selectedPage = 0; private int selectedPage = 0;
private int rangeBegin = 0; private int rangeBegin = 0;
private int rangeEnd = PageSize - 1; private int rangeEnd = 49;
private IList<PageInfo> currentPages = null; private IList<PageInfo> currentPages = null;
protected void Page_Load(object sender, EventArgs e) { protected void Page_Load(object sender, EventArgs e) {
Page.Title = Properties.Messages.AllPagesTitle + " - " + Settings.WikiTitle; Page.Title = Properties.Messages.AllPagesTitle + " - " + Settings.WikiTitle;
PageSize = Settings.ListSize;
rangeEnd = PageSize - 1;
LoginTools.VerifyReadPermissionsForCurrentNamespace(); LoginTools.VerifyReadPermissionsForCurrentNamespace();

View file

@ -1,7 +1,6 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:2.0.50727.3074
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.

View file

@ -1077,4 +1077,27 @@
<data name="chkEnableSectionAnchorsResource1.ToolTip" xml:space="preserve"> <data name="chkEnableSectionAnchorsResource1.ToolTip" xml:space="preserve">
<value /> <value />
</data> </data>
<data name="lblDisplayAtMostPostResource1.Text" xml:space="preserve">
<value>items in a list, then start paging</value>
<comment>As in 'Display at most 5 items in a list, ...'</comment>
</data>
<data name="lblDisplayAtMostPreResource1.Text" xml:space="preserve">
<value>Display at most</value>
<comment>As in 'Display at most: 5 items'</comment>
</data>
<data name="rvListSizeResource1.ErrorMessage" xml:space="preserve">
<value>Number must be between 10 and 1000</value>
</data>
<data name="rvListSizeResource1.Text" xml:space="preserve">
<value />
</data>
<data name="rvListSizeResource1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="txtListSizeResource1.Text" xml:space="preserve">
<value />
</data>
<data name="txtListSizeResource1.ToolTip" xml:space="preserve">
<value />
</data>
</root> </root>

View file

@ -16,6 +16,10 @@ namespace ScrewTurn.Wiki {
private int pageSize = 50; private int pageSize = 50;
private int selectedPage = 0; private int selectedPage = 0;
protected PageSelector() {
pageSize = Settings.ListSize;
}
protected void Page_Load(object sender, EventArgs e) { protected void Page_Load(object sender, EventArgs e) {
// Load data from ViewState // Load data from ViewState
object temp = ViewState[ItemCountName]; object temp = ViewState[ItemCountName];