Ejegg has submitted this change and it was merged.

Change subject: sidebar nav changes
......................................................................


sidebar nav changes

~fixed userBoard back to using params from app-content
~fixed white background issue
~it's prettier

Change-Id: I15a781afdf5ecf2ccfbaf167d9f39db1b3966ab2
---
M server.js
M src/components/app-content/app-content.html
M src/components/app-content/app-content.js
M src/components/nav-bar/nav-bar.html
M src/components/nav-bar/nav-bar.js
M src/css/style.css
6 files changed, 126 insertions(+), 55 deletions(-)

Approvals:
  Ejegg: Looks good to me, approved



diff --git a/server.js b/server.js
index b0ef5bf..1d88449 100644
--- a/server.js
+++ b/server.js
@@ -80,7 +80,7 @@
        app.get( '/auth/drupal', function( req, res ) {
                req.session.passport = {
                        user: {
-                               displayName: 'debuguser'
+                               displayName: 'HoneyD'
                        }
                };
                res.redirect( '/' );
diff --git a/src/components/app-content/app-content.html 
b/src/components/app-content/app-content.html
index 3ec432d..8f2c95b 100644
--- a/src/components/app-content/app-content.html
+++ b/src/components/app-content/app-content.html
@@ -1,13 +1,10 @@
 <section id="navbar">
-       <nav-bar params="welcome: welcome, loggedIn: loggedIn"></nav-bar>
+       <nav-bar params="welcome: welcome, loggedIn: loggedIn, userBoards: 
userBoards"></nav-bar>
 </section>
 
 <div class="container-fluid" data-bind='if: loggedIn'>
        <div class="row">
-               <div data-bind="component: 'bigEnglishBoard'" 
class="col-md-12"></div>
-       </div>
-       <div class="row layoutRow">
-               <div data-bind="component: 'fraud-gauge'" class="col-md-4 
firstWidget"></div>
+               <div data-bind="component: userDefaultBoard" 
class="col-md-12"></div>
        </div>
 </div>
 
@@ -15,7 +12,6 @@
        <div class="row">
                <div class="jumbotron">
                        <h1>Welcome To Dash.</h1>
-                       <h3>Please <a href="/auth/drupal"><button class="btn 
btn-info">Log in</button></a> to continue.</h3>
                </div>
        </div>
 </div>
diff --git a/src/components/app-content/app-content.js 
b/src/components/app-content/app-content.js
index e3dc2b7..08e79ab 100644
--- a/src/components/app-content/app-content.js
+++ b/src/components/app-content/app-content.js
@@ -13,6 +13,17 @@
         self.description = ko.observable();
         self.graphs = ko.observableArray([]);
 
+        //set this based on user settings.
+        self.userDefaultBoard = ko.observable('bigEnglishBoard');
+
+        //for now make this dummy - it should come from params/global user 
settings
+        self.userBoards = ko.observableArray([
+            { name: 'Big English', component: 'bigEnglishBoard' },
+            { name: 'A/B Testing', component: 'bigEnglishBoard' },
+            { name: 'Fraud Monitoring', component: 'bigEnglishBoard' },
+            { name: 'Times Honey is Cute', component: 'bigEnglishBoard' }
+        ]);
+
         self.loggedIn = ko.observable(false);
         self.welcome = ko.observable('');
         $.get('/user/info', function(userInfo) {
diff --git a/src/components/nav-bar/nav-bar.html 
b/src/components/nav-bar/nav-bar.html
index 69844bc..1c2bcc9 100644
--- a/src/components/nav-bar/nav-bar.html
+++ b/src/components/nav-bar/nav-bar.html
@@ -7,28 +7,51 @@
 
                <div class="row sidebar-nav navRow">
                        <div class="col-md-12 navRow">
-                               <div class="row-fluid">
-                                       <ul>
-                                               <li><span 
id="navDefaultBoard"><i class="fa fa-dashboard"></span></i></li>
-                                               <li><span 
id="navProfileSettings"><i class="fa fa-user"></span></i></li>
-                                       </ul>
+
+                               <div class="row-fluid text-center" 
id="collapseNavMenu" data-bind="click: hideNav">
+                                       <span id="navCollapseArrows"><i 
class="fa fa-angle-double-left"></i></span>
                                </div>
-                               <div class="row-fluid">
-                                       <ul>
-                                               <li><span id="navFavorites"><i 
class="fa fa-star-o"></span></i></li>
-                                               <li><span id="navLibrary"><i 
class="fa fa-book"></span></i></li>
-                                       </ul>
+
+                               <div class="row-fluid mainNavButtonLogin" 
data-bind="visible: !loggedIn()">
+                                       <span class="row-fluid text-center 
loginBtn">
+                                               <i class="fa fa-user"></i>
+                                               <a href="/auth/drupal">Log 
in</a>
+                                       </span>
                                </div>
-                               <div class="row-fluid">
-                                       <ul class="text-center" 
id="collapseNavMenu" data-bind="click: hideNav">
-                                               <span id="navCollapseArrows"><i 
class="fa fa-angle-double-left"></i></span>
-                                       </ul>
-                               </div>
-                               <div class="row-fluid text-center logoutBtn" 
data-bind="visible: loggedIn">
-                                       <a href="/logout"><button class="btn 
btn-block btn-info">Log out</button></a>
-                                       <p class="loginWelcome"><i class="fa 
fa-user"></i> <span data-bind="text: welcome"></span></p>
-                               </div>
+
+                               <span class="showProfile" data-bind="visible: 
loggedIn">
+                                       <div class="row-fluid mainNavButton 
profileLinks" data-bind="click: toggleProfileList">
+                                               <i class="fa fa-user"></i><span 
class="loginWelcome" data-bind="text: welcome"></span>
+                                       </div>
+
+                                       <div class="hide subNavBoardOpts 
subNavButton" id="profileLinks">
+                                               <ul>
+                                                       <li><a 
href="/logout">Log out</a></li>
+                                                       <li><a 
href="#">Profile</a></li>
+                                               </ul>
+                                       </div>
+                               </span>
+
+                               <span class="showNav" data-bind="visible: 
loggedIn">
+                                       <div class="row-fluid mainNavButton 
boards" data-bind="click: toggleBoardList">
+                                               <i class="fa 
fa-pie-chart"></i><span> Boards</span>
+                                       </div>
+
+                                       <div class="hide subNavBoardOpts 
subNavButton" id="boards">
+                                               <ul data-bind="foreach: 
userBoards">
+                                                       <li><span 
data-bind="text: name"></span></li>
+                                               </ul>
+                                       </div>
+
+                                       <div class="mainNavButton"><i class="fa 
fa-plug"></i><span> Library</span>
+                                       </div>
+
+                                       <div class="mainNavButton"><i class="fa 
fa-calculator"></i><span> Reports</span>
+                                       </div>
+                               </span>
+
                        </div>
                </div>
        </div>
 </div>
+
diff --git a/src/components/nav-bar/nav-bar.js 
b/src/components/nav-bar/nav-bar.js
index dcfa1c9..d0612c1 100644
--- a/src/components/nav-bar/nav-bar.js
+++ b/src/components/nav-bar/nav-bar.js
@@ -8,6 +8,7 @@
        var self = this;
         self.loggedIn = params.loggedIn;
         self.welcome = params.welcome;
+        self.userBoards = params.userBoards;
 
         self.hideNav = function(){
                //make the nav menu fold out of view.
@@ -22,6 +23,28 @@
                 $('#dashApp').css('padding-left', '175px');
             }, 200);
         };
+
+        $('.mainNavButton').click(function(e){
+            $('.mainNavButton').removeClass('selectedSubNav');
+            if($(e.target).hasClass('mainNavButton')){
+                $(e.target).addClass('selectedSubNav');
+            } else {
+                $(e.target.parentElement).addClass('selectedSubNav');
+            }
+        });
+
+        self.toggleBoardList = function(){
+            $('#boards.subNavBoardOpts').slideDown(200, 'swing', function(){
+                $('#boards.subNavBoardOpts').toggleClass('hide');
+            });
+        };
+
+        self.toggleProfileList = function(){
+            $('#profileLinks.subNavBoardOpts').slideDown(200, 'swing', 
function(){
+                $('#profileLinks.subNavBoardOpts').toggleClass('hide');
+            });
+        };
+
     }
 
     return { viewModel: NavBarViewModel, template: template };
diff --git a/src/css/style.css b/src/css/style.css
index 6cbb253..18b6d94 100644
--- a/src/css/style.css
+++ b/src/css/style.css
@@ -11,7 +11,7 @@
 }
 
 .container-fluid {
-    padding: 15px 25px 0 0;
+    padding: 15px 65px;
 }
 
 #dashApp {
