systelab-components
Version:
systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.
66 lines • 11 kB
JavaScript
import { Directive, Input } from '@angular/core';
import * as i0 from "@angular/core";
export class TooltipDirective {
static { this.DEFAULT_PLACEMENT = 'top'; }
static { this.DEFAULT_DELAY = 1000; }
constructor(el, renderer) {
this.el = el;
this.renderer = renderer;
this.systelabTooltipOnFocus = true;
}
ngAfterViewInit() {
jQuery(this.el.nativeElement)
.tooltip();
}
ngOnDestroy() {
jQuery(this.el.nativeElement)
.tooltip('dispose');
}
ngOnChanges(changes) {
this.ngOnDestroy();
this.initializeTooltip();
this.ngAfterViewInit();
}
initializeTooltip() {
this.renderer.setAttribute(this.el.nativeElement, 'data-toogle', 'tooltip');
if (!this.systelabTooltipOnFocus) {
this.renderer.setAttribute(this.el.nativeElement, 'data-trigger', 'hover');
}
this.renderer.setAttribute(this.el.nativeElement, 'data-boundary', 'viewport');
if (this.systelabTooltipHtml) {
this.renderer.setAttribute(this.el.nativeElement, 'data-html', 'true');
}
this.renderer.setAttribute(this.el.nativeElement, 'data-placement', (this.systelabTooltipPlacement) ? this.systelabTooltipPlacement : TooltipDirective.DEFAULT_PLACEMENT);
const tooltipShowDelay = `"show":${((this.systelabTooltipDelay) ? this.systelabTooltipDelay : TooltipDirective.DEFAULT_DELAY)}`;
const tooltipHideDelay = `"hide":${((this.systelabTooltipHideDelay) ? this.systelabTooltipHideDelay : TooltipDirective.DEFAULT_DELAY)}`;
const tooltipDelay = `{${tooltipShowDelay}, ${tooltipHideDelay}}`;
this.renderer.setAttribute(this.el.nativeElement, 'data-delay', tooltipDelay);
this.renderer.setAttribute(this.el.nativeElement, 'title', (this.systelabTooltipHtml) ? this.systelabTooltipHtml : (this.systelabTooltip ? this.systelabTooltip : ''));
if (!this.systelabTooltipHtml && !this.systelabTooltip) {
this.renderer.setAttribute(this.el.nativeElement, 'title', '');
this.renderer.setAttribute(this.el.nativeElement, 'data-original-title', '');
this.renderer.setAttribute(this.el.nativeElement, 'data-html', 'false');
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: TooltipDirective, selector: "[systelabTooltip],[systelabTooltipHtml]", inputs: { systelabTooltip: "systelabTooltip", systelabTooltipHtml: "systelabTooltipHtml", systelabTooltipPlacement: "systelabTooltipPlacement", systelabTooltipDelay: "systelabTooltipDelay", systelabTooltipHideDelay: "systelabTooltipHideDelay", systelabTooltipOnFocus: "systelabTooltipOnFocus" }, usesOnChanges: true, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TooltipDirective, decorators: [{
type: Directive,
args: [{
selector: '[systelabTooltip],[systelabTooltipHtml]'
}]
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { systelabTooltip: [{
type: Input
}], systelabTooltipHtml: [{
type: Input
}], systelabTooltipPlacement: [{
type: Input
}], systelabTooltipDelay: [{
type: Input
}], systelabTooltipHideDelay: [{
type: Input
}], systelabTooltipOnFocus: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeXN0ZWxhYi1jb21wb25lbnRzL3NyYy9saWIvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQWtELE1BQU0sZUFBZSxDQUFDOztBQU81SCxNQUFNLE9BQU8sZ0JBQWdCO2FBRUwsc0JBQWlCLEdBQUcsS0FBSyxBQUFSLENBQVM7YUFDMUIsa0JBQWEsR0FBRyxJQUFJLEFBQVAsQ0FBUTtJQVM1QyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFGL0MsMkJBQXNCLEdBQUcsSUFBSSxDQUFDO0lBRzlDLENBQUM7SUFFRCxlQUFlO1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO2FBQzNCLE9BQU8sRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVc7UUFDVixNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7YUFDM0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8saUJBQWlCO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ2pDLElBQUksQ0FB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ZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmRlY2xhcmUgdmFyIGpRdWVyeTogYW55O1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbc3lzdGVsYWJUb29sdGlwXSxbc3lzdGVsYWJUb29sdGlwSHRtbF0nXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG5cblx0cHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BMQUNFTUVOVCA9ICd0b3AnO1xuXHRwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfREVMQVkgPSAxMDAwO1xuXG5cdEBJbnB1dCgpIHB1YmxpYyBzeXN0ZWxhYlRvb2x0aXA6IHN0cmluZztcblx0QElucHV0KCkgcHVibGljIHN5c3RlbGFiVG9vbHRpcEh0bWw6IHN0cmluZztcblx0QElucHV0KCkgcHVibGljIHN5c3RlbGFiVG9vbHRpcFBsYWNlbWVudDogdW5kZWZpbmVkIHwgJ3RvcCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgfCAnbGVmdCc7XG5cdEBJbnB1dCgpIHB1YmxpYyBzeXN0ZWxhYlRvb2x0aXBEZWxheTogbnVtYmVyO1xuXHRASW5wdXQoKSBwdWJsaWMgc3lzdGVsYWJUb29sdGlwSGlkZURlbGF5OiBudW1iZXI7XG5cdEBJbnB1dCgpIHB1YmxpYyBzeXN0ZWxhYlRvb2x0aXBPbkZvY3VzID0gdHJ1ZTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblx0XHRqUXVlcnkodGhpcy5lbC5uYXRpdmVFbGVtZW50KVxuXHRcdFx0LnRvb2x0aXAoKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdGpRdWVyeSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpXG5cdFx0XHQudG9vbHRpcCgnZGlzcG9zZScpO1xuXHR9XG5cblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuXHRcdHRoaXMubmdPbkRlc3Ryb3koKTtcblx0XHR0aGlzLmluaXRpYWxpemVUb29sdGlwKCk7XG5cdFx0dGhpcy5uZ0FmdGVyVmlld0luaXQoKTtcblx0fVxuXG5cdHByaXZhdGUgaW5pdGlhbGl6ZVRvb2x0aXAoKTogdm9pZCB7XG5cdFx0dGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZGF0YS10b29nbGUnLCAndG9vbHRpcCcpO1xuXHRcdGlmICghdGhpcy5zeXN0ZWxhYlRvb2x0aXBPbkZvY3VzKSB7XG5cdFx0XHR0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkYXRhLXRyaWdnZXInLCAnaG92ZXInKTtcblx0XHR9XG5cdFx0dGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZGF0YS1ib3VuZGFyeScsICd2aWV3cG9ydCcpO1xuXHRcdGlmICh0aGlzLnN5c3RlbGFiVG9vbHRpcEh0bWwpIHtcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2RhdGEtaHRtbCcsICd0cnVlJyk7XG5cdFx0fVxuXHRcdHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2RhdGEtcGxhY2VtZW50Jyxcblx0XHRcdCh0aGlzLnN5c3RlbGFiVG9vbHRpcFBsYWNlbWVudCkgPyB0aGlzLnN5c3RlbGFiVG9vbHRpcFBsYWNlbWVudCA6IFRvb2x0aXBEaXJlY3RpdmUuREVGQVVMVF9QTEFDRU1FTlQpO1xuXG5cdFx0Y29uc3QgdG9vbHRpcFNob3dEZWxheSA9IGBcInNob3dcIjokeygodGhpcy5zeXN0ZWxhYlRvb2x0aXBEZWxheSkgPyB0aGlzLnN5c3RlbGFiVG9vbHRpcERlbGF5IDogVG9vbHRpcERpcmVjdGl2ZS5ERUZBVUxUX0RFTEFZKX1gO1xuXHRcdGNvbnN0IHRvb2x0aXBIaWRlRGVsYXkgPSBgXCJoaWRlXCI6JHsoKHRoaXMuc3lzdGVsYWJUb29sdGlwSGlkZURlbGF5KSA/IHRoaXMuc3lzdGVsYWJUb29sdGlwSGlkZURlbGF5IDogVG9vbHRpcERpcmVjdGl2ZS5ERUZBVUxUX0RFTEFZKX1gO1xuXHRcdGNvbnN0IHRvb2x0aXBEZWxheSA9IGB7JHt0b29sdGlwU2hvd0RlbGF5fSwgJHt0b29sdGlwSGlkZURlbGF5fX1gO1xuXHRcdHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2RhdGEtZGVsYXknLCB0b29sdGlwRGVsYXkpO1xuXG5cdFx0dGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndGl0bGUnLCAodGhpcy5zeXN0ZWxhYlRvb2x0aXBIdG1sKSA/IHRoaXMuc3lzdGVsYWJUb29sdGlwSHRtbCA6ICh0aGlzLnN5c3RlbGFiVG9vbHRpcCA/IHRoaXMuc3lzdGVsYWJUb29sdGlwIDogJycpKTtcblxuXHRcdGlmICghdGhpcy5zeXN0ZWxhYlRvb2x0aXBIdG1sICYmICF0aGlzLnN5c3RlbGFiVG9vbHRpcCkge1xuXHRcdFx0dGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndGl0bGUnLCAnJyk7XG5cdFx0XHR0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdkYXRhLW9yaWdpbmFsLXRpdGxlJywgJycpO1xuXHRcdFx0dGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZGF0YS1odG1sJywgJ2ZhbHNlJyk7XG5cdFx0fVxuXHR9XG59XG4iXX0=