60ea95fac7
Adds a home for viewing and editing user preferences at a new client route: /settings/. This is first in a series of changes to bring preferences editing to PolyGerrit. At this point the settings page is read-only and mostly un-styled. Introduces the gr-settings-view element which is added to gr-app in the same manner as the other main PolyGerrit views. Introduces the /settings route which will display the new view, or redirect to login if the user is not authenticated. Adds a link to user settings in the gr-account-dropdown. Bug: Issue 3911 Change-Id: Ib164502d586518876737c6d333c8940f2898dad4
149 lines
5.2 KiB
HTML
149 lines
5.2 KiB
HTML
<!--
|
|
Copyright (C) 2015 The Android Open Source Project
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<link rel="import" href="../bower_components/polymer/polymer.html">
|
|
<link rel="import" href="../behaviors/keyboard-shortcut-behavior.html">
|
|
<link rel="import" href="../styles/app-theme.html">
|
|
|
|
<link rel="import" href="./core/gr-error-manager/gr-error-manager.html">
|
|
<link rel="import" href="./core/gr-keyboard-shortcuts-dialog/gr-keyboard-shortcuts-dialog.html">
|
|
<link rel="import" href="./core/gr-main-header/gr-main-header.html">
|
|
<link rel="import" href="./core/gr-router/gr-router.html">
|
|
|
|
<link rel="import" href="./change-list/gr-change-list-view/gr-change-list-view.html">
|
|
<link rel="import" href="./change-list/gr-dashboard-view/gr-dashboard-view.html">
|
|
<link rel="import" href="./change/gr-change-view/gr-change-view.html">
|
|
<link rel="import" href="./diff/gr-diff-view/gr-diff-view.html">
|
|
<link rel="import" href="./settings/gr-settings-view/gr-settings-view.html">
|
|
|
|
<link rel="import" href="./shared/gr-overlay/gr-overlay.html">
|
|
<link rel="import" href="./shared/gr-rest-api-interface/gr-rest-api-interface.html">
|
|
|
|
<script src="../scripts/util.js"></script>
|
|
|
|
<dom-module id="gr-app">
|
|
<template>
|
|
<style>
|
|
:host {
|
|
display: flex;
|
|
min-height: 100vh;
|
|
flex-direction: column;
|
|
}
|
|
gr-main-header,
|
|
footer {
|
|
color: var(--primary-text-color);
|
|
padding: .5rem var(--default-horizontal-margin);
|
|
}
|
|
gr-main-header {
|
|
background-color: var(--header-background-color, #eee);
|
|
}
|
|
footer {
|
|
background-color: var(--footer-background-color, #eee);
|
|
}
|
|
main {
|
|
flex: 1;
|
|
position: relative;
|
|
}
|
|
.errorView {
|
|
align-items: center;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
}
|
|
.errorEmoji {
|
|
font-size: 2.6em;
|
|
}
|
|
.errorText,
|
|
.errorMoreInfo {
|
|
margin-top: .75em;
|
|
}
|
|
.errorText {
|
|
font-size: 1.2em;
|
|
}
|
|
.errorMoreInfo {
|
|
color: #999;
|
|
}
|
|
.feedback {
|
|
color: #b71c1c;
|
|
}
|
|
</style>
|
|
<gr-main-header search-query="{{params.query}}"></gr-main-header>
|
|
<main>
|
|
<template is="dom-if" if="[[_showChangeListView]]" restamp="true">
|
|
<gr-change-list-view
|
|
params="[[params]]"
|
|
view-state="{{_viewState.changeListView}}"
|
|
logged-in="[[_computeLoggedIn(_account)]]"></gr-change-list-view>
|
|
</template>
|
|
<template is="dom-if" if="[[_showDashboardView]]" restamp="true">
|
|
<gr-dashboard-view
|
|
account="[[_account]]"
|
|
params="[[params]]"
|
|
view-state="{{_viewState.dashboardView}}"></gr-dashboard-view>
|
|
</template>
|
|
<template is="dom-if" if="[[_showChangeView]]" restamp="true">
|
|
<gr-change-view
|
|
params="[[params]]"
|
|
server-config="[[_serverConfig]]"
|
|
view-state="{{_viewState.changeView}}"></gr-change-view>
|
|
</template>
|
|
<template is="dom-if" if="[[_showDiffView]]" restamp="true">
|
|
<gr-diff-view
|
|
params="[[params]]"
|
|
change-view-state="{{_viewState.changeView}}"></gr-diff-view>
|
|
</template>
|
|
<template is="dom-if" if="[[_showSettingsView]]" restamp="true">
|
|
<gr-settings-view></gr-settings-view>
|
|
</template>
|
|
<div id="errorView" class="errorView" hidden>
|
|
<div class="errorEmoji">[[_lastError.emoji]]</div>
|
|
<div class="errorText">[[_lastError.text]]</div>
|
|
<div class="errorMoreInfo">[[_lastError.moreInfo]]</div>
|
|
</div>
|
|
</main>
|
|
<footer role="contentinfo">
|
|
Powered by <a href="https://www.gerritcodereview.com/" target="_blank">Gerrit Code Review</a>
|
|
([[_version]])
|
|
<span hidden$="[[!_serverConfig.gerrit.report_bug_url]]">
|
|
|
|
|
<a href$="[[_serverConfig.gerrit.report_bug_url]]" target="_blank">
|
|
<span hidden$="[[!_serverConfig.gerrit.report_bug_text]]">
|
|
[[_serverConfig.gerrit.report_bug_text]]
|
|
</span>
|
|
<span hidden$="[[_serverConfig.gerrit.report_bug_text]]">Report Bug</span>
|
|
</a>
|
|
</span>
|
|
|
|
|
<a class="feedback" href="http://goo.gl/forms/ETHmIH2Kga" target="_blank">
|
|
PolyGerrit Feedback
|
|
</a>
|
|
</footer>
|
|
<gr-overlay id="keyboardShortcuts" with-backdrop>
|
|
<gr-keyboard-shortcuts-dialog
|
|
view="[[params.view]]"
|
|
on-close="_handleKeyboardShortcutDialogClose"></gr-keyboard-shortcuts-dialog>
|
|
</gr-overlay>
|
|
<gr-error-manager></gr-error-manager>
|
|
<gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
|
|
</template>
|
|
<script src="gr-app.js"></script>
|
|
</dom-module>
|