@@ -24,15 +24,15 @@
 }
 
 .navRow {
-    width: 100px;
+    width: 200px;
     padding:0;
     margin: 0;
 }
 
 .navWrapper {
-    margin-left: -100px;
-    left: 100px;
-    width: 100px;
+    margin-left: -200px;
+    left: 200px;
+    width: 200px;
     position: fixed;
     height: 100%;
     overflow-y: auto;
@@ -55,18 +55,18 @@
     margin-bottom: 0;
 }
 
-.sidebar-nav li {
-    font-size: 24px;
-    display: inline-block;
-    width: 48.5px;
-    text-align: center;
-    padding: .5em;
+.mainNavButton, .mainNavButtonLogin {
+    font-size: 16px;
+    font-weight: normal;
+    width: 100%;
+    text-align: left;
+    padding: 1em;
+    border-bottom: rgba(255,255,255,0.3) solid 1px;
+    overflow: hidden;
 }
 
-.sidebar-nav li:hover, .sidebar-nav li:hover a {
-    background-color: #f5f5f5;
-    color: #5e668a;
-    cursor: pointer;
+.mainNavButton i {
+    margin-right: 8px;
 }
 
 .sidebar-nav a {
@@ -117,28 +117,46 @@
     cursor: pointer;
 }
 
+.selectedSubNav {
+    background-color: #f5f5f5;
+    color: #5e668a;
+    cursor: pointer;
+    border-top: 1px rgba(94,102,138,0.5) solid;
+}
+
+.subNavButton {
+    background-color: rgba(255,255,255,0.5);
+    color: #5e668a;
+    cursor: pointer;
+    transition:700ms ease-in;
+}
+
+.subNavButton {
+    border-top: 1px rgba(94,102,138,0.5) solid;
+}
+
+.subNavButton a {
+    color: #5e668a;
+}
+
+.subNavBoardOpts li {
+    padding: 10px;
+    text-align: right;
+}
+
+.subNavBoardOpts li:hover {
+    background-color: rgba(94,102,138,0.2);
+}
+
 #welcomeTitle {
     margin-bottom: 50px;
     border-bottom: 1px #555 solid;
 }
 
-.loginWelcome > i {
-    padding: 0 3px;
-}
-
-.loginWelcome {
-    width: 100px;
-    padding: 3px;
-    background-color: rgba(255,255,255,0.4);
-    overflow-wrap: break-word;
-    padding: 3px;
-    font-size: .8em;
-}
-
 .titlebrand, .titlebrandToggle {
     background-color: #d9534f;
     overflow: hidden;
-    padding: 8px;
+    padding: 12px;
     margin: 0;
 }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/184422
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I15a781afdf5ecf2ccfbaf167d9f39db1b3966ab2
Gerrit-PatchSet: 5
Gerrit-Project: wikimedia/fundraising/dash
Gerrit-Branch: master
Gerrit-Owner: Ssmith <[email protected]>
Gerrit-Reviewer: Ejegg <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to