@qodalis/angular-cli
Version:
A lightweight and flexible command-line interface (CLI) tool designed to streamline workflows and automate tasks for developers.
54 lines • 7.4 kB
JavaScript
export class OverlayAddon {
constructor() {
this.overlayNode = document.createElement('div');
this.overlayNode.style.cssText = `border-radius: 15px;
font-size: xx-large;
opacity: 0.75;
padding: 0.2em 0.5em 0.2em 0.5em;
position: absolute;
-webkit-user-select: none;
-webkit-transition: opacity 180ms ease-in;
-moz-user-select: none;
-moz-transition: opacity 180ms ease-in;`;
this.overlayNode.addEventListener('mousedown', (e) => {
e.preventDefault();
e.stopPropagation();
}, true);
}
activate(terminal) {
this.terminal = terminal;
}
dispose() { }
showOverlay(msg, timeout) {
const { terminal, overlayNode } = this;
if (!terminal.element)
return;
overlayNode.style.color = '#101010';
overlayNode.style.backgroundColor = '#f0f0f0';
overlayNode.textContent = msg;
overlayNode.style.opacity = '0.75';
if (!overlayNode.parentNode) {
terminal.element.appendChild(overlayNode);
}
const divSize = terminal.element.getBoundingClientRect();
const overlaySize = overlayNode.getBoundingClientRect();
overlayNode.style.top =
(divSize.height - overlaySize.height) / 2 + 'px';
overlayNode.style.left = (divSize.width - overlaySize.width) / 2 + 'px';
if (this.overlayTimeout)
clearTimeout(this.overlayTimeout);
if (!timeout)
return;
this.overlayTimeout = window.setTimeout(() => {
overlayNode.style.opacity = '0';
this.overlayTimeout = window.setTimeout(() => {
if (overlayNode.parentNode) {
overlayNode.parentNode.removeChild(overlayNode);
}
this.overlayTimeout = undefined;
overlayNode.style.opacity = '0.75';
}, 200);
}, timeout || 1500);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaS9zcmMvbGliL2FkZG9ucy9vdmVybGF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxZQUFZO0lBS3JCO1FBQ0ksSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRzs7Ozs7Ozs7d0NBUUQsQ0FBQztRQUVqQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUM3QixXQUFXLEVBQ1gsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNGLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxFQUNELElBQUksQ0FDUCxDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFrQjtRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxLQUFVLENBQUM7SUFFbEIsV0FBVyxDQUFDLEdBQVcsRUFBRSxPQUFnQjtRQUNyQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRTlCLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNwQyxXQUFXLENBQUMsS0FBSyxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7UUFDOUMsV0FBVyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFDOUIsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBRW5DLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFO1lBQ3pCLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzdDO1FBRUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3pELE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXhELFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRztZQUNqQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDckQsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRXhFLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3pDLFdBQVcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztZQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN6QyxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUU7b0JBQ3hCLFdBQVcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNuRDtnQkFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztnQkFDaEMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1lBQ3ZDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNaLENBQUMsRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRlcm1pbmFsQWRkb24sIFRlcm1pbmFsIH0gZnJvbSAnQHh0ZXJtL3h0ZXJtJztcblxuZXhwb3J0IGNsYXNzIE92ZXJsYXlBZGRvbiBpbXBsZW1lbnRzIElUZXJtaW5hbEFkZG9uIHtcbiAgICBwcml2YXRlIHRlcm1pbmFsITogVGVybWluYWw7XG4gICAgcHJpdmF0ZSBvdmVybGF5Tm9kZTogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBvdmVybGF5VGltZW91dD86IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLm92ZXJsYXlOb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMub3ZlcmxheU5vZGUuc3R5bGUuY3NzVGV4dCA9IGBib3JkZXItcmFkaXVzOiAxNXB4O1xuZm9udC1zaXplOiB4eC1sYXJnZTtcbm9wYWNpdHk6IDAuNzU7XG5wYWRkaW5nOiAwLjJlbSAwLjVlbSAwLjJlbSAwLjVlbTtcbnBvc2l0aW9uOiBhYnNvbHV0ZTtcbi13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4td2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgZWFzZS1pbjtcbi1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4tbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMTgwbXMgZWFzZS1pbjtgO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheU5vZGUuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFjdGl2YXRlKHRlcm1pbmFsOiBUZXJtaW5hbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRlcm1pbmFsID0gdGVybWluYWw7XG4gICAgfVxuXG4gICAgZGlzcG9zZSgpOiB2b2lkIHt9XG5cbiAgICBzaG93T3ZlcmxheShtc2c6IHN0cmluZywgdGltZW91dD86IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHRlcm1pbmFsLCBvdmVybGF5Tm9kZSB9ID0gdGhpcztcbiAgICAgICAgaWYgKCF0ZXJtaW5hbC5lbGVtZW50KSByZXR1cm47XG5cbiAgICAgICAgb3ZlcmxheU5vZGUuc3R5bGUuY29sb3IgPSAnIzEwMTAxMCc7XG4gICAgICAgIG92ZXJsYXlOb2RlLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICcjZjBmMGYwJztcbiAgICAgICAgb3ZlcmxheU5vZGUudGV4dENvbnRlbnQgPSBtc2c7XG4gICAgICAgIG92ZXJsYXlOb2RlLnN0eWxlLm9wYWNpdHkgPSAnMC43NSc7XG5cbiAgICAgICAgaWYgKCFvdmVybGF5Tm9kZS5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICB0ZXJtaW5hbC5lbGVtZW50LmFwcGVuZENoaWxkKG92ZXJsYXlOb2RlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRpdlNpemUgPSB0ZXJtaW5hbC5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBvdmVybGF5U2l6ZSA9IG92ZXJsYXlOb2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIG92ZXJsYXlOb2RlLnN0eWxlLnRvcCA9XG4gICAgICAgICAgICAoZGl2U2l6ZS5oZWlnaHQgLSBvdmVybGF5U2l6ZS5oZWlnaHQpIC8gMiArICdweCc7XG4gICAgICAgIG92ZXJsYXlOb2RlLnN0eWxlLmxlZnQgPSAoZGl2U2l6ZS53aWR0aCAtIG92ZXJsYXlTaXplLndpZHRoKSAvIDIgKyAncHgnO1xuXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlUaW1lb3V0KSBjbGVhclRpbWVvdXQodGhpcy5vdmVybGF5VGltZW91dCk7XG4gICAgICAgIGlmICghdGltZW91dCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheVRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBvdmVybGF5Tm9kZS5zdHlsZS5vcGFjaXR5ID0gJzAnO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5VGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3ZlcmxheU5vZGUucGFyZW50Tm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBvdmVybGF5Tm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG92ZXJsYXlOb2RlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5VGltZW91dCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBvdmVybGF5Tm9kZS5zdHlsZS5vcGFjaXR5ID0gJzAuNzUnO1xuICAgICAgICAgICAgfSwgMjAwKTtcbiAgICAgICAgfSwgdGltZW91dCB8fCAxNTAwKTtcbiAgICB9XG59XG4iXX0=