Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: appengine/chromium_rietveld/new_static/components/cr-app.html

Issue 904273002: Add the ability to logout. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | appengine/chromium_rietveld/new_static/model/user.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!-- Copyright (c) 2014 The Chromium Authors. All rights reserved. 1 <!-- Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 Use of this source code is governed by a BSD-style license that can be 2 Use of this source code is governed by a BSD-style license that can be
3 found in the LICENSE file. --> 3 found in the LICENSE file. -->
4 4
5 <script src="../lib/sugar.js"></script> 5 <script src="../lib/sugar.js"></script>
6 <script src="../bower_components/gif.js/dist/gif.js"></script> 6 <script src="../bower_components/gif.js/dist/gif.js"></script>
7 7
8 <link rel="import" href="../bower_components/polymer/polymer.html"> 8 <link rel="import" href="../bower_components/polymer/polymer.html">
9 <link rel="import" href="../bower_components/app-router/app-router.html"> 9 <link rel="import" href="../bower_components/app-router/app-router.html">
10 10
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 } 100 }
101 101
102 app-router, 102 app-router,
103 active-route { 103 active-route {
104 display: block; 104 display: block;
105 } 105 }
106 106
107 app-route { 107 app-route {
108 display: none; 108 display: none;
109 } 109 }
110
111 .view-links .login-link,
112 .view-links .settings-link {
113 display: none;
114 }
115
116 :host-context(.login) .settings-link {
117 display: block;
118 }
119
120 :host-context(.no-login) .login-link {
121 display: block;
122 }
123 </style> 110 </style>
124 <header> 111 <header>
125 <div class="title"> 112 <div class="title">
126 <a href="/"> 113 <a href="/">
127 <img src="../images/chromium-logo.png"> 114 <img src="../images/chromium-logo.png">
128 <span>Chromium Code Review</span> 115 <span>Chromium Code Review</span>
129 </a> 116 </a>
130 </div> 117 </div>
131 <div class="view-links"> 118 <div class="view-links">
132 <a class="bug-report" 119 <a class="bug-report"
133 href="https://code.google.com/p/chromium/issues/entry?labels= Type-Bug,Pri-2,Infra-Area-Rietveld" 120 href="https://code.google.com/p/chromium/issues/entry?labels= Type-Bug,Pri-2,Infra-Area-Rietveld"
134 target="_blank">Report a bug</a> 121 target="_blank">Report a bug</a>
135 <a href="/search" class="search-link">Search</a> 122 <a href="/search" class="search-link">Search</a>
136 <a href="/settings" class="settings-link">Settings</a> 123 <template if="{{ user }}">
137 <cr-action on-tap="{{ handleLogin }}" class="login-link" white>L ogin</cr-action> 124 <a href="/settings">Settings</a>
125 </template>
126 <cr-action on-tap="{{ handleLogin }}" white>
127 <template if="{{ user }}">
128 Logout
129 </template>
130 <template if="{{ !user }}">
131 Login
132 </template>
133 </cr-action>
138 </div> 134 </div>
139 </header> 135 </header>
140 <app-router id="router" trailingSlash="ignore"> 136 <app-router id="router" trailingSlash="ignore">
141 <app-route path="/" element="cr-inbox-view"></app-route> 137 <app-route path="/" element="cr-inbox-view"></app-route>
142 <app-route path="/search" element="cr-search-view"></app-route> 138 <app-route path="/search" element="cr-search-view"></app-route>
143 <app-route path="/settings" element="cr-settings-view"></app-route> 139 <app-route path="/settings" element="cr-settings-view"></app-route>
144 <app-route path="/user/:username" element="cr-user-view"></app-route > 140 <app-route path="/user/:username" element="cr-user-view"></app-route >
145 <app-route path="/:issueId" element="cr-issue-view"></app-route> 141 <app-route path="/:issueId" element="cr-issue-view"></app-route>
146 </cr-view> 142 </cr-view>
147 </template> 143 </template>
148 <script> 144 <script>
149 Polymer({ 145 Polymer({
146 created: function() {
147 this.user = User.current;
148 },
150 attached: function() { 149 attached: function() {
151 var self = this; 150 var self = this;
152 User.loadCurrentUser({cached:true}).then(function() { 151 User.loadCurrentUser({cached:true}).then(function() {
153 self.classList.add("login"); 152 self.classList.add("login");
154 }).catch(function(e) { 153 }).catch(function(e) {
155 self.classList.add("no-login"); 154 self.classList.add("no-login");
156 }); 155 });
157 }, 156 },
158 handleNavigate: function(event) { 157 handleNavigate: function(event) {
159 var currentUrl = window.location.pathname + window.location.sear ch + window.location.hash; 158 var currentUrl = window.location.pathname + window.location.sear ch + window.location.hash;
160 if (currentUrl != event.detail.url) 159 if (currentUrl != event.detail.url)
161 window.history.pushState(null, null, event.detail.url); 160 window.history.pushState(null, null, event.detail.url);
162 this.$.router.go(); 161 this.$.router.go();
163 }, 162 },
164 handleLogin: function() { 163 handleLogin: function() {
165 window.location.href = User.getLoginUrl(); 164 if (this.user)
165 location.href = User.getLogoutUrl();
ojan 2015/02/08 05:49:08 It's kinda funny to recreate links here. I would j
166 else
167 location.href = User.getLoginUrl();
166 }, 168 },
167 }); 169 });
168 </script> 170 </script>
169 </polymer-element> 171 </polymer-element>
OLDNEW
« no previous file with comments | « no previous file | appengine/chromium_rietveld/new_static/model/user.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698