73bcce88
luigser
COMPONENTS
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<!--
@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-styles/paper-styles.html">
<link rel="import" href="paper-input-addon-behavior.html">
<!--
`<paper-input-char-counter>` is a character counter for use with `<paper-input-container>`. It
shows the number of characters entered in the input and the max length if it is specified.
<paper-input-container>
<input is="iron-input" maxlength="20">
<paper-input-char-counter></paper-input-char-counter>
</paper-input-container>
### Styling
The following mixin is available for styling:
Custom property | Description | Default
----------------|-------------|----------
`--paper-input-char-counter` | Mixin applied to the element | `{}`
-->
<dom-module id="paper-input-char-counter">
|
e619a3b0
Luigi Serra
Controllet cross ...
|
33
|
<template>
|
73bcce88
luigser
COMPONENTS
|
34
|
|
e619a3b0
Luigi Serra
Controllet cross ...
|
35
36
37
38
|
<style>
:host {
display: inline-block;
float: right;
|
73bcce88
luigser
COMPONENTS
|
39
|
|
e619a3b0
Luigi Serra
Controllet cross ...
|
40
41
42
|
@apply(--paper-font-caption);
@apply(--paper-input-char-counter);
}
|
f748e9cf
Luigi Serra
new controllet an...
|
43
44
45
46
|
:host-context([dir="rtl"]) {
float: left;
}
|
e619a3b0
Luigi Serra
Controllet cross ...
|
47
|
</style>
|
73bcce88
luigser
COMPONENTS
|
48
49
50
51
|
<span>[[_charCounterStr]]</span>
</template>
|
73bcce88
luigser
COMPONENTS
|
52
53
54
|
</dom-module>
<script>
|
73bcce88
luigser
COMPONENTS
|
55
|
Polymer({
|
73bcce88
luigser
COMPONENTS
|
56
57
58
59
60
61
62
|
is: 'paper-input-char-counter',
behaviors: [
Polymer.PaperInputAddonBehavior
],
properties: {
|
73bcce88
luigser
COMPONENTS
|
63
64
65
66
|
_charCounterStr: {
type: String,
value: '0'
}
|
73bcce88
luigser
COMPONENTS
|
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
},
update: function(state) {
if (!state.inputElement) {
return;
}
state.value = state.value || '';
// Account for the textarea's new lines.
var str = state.value.replace(/(\r\n|\n|\r)/g, '--').length;
if (state.inputElement.hasAttribute('maxlength')) {
str += '/' + state.inputElement.getAttribute('maxlength');
}
this._charCounterStr = str;
}
|
73bcce88
luigser
COMPONENTS
|
84
|
});
|
73bcce88
luigser
COMPONENTS
|
85
|
</script>
|