2022-09-02 13:50:38 +02:00
|
|
|
/**
|
|
|
|
* EGroupware eTemplate2 - Spinner widget
|
|
|
|
*
|
|
|
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
|
|
|
* @package etemplate
|
|
|
|
* @subpackage api
|
|
|
|
* @link https://www.egroupware.org
|
|
|
|
* @author Hadi Nategh
|
|
|
|
*/
|
|
|
|
|
|
|
|
import {Et2Widget} from "../Et2Widget/Et2Widget";
|
|
|
|
import {SlSpinner} from "@shoelace-style/shoelace";
|
|
|
|
import shoelace from "../Styles/shoelace";
|
2023-09-13 19:55:33 +02:00
|
|
|
import {css} from "lit";
|
2022-09-02 13:50:38 +02:00
|
|
|
|
|
|
|
export class Et2Spinner extends Et2Widget(SlSpinner)
|
|
|
|
{
|
|
|
|
static get styles()
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
...super.styles,
|
|
|
|
shoelace,
|
|
|
|
css`
|
|
|
|
`
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
static get properties()
|
|
|
|
{
|
|
|
|
return {
|
|
|
|
...super.properties,
|
|
|
|
/**
|
|
|
|
* font-size size is based on font size
|
|
|
|
* --track-width The width of the track.
|
|
|
|
* --track-color The color of the track.
|
|
|
|
* --indicator-color The color of the indicator.
|
|
|
|
* --speed The time it takes for the spinner to complete one animation cycle.
|
|
|
|
*/
|
|
|
|
style: {type: String},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
constructor()
|
|
|
|
{
|
|
|
|
super();
|
|
|
|
this.style = '';
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Handle changes that have to happen based on changes to properties
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
updated(changedProperties)
|
|
|
|
{
|
|
|
|
super.updated(changedProperties);
|
|
|
|
if (changedProperties.has("style")) {
|
|
|
|
if(this.style)
|
|
|
|
{
|
|
|
|
this.getDOMNode().setAttribute('style', this.style);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
customElements.define("et2-spinner", Et2Spinner);
|