blob: 24c5c12551aafde9cf0dd8593ed473d50943f459 [file] [log] [blame]
<!--
@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
-->
<link rel="import" href="../../polymer/polymer.html">
<link rel="import" href="../../paper-button/paper-button.html">
<link rel="import" href="../iron-checked-element-behavior.html">
<dom-module id="simple-checkbox">
<template>
<style>
:host {
display: block;
}
:host([invalid]) span {
color: red;
}
#labelText {
display: inline-block;
width: 100px;
}
</style>
<input type="checkbox" id="checkbox" on-tap="_onCheckTap">
<span id="labelText">{{label}}</span>
<paper-button raised on-click="_onClick">validate</paper-button>
</template>
<script>
Polymer({
is: 'simple-checkbox',
behaviors: [
Polymer.IronCheckedElementBehavior
],
properties: {
label: {
type: String,
value: 'not validated'
}
},
_onCheckTap: function() {
this.checked = this.$.checkbox.checked;
},
_onClick: function() {
this.validate();
this.label = this.invalid ? 'is invalid' : 'is valid';
}
});
</script>
</dom-module>