238 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			238 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!--
 | 
						|
@license
 | 
						|
Copyright (C) 2019 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.
 | 
						|
-->
 | 
						|
<script src="/bower_components/moment/moment.js"></script>
 | 
						|
<script src="../scripts/util.js"></script>
 | 
						|
 | 
						|
<link rel="import" href="/bower_components/polymer/polymer.html">
 | 
						|
<link rel="import" href="../behaviors/base-url-behavior/base-url-behavior.html">
 | 
						|
<link rel="import" href="../behaviors/keyboard-shortcut-behavior/keyboard-shortcut-behavior.html">
 | 
						|
<link rel="import" href="../styles/shared-styles.html">
 | 
						|
<link rel="import" href="../styles/themes/app-theme.html">
 | 
						|
<link rel="import" href="./admin/gr-admin-view/gr-admin-view.html">
 | 
						|
<link rel="import" href="./documentation/gr-documentation-search/gr-documentation-search.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="./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-navigation/gr-navigation.html">
 | 
						|
<link rel="import" href="./core/gr-reporting/gr-reporting.html">
 | 
						|
<link rel="import" href="./core/gr-router/gr-router.html">
 | 
						|
<link rel="import" href="./core/gr-smart-search/gr-smart-search.html">
 | 
						|
<link rel="import" href="./diff/gr-diff-view/gr-diff-view.html">
 | 
						|
<link rel="import" href="./edit/gr-editor-view/gr-editor-view.html">
 | 
						|
<link rel="import" href="./plugins/gr-endpoint-decorator/gr-endpoint-decorator.html">
 | 
						|
<link rel="import" href="./plugins/gr-endpoint-param/gr-endpoint-param.html">
 | 
						|
<link rel="import" href="./plugins/gr-external-style/gr-external-style.html">
 | 
						|
<link rel="import" href="./plugins/gr-plugin-host/gr-plugin-host.html">
 | 
						|
<link rel="import" href="./settings/gr-cla-view/gr-cla-view.html">
 | 
						|
<link rel="import" href="./settings/gr-registration-dialog/gr-registration-dialog.html">
 | 
						|
<link rel="import" href="./settings/gr-settings-view/gr-settings-view.html">
 | 
						|
<link rel="import" href="./shared/gr-fixed-panel/gr-fixed-panel.html">
 | 
						|
<link rel="import" href="./shared/gr-lib-loader/gr-lib-loader.html">
 | 
						|
<link rel="import" href="./shared/gr-rest-api-interface/gr-rest-api-interface.html">
 | 
						|
 | 
						|
