index.html 2.01 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>

  <title>iron-localstorage</title>

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

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

  <link rel="import" href="../iron-localstorage.html">
  <style is="custom-style">
    input {
      padding: 0.4em;
      font-size: 16px;
      margin: 15px 0;
    }
  </style>
</head>
<body>

  <div class="vertical-section vertical-section-container centered">

    <template is="dom-bind">
      <iron-localstorage
        name="polymer-localstorage-x-test1"
        value="{{value}}"
        on-iron-localstorage-load-empty="initializeDefaultValue"
        ></iron-localstorage>
      <p>Form element below will be kept in sync with <code>localStorage</code>.</p>
      <p>Demo source also shows how to initialize storage to default value</p>
      <p>If you open another window with this test, changes in one window will propagate to
      the other immediately.</p>
      <p>Name: <input value="{{value.name::change}}" placeholder="Enter words"></p>
      <paper-checkbox checked="{{value.hasEars::change}}">Has ears</paper-checkbox>
    </template>

  </div>

  <script>
    document.querySelector('template').initializeDefaultValue = function(ev) {
      console.log("initializeTemplate");
      this.value = {
        name: "Mickey",
        hasEars: true
      }
    }
  </script>
</body>
</html>