Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
a955240dd2 | |||
29900c458b | |||
2ef19ab203 | |||
bcea796d69 | |||
1fc79c3ba2 | |||
cafe63348b |
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@uptimelink/webwidget",
|
||||
"version": "1.0.64",
|
||||
"version": "1.0.67",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@uptimelink/webwidget",
|
||||
"version": "1.0.64",
|
||||
"version": "1.0.67",
|
||||
"private": false,
|
||||
"description": "the webwidget for public use of uptimelink",
|
||||
"main": "dist_ts_web/index.js",
|
||||
|
@ -1,6 +1,12 @@
|
||||
import { DeesElement, property, html, customElement, TemplateResult } from '@designestate/dees-element';
|
||||
import * as domtools from '@designestate/dees-domtools';
|
||||
|
||||
declare global {
|
||||
interface HTMLElementTagNameMap {
|
||||
'uptimelink-webwidget': UptimelinkWebwidget;
|
||||
}
|
||||
}
|
||||
|
||||
@customElement('uptimelink-webwidget')
|
||||
export class UptimelinkWebwidget extends DeesElement {
|
||||
public static demo = () => html`
|
||||
@ -13,6 +19,9 @@ export class UptimelinkWebwidget extends DeesElement {
|
||||
@property()
|
||||
public isFocused = false;
|
||||
|
||||
@property()
|
||||
public isElevated = false;
|
||||
|
||||
@property()
|
||||
public showExpanded: boolean = false;
|
||||
|
||||
@ -30,7 +39,7 @@ export class UptimelinkWebwidget extends DeesElement {
|
||||
position: relative;
|
||||
display: block;
|
||||
height: 30px;
|
||||
z-index:10;
|
||||
z-index: ${this.isElevated ? '10' : 'auto'} ;
|
||||
}
|
||||
.mainbox {
|
||||
position: relative;
|
||||
@ -120,6 +129,11 @@ export class UptimelinkWebwidget extends DeesElement {
|
||||
border-radius: 3px 3px 10px 10px;
|
||||
padding: 5px;
|
||||
margin-top: 10px;
|
||||
transition: background 0.1s;
|
||||
}
|
||||
|
||||
.viewStatuspage:hover {
|
||||
background: ${this.goBright ? 'rgba(0,0,0,0.1)' : 'rgba(255,255,255,0.1)'};
|
||||
}
|
||||
</style>
|
||||
<div class="mainbox ${this.isFocused ? 'focused' : null}">
|
||||
@ -154,6 +168,7 @@ export class UptimelinkWebwidget extends DeesElement {
|
||||
await this.updateComplete;
|
||||
const mainbox: HTMLDivElement = this.shadowRoot.querySelector('.mainbox');
|
||||
mainbox.onmouseenter = async () => {
|
||||
this.isElevated = true;
|
||||
this.isFocused = true;
|
||||
await domtools.DomTools.getGlobalDomToolsSync().convenience.smartdelay.delayFor(200);
|
||||
if (!this.isFocused) {
|
||||
@ -161,11 +176,16 @@ export class UptimelinkWebwidget extends DeesElement {
|
||||
}
|
||||
this.showExpanded = true;
|
||||
await this.performUpdate();
|
||||
await domtools.DomTools.getGlobalDomToolsSync().convenience.smartdelay.delayFor(50);
|
||||
await (await this.domtoolsPromise).convenience.smartdelay.delayFor(50);
|
||||
const expandedDiv = this.shadowRoot.querySelector('.expanded') as HTMLElement;
|
||||
expandedDiv.style.opacity = '1';
|
||||
};
|
||||
mainbox.onmouseleave = async () => {
|
||||
(await this.domtoolsPromise).convenience.smartdelay.delayFor(200).then(() => {
|
||||
if (!this.isFocused) {
|
||||
this.isElevated = false;
|
||||
}
|
||||
});
|
||||
if (!this.showExpanded) {
|
||||
this.isFocused = false;
|
||||
return;
|
||||
|
Reference in New Issue
Block a user