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

@ -232,73 +232,73 @@
CssClass="configlarge" meta:resourcekey="lstDefaultTimeZoneResource1"> CssClass="configlarge" meta:resourcekey="lstDefaultTimeZoneResource1">
<asp:ListItem Value="-720" Text="(GMT-12:00) International Date Line West" <asp:ListItem Value="-720" Text="(GMT-12:00) International Date Line West"
meta:resourcekey="ListItemResource1" /> meta:resourcekey="ListItemResource1" />
<asp:ListItem Value="-660" Text="(GMT-11:00) Midway Island, Samoa" <asp:ListItem Value="-660" Text="(GMT-11:00) Midway Island, Samoa"
meta:resourcekey="ListItemResource2" /> meta:resourcekey="ListItemResource2" />
<asp:ListItem Value="-600" Text="(GMT-10:00) Hawaii" <asp:ListItem Value="-600" Text="(GMT-10:00) Hawaii"
meta:resourcekey="ListItemResource3" /> meta:resourcekey="ListItemResource3" />
<asp:ListItem Value="-540" Text="(GMT-09:00) Alaska" <asp:ListItem Value="-540" Text="(GMT-09:00) Alaska"
meta:resourcekey="ListItemResource4" /> meta:resourcekey="ListItemResource4" />
<asp:ListItem Value="-480" Text="(GMT-08:00) Pacific" <asp:ListItem Value="-480" Text="(GMT-08:00) Pacific"
meta:resourcekey="ListItemResource5" /> meta:resourcekey="ListItemResource5" />
<asp:ListItem Value="-420" Text="(GMT-07:00) Mountain" <asp:ListItem Value="-420" Text="(GMT-07:00) Mountain"
meta:resourcekey="ListItemResource6" /> meta:resourcekey="ListItemResource6" />
<asp:ListItem Value="-360" Text="(GMT-06:00) Central" <asp:ListItem Value="-360" Text="(GMT-06:00) Central"
meta:resourcekey="ListItemResource7" /> meta:resourcekey="ListItemResource7" />
<asp:ListItem Value="-300" Text="(GMT-05:00) Eastern" <asp:ListItem Value="-300" Text="(GMT-05:00) Eastern"
meta:resourcekey="ListItemResource8" /> meta:resourcekey="ListItemResource8" />
<asp:ListItem Value="-240" Text="(GMT-04:00) Atlantic" <asp:ListItem Value="-240" Text="(GMT-04:00) Atlantic"
meta:resourcekey="ListItemResource9" /> meta:resourcekey="ListItemResource9" />
<asp:ListItem Value="-210" Text="(GMT-03:30) Newfoundland" <asp:ListItem Value="-210" Text="(GMT-03:30) Newfoundland"
meta:resourcekey="ListItemResource10" /> meta:resourcekey="ListItemResource10" />
<asp:ListItem Value="-180" Text="(GMT-03:00) Greenland" <asp:ListItem Value="-180" Text="(GMT-03:00) Greenland"
meta:resourcekey="ListItemResource11" /> meta:resourcekey="ListItemResource11" />
<asp:ListItem Value="-120" Text="(GMT-02:00) Mid-Atlantic" <asp:ListItem Value="-120" Text="(GMT-02:00) Mid-Atlantic"
meta:resourcekey="ListItemResource12" /> meta:resourcekey="ListItemResource12" />
<asp:ListItem Value="-60" Text="(GMT-01:00) Azores" <asp:ListItem Value="-60" Text="(GMT-01:00) Azores"
meta:resourcekey="ListItemResource13" /> meta:resourcekey="ListItemResource13" />
<asp:ListItem Value="0" Text="(GMT) Greenwich" Selected="True" <asp:ListItem Value="0" Text="(GMT) Greenwich" Selected="True"
meta:resourcekey="ListItemResource14" /> meta:resourcekey="ListItemResource14" />
<asp:ListItem Value="60" Text="(GMT+01:00) Central European" <asp:ListItem Value="60" Text="(GMT+01:00) Central European"
meta:resourcekey="ListItemResource15" /> meta:resourcekey="ListItemResource15" />
<asp:ListItem Value="120" Text="(GMT+02:00) Eastern European" <asp:ListItem Value="120" Text="(GMT+02:00) Eastern European"
meta:resourcekey="ListItemResource16" /> meta:resourcekey="ListItemResource16" />
<asp:ListItem Value="180" Text="(GMT+03:00) Moscow, Baghdad" <asp:ListItem Value="180" Text="(GMT+03:00) Moscow, Baghdad"
meta:resourcekey="ListItemResource17" /> meta:resourcekey="ListItemResource17" />
<asp:ListItem Value="210" Text="(GMT+03:30) Iran" <asp:ListItem Value="210" Text="(GMT+03:30) Iran"
meta:resourcekey="ListItemResource18" /> meta:resourcekey="ListItemResource18" />
<asp:ListItem Value="240" Text="(GMT+04:00) Abu Dhabi, Dubai" <asp:ListItem Value="240" Text="(GMT+04:00) Abu Dhabi, Dubai"
meta:resourcekey="ListItemResource19" /> meta:resourcekey="ListItemResource19" />
<asp:ListItem Value="270" Text="(GMT+04:30) Kabul" <asp:ListItem Value="270" Text="(GMT+04:30) Kabul"
meta:resourcekey="ListItemResource20" /> meta:resourcekey="ListItemResource20" />
<asp:ListItem Value="300" Text="(GMT+05:00) Islamabad, Karachi" <asp:ListItem Value="300" Text="(GMT+05:00) Islamabad, Karachi"
meta:resourcekey="ListItemResource21" /> meta:resourcekey="ListItemResource21" />
<asp:ListItem Value="330" Text="(GMT+05:30) India" <asp:ListItem Value="330" Text="(GMT+05:30) India"
meta:resourcekey="ListItemResource22" /> meta:resourcekey="ListItemResource22" />
<asp:ListItem Value="345" Text="(GMT+05:45) Kathmandu" <asp:ListItem Value="345" Text="(GMT+05:45) Kathmandu"
meta:resourcekey="ListItemResource23" /> meta:resourcekey="ListItemResource23" />
<asp:ListItem Value="360" Text="(GMT+06:00) Astana, Dhaka" <asp:ListItem Value="360" Text="(GMT+06:00) Astana, Dhaka"
meta:resourcekey="ListItemResource24" /> meta:resourcekey="ListItemResource24" />
<asp:ListItem Value="390" Text="(GMT+06:30) Rangoon" <asp:ListItem Value="390" Text="(GMT+06:30) Rangoon"
meta:resourcekey="ListItemResource25" /> meta:resourcekey="ListItemResource25" />
<asp:ListItem Value="420" Text="(GMT+07:00) Bangkok, Jakarta" <asp:ListItem Value="420" Text="(GMT+07:00) Bangkok, Jakarta"
meta:resourcekey="ListItemResource26" /> meta:resourcekey="ListItemResource26" />
<asp:ListItem Value="480" Text="(GMT+08:00) China Coast, Western Australia" <asp:ListItem Value="480" Text="(GMT+08:00) China Coast, Western Australia"
meta:resourcekey="ListItemResource27" /> meta:resourcekey="ListItemResource27" />
<asp:ListItem Value="540" Text="(GMT+09:00) Japan, Korea" <asp:ListItem Value="540" Text="(GMT+09:00) Japan, Korea"
meta:resourcekey="ListItemResource28" /> meta:resourcekey="ListItemResource28" />
<asp:ListItem Value="570" Text="(GMT+09:30) Central Australia" <asp:ListItem Value="570" Text="(GMT+09:30) Central Australia"
meta:resourcekey="ListItemResource29" /> meta:resourcekey="ListItemResource29" />
<asp:ListItem Value="600" Text="(GMT+10:00) Eastern Australia" <asp:ListItem Value="600" Text="(GMT+10:00) Eastern Australia"
meta:resourcekey="ListItemResource30" /> meta:resourcekey="ListItemResource30" />
<asp:ListItem Value="660" Text="(GMT+11:00) Magadan, Solomon Island" <asp:ListItem Value="660" Text="(GMT+11:00) Magadan, Solomon Island"
meta:resourcekey="ListItemResource31" /> meta:resourcekey="ListItemResource31" />
<asp:ListItem Value="720" Text="(GMT+12:00) New Zealand, Fiji" <asp:ListItem Value="720" Text="(GMT+12:00) New Zealand, Fiji"
meta:resourcekey="ListItemResource32" /> meta:resourcekey="ListItemResource32" />
<asp:ListItem Value="765" Text="(GMT+12:45) Chatham Island NZ" <asp:ListItem Value="765" Text="(GMT+12:45) Chatham Island NZ"
meta:resourcekey="ListItemResource33" /> meta:resourcekey="ListItemResource33" />
<asp:ListItem Value="780" Text="(GMT+13:00) Tonga, Phoenix Islands" <asp:ListItem Value="780" Text="(GMT+13:00) Tonga, Phoenix Islands"
meta:resourcekey="ListItemResource34" /> meta:resourcekey="ListItemResource34" />
<asp:ListItem Value="840" Text="(GMT+14:00) Christmas Islands" <asp:ListItem Value="840" Text="(GMT+14:00) Christmas Islands"
meta:resourcekey="ListItemResource35" /> meta:resourcekey="ListItemResource35" />
</anthem:DropDownList> </anthem:DropDownList>
</div> </div>
@ -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">
@ -442,9 +457,9 @@
CssClass="configlarge" meta:resourcekey="lstAccountActivationModeResource1"> CssClass="configlarge" meta:resourcekey="lstAccountActivationModeResource1">
<asp:ListItem Value="EMAIL" Text="Users must activate their account via Email" <asp:ListItem Value="EMAIL" Text="Users must activate their account via Email"
meta:resourcekey="ListItemResource36" /> meta:resourcekey="ListItemResource36" />
<asp:ListItem Value="ADMIN" Text="Administrators must activate accounts" <asp:ListItem Value="ADMIN" Text="Administrators must activate accounts"
meta:resourcekey="ListItemResource37" /> meta:resourcekey="ListItemResource37" />
<asp:ListItem Value="AUTO" Text="Accounts are active by default" <asp:ListItem Value="AUTO" Text="Accounts are active by default"
meta:resourcekey="ListItemResource38" /> meta:resourcekey="ListItemResource38" />
</anthem:DropDownList> </anthem:DropDownList>
</div> </div>
@ -584,10 +599,10 @@
</div> </div>
<div class="featurecontainer"> <div class="featurecontainer">
<asp:Literal ID="lblIpHostFilter" runat="server" Text="IP Filter for allowed editing (seperate with commas, Use '*' for wild cards, Example: 192.168.1.*)" <asp:Literal ID="lblIpHostFilter" runat="server" Text="IP Filter for allowed editing (seperate with commas, Use '*' for wild cards, Example: 192.168.1.*)"
EnableViewState="false" meta:resourceKey="lblIpHostFilterResource1" /><br /> EnableViewState="false" meta:resourceKey="lblIpHostFilterResource1" /><br />
<anthem:TextBox ID="txtIpHostFilter" runat="server" CssClass="configlarge" <anthem:TextBox ID="txtIpHostFilter" runat="server" CssClass="configlarge"
meta:resourcekey="txtIpHostFilterResource1" /> meta:resourcekey="txtIpHostFilterResource1" />
</div> </div>
</div> </div>
@ -600,21 +615,21 @@
</div> </div>
<div class="featurecontainer"> <div class="featurecontainer">
<asp:Literal ID="lblUsernameRegEx" Text="Regular Expression for validating usernames and group names" runat="server" EnableViewState="false" <asp:Literal ID="lblUsernameRegEx" Text="Regular Expression for validating usernames and group names" runat="server" EnableViewState="false"
meta:resourcekey="lblUsernameRegExResource2" /><br /> meta:resourcekey="lblUsernameRegExResource2" /><br />
<anthem:TextBox ID="txtUsernameRegEx" runat="server" CssClass="configlarge" <anthem:TextBox ID="txtUsernameRegEx" runat="server" CssClass="configlarge"
meta:resourcekey="txtUsernameRegExResource1" /> meta:resourcekey="txtUsernameRegExResource1" />
<anthem:CustomValidator ID="cvUsernameRegEx" runat="server" Display="Dynamic" CssClass="resulterror" <anthem:CustomValidator ID="cvUsernameRegEx" runat="server" Display="Dynamic" CssClass="resulterror"
ControlToValidate="txtUsernameRegEx" ErrorMessage="Invalid Regular Expression" ControlToValidate="txtUsernameRegEx" ErrorMessage="Invalid Regular Expression"
OnServerValidate="cvUsernameRegEx_ServerValidate" AutoUpdateAfterCallBack="True" OnServerValidate="cvUsernameRegEx_ServerValidate" AutoUpdateAfterCallBack="True"
meta:resourcekey="cvUsernameRegExResource1" UpdateAfterCallBack="True" /> meta:resourcekey="cvUsernameRegExResource1" UpdateAfterCallBack="True" />
</div> </div>
<div class="featurecontainer"> <div class="featurecontainer">
<asp:Literal ID="lblPasswordRegEx" Text="Regular Expression for validating passwords" runat="server" EnableViewState="false" <asp:Literal ID="lblPasswordRegEx" Text="Regular Expression for validating passwords" runat="server" EnableViewState="false"
meta:resourcekey="lblPasswordRegExResource2" /><br /> meta:resourcekey="lblPasswordRegExResource2" /><br />
<anthem:TextBox ID="txtPasswordRegEx" runat="server" CssClass="configlarge" <anthem:TextBox ID="txtPasswordRegEx" runat="server" CssClass="configlarge"
meta:resourcekey="txtPasswordRegExResource1" /> meta:resourcekey="txtPasswordRegExResource1" />
<anthem:CustomValidator ID="cvPasswordRegEx" runat="server" Display="Dynamic" CssClass="resulterror" <anthem:CustomValidator ID="cvPasswordRegEx" runat="server" Display="Dynamic" CssClass="resulterror"
ControlToValidate="txtPasswordRegEx" ErrorMessage="Invalid Regular Expression" ControlToValidate="txtPasswordRegEx" ErrorMessage="Invalid Regular Expression"
OnServerValidate="cvPasswordRegEx_ServerValidate" AutoUpdateAfterCallBack="True" OnServerValidate="cvPasswordRegEx_ServerValidate" AutoUpdateAfterCallBack="True"

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

