File tree 15 files changed +409
-339
lines changed
15 files changed +409
-339
lines changed Original file line number Diff line number Diff line change 1
1
<dotnetnuke type="Package" version="9.0">
2
2
<packages>
3
- <package name="nvisionative.DNNCommunityTheme" type="Skin" version="1.2.1 ">
3
+ <package name="nvisionative.DNNCommunityTheme" type="Skin" version="1.3.0 ">
4
4
<friendlyName>DNNCommunityTheme</friendlyName>
5
5
<description>A DNN Theme by and for the DNN Community</description>
6
6
<iconFile>MyIcon.png</iconFile>
Original file line number Diff line number Diff line change
1
+ @using DotNetNuke .Web .DDRMenu ;
2
+ @using System .Dynamic ;
3
+ @inherits DotNetNuke .Web .Razor .DotNetNukeWebPage <dynamic >
4
+
5
+ <ul class =" h-100" id =" nav-desktop" >
6
+ @RenderPages(Model.Source.root.Children)
7
+ </ul >
8
+
9
+ @helper RenderPages(IEnumerable<MenuNode > pages)
10
+ {
11
+ if (! pages .Any ())
12
+ {
13
+ return ;
14
+ }
15
+
16
+ foreach (var page in pages )
17
+ {
18
+ var hasChildren = page .HasChildren ();
19
+ var attrTarget = ! string .IsNullOrEmpty (page .Target ) ? (" target=\" " + page .Target + " \" " ) : string .Empty ;
20
+
21
+ <li class =" @(page.Selected ? " selected " : string.Empty)" >
22
+ @if (page .Enabled )
23
+ {
24
+ <a href =" @page.Url" @attrTarget >@page.Text </a >
25
+ }
26
+ else
27
+ {
28
+ <a href =" javascript:void(0);" @attrTarget >@page.Text </a >
29
+ }
30
+
31
+ @if (hasChildren )
32
+ {
33
+ <ul >
34
+ @RenderPages(page.Children)
35
+ </ul >
36
+ }
37
+ </li >
38
+ }
39
+ }
Original file line number Diff line number Diff line change 1
1
<?xml version =" 1.0" encoding =" utf-8" ?>
2
2
<manifest >
3
- <template >MainMenu.txt </template >
3
+ <template >RazorMenu.cshtml </template >
4
4
</manifest >
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ @using DotNetNuke .Web .DDRMenu ;
2
+ @using System .Dynamic ;
3
+ @inherits DotNetNuke .Web .Razor .DotNetNukeWebPage <dynamic >
4
+
5
+ <span class =" hamburger material-icons" id =" nav-mobile" ><i class =" fa fa-2x fa-bars" ></i ></span >
6
+
7
+ <nav class =" nav-drill" id =" nav-mobile" >
8
+ <ul class =" nav-items" >
9
+ @RenderPages(Model.Source.root.Children)
10
+ </ul >
11
+ </nav >
12
+
13
+ @helper RenderPages(IEnumerable<MenuNode > pages)
14
+ {
15
+ if (! pages .Any ())
16
+ {
17
+ return ;
18
+ }
19
+
20
+ foreach (var page in pages )
21
+ {
22
+ var hasChildren = page .HasChildren ();
23
+ var pageDesc = Html .Raw (! string .IsNullOrEmpty (page .Description ) ? (" <br/><span class=\" link-description\" >" + @page .Description + " </span>" ) : string .Empty );
24
+ var attrTarget = ! string .IsNullOrEmpty (page .Target ) ? (" target=\" " + page .Target + " \" " ) : string .Empty ;
25
+
26
+ <li class =" nav-item @(hasChildren ? " nav-expand " : string.Empty)@(page.Selected ? " selected " : string.Empty)" >
27
+ @if (page .Enabled )
28
+ {
29
+ <a class =" nav-link" href =" @page.Url" @attrTarget >@page.Text @pageDesc </a >
30
+ }
31
+ else
32
+ {
33
+ <a href =" javascript:void(0);" @attrTarget >@page.Text @pageDesc </a >
34
+ }
35
+
36
+ @if (hasChildren )
37
+ {
38
+ <a href =" javascript:void(0);" class =" nav-link nav-expand-link" ><i class =" fa fa-chevron-right" ></i ></a >
39
+ <ul class =" nav-items nav-expand-content" >
40
+ <li class =" nav-item" >
41
+ <a class =" nav-link nav-back-link" href =" javascript:;" >
42
+ <em class =" fa fa-chevron-left mr-1" ></em >Back to @page.Text
43
+ </a >
44
+ </li >
45
+ @RenderPages(page.Children)
46
+ </ul >
47
+ }
48
+ </li >
49
+ }
50
+ }
Original file line number Diff line number Diff line change
1
+ <?xml version =" 1.0" encoding =" utf-8" ?>
2
+ <manifest >
3
+ <template >RazorMenu.cshtml</template >
4
+ </manifest >
Original file line number Diff line number Diff line change 13
13
</div >
14
14
<div class =" container-fluid" >
15
15
<div class =" container" >
16
- <div class =" row nav-main" >
17
- <dnn:LOGO id =" dnnLOGO" runat =" server" />
18
- <nav id =" nav-items" >
19
- <dnn:MENU id =" menu" MenuStyle =" menus/main" runat =" server" NodeSelector =" *" ></dnn:MENU >
20
- </nav >
16
+ <div class =" row justify-content-between flex-nowrap" >
17
+ <div class =" col-auto" >
18
+ <dnn:LOGO id =" dnnLOGO" runat =" server" />
19
+ </div >
20
+ <div class =" col-auto ms-auto d-none d-xl-block" >
21
+ <dnn:MENU id =" menu_desktop" MenuStyle =" menus/desktop" runat =" server" NodeSelector =" *,0,2" ></dnn:MENU >
22
+ </div >
23
+ <div class =" col-auto ms-auto d-flex align-items-center d-xl-none" >
24
+ <dnn:MENU id =" menu_mobile" MenuStyle =" menus/mobile" runat =" server" NodeSelector =" *,0,2" ></dnn:MENU >
25
+ </div >
21
26
</div >
22
27
</div >
23
28
</div >
Original file line number Diff line number Diff line change
1
+ <header class="bg-secondary sticky-top">
2
+ <div class="container-fluid user-controls bg-light-grey">
3
+ <div class="container">
4
+ <div class="row justify-content-end">
5
+ <ul>
6
+ <li><dnn:Login runat="server" id="dnnLogin" /></li>
7
+ <li><dnn:User runat="server" id="dnnUser" /></li>
8
+ <li style="display:none;"><dnn:Search runat="server" id="dnnSearch" ShowSite="false" ShowWeb="false" Submit="<i class='fa fa-search'></i>" /></li>
9
+ <li style="display:none;"><dnn:Language runat="server" id="dnnLanguage" ShowMenu="false" ShowLinks="false" /></li>
10
+ </ul>
11
+ </div>
12
+ </div>
13
+ </div>
14
+ <div class="container-fluid">
15
+ <div class="container">
16
+ <div class="row nav-main">
17
+ <dnn:LOGO id="dnnLOGO" runat="server" />
18
+ <div class="col-auto ms-auto d-none d-xl-block">
19
+ <dnn:MENU id="menu_desktop" MenuStyle="menus/desktop" runat="server" NodeSelector="*,0,2"></dnn:MENU>
20
+ </div>
21
+ <div class="col-auto ms-auto d-flex align-items-center d-xl-none">
22
+ <dnn:MENU id="menu_mobile" MenuStyle="menus/mobile" runat="server" NodeSelector="*,0,2"></dnn:MENU>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ </header>
Original file line number Diff line number Diff line change 8
8
<dnn:DnnJsInclude runat =" server" FilePath =" dist/js/jquery.slimmenu.min.js" ForceProvider =" DnnFormBottomProvider" Priority =" 100" PathNameAlias =" SkinPath" />
9
9
<dnn:DnnJsInclude runat =" server" FilePath =" dist/js/bootstrap.bundle.min.js" ForceProvider =" DnnFormBottomProvider" Priority =" 110" PathNameAlias =" SkinPath" />
10
10
<dnn:DnnJsInclude runat =" server" FilePath =" dist/js/custom.min.js" ForceProvider =" DnnFormBottomProvider" Priority =" 120" PathNameAlias =" SkinPath" />
11
+ <dnn:DnnJsInclude runat =" server" FilePath =" dist/js/customMenu.min.js" ForceProvider =" DnnFormBottomProvider" Priority =" 130" PathNameAlias =" SkinPath" />
Original file line number Diff line number Diff line change 1
1
{
2
2
"project" : " DNNCommunityTheme" ,
3
- "version" : " 1.2.1 " ,
3
+ "version" : " 1.3.0 " ,
4
4
"author" : " David Poindexter" ,
5
5
"company" : " nvisionative" ,
6
6
"url" : " www.nvisionative.com" ,
Original file line number Diff line number Diff line change 1
- jQuery ( document ) . ready ( function ( $ ) {
2
- /* SlimMenu Prep */
3
- $ ( '#navigation' ) . slimmenu ( {
4
- resizeWidth : '800' ,
5
- collapserTitle : '' ,
6
- animSpeed : 0 ,
7
- easingEffect : null ,
8
- indentChildren : false ,
9
- childrenIndenter : ' ' ,
10
- expandIcon : '' ,
11
- collapseIcon : ''
12
- } ) ;
13
- } ) ;
Original file line number Diff line number Diff line change
1
+ /*jshint esversion: 6 */
2
+
3
+ // add event listeners to expands
4
+ const navExpand = [ ] . slice . call ( document . querySelectorAll ( '.nav-expand' ) ) ;
5
+
6
+ navExpand . forEach ( item => {
7
+ item . querySelector ( '.nav-expand-link' ) . addEventListener ( 'click' , ( ) => item . classList . add ( 'active' ) ) ;
8
+ item . querySelector ( '.nav-back-link' ) . addEventListener ( 'click' , ( ) => item . classList . remove ( 'active' ) ) ;
9
+ } ) ;
10
+
11
+ // setup and add overlay
12
+ let overlay = document . createElement ( 'div' ) ;
13
+ overlay . setAttribute ( 'id' , 'body-overlay' ) ;
14
+ document . body . appendChild ( overlay ) . classList . add ( 'd-none' ) ;
15
+
16
+ // target hamburger menu
17
+ const responsiveMenu = document . getElementById ( 'nav-mobile' ) ;
18
+ const bodyOverlay = document . getElementById ( 'body-overlay' ) ;
19
+
20
+ responsiveMenu . addEventListener ( 'click' , function ( ) {
21
+ // toggle menu
22
+ document . body . classList . toggle ( 'nav-is-toggled' ) ;
23
+ bodyOverlay . classList . toggle ( 'd-none' ) ;
24
+ } ) ;
25
+
26
+ // if overlay is clicked
27
+ bodyOverlay . addEventListener ( 'click' , function ( e ) {
28
+ // toggle menu and overlay
29
+ document . body . classList . toggle ( 'nav-is-toggled' ) ;
30
+ bodyOverlay . classList . toggle ( 'd-none' ) ;
31
+ } ) ;
Original file line number Diff line number Diff line change @@ -1028,7 +1028,7 @@ a.pinHelp {
1028
1028
}
1029
1029
1030
1030
.dnnRadiobutton img {
1031
- background : transparent url (../../../../../.. /images/radiobutton.png ) no-repeat ;
1031
+ background : transparent url (/ images/radiobutton.png ) no-repeat ;
1032
1032
}
1033
1033
1034
1034
.dnnRadiobutton img {
You can’t perform that action at this time.
0 commit comments