PageRenderTime 54ms CodeModel.GetById 31ms RepoModel.GetById 0ms app.codeStats 0ms

/CMSModules/Categories/Controls/Categories.ascx

https://bitbucket.org/kudutest2/kenticogit
ASP.NET | 238 lines | 226 code | 12 blank | 0 comment | 5 complexity | 5feecf2921e4b45fb1fdd1d866b333fc MD5 | raw file
  1. <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Categories.ascx.cs" Inherits="CMSModules_Categories_Controls_Categories" %>
  2. <%@ Register Src="~/CMSAdminControls/UI/Trees/UniTree.ascx" TagName="UniTree" TagPrefix="cms" %>
  3. <%@ Register Src="~/CMSFormControls/Sites/SiteSelector.ascx" TagName="SiteSelector"
  4. TagPrefix="cms" %>
  5. <%@ Register Src="~/CMSModules/Categories/Controls/CategoryEdit.ascx" TagName="CategoryEdit"
  6. TagPrefix="cms" %>
  7. <%@ Register Src="~/CMSModules/AdminControls/Controls/Documents/Documents.ascx" TagName="Documents"
  8. TagPrefix="cms" %>
  9. <%@ Register Src="~/CMSFormControls/Filters/DocumentFilter.ascx" TagName="DocumentFilter"
  10. TagPrefix="cms" %>
  11. <%@ Register Src="~/CMSAdminControls/UI/PageElements/PageTitle.ascx" TagName="PageTitle"
  12. TagPrefix="cms" %>
  13. <%@ Register Src="~/CMSAdminControls/UI/UniGrid/UniGrid.ascx" TagName="UniGrid" TagPrefix="cms" %>
  14. <%@ Register Namespace="CMS.UIControls.UniGridConfig" TagPrefix="ug" Assembly="CMS.UIControls" %>
  15. <asp:Literal ID="ltlScript" runat="server" EnableViewState="false" />
  16. <script type="text/javascript" language="javascript">
  17. //<![CDATA[
  18. var selectedTreeNode = '';
  19. function SelectNode(elementName) {
  20. // Set selected item in tree
  21. selectedTreeNode = elementName;
  22. $j('span[id^="node_"]').each(function() {
  23. var jThis = $j(this);
  24. jThis.removeClass('ContentTreeSelectedItem');
  25. if (!jThis.hasClass('ContentTreeItem')) {
  26. jThis.addClass('ContentTreeItem');
  27. }
  28. if (this.id == 'node_' + elementName) {
  29. jThis.addClass('ContentTreeSelectedItem');
  30. }
  31. });
  32. }
  33. function NodeSelected(elementId, parentId) {
  34. // Set menu actions value
  35. var menuElem = $j('#' + menuHiddenId);
  36. if (menuElem.length = 1) {
  37. menuElem[0].value = elementId + '|' + parentId;
  38. }
  39. RaiseHiddenPostBack();
  40. }
  41. //]]>
  42. </script>
  43. <cms:CMSUpdatePanel ID="pnlUpdateHidden" runat="server" RenderMode="Inline">
  44. <ContentTemplate>
  45. <asp:HiddenField ID="hidSelectedElem" runat="server" />
  46. <asp:Button ID="hdnButton" runat="server" OnClick="hdnButton_Click" CssClass="HiddenButton"
  47. EnableViewState="false" />
  48. </ContentTemplate>
  49. </cms:CMSUpdatePanel>
  50. <asp:PlaceHolder ID="plcSelectSite" runat="server">
  51. <div class="PageHeaderLine SiteHeaderLine">
  52. <cms:LocalizedLabel ID="lblSite" runat="server" ResourceString="General.Site" DisplayColon="true"></cms:LocalizedLabel>
  53. <cms:SiteSelector ID="SelectSite" runat="server" IsLiveSite="false" AllowAll="false"
  54. AllowEmpty="false" AllowGlobal="true" />
  55. </div>
  56. </asp:PlaceHolder>
  57. <div id="categories" class="Categories">
  58. <asp:Panel ID="pnlLeftContent" runat="server" CssClass="DialogLeftBlock">
  59. <cms:CMSUpdatePanel ID="pnlUpdateActions" runat="server" UpdateMode="Conditional">
  60. <ContentTemplate>
  61. <asp:PlaceHolder ID="plcFolderActions" runat="server">
  62. <div class="MenuSubBox">
  63. <div class="TreeMenuPadding" id="pnlMenu">
  64. <div class="TreeMenuContent" id="pnlMenuContent">
  65. <table style="width: 100%; padding: 0px;">
  66. <tbody>
  67. <tr>
  68. <td style="width: 50%; height: 24px;">
  69. <div>
  70. <asp:Image ID="imgNewCategory" runat="server" CssClass="NewItemImage"/><asp:LinkButton ID="btnNew" runat="server" OnClick="btnNewElem_Click" EnableViewState="false" />
  71. </div>
  72. </td>
  73. <td style="width: 50%">
  74. <div>
  75. <asp:Image ID="imgMoveUp" runat="server" CssClass="NewItemImage"/><asp:LinkButton ID="btnUp" runat="server" OnClick="btnUpElem_Click" EnableViewState="false" />
  76. </div>
  77. </td>
  78. </tr>
  79. <tr>
  80. <td style="width: 50%; height: 24px;">
  81. <div>
  82. <asp:Image ID="imgDeleteCategory" runat="server" CssClass="NewItemImage"/><asp:LinkButton ID="btnDelete" runat="server" OnClick="btnDeleteElem_Click" EnableViewState="false"
  83. OnClientClick="return deleteConfirm();" />
  84. </div>
  85. </td>
  86. <td style="width: 50%">
  87. <div>
  88. <asp:Image ID="imgMoveDown" runat="server" CssClass="NewItemImage"/><asp:LinkButton ID="btnDown" runat="server" OnClick="btnDownElem_Click" EnableViewState="false" />
  89. </div>
  90. </td>
  91. </tr>
  92. </tbody>
  93. </table>
  94. </div>
  95. </div>
  96. </div>
  97. </asp:PlaceHolder>
  98. </ContentTemplate>
  99. </cms:CMSUpdatePanel>
  100. <asp:Panel ID="Panel1" runat="server" class="DialogTreeArea" Height="100%">
  101. <div class="DialogTree" style="overflow: auto;">
  102. <cms:CMSUpdatePanel ID="pnlUpdateTree" runat="server" UpdateMode="Conditional">
  103. <ContentTemplate>
  104. <asp:Panel ID="pnlTreeArea" runat="server" class="DialogTreeArea">
  105. <cms:UniTree runat="server" ID="treeElemG" ShortID="tg" Localize="true" IsLiveSite="false"
  106. UsePostBack="false" EnableRootAction="false" />
  107. <cms:UniTree runat="server" ID="treeElemP" ShortID="tp" Localize="true" IsLiveSite="false"
  108. UsePostBack="false" EnableRootAction="false" />
  109. </asp:Panel>
  110. </ContentTemplate>
  111. </cms:CMSUpdatePanel>
  112. </div>
  113. </asp:Panel>
  114. </asp:Panel>
  115. <div class="DialogTreeAreaSeparator">
  116. </div>
  117. <asp:Panel ID="pnlRightContent" runat="server" CssClass="DialogRightBlock">
  118. <cms:CMSUpdatePanel ID="pnlUpdateContent" runat="server" UpdateMode="Conditional">
  119. <ContentTemplate>
  120. <asp:Panel ID="pnlHeader" runat="server" CssClass="PageHeader" EnableViewState="false">
  121. <cms:PageTitle ID="titleElem" ShortID="pt" runat="server" />
  122. </asp:Panel>
  123. <div id="divDialogView" runat="server">
  124. <asp:PlaceHolder ID="plcEdit" runat="server" Visible="false">
  125. <cms:JQueryTabContainer ID="pnlTabs" runat="server" CssClass="Dialog_Tabs LightTabs BreadTabs">
  126. <cms:JQueryTab ID="tabCategories" runat="server">
  127. <ContentTemplate>
  128. <div class="HeaderSeparator">
  129. &nbsp;</div>
  130. <div class="PageContent">
  131. <cms:UniGrid runat="server" ID="gridSubCategories" ShortID="g" OrderBy="CategorySiteID, CategoryOrder"
  132. Columns="CategoryID, CategoryDisplayName, CategoryUserID, CategorySiteID, CategoryEnabled, (SELECT COUNT(DocumentID) FROM CMS_DocumentCategory WHERE CMS_DocumentCategory.CategoryID = CMS_Category.CategoryID) AS DocumentCount"
  133. ObjectType="cms.category" ShowObjectMenu="false" CheckRelative="true">
  134. <GridActions Parameters="CategoryID">
  135. <ug:Action Name="edit" ExternalSourceName="Edit" Caption="$general.edit$" Icon="Edit.png" />
  136. <ug:Action Name="delete" ExternalSourceName="Delete" Caption="$General.Delete$" Icon="Delete.png" Confirmation="$General.ConfirmDelete$" />
  137. </GridActions>
  138. <GridColumns>
  139. <ug:Column Source="CategoryDisplayName" Caption="$categories.category$" Wrap="false"
  140. Localize="true">
  141. <Filter Type="text" />
  142. </ug:Column>
  143. <ug:Column Source="CategoryEnabled" ExternalSourceName="#yesno" Caption="$general.enabled$"
  144. Wrap="false" Localize="true">
  145. </ug:Column>
  146. <ug:Column Source="DocumentCount" Caption="$category_edit.documents$" Wrap="false"
  147. AllowSorting="false">
  148. </ug:Column>
  149. <ug:Column Width="100%" />
  150. </GridColumns>
  151. <GridOptions DisplayFilter="true" />
  152. </cms:UniGrid>
  153. </div>
  154. </ContentTemplate>
  155. </cms:JQueryTab>
  156. <cms:JQueryTab ID="tabGeneral" runat="server">
  157. <ContentTemplate>
  158. <div class="HeaderSeparator">
  159. &nbsp;</div>
  160. <div class="PageContent">
  161. <cms:CategoryEdit ID="catEdit" runat="server" Visible="true" AllowDisabledParents="true" />
  162. </div>
  163. </ContentTemplate>
  164. </cms:JQueryTab>
  165. <cms:JQueryTab ID="tabDocuments" runat="server">
  166. <ContentTemplate>
  167. <div class="HeaderSeparator">
  168. &nbsp;</div>
  169. <div class="PageContent">
  170. <asp:PlaceHolder ID="plcFilter" runat="server">
  171. <cms:DocumentFilter ID="filterDocuments" runat="server" LoadSites="true" />
  172. <br />
  173. <br />
  174. </asp:PlaceHolder>
  175. <strong>
  176. <cms:LocalizedLabel ID="lblTitle" runat="server" ResourceString="categories_edit.documents.used"
  177. DisplayColon="true" EnableViewState="false" CssClass="InfoLabel" /></strong>
  178. <cms:Documents ID="gridDocuments" runat="server" ListingType="CategoryDocuments" />
  179. </div>
  180. </ContentTemplate>
  181. </cms:JQueryTab>
  182. </cms:JQueryTabContainer>
  183. </asp:PlaceHolder>
  184. <asp:PlaceHolder ID="plcNew" runat="server" Visible="false">
  185. <div class="PageContent">
  186. <cms:CategoryEdit ID="catNew" runat="server" Visible="true" AllowDisabledParents="true" />
  187. </div>
  188. </asp:PlaceHolder>
  189. <asp:PlaceHolder ID="plcInfo" runat="server" Visible="false">
  190. <div class="PageContent">
  191. <cms:LocalizedLabel ID="lblInfo" runat="server" ResourceString="categories.SelectOrCreateInfo"
  192. CssClass="InfoLabel" EnableViewState="false" />
  193. </div>
  194. </asp:PlaceHolder>
  195. </div>
  196. </ContentTemplate>
  197. </cms:CMSUpdatePanel>
  198. </asp:Panel>
  199. </div>
  200. <script type="text/javascript" language="javascript">
  201. //<![CDATA[
  202. function initDesign() {
  203. var docHeight = $j('body').height();
  204. var container = $j('#categories').parent('.TabsContent')
  205. if (container.length) {
  206. container.css('padding', '0px'); ;
  207. container.height(500);
  208. docHeight = 500;
  209. }
  210. var titleHeight = $j('.PageHeader').outerHeight();
  211. var siteHeight = $j('.PageHeaderLine').outerHeight();
  212. var contentHeight = docHeight - titleHeight - siteHeight;
  213. $j('#categories').height(contentHeight);
  214. $j('.DialogTreeAreaSeparator').height(contentHeight);
  215. var menuHeight = $j('.MenuSubBox').outerHeight();
  216. $j('.DialogTree').height(contentHeight - menuHeight - 3);
  217. var tabsHeight = $j('div.JqueryUITabs>ul.ui-tabs-nav').outerHeight();
  218. var breadcrumbsHeight = $j('.PageTitleBreadCrumbsPadding').outerHeight();
  219. $j('.JqueryUITabs>div').height(contentHeight - tabsHeight - breadcrumbsHeight);
  220. $j('.ui-tabs-panel').height(contentHeight - tabsHeight - breadcrumbsHeight - 12);
  221. $j('.ui-tabs-panel').css('overflow', 'auto');
  222. }
  223. $j(function() { initDesign(); });
  224. $j(window).resize(function() { initDesign(); });
  225. //]]>
  226. </script>