@ -4,18 +4,18 @@
<asp:Content ID="CtnPages" ContentPlaceHolderID="CphMaster" Runat="Server"> <asp:Content ID="CtnPages" ContentPlaceHolderID="CphMaster" Runat="Server">
<h1 class="pagetitlesystem"><asp:Literal ID="lblPages" runat="server" Text="Page Index" meta:resourcekey="lblPagesResource1" EnableViewState="False" /></h1> <h1 class="pagetitlesystem"><asp:Literal ID="lblPages" runat="server" Text="Page Index" meta:resourcekey="lblPagesResource1" EnableViewState="False" /></h1>
<p><asp:Literal ID="lblDescription" runat="server" Text="The list of all pages contained in the current namespace." meta:resourcekey="lblDescriptionResource1" EnableViewState="False" /></p> <p><asp:Literal ID="lblDescription" runat="server" Text="The list of all pages contained in the current namespace." meta:resourcekey="lblDescriptionResource1" EnableViewState="False" /></p>
<br /> <br />
<asp:HyperLink ID="lnkCategories" runat="server" Text="Page Categories" ToolTip="View all Page Categories" meta:resourcekey="lnkCategoriesResource1" /> <asp:HyperLink ID="lnkCategories" runat="server" Text="Page Categories" ToolTip="View all Page Categories" meta:resourcekey="lnkCategoriesResource1" />
&bull; &bull;
<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" />
</asp:Content> </asp:Content>

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();
@ -58,7 +60,7 @@ namespace ScrewTurn.Wiki {
// This page cannot use a repeater because the page list has particular elements used for grouping pages // This page cannot use a repeater because the page list has particular elements used for grouping pages
PrintPages(); PrintPages();
} }
protected void pageSelector_SelectedPageChanged(object sender, SelectedPageChangedEventArgs e) { protected void pageSelector_SelectedPageChanged(object sender, SelectedPageChangedEventArgs e) {
rangeBegin = e.SelectedPage * PageSize; rangeBegin = e.SelectedPage * PageSize;
@ -120,7 +122,7 @@ namespace ScrewTurn.Wiki {
/// <summary> /// <summary>
/// Prints the pages. /// Prints the pages.
/// </summary> /// </summary>
public void PrintPages() { public void PrintPages() {
StringBuilder sb = new StringBuilder(65536); StringBuilder sb = new StringBuilder(65536);
if(currentPages == null) currentPages = GetAllPages(); if(currentPages == null) currentPages = GetAllPages();
@ -343,7 +345,7 @@ namespace ScrewTurn.Wiki {
lbl.Text = sb.ToString(); lbl.Text = sb.ToString();
pnlPageList.Controls.Clear(); pnlPageList.Controls.Clear();
pnlPageList.Controls.Add(lbl); pnlPageList.Controls.Add(lbl);
} }
} }

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];