mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-13 10:11:22 +01:00
52 lines
1.1 KiB
TypeScript
52 lines
1.1 KiB
TypeScript
|
import {Et2Select} from "../Et2Select";
|
||
|
import {Et2StaticSelectMixin, StaticOptions} from "../StaticOptions";
|
||
|
import {PropertyValues} from 'lit';
|
||
|
|
||
|
export class Et2SelectNumber extends Et2StaticSelectMixin(Et2Select)
|
||
|
{
|
||
|
static get properties()
|
||
|
{
|
||
|
return {
|
||
|
...super.properties,
|
||
|
/**
|
||
|
* Step between numbers
|
||
|
*/
|
||
|
interval: {type: Number},
|
||
|
min: {type: Number},
|
||
|
max: {type: Number},
|
||
|
|
||
|
/**
|
||
|
* Add one or more leading zeros
|
||
|
* Set to how many zeros you want (000)
|
||
|
*/
|
||
|
leading_zero: {type: String},
|
||
|
/**
|
||
|
* Appended after every number
|
||
|
*/
|
||
|
suffix: {type: String}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
constructor()
|
||
|
{
|
||
|
super();
|
||
|
this.min = 1;
|
||
|
this.max = 10;
|
||
|
this.interval = 1;
|
||
|
this.leading_zero = "";
|
||
|
this.suffix = "";
|
||
|
}
|
||
|
|
||
|
updated(changedProperties : PropertyValues)
|
||
|
{
|
||
|
super.updated(changedProperties);
|
||
|
|
||
|
if(changedProperties.has('min') || changedProperties.has('max') || changedProperties.has('interval') || changedProperties.has('suffix'))
|
||
|
{
|
||
|
this._static_options = StaticOptions.number(this);
|
||
|
this.requestUpdate("select_options");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
customElements.define("et2-select-number", Et2SelectNumber);
|