<dom-module id="gr-app-element">
 | 
						|
  <template>
 | 
						|
    <style include="shared-styles">
 | 
						|
      :host {
 | 
						|
        background-color: var(--view-background-color);
 | 
						|
        display: flex;
 | 
						|
        flex-direction: column;
 | 
						|
        min-height: 100%;
 | 
						|
      }
 | 
						|
      gr-fixed-panel {
 | 
						|
        /**
 | 
						|
         * This one should be greater that the z-index in gr-diff-view
 | 
						|
         * because gr-main-header contains overlay.
 | 
						|
         */
 | 
						|
        z-index: 10;
 | 
						|
      }
 | 
						|
      gr-main-header,
 | 
						|
      footer {
 | 
						|
        color: var(--primary-text-color);
 | 
						|
      }
 | 
						|
      gr-main-header {
 | 
						|
        background: var(--header-background, var(--header-background-color, #eee));
 | 
						|
        padding: 0 var(--default-horizontal-margin);
 | 
						|
        border-bottom: var(--header-border-bottom);
 | 
						|
        border-image: var(--header-border-image);
 | 
						|
        border-right: 0;
 | 
						|
        border-left: 0;
 | 
						|
        border-top: 0;
 | 
						|
      }
 | 
						|
      footer {
 | 
						|
        background: var(--footer-background, var(--footer-background-color, #eee));
 | 
						|
        border-top: var(--footer-border-top);
 | 
						|
        display: flex;
 | 
						|
        justify-content: space-between;
 | 
						|
        padding: .5rem var(--default-horizontal-margin);
 | 
						|
        z-index: 100;
 | 
						|
      }
 | 
						|
      main {
 | 
						|
        flex: 1;
 | 
						|
        padding-bottom: 2em;
 | 
						|
        position: relative;
 | 
						|
      }
 | 
						|
      .errorView {
 | 
						|
        align-items: center;
 | 
						|
        display: none;
 | 
						|
        flex-direction: column;
 | 
						|
        justify-content: center;
 | 
						|
        position: absolute;
 | 
						|
        top: 0;
 | 
						|
        right: 0;
 | 
						|
        bottom: 0;
 | 
						|
        left: 0;
 | 
						|
      }
 | 
						|
      .errorView.show {
 | 
						|
        display: flex;
 | 
						|
      }
 | 
						|
      .errorEmoji {
 | 
						|
        font-size: 2.6rem;
 | 
						|
      }
 | 
						|
      .errorText,
 | 
						|
      .errorMoreInfo {
 | 
						|
        margin-top: .75em;
 | 
						|
      }
 | 
						|
      .errorText {
 | 
						|
        font-size: 1.2rem;
 | 
						|
      }
 | 
						|
      .errorMoreInfo {
 | 
						|
        color: var(--deemphasized-text-color);
 | 
						|
      }
 | 
						|
      .feedback {
 | 
						|
        color: var(--error-text-color);
 | 
						|
      }
 | 
						|
    </style>
 | 
						|
    <gr-endpoint-decorator name="banner"></gr-endpoint-decorator>
 | 
						|
    <gr-fixed-panel id="header">
 | 
						|
      <gr-main-header
 | 
						|
          id="mainHeader"
 | 
						|
          search-query="{{params.query}}"
 | 
						|
          on-mobile-search="_mobileSearchToggle">
 | 
						|
      </gr-main-header>
 | 
						|
    </gr-fixed-panel>
 | 
						|
    <main>
 | 
						|
      <gr-smart-search
 | 
						|
          id="search"
 | 
						|
          search-query="{{params.query}}"
 | 
						|
          hidden="[[!mobileSearch]]">
 | 
						|
      </gr-smart-search>
 | 
						|
      <template is="dom-if" if="[[_showChangeListView]]" restamp="true">
 | 
						|
        <gr-change-list-view
 | 
						|
            params="[[params]]"
 | 
						|
            account="[[_account]]"
 | 
						|
            view-state="{{_viewState.changeListView}}"></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]]"
 | 
						|
            view-state="{{_viewState.changeView}}"
 | 
						|
            back-page="[[_lastSearchPage]]"></gr-change-view>
 | 
						|
      </template>
 | 
						|
      <template is="dom-if" if="[[_showEditorView]]" restamp="true">
 | 
						|
        <gr-editor-view
 | 
						|
            params="[[params]]"></gr-editor-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
 | 
						|
            params="[[params]]"
 | 
						|
            on-account-detail-update="_handleAccountDetailUpdate">
 | 
						|
        </gr-settings-view>
 | 
						|
      </template>
 | 
						|
      <template is="dom-if" if="[[_showAdminView]]" restamp="true">
 | 
						|
        <gr-admin-view path="[[_path]]"
 | 
						|
            params=[[params]]></gr-admin-view>
 | 
						|
      </template>
 | 
						|
      <template is="dom-if" if="[[_showPluginScreen]]" restamp="true">
 | 
						|
        <gr-endpoint-decorator name="[[_pluginScreenName]]">
 | 
						|
          <gr-endpoint-param name="token" value="[[params.screen]]"></gr-endpoint-param>
 | 
						|
        </gr-endpoint-decorator>
 | 
						|
      </template>
 | 
						|
      <template is="dom-if" if="[[_showCLAView]]" restamp="true">
 | 
						|
        <gr-cla-view></gr-cla-view>
 | 
						|
      </template>
 | 
						|
      <template is="dom-if" if="[[_showDocumentationSearch]]" restamp="true">
 | 
						|
        <gr-documentation-search
 | 
						|
            params="[[params]]">
 | 
						|
        </gr-documentation-search>
 | 
						|
      </template>
 | 
						|
      <div id="errorView" class="errorView">
 | 
						|
        <div class="errorEmoji">[[_lastError.emoji]]</div>
 | 
						|
        <div class="errorText">[[_lastError.text]]</div>
 | 
						|
        <div class="errorMoreInfo">[[_lastError.moreInfo]]</div>
 | 
						|
      </div>
 | 
						|
    </main>
 | 
						|
    <footer r="contentinfo">
 | 
						|
      <div>
 | 
						|
        Powered by <a href="https://www.gerritcodereview.com/" rel="noopener"
 | 
						|
        target="_blank">Gerrit Code Review</a>
 | 
						|
        ([[_version]])
 | 
						|
        <gr-endpoint-decorator name="footer-left"></gr-endpoint-decorator>
 | 
						|
      </div>
 | 
						|
      <div>
 | 
						|
        <template is="dom-if" if="[[_feedbackUrl]]">
 | 
						|
          <a class="feedback"
 | 
						|
              href$="[[_feedbackUrl]]"
 | 
						|
              rel="noopener"
 | 
						|
              target="_blank">Report bug</a> |
 | 
						|
        </template>
 | 
						|
        Press “?” for keyboard shortcuts
 | 
						|
        <gr-endpoint-decorator name="footer-right"></gr-endpoint-decorator>
 | 
						|
      </div>
 | 
						|
    </footer>
 | 
						|
    <gr-overlay id="keyboardShortcuts" with-backdrop>
 | 
						|
      <gr-keyboard-shortcuts-dialog
 | 
						|
          view="[[params.view]]"
 | 
						|
          on-close="_handleKeyboardShortcutDialogClose"></gr-keyboard-shortcuts-dialog>
 | 
						|
    </gr-overlay>
 | 
						|
    <gr-overlay id="registrationOverlay" with-backdrop>
 | 
						|
      <gr-registration-dialog
 | 
						|
          id="registrationDialog"
 | 
						|
          settings-url="[[_settingsUrl]]"
 | 
						|
          on-account-detail-update="_handleAccountDetailUpdate"
 | 
						|
          on-close="_handleRegistrationDialogClose">
 | 
						|
      </gr-registration-dialog>
 | 
						|
    </gr-overlay>
 | 
						|
    <gr-endpoint-decorator name="plugin-overlay"></gr-endpoint-decorator>
 | 
						|
    <gr-error-manager id="errorManager"></gr-error-manager>
 | 
						|
    <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
 | 
						|
    <gr-reporting id="reporting"></gr-reporting>
 | 
						|
    <gr-router id="router"></gr-router>
 | 
						|
    <gr-plugin-host id="plugins"
 | 
						|
        config="[[_serverConfig]]">
 | 
						|
    </gr-plugin-host>
 | 
						|
    <gr-lib-loader id="libLoader"></gr-lib-loader>
 | 
						|
    <gr-external-style id="externalStyleForAll" name="app-theme"></gr-external-style>
 | 
						|
    <gr-external-style id="externalStyleForTheme" name="[[getThemeEndpoint()]]"></gr-external-style>
 | 
						|
  </template>
 | 
						|
  <script src="gr-app-element.js" crossorigin="anonymous"></script>
 | 
						|
</dom-module>
 |