se-timer - Vaadin Add-on Directory
Polymer component that shows time in user-defined format, with ability to act like timer
**[ This description is mirrored from README.md at [github.com/andrewmiroshnichenko/se-timer](https://github.com//andrewmiroshnichenko/se-timer/blob/v1.0.2/README.md) on 2019-05-10 ]**
[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/andrewmiroshnichenko/se-timer)
# se-timer
Shows time in certain format and ticks it
## Install
```
$ bower install se-timer
```
Make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) installed. Then run `polymer serve` to serve your element locally.
## Viewing component
```
$ polymer serve
```
## Running tests
```
$ polymer test
```
## API
Component have four public properties.
1. Value
| | |
| --- | --- |
| **Property name** | value |
| **Property type** | Number |
| **Default value** | 0 |
| **Can be set from html** | Yes |
| **Corresponding attribute** | value |
| | |
Number of milliseconds that should be reflected in the display. Value can’t exceed 359999999(which equivalents ‘99:59:59.999’). After reaching higher value component’s ‘state‘ will be explicitly set to ‘stop’.
```html
```
```javascript
var customEl = document.querySelector('se-timer');
customEl.value; // returns Number 1234
customEl.value = 10000;
customEl.value; // returns Number 10000
```
```html
10:10:10
```
```javascript
var customEl = document.querySelector('se-timer');
customEl.value; // returns Number 36610000
```
2. timerStep
| | |
| --- | --- |
| **Property name** | timerStep |
| **Property type** | Number |
| **Default value** | 500 |
| **Can be set from html** | Yes |
| **Corresponding attribute** | timer-step |
| | |
Frequency of polling of current time and, subsequently, displayed time updating in `count` state. Change of this property in `count` state won’t take effect. New value will be applied only after state will become `stop` at least once after change occurred.
```html
```
```javascript
var customEl = document.querySelector('se-timer');
customEl.timerStep; // returns Number 100
customEl.timerStep = 120;
customEl.timerStep; // returns Number 120
```
3. State
| | |
| --- | --- |
| **Property name** | state |
| **Property type** | String |
| **Default value** | 'stop' |
| **Can be set from html** | Yes |
| **Corresponding attribute** | state |
| | |
State of the component. Two possible values are:
- `count`. In this state value is increasing every `timerStep` milliseconds;
- `stop`. In this state value isn’t changing.
```html
```
```javascript
var customEl = document.querySelector('se-timer');
customEl.state; // returns String 'stop'
customEl.state = 'count';
customEl.state; // returns String 'count'
```
4. Format
| | |
| --- | --- |
| **Property name** | format |
| **Property type** | String |
| **Default value** | 'hh:mm:ss' |
| **Can be set from html** | Yes |
| **Corresponding attribute** | format |
| | |
Format of output data. Seven formats are supported:
- `hh`. Displays hours (value interval from 00 to 99);
- `hh:mm`. Displays hours (value interval from 00 to 99) and minutes (value interval from 00 to 59);
- `hh:mm:ss`. Displays hours (value interval from 00 to 99), minutes (value interval from 00 to 59) and seconds (value interval from 00 to 59);
- `hh:mm:ss.ms`. Displays hours (value interval from 00 to 99), minutes (value interval from 00 to 59), seconds (value interval from 00 to 59) and milliseconds (value interval from 000 to 999);
- `mm:ss`. Displays minutes (value interval from 00 to 59) and seconds (value interval from 00 to 59);
- `mm:ss.ms`. Displays minutes (value interval from 00 to 59), seconds (value interval from 00 to 59) and milliseconds (value interval from 000 to 999);
- `ss.ms`. Displays seconds (value interval from 00 to 59) and milliseconds (value interval from 000 to 999);
```html
```
```javascript
var customEl = document.querySelector('se-timer');
customEl.format; // returns String 'hh'
customEl.format = 'hh:mm:ss:ms';
customEl.format; // returns Number 'hh:mm:ss:ms'
```
## Styling
The following custom properties are available for styling:
| Custom property | Description | Default |
| --- | --- | --- |
| `--setimer-number-color` | Timer digits color | Browser-default(black) |
| `--setimer-number-size` | Font size of timer digits. This param changes component dimensions | 45px |
| `--setimer-background-color` | Component's background color | `transparent` |
| `--setimer-font-family` | Font family of digits | `Roboto, sans-serif` |
# Demo
Better view on [webcomponentsjs.org](https://www.webcomponents.org/element/andrewmiroshnichenko/se-timer)
```html
```
GitHub HomepageView on GitHub
Issue tracker
Documentation
Online Demo
se-timer version 1.0.0
### Dependencies
Polymer/polymer#^2.0.0-rc.2
se-timer version 1.0.1
### Dependencies
Polymer/polymer#^2.0.0-rc.2
se-timer version 1.0.2
### Dependencies
Polymer/polymer#^2.0.0-rc.2