UNPKG

@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
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=