using System; using System.Data; using System.Web; using System.Web.UI; using CMS.Controls; using CMS.GlobalHelper; using CMS.PortalControls; public partial class CMSWebParts_Viewers_Documents_documentpager : CMSAbstractWebPart { #region "Document properties" /// /// Gets or sets the cache item name. /// public override string CacheItemName { get { return base.CacheItemName; } set { base.CacheItemName = value; repItems.CacheItemName = value; } } /// /// Cache dependencies, each cache dependency on a new line. /// public override string CacheDependencies { get { return ValidationHelper.GetString(base.CacheDependencies, repItems.CacheDependencies); } set { base.CacheDependencies = value; repItems.CacheDependencies = value; } } /// /// Gets or sets the cache minutes. /// public override int CacheMinutes { get { return base.CacheMinutes; } set { base.CacheMinutes = value; repItems.CacheMinutes = value; } } /// /// Gets or sets the class names. /// public string ClassNames { get { return DataHelper.GetNotEmpty(ValidationHelper.GetString(GetValue("Classnames"), repItems.ClassNames), repItems.ClassNames); } set { SetValue("ClassNames", value); repItems.ClassNames = value; } } /// /// Gets or sets the name of the transforamtion which is used for displaying the results. /// public string TransformationName { get { return DataHelper.GetNotEmpty(ValidationHelper.GetString(GetValue("TransformationName"), repItems.TransformationName), repItems.TransformationName); } set { SetValue("TransformationName", value); repItems.TransformationName = value; } } /// /// Gets or sets the culture code of the documents. /// public string CultureCode { get { return DataHelper.GetNotEmpty(ValidationHelper.GetString(GetValue("CultureCode"), repItems.CultureCode), repItems.CultureCode); } set { SetValue("CultureCode", value); repItems.CultureCode = value; } } /// /// Gets or sets the path of the documents. /// public string Path { get { return DataHelper.GetNotEmpty(ValidationHelper.GetString(GetValue("Path"), repItems.Path), repItems.Path); } set { SetValue("Path", value); repItems.Path = value; } } /// /// Gets or sets the site name. /// public string SiteName { get { return DataHelper.GetNotEmpty(ValidationHelper.GetString(GetValue("SiteName"), repItems.SiteName), repItems.SiteName); } set { SetValue("SiteName", value); repItems.SiteName = value; } } /// /// Gets or sets the value that indicates whether permissions should be checked. /// public bool CheckPermissions { get { return ValidationHelper.GetBoolean(GetValue("CheckPermissions"), repItems.CheckPermissions); } set { SetValue("CheckPermissions", value); repItems.CheckPermissions = value; } } #endregion #region "Pager properties" /// /// Gets or sets the value that indicates whether paging is enabled. /// public bool EnablePaging { get { return ValidationHelper.GetBoolean(GetValue("EnablePaging"), repItems.EnablePaging); } set { SetValue("EnablePaging", value); repItems.EnablePaging = value; } } /// /// Gets or sets the pager position. /// public PagingPlaceTypeEnum PagerPosition { get { return repItems.PagerControl.GetPagerPosition(DataHelper.GetNotEmpty(GetValue("PagerPosition"), repItems.PagerControl.PagerPosition.ToString())); } set { SetValue("PagerPosition", value.ToString()); repItems.PagerControl.PagerPosition = value; } } /// /// Gets or sets the number of the documents displayed on each sigle page. /// public int PageSize { get { return ValidationHelper.GetInteger(GetValue("PageSize"), repItems.PageSize); } set { SetValue("PageSize", value); repItems.PageSize = value; } } /// /// Gets or sets the pager query string key. /// public string QueryStringKey { get { return DataHelper.GetNotEmpty(ValidationHelper.GetString(GetValue("QueryStringKey"), repItems.PagerControl.QueryStringKey), repItems.PagerControl.QueryStringKey); } set { SetValue("QueryStringKey", value); repItems.PagerControl.QueryStringKey = value; } } /// /// Gets or sets the paging mode. /// public PagingModeTypeEnum PagingMode { get { return repItems.PagerControl.GetPagingMode(DataHelper.GetNotEmpty(GetValue("PagingMode"), repItems.PagerControl.PagingMode.ToString())); } set { SetValue("PagingMode", value.ToString()); repItems.PagerControl.PagingMode = value; } } /// /// Gets or sets the value that indicates whether first and last page is shown if paging is allowed. /// public bool ShowFirstLast { get { return ValidationHelper.GetBoolean(GetValue("ShowFirstLast"), repItems.PagerControl.ShowFirstLast); } set { SetValue("ShowFirstLast", value); repItems.PagerControl.ShowFirstLast = value; } } #endregion #region "Other pager properties" /// /// Gets or sets the back text. /// public string BackText { get { return DataHelper.GetNotEmpty(GetValue("BackText"), repItems.PagerControl.BackText); } set { SetValue("BackText", value); repItems.PagerControl.BackText = value; } } /// /// Gets or sets the next text. /// public string NextText { get { return DataHelper.GetNotEmpty(GetValue("NextText"), repItems.PagerControl.NextText); } set { SetValue("NextText", value); repItems.PagerControl.NextText = value; } } /// /// Gets or sets the back next display type. /// public BackNextDisplayTypeEnum BackNextDisplay { get { return repItems.PagerControl.BackNextDisplay; } set { repItems.PagerControl.BackNextDisplay = value; } } /// /// Gets or sets the page numbers display mode. /// public PageNumbersDisplayTypeEnum PageNumbersDisplay { get { return repItems.PagerControl.PageNumbersDisplay; } set { repItems.PagerControl.PageNumbersDisplay = value; } } /// /// Gets or sets the result locations. /// public ResultsLocationTypeEnum ResultsLocation { get { return repItems.PagerControl.ResultsLocation; } set { repItems.PagerControl.ResultsLocation = value; } } #endregion #region "Class properties" /// /// Gets or sets the selected page CSS class. /// public string SelectedClass { get { return DataHelper.GetNotEmpty(GetValue("SelectedPageClass"), repItems.PagerControl.SelectedClass); } set { SetValue("SelectedPageClass", value); repItems.PagerControl.SelectedClass = value; } } /// /// Gets or sets the unselected page CSS class. /// public string UnselectedClass { get { return DataHelper.GetNotEmpty(GetValue("UnselectedPageClass"), repItems.PagerControl.UnselectedClass); } set { SetValue("UnselectedPageClass", value); repItems.PagerControl.UnselectedClass = value; } } /// /// Gets or sets the selected next CSS class. /// public string SelectedNextClass { get { return DataHelper.GetNotEmpty(GetValue("SelectedNextClass"), repItems.PagerControl.SelectedNextClass); } set { SetValue("SelectedNextClass", value); repItems.PagerControl.SelectedNextClass = value; } } /// /// Gets or sets the selected previous CSS class. /// public string SelectedPrevClass { get { return DataHelper.GetNotEmpty(GetValue("SelectedPrevClass"), repItems.PagerControl.SelectedPrevClass); } set { SetValue("SelectedPrevClass", value); repItems.PagerControl.SelectedPrevClass = value; } } /// /// Gets or sets the unselected next CSS class. /// public string UnselectedNextClass { get { return DataHelper.GetNotEmpty(GetValue("UnselectedNextClass"), repItems.PagerControl.UnselectedNextClass); } set { SetValue("UnselectedNextClass", value); repItems.PagerControl.UnselectedNextClass = value; } } /// /// Gets or sets the unselected previous CSS class. /// public string UnselectedPrevClass { get { return DataHelper.GetNotEmpty(GetValue("UnselectedPrevClass"), repItems.PagerControl.UnselectedPrevClass); } set { SetValue("UnselectedPrevClass", value); repItems.PagerControl.UnselectedPrevClass = value; } } /// /// Gets or sets the page number separator. /// public string PageNumbersSeparator { get { return ValidationHelper.GetString(GetValue("PageNumberSeparator"), repItems.PagerControl.PageNumbersSeparator); } set { SetValue("PageNumberSeparator", value); repItems.PagerControl.PageNumbersSeparator = value; } } #endregion #region "Stop processing" /// /// Returns true if the control processing should be stopped. /// public override bool StopProcessing { get { return base.StopProcessing; } set { base.StopProcessing = value; repItems.StopProcessing = value; } } #endregion /// /// Content loaded event handler. /// public override void OnContentLoaded() { base.OnContentLoaded(); SetupControl(); } /// /// Initializes the control properties. /// protected void SetupControl() { if (StopProcessing) { repItems.StopProcessing = true; } else { repItems.ControlContext = ControlContext; // Set properties from Webpart form repItems.Path = Path; repItems.SiteName = SiteName; repItems.CultureCode = CultureCode; repItems.ClassNames = ClassNames; repItems.CacheItemName = CacheItemName; repItems.CacheDependencies = CacheDependencies; repItems.CacheMinutes = CacheMinutes; repItems.TransformationName = TransformationName; repItems.CheckPermissions = CheckPermissions; repItems.PagerControl.BackText = BackText; repItems.PagerControl.NextText = NextText; repItems.PagerControl.PagerPosition = PagerPosition; EnablePaging = true; PageSize = 1; repItems.OrderBy = "NodeOrder"; BackNextDisplay = BackNextDisplayTypeEnum.HyperLinks; PageNumbersDisplay = PageNumbersDisplayTypeEnum.Numbers; ShowFirstLast = false; ResultsLocation = ResultsLocationTypeEnum.None; repItems.PagerControl.SelectedClass = SelectedClass; repItems.PagerControl.UnselectedClass = UnselectedClass; repItems.PagerControl.SelectedNextClass = SelectedNextClass; repItems.PagerControl.SelectedPrevClass = SelectedPrevClass; repItems.PagerControl.UnselectedNextClass = UnselectedNextClass; repItems.PagerControl.UnselectedPrevClass = UnselectedPrevClass; repItems.PagerControl.PageNumbersSeparator = PageNumbersSeparator; } } /// /// OnPrerender override (Set visibility). /// protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); Visible = repItems.Visible && !StopProcessing; if (DataHelper.DataSourceIsEmpty(repItems.DataSource) && repItems.HideControlForZeroRows) { Visible = false; } } /// /// Reload data. /// public override void ReloadData() { base.ReloadData(); SetupControl(); repItems.ReloadData(true); } /// /// Clears cache. /// public override void ClearCache() { repItems.ClearCache(); } }