<!--
Copyright (C) 2016 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="../../shared/gr-button/gr-button.html">
<link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">

<dom-module id="gr-http-password">
  <template>
    <style>
      .password {
        font-family: var(--monospace-font-family);
      }
      .noPassword {
        color: #777;
        font-style: italic;
      }
    </style>
    <style include="gr-settings-styles"></style>
    <div class="gr-settings-styles">
      <section>
        <span class="title">Username</span>
        <span class="value">[[_username]]</span>
      </section>
      <section>
        <span class="title">Password</span>
        <span hidden$="[[!_hasPassword]]">
          <span class="value" hidden$="[[_passwordVisible]]">
            <gr-button
                link
                on-tap="_handleViewPasswordTap">Click to view</gr-button>
          </span>
          <span
              class="value password"
              hidden$="[[!_passwordVisible]]">[[_password]]</span>
        </span>
        <span class="value noPassword" hidden$="[[_hasPassword]]">(None)</span>
      </section>
      <gr-button
          id="generateButton"
          on-tap="_handleGenerateTap">Generate New Password</gr-button>
      <gr-button
          id="clearButton"
          on-tap="_handleClearTap"
          disabled="[[!_hasPassword]]">Clear Password</gr-button>
    </div>
    <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
  </template>
  <script src="gr-http-password.js"></script>
</dom-module>
