stimulsoft-forms
Version:
Stimulsoft PDF Forms
83 lines • 9.9 kB
JavaScript
import { Directive, Input } from "@angular/core";
import * as i0 from "@angular/core";
import * as i1 from "./sti-tooltip.service";
import * as i2 from "../../services/model.service";
export class StiTooltipDirective {
constructor(tooltipService, el, model) {
this.tooltipService = tooltipService;
this.el = el;
this.model = model;
this.active = false;
}
ngAfterViewInit() {
const onMouseEnter = (event) => {
this.active = true;
this.tooltipService.text = this.text;
this.tooltipService.position = this.tooltipPosition ? this.tooltipPosition : "bottom";
this.tooltipService.delay = this.showDelay ? this.showDelay : 0;
this.tooltipService.elementRect = this.model.getPositionRelativeToForm(this.el.nativeElement);
if (this.text) {
this.activate();
}
};
const onClick = (event) => {
this.deactivate();
};
const onMouseLeave = (event) => {
this.deactivate();
};
this.el.nativeElement.addEventListener("mouseenter", onMouseEnter);
this.el.nativeElement.addEventListener("click", onClick);
this.el.nativeElement.addEventListener("mouseleave", onMouseLeave);
}
activate() {
this.active = true;
this.clearHideTimeout();
if (this.showDelay) {
this.showTimeout = setTimeout(() => {
this.show();
}, this.showDelay);
}
else {
this.show();
}
}
deactivate() {
this.active = false;
this.clearShowTimeout();
this.hide();
}
show() {
this.tooltipService.showTooltip = true;
}
hide() {
this.tooltipService.showTooltip = false;
}
clearShowTimeout() {
if (this.showTimeout) {
clearTimeout(this.showTimeout);
this.showTimeout = null;
}
}
clearHideTimeout() {
if (this.hideTimeout) {
clearTimeout(this.hideTimeout);
this.hideTimeout = null;
}
}
ngOnDestroy() { }
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StiTooltipDirective, deps: [{ token: i1.StiTooltipService }, { token: i0.ElementRef }, { token: i2.StiModelService }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: StiTooltipDirective, selector: "[stiTooltip]", inputs: { tooltipPosition: "tooltipPosition", text: ["stiTooltip", "text"], showDelay: "showDelay" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StiTooltipDirective, decorators: [{
type: Directive,
args: [{ selector: "[stiTooltip]" }]
}], ctorParameters: () => [{ type: i1.StiTooltipService }, { type: i0.ElementRef }, { type: i2.StiModelService }], propDecorators: { tooltipPosition: [{
type: Input
}], text: [{
type: Input,
args: ["stiTooltip"]
}], showDelay: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpLXRvb2x0aXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RpbXVsc29mdC1mb3Jtcy9zcmMvbGliL2NvbXBvbmVudHMvc3RpLXRvb2x0aXAvc3RpLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQzs7OztBQUt2RixNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQW1CLGNBQWlDLEVBQVUsRUFBYyxFQUFTLEtBQXNCO1FBQXhGLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUhwRyxXQUFNLEdBQVksS0FBSyxDQUFDO0lBRytFLENBQUM7SUFFL0csZUFBZTtRQUNiLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDdEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM5RixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDekMsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUNELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBQ0QsV0FBVyxLQUFVLENBQUM7K0dBdEVYLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTs2SUFFNUIsZUFBZTtzQkFBdkIsS0FBSztnQkFFZSxJQUFJO3NCQUF4QixLQUFLO3VCQUFDLFlBQVk7Z0JBRVYsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN0aVRvb2x0aXBTZXJ2aWNlIH0gZnJvbSBcIi4vc3RpLXRvb2x0aXAuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdGlNb2RlbFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbW9kZWwuc2VydmljZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBcIltzdGlUb29sdGlwXVwiIH0pXHJcbmV4cG9ydCBjbGFzcyBTdGlUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSB0b29sdGlwUG9zaXRpb246IFwicmlnaHRcIiB8IFwibGVmdFwiIHwgXCJ0b3BcIiB8IFwiYm90dG9tXCIgfCBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dChcInN0aVRvb2x0aXBcIikgdGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKSBzaG93RGVsYXk6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dUaW1lb3V0O1xyXG4gIHB1YmxpYyBoaWRlVGltZW91dDtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdG9vbHRpcFNlcnZpY2U6IFN0aVRvb2x0aXBTZXJ2aWNlLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgbW9kZWw6IFN0aU1vZGVsU2VydmljZSkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3Qgb25Nb3VzZUVudGVyID0gKGV2ZW50KSA9PiB7XHJcbiAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgdGhpcy50b29sdGlwU2VydmljZS50ZXh0ID0gdGhpcy50ZXh0O1xyXG4gICAgICB0aGlzLnRvb2x0aXBTZXJ2aWNlLnBvc2l0aW9uID0gdGhpcy50b29sdGlwUG9zaXRpb24gPyB0aGlzLnRvb2x0aXBQb3NpdGlvbiA6IFwiYm90dG9tXCI7XHJcbiAgICAgIHRoaXMudG9vbHRpcFNlcnZpY2UuZGVsYXkgPSB0aGlzLnNob3dEZWxheSA/IHRoaXMuc2hvd0RlbGF5IDogMDtcclxuICAgICAgdGhpcy50b29sdGlwU2VydmljZS5lbGVtZW50UmVjdCA9IHRoaXMubW9kZWwuZ2V0UG9zaXRpb25SZWxhdGl2ZVRvRm9ybSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICBpZiAodGhpcy50ZXh0KSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmF0ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9uQ2xpY2sgPSAoZXZlbnQpID0+IHtcclxuICAgICAgdGhpcy5kZWFjdGl2YXRlKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9uTW91c2VMZWF2ZSA9IChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLmRlYWN0aXZhdGUoKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIsIG9uTW91c2VFbnRlcik7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIG9uQ2xpY2spO1xyXG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWxlYXZlXCIsIG9uTW91c2VMZWF2ZSk7XHJcbiAgfVxyXG4gIGFjdGl2YXRlKCkge1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5jbGVhckhpZGVUaW1lb3V0KCk7XHJcbiAgICBpZiAodGhpcy5zaG93RGVsYXkpIHtcclxuICAgICAgdGhpcy5zaG93VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvdygpO1xyXG4gICAgICB9LCB0aGlzLnNob3dEZWxheSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3coKTtcclxuICAgIH1cclxuICB9XHJcbiAgZGVhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsZWFyU2hvd1RpbWVvdXQoKTtcclxuICAgIHRoaXMuaGlkZSgpO1xyXG4gIH1cclxuICBzaG93KCkge1xyXG4gICAgdGhpcy50b29sdGlwU2VydmljZS5zaG93VG9vbHRpcCA9IHRydWU7XHJcbiAgfVxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLnRvb2x0aXBTZXJ2aWNlLnNob3dUb29sdGlwID0gZmFsc2U7XHJcbiAgfVxyXG4gIGNsZWFyU2hvd1RpbWVvdXQoKSB7XHJcbiAgICBpZiAodGhpcy5zaG93VGltZW91dCkge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5zaG93VGltZW91dCk7XHJcbiAgICAgIHRoaXMuc2hvd1RpbWVvdXQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJIaWRlVGltZW91dCgpIHtcclxuICAgIGlmICh0aGlzLmhpZGVUaW1lb3V0KSB7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lb3V0KTtcclxuICAgICAgdGhpcy5oaWRlVGltZW91dCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge31cclxufVxyXG4iXX0=