index.html 2.42 KB
<!doctype html>
<!--
@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<html>
<head>

  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">

  <title>iron-input demo</title>

  <script src="../../webcomponentsjs/webcomponents-lite.js"></script>

  <link rel="import" href="../iron-input.html">

  <link href="../../paper-styles/paper-styles.html" rel="import">
  <link href="../../paper-styles/demo-pages.html" rel="import">

  <style is="custom-style">

    .vertical-section {
      @apply(--paper-font-body1);

      line-height: 40px;
    }

    code {
      color: var(--google-grey-700);
    }

    input[is=iron-input] {
      width: 100%;
      box-sizing: border-box;
    }

    input, button {
      font-size: 20px;
      padding: 0.2em;
    }

  </style>
</head>
<body>

  <div class="vertical-section vertical-section-container centered">
    <template is="dom-bind">
      <p>
        <input is="iron-input" bind-value="{{bindValue}}" value="{{value::input}}">
        <br>
        bind to <code>bind-value</code>: <b>[[bindValue]]</b>
        <br>
        bind to <code>value::input</code>: <b>{{value}}</b>
      </p>

      <p on-click="setValue">
        set bind-value to: <input> <button is="paper-button" value="bindValue">set</button>
        <br>
        set value to: <input> <button value="value">set</button>
      </p>
    </template>
    <p>only allows these characters:
    <code>!@#0123456789</code></p>
    <input is="iron-input" allowed-pattern="[!@#0-9]" prevent-invalid-input>

  </div>

  <script>
    var scope = document.querySelector('template[is=dom-bind]');

    scope.setValue = function(event) {
      if (!(event.target instanceof HTMLButtonElement)) {
        return;
      }
      document.querySelector('input[is=iron-input]')[event.target.value] = event.target.previousElementSibling.value;
    }
  </script>

</body>
</html>