@anglr/common 19.1.0-beta.20231207115247 → 19.1.0-beta.20240125054031

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/changelog.md CHANGED
@@ -1,10 +1,20 @@
1
1
  # Changelog
2
2
 
3
- ## Version 19.1.0 (2023-12-06)
3
+ ## Version 19.2.0 (2024-01-25)
4
+
5
+ ### Features
6
+
7
+ - updated `EllipsisTooltipSADirective` directive
8
+ - **new inputs**
9
+ - `tooltipPrefix` tooltip prefix text to be prepended to tooltip read from content
10
+ - `tooltipSuffix` tooltip suffix text to be appended to tooltip read from content
11
+
12
+ ## Version 19.1.0 (2023-12-14)
4
13
 
5
14
  ### Bug Fixes
6
15
 
7
16
  - fixed `TooltipDirective` overflowing 'MouseEnter' tooltip on right side of screen
17
+ - fixed `TooltipDirective` rendering tooltip only for non empty content
8
18
  - *subpackage* `@anglr/common/material`
9
19
  - fixed `ConfirmationDialogDirective`, now correctly takes global options
10
20
 
@@ -19,6 +29,7 @@
19
29
  - `ellipsisClass` css class appliet to element
20
30
  - `allowHtml` indication whether are html tags allowed in tooltip text
21
31
  - `ellipsisTooltip` gets or sets HTML element from which is text taken for tooltip
32
+ - new `getHostElement` function, that gets host html element for component
22
33
  - updated `TooltipDirective` directive
23
34
  - is now `standalone`
24
35
  - *subpackage* `@anglr/common/material`
@@ -1,5 +1,6 @@
1
+ import { __decorate, __metadata } from "tslib";
1
2
  import { Directive, ElementRef, Input, Renderer2, booleanAttribute, inject } from '@angular/core';
2
- import { nameof } from '@jscrpt/common';
3
+ import { BindThis, nameof } from '@jscrpt/common';
3
4
  import { TooltipDirective } from '../../modules/tooltip';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../../modules/tooltip/directives/tooltip/tooltip.directive";
@@ -23,7 +24,7 @@ export class EllipsisTooltipSADirective {
23
24
  /**
24
25
  * Instance of mutation observer used for watching
25
26
  */
26
- textObserver = new MutationObserver(() => this.tooltip.tooltip = this.allowHtml ? this.element.innerHTML : this.element.innerText);
27
+ textObserver = new MutationObserver(this.updateTooltip);
27
28
  /**
28
29
  * Original css class
29
30
  */
@@ -33,6 +34,14 @@ export class EllipsisTooltipSADirective {
33
34
  * Css class appliet to element
34
35
  */
35
36
  ellipsisClass = 'text-ellipsis';
37
+ /**
38
+ * Tooltip prefix text to be prepended to tooltip read from content
39
+ */
40
+ tooltipPrefix;
41
+ /**
42
+ * Tooltip suffix text to be appended to tooltip read from content
43
+ */
44
+ tooltipSuffix;
36
45
  /**
37
46
  * Indication whether are html tags allowed in tooltip text
38
47
  */
@@ -73,6 +82,10 @@ export class EllipsisTooltipSADirective {
73
82
  this.textObserver?.disconnect();
74
83
  this.textObserver?.observe(this.element, { characterData: true, subtree: true, childList: true });
75
84
  }
85
+ if (nameof('tooltipPrefix') in changes ||
86
+ nameof('tooltipSuffix') in changes) {
87
+ this.updateTooltip();
88
+ }
76
89
  }
77
90
  //######################### public methods - implementation of OnDestroy #########################
78
91
  /**
@@ -82,14 +95,27 @@ export class EllipsisTooltipSADirective {
82
95
  this.textObserver?.disconnect();
83
96
  this.textObserver = null;
84
97
  }
98
+ //######################### protected methods #########################
99
+ /**
100
+ * Updates tooltip value
101
+ */
102
+ updateTooltip() {
103
+ this.tooltip.tooltip = (this.tooltipPrefix ?? '') + (this.allowHtml ? this.element.innerHTML : this.element.innerText) + (this.tooltipSuffix ?? '');
104
+ }
85
105
  //######################### ng language server #########################
86
106
  /**
87
107
  * Custom input type for `element` input
88
108
  */
89
109
  static ngAcceptInputType_element;
90
110
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: EllipsisTooltipSADirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
91
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.5", type: EllipsisTooltipSADirective, isStandalone: true, selector: "[ellipsisTooltip]", inputs: { ellipsisClass: "ellipsisClass", allowHtml: ["allowHtml", "allowHtml", booleanAttribute], element: ["ellipsisTooltip", "element"] }, usesOnChanges: true, hostDirectives: [{ directive: i1.TooltipDirective }], ngImport: i0 });
111
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.5", type: EllipsisTooltipSADirective, isStandalone: true, selector: "[ellipsisTooltip]", inputs: { ellipsisClass: "ellipsisClass", tooltipPrefix: "tooltipPrefix", tooltipSuffix: "tooltipSuffix", allowHtml: ["allowHtml", "allowHtml", booleanAttribute], element: ["ellipsisTooltip", "element"] }, usesOnChanges: true, hostDirectives: [{ directive: i1.TooltipDirective }], ngImport: i0 });
92
112
  }
113
+ __decorate([
114
+ BindThis,
115
+ __metadata("design:type", Function),
116
+ __metadata("design:paramtypes", []),
117
+ __metadata("design:returntype", void 0)
118
+ ], EllipsisTooltipSADirective.prototype, "updateTooltip", null);
93
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: EllipsisTooltipSADirective, decorators: [{
94
120
  type: Directive,
95
121
  args: [{
@@ -101,11 +127,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
101
127
  }]
102
128
  }], propDecorators: { ellipsisClass: [{
103
129
  type: Input
130
+ }], tooltipPrefix: [{
131
+ type: Input
132
+ }], tooltipSuffix: [{
133
+ type: Input
104
134
  }], allowHtml: [{
105
135
  type: Input,
106
136
  args: [{ transform: booleanAttribute }]
107
137
  }], element: [{
108
138
  type: Input,
109
139
  args: ['ellipsisTooltip']
110
- }] } });
140
+ }], updateTooltip: [] } });
111
141
  //# sourceMappingURL=ellipsisTooltip.directive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ellipsisTooltip.directive.js","sourceRoot":"","sources":["../../../../src/directives/ellipsisTooltip/ellipsisTooltip.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAwB,SAAS,EAAiB,gBAAgB,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AACrI,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;;;AAEvD;;GAEG;AAUH,MAAM,OAAO,0BAA0B;IAEnC,sEAAsE;IAEtE;;OAEG;IACO,QAAQ,GAAc,MAAM,CAAC,SAAS,CAAC,CAAC;IAElD;;OAEG;IACO,OAAO,GAAqB,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE/D;;OAEG;IACO,YAAY,GAAgB,MAAM,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;IAEvE;;OAEG;IACO,YAAY,GAAoC,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE9K;;OAEG;IACO,gBAAgB,CAAwB;IAElD,gFAAgF;IAEhF;;OAEG;IAEI,aAAa,GAAW,eAAe,CAAC;IAE/C;;OAEG;IAEI,SAAS,GAAY,KAAK,CAAC;IAElC;;OAEG;IACH,IACW,OAAO;QAEd,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,IAAW,OAAO,CAAC,KAA0C;QAEzD,IAAG,CAAC,KAAK,EACT;YACI,OAAO;SACV;QAED,IAAG,KAAK,YAAY,UAAU,EAC9B;YACI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;YAExC,OAAO;SACV;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW,CAAC,OAAsB;QAErC,IAAG,MAAM,CAA6B,WAAW,CAAC,IAAI,OAAO,EAC7D;YACI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;SAC3C;QAED,IAAG,MAAM,CAA6B,SAAS,CAAC,IAAI,OAAO;YACxD,MAAM,CAA6B,eAAe,CAAC,IAAI,OAAO,EACjE;YACI,IAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAC9C;gBACI,IAAG,IAAI,CAAC,gBAAgB,EACxB;oBACI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;iBAClE;gBAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACzD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;aAC9C;YAED,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;SACnG;IACL,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW;QAEd,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,wEAAwE;IAExE;;OAEG;IACI,MAAM,CAAC,yBAAyB,CAA4B;uGAnH1D,0BAA0B;2FAA1B,0BAA0B,qIAwChB,gBAAgB;;2FAxC1B,0BAA0B;kBATtC,SAAS;mBACV;oBACI,QAAQ,EAAE,mBAAmB;oBAC7B,UAAU,EAAE,IAAI;oBAChB,cAAc,EACd;wBACI,gBAAgB;qBACnB;iBACJ;8BAoCU,aAAa;sBADnB,KAAK;gBAOC,SAAS;sBADf,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;gBAOzB,OAAO;sBADjB,KAAK;uBAAC,iBAAiB","sourcesContent":["import {Directive, ElementRef, Input, OnChanges, OnDestroy, Renderer2, SimpleChanges, booleanAttribute, inject} from '@angular/core';\nimport {nameof} from '@jscrpt/common';\n\nimport {TooltipDirective} from '../../modules/tooltip';\n\n/**\n * Directive that is used for displaying text from attached element in tooltip\n */\n@Directive(\n{\n selector: '[ellipsisTooltip]',\n standalone: true,\n hostDirectives:\n [\n TooltipDirective,\n ],\n})\nexport class EllipsisTooltipSADirective implements OnChanges, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Instance of renderer\n */\n protected renderer: Renderer2 = inject(Renderer2);\n\n /**\n * Instance of tooltip directive\n */\n protected tooltip: TooltipDirective = inject(TooltipDirective);\n\n /**\n * HTML element from which is text taken for tooltip\n */\n protected elementValue: HTMLElement = inject(ElementRef).nativeElement;\n\n /**\n * Instance of mutation observer used for watching \n */\n protected textObserver: MutationObserver|undefined|null = new MutationObserver(() => this.tooltip.tooltip = this.allowHtml ? this.element.innerHTML : this.element.innerText);\n\n /**\n * Original css class\n */\n protected originalCssClass: string|undefined|null;\n\n //######################### public properties - inputs #########################\n\n /**\n * Css class appliet to element\n */\n @Input()\n public ellipsisClass: string = 'text-ellipsis';\n\n /**\n * Indication whether are html tags allowed in tooltip text\n */\n @Input({transform: booleanAttribute})\n public allowHtml: boolean = false;\n\n /**\n * Gets or sets HTML element from which is text taken for tooltip\n */\n @Input('ellipsisTooltip')\n public get element(): HTMLElement\n {\n return this.elementValue;\n }\n public set element(value: HTMLElement|ElementRef<HTMLElement>)\n {\n if(!value)\n {\n return;\n }\n\n if(value instanceof ElementRef)\n {\n this.elementValue = value.nativeElement;\n\n return;\n }\n\n this.elementValue = value;\n }\n\n //######################### public methods - implementation of OnChanges #########################\n \n /**\n * Called when input value changes\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n if(nameof<EllipsisTooltipSADirective>('allowHtml') in changes)\n {\n this.tooltip.allowHtml = this.allowHtml;\n }\n\n if(nameof<EllipsisTooltipSADirective>('element') in changes ||\n nameof<EllipsisTooltipSADirective>('ellipsisClass') in changes)\n {\n if(this.originalCssClass != this.ellipsisClass)\n {\n if(this.originalCssClass)\n {\n this.renderer.removeClass(this.element, this.originalCssClass);\n }\n \n this.renderer.addClass(this.element, this.ellipsisClass);\n this.originalCssClass = this.ellipsisClass;\n }\n\n this.textObserver?.disconnect();\n this.textObserver?.observe(this.element, {characterData: true, subtree: true, childList: true});\n }\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n this.textObserver?.disconnect();\n this.textObserver = null;\n }\n\n //######################### ng language server #########################\n \n /**\n * Custom input type for `element` input\n */\n public static ngAcceptInputType_element: HTMLElement|ElementRef|'';\n}"]}
1
+ {"version":3,"file":"ellipsisTooltip.directive.js","sourceRoot":"","sources":["../../../../src/directives/ellipsisTooltip/ellipsisTooltip.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {Directive, ElementRef, Input, OnChanges, OnDestroy, Renderer2, SimpleChanges, booleanAttribute, inject} from '@angular/core';\nimport {BindThis, nameof} from '@jscrpt/common';\n\nimport {TooltipDirective} from '../../modules/tooltip';\n\n/**\n * Directive that is used for displaying text from attached element in tooltip\n */\n@Directive(\n{\n selector: '[ellipsisTooltip]',\n standalone: true,\n hostDirectives:\n [\n TooltipDirective,\n ],\n})\nexport class EllipsisTooltipSADirective implements OnChanges, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Instance of renderer\n */\n protected renderer: Renderer2 = inject(Renderer2);\n\n /**\n * Instance of tooltip directive\n */\n protected tooltip: TooltipDirective = inject(TooltipDirective);\n\n /**\n * HTML element from which is text taken for tooltip\n */\n protected elementValue: HTMLElement = inject(ElementRef).nativeElement;\n\n /**\n * Instance of mutation observer used for watching \n */\n protected textObserver: MutationObserver|undefined|null = new MutationObserver(this.updateTooltip);\n\n /**\n * Original css class\n */\n protected originalCssClass: string|undefined|null;\n\n //######################### public properties - inputs #########################\n\n /**\n * Css class appliet to element\n */\n @Input()\n public ellipsisClass: string = 'text-ellipsis';\n\n /**\n * Tooltip prefix text to be prepended to tooltip read from content\n */\n @Input()\n public tooltipPrefix: string|undefined|null;\n\n /**\n * Tooltip suffix text to be appended to tooltip read from content\n */\n @Input()\n public tooltipSuffix: string|undefined|null;\n\n /**\n * Indication whether are html tags allowed in tooltip text\n */\n @Input({transform: booleanAttribute})\n public allowHtml: boolean = false;\n\n /**\n * Gets or sets HTML element from which is text taken for tooltip\n */\n @Input('ellipsisTooltip')\n public get element(): HTMLElement\n {\n return this.elementValue;\n }\n public set element(value: HTMLElement|ElementRef<HTMLElement>)\n {\n if(!value)\n {\n return;\n }\n\n if(value instanceof ElementRef)\n {\n this.elementValue = value.nativeElement;\n\n return;\n }\n\n this.elementValue = value;\n }\n\n //######################### public methods - implementation of OnChanges #########################\n \n /**\n * Called when input value changes\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n if(nameof<EllipsisTooltipSADirective>('allowHtml') in changes)\n {\n this.tooltip.allowHtml = this.allowHtml;\n }\n\n if(nameof<EllipsisTooltipSADirective>('element') in changes ||\n nameof<EllipsisTooltipSADirective>('ellipsisClass') in changes)\n {\n if(this.originalCssClass != this.ellipsisClass)\n {\n if(this.originalCssClass)\n {\n this.renderer.removeClass(this.element, this.originalCssClass);\n }\n \n this.renderer.addClass(this.element, this.ellipsisClass);\n this.originalCssClass = this.ellipsisClass;\n }\n\n this.textObserver?.disconnect();\n this.textObserver?.observe(this.element, {characterData: true, subtree: true, childList: true});\n }\n\n if(nameof<EllipsisTooltipSADirective>('tooltipPrefix') in changes ||\n nameof<EllipsisTooltipSADirective>('tooltipSuffix') in changes)\n {\n this.updateTooltip();\n }\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n this.textObserver?.disconnect();\n this.textObserver = null;\n }\n\n //######################### protected methods #########################\n\n /**\n * Updates tooltip value\n */\n @BindThis\n protected updateTooltip(): void\n {\n this.tooltip.tooltip = (this.tooltipPrefix ?? '') + (this.allowHtml ? this.element.innerHTML : this.element.innerText) + (this.tooltipSuffix ?? '');\n }\n\n //######################### ng language server #########################\n \n /**\n * Custom input type for `element` input\n */\n public static ngAcceptInputType_element: HTMLElement|ElementRef|'';\n}"]}
@@ -202,6 +202,10 @@ export class TooltipDirective {
202
202
  * @param event - Mouse event
203
203
  */
204
204
  _showTooltip(event) {
205
+ //no data for tooltip or no template
206
+ if (!this.tooltip && !this.template && !this.tooltipTemplateChild) {
207
+ return;
208
+ }
205
209
  this._createTooltip();
206
210
  //if element was not created do nothing
207
211
  if (!this._tooltipElement) {
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.directive.js","sourceRoot":"","sources":["../../../../../../src/modules/tooltip/directives/tooltip/tooltip.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {ComponentRef, ContentChild, Directive, ElementRef, EmbeddedViewRef, HostListener, Inject, Injector, Input, OnChanges, OnDestroy, Optional, SimpleChanges, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {AnimationBuilder, AnimationFactory} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {fadeInAnimation, fadeOutAnimation} from '@anglr/animations';\nimport {RecursivePartial, extend, isBlank, isPresent, nameof, renderToBody} from '@jscrpt/common';\nimport {lastValueFrom} from 'rxjs';\n\nimport {TooltipComponent} from '../../components/tooltip/tooltip.component';\nimport {TooltipOptions, TooltipRenderer} from '../../misc/tooltip.interface';\nimport {TOOLTIP_OPTIONS} from '../../misc/tokens';\nimport {applyPositionResult, Position, PositionPlacement} from '../../../../services/position';\nimport {TooltipTemplateDirective} from '../tooltipTemplate/tooltipTemplate.directive';\nimport {TooltipTemplateContext} from '../tooltipTemplate/tooltipTemplate.context';\nimport {POSITION} from '../../../../types/tokens';\n\n/**\n * Default options for tooltip\n */\nconst defaultOptions: TooltipOptions =\n{\n delay: 200,\n position:\n {\n offset: 'MouseEnter',\n placement: PositionPlacement.TopEnd,\n },\n allowSelection: false,\n tooltipRenderer: TooltipComponent,\n tooltipCssClass: null,\n stopPropagation: false,\n enterAnimation: fadeInAnimation,\n exitAnimation: fadeOutAnimation,\n containerElement: undefined,\n};\n\n/**\n * Directive used for rendering tooltip\n */\n@Directive(\n{\n selector: '[tooltip]',\n standalone: true,\n})\nexport class TooltipDirective<TData = any> implements OnChanges, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Instance of component used for rendering tooltip\n */\n protected _tooltipComponent?: ComponentRef<TooltipRenderer<TData>>;\n\n /**\n * Instance of HTML element for tooltip renderer\n */\n protected _tooltipElement?: HTMLElement;\n\n /**\n * Animation factory used for enter animation of tooltip\n */\n protected _enterAnimation: AnimationFactory;\n\n /**\n * Animation factory used for exit animation of tooltip\n */\n protected _exitAnimation: AnimationFactory;\n\n /**\n * Instance of options provided for this tooltip\n */\n protected _options: TooltipOptions;\n\n /**\n * Indication whether there is active show tooltip request\n */\n protected _showRequest: boolean = false;\n\n /**\n * Indication whether keep open tooltip component\n */\n protected _keepOpen: boolean = false;\n\n /**\n * Timeout that is used for handling mouse move\n */\n protected _timeout: number|null = null;\n\n //######################### public properties - inputs #########################\n\n /**\n * Tooltip text that is displayed, or any data that could be passed to template\n */\n @Input()\n public tooltip?: TData;\n\n /**\n * Indication whether are html tags allowed in tooltip text\n */\n @Input()\n public allowHtml: boolean = false;\n\n /**\n * Instance of tooltip template that is used for rendering\n */\n @Input()\n public template?: TemplateRef<TooltipTemplateContext<TData>>;\n\n /**\n * Options used for displaying tooltip\n */\n @Input()\n public get tooltipOptions(): RecursivePartial<TooltipOptions>\n {\n return this._options;\n }\n public set tooltipOptions(value: RecursivePartial<TooltipOptions>)\n {\n this._options = extend(true, {}, this._options, value);\n\n this._enterAnimation = this._animationsPlayer.build(this._options.enterAnimation);\n this._exitAnimation = this._animationsPlayer.build(this._options.exitAnimation);\n\n if(this._options.containerElement && !this.containerElement)\n {\n this.containerElement = this._options.containerElement;\n }\n }\n\n /**\n * Gets or sets indication whether is tooltip visible, if has boolean value, mouse events cant override this\n */\n @Input()\n public tooltipVisible?: boolean;\n\n /**\n * String that defines element in which should be tooltip rendered, if not specified, body is used\n * \n * Allows also css classes to be specified (div.body-box)\n */\n @Input()\n public containerElement: string|undefined|null;\n\n //######################### public properties - children #########################\n\n /**\n * Instance of template from element content, used for rendering\n */\n @ContentChild(TooltipTemplateDirective)\n public tooltipTemplateChild?: TooltipTemplateDirective;\n\n //######################### constructor #########################\n constructor(protected _viewContainerRef: ViewContainerRef,\n protected _injector: Injector,\n protected _element: ElementRef<HTMLElement>,\n protected _animationsPlayer: AnimationBuilder,\n @Inject(DOCUMENT) protected _document: Document,\n @Inject(POSITION) protected _position: Position,\n @Optional() @Inject(TOOLTIP_OPTIONS) options?: Partial<TooltipOptions>,)\n {\n this._options = extend(true, {}, defaultOptions, options);\n\n this._enterAnimation = this._animationsPlayer.build(this._options.enterAnimation);\n this._exitAnimation = this._animationsPlayer.build(this._options.exitAnimation);\n\n if(this._options.containerElement)\n {\n this.containerElement = this._options.containerElement;\n }\n }\n\n //######################### public methods - implementation of OnChanges #########################\n\n /**\n * Called when input value changes\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n if(nameof<TooltipDirective>('tooltipVisible') in changes)\n {\n if(this.tooltipVisible)\n {\n this._showTooltip();\n }\n else\n {\n this._hideTooltip();\n }\n }\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n if(this._timeout)\n {\n clearTimeout(this._timeout);\n }\n\n this._destroyTooltip();\n }\n\n //######################### public methods - host #########################\n\n /**\n * Handles mouse leave event, hover ends\n * @param event - Mouse event that occured\n * @internal\n */\n @HostListener('mouseleave', ['$event'])\n public mouseLeave(event: MouseEvent): void\n {\n if(this._options.stopPropagation)\n {\n event.stopPropagation();\n }\n\n if(isBlank(this.tooltipVisible))\n {\n setTimeout(() =>\n {\n if(!this._keepOpen)\n {\n this._showRequest = false;\n this._hideTooltip();\n }\n }, 10);\n }\n }\n\n /**\n * Handles mouse move event, displaying tooltip\n * @param event - Mouse event that occured\n * @internal\n */\n @HostListener('mousemove', ['$event'])\n public mouseMove(event: MouseEvent): void\n {\n if(this._options.stopPropagation)\n {\n event.stopPropagation();\n }\n\n this._showRequest = true;\n\n //do nothing if tooltip is visible\n if(this._tooltipComponent || isPresent(this.tooltipVisible))\n {\n return;\n }\n\n if(isPresent(this._timeout))\n {\n clearTimeout(this._timeout);\n }\n\n this._timeout = setTimeout(() =>\n {\n this._timeout = null;\n\n if(this._showRequest)\n {\n this._showTooltip(event);\n\n this._showRequest = false;\n }\n }, this._options.delay) as any;\n }\n\n //######################### protected methods #########################\n\n /**\n * Shows tooltip\n * @param event - Mouse event\n */\n protected _showTooltip(event?: MouseEvent): void\n {\n this._createTooltip();\n\n //if element was not created do nothing\n if(!this._tooltipElement)\n {\n return;\n }\n\n this._showData();\n\n lastValueFrom(this._position.placeElement(this._tooltipElement,\n this._element.nativeElement,\n {\n placement: this._options.position.placement,\n offset: this._options.position.offset,\n flip: true,\n mouseEvent: event,\n autoUpdate: false\n }))\n .then(result => applyPositionResult(result));\n }\n\n /**\n * Hides tooltip\n */\n protected _hideTooltip(): void\n {\n this._destroyTooltip();\n }\n\n /**\n * Destroys tooltip component\n */\n protected _destroyTooltip(): void\n {\n if(this._tooltipComponent)\n {\n const component = this._tooltipComponent;\n const element = this._tooltipElement;\n\n const exitAnimation = this._exitAnimation.create(element);\n\n exitAnimation.onDone(() =>\n {\n component.destroy();\n exitAnimation.destroy();\n });\n \n this._tooltipComponent = undefined;\n this._tooltipElement = undefined;\n\n exitAnimation.play();\n }\n }\n\n /**\n * Creates tooltip renderer component\n */\n protected _createTooltip(): void\n {\n // 0. Destroys tooltip if it exists\n this._destroyTooltip();\n\n // 1. Create a component reference from the component\n this._tooltipComponent = this._viewContainerRef\n .createComponent(this._options.tooltipRenderer,\n {\n injector: this._injector\n });\n\n // 3. Get DOM element from component\n this._tooltipElement = (this._tooltipComponent.hostView as EmbeddedViewRef<any>)\n .rootNodes[0] as HTMLElement;\n\n // 4. Append DOM element to the body\n renderToBody(this._document, this._tooltipElement, this.containerElement);\n this._enterAnimation.create(this._tooltipElement).play();\n }\n\n /**\n * Sets data to tooltip component and shows them\n */\n protected _showData(): void\n {\n if(this._tooltipComponent)\n {\n this._tooltipComponent.instance.allowHtml = this.allowHtml;\n this._tooltipComponent.instance.data = this.tooltip;\n this._tooltipComponent.instance.template = this.template ?? this.tooltipTemplateChild?.template;\n this._tooltipComponent.instance.cssClass = this._options.tooltipCssClass;\n\n this._tooltipComponent.instance.registerHoverEvents(() =>\n {\n if(this._options.allowSelection)\n {\n this._keepOpen = true;\n this._showRequest = false;\n }\n },\n () =>\n {\n setTimeout(() =>\n {\n this._keepOpen = false;\n\n if(!this._showRequest)\n {\n this._hideTooltip();\n }\n\n this._showRequest = false;\n }, 5);\n });\n\n this._tooltipComponent.instance.invalidateVisuals();\n }\n }\n\n //######################### ng language server #########################\n \n /**\n * Custom input type for `tooltip` input\n */\n public static ngAcceptInputType_tooltip: any;\n}"]}
1
+ {"version":3,"file":"tooltip.directive.js","sourceRoot":"","sources":["../../../../../../src/modules/tooltip/directives/tooltip/tooltip.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {ComponentRef, ContentChild, Directive, ElementRef, EmbeddedViewRef, HostListener, Inject, Injector, Input, OnChanges, OnDestroy, Optional, SimpleChanges, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {AnimationBuilder, AnimationFactory} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {fadeInAnimation, fadeOutAnimation} from '@anglr/animations';\nimport {RecursivePartial, extend, isBlank, isPresent, nameof, renderToBody} from '@jscrpt/common';\nimport {lastValueFrom} from 'rxjs';\n\nimport {TooltipComponent} from '../../components/tooltip/tooltip.component';\nimport {TooltipOptions, TooltipRenderer} from '../../misc/tooltip.interface';\nimport {TOOLTIP_OPTIONS} from '../../misc/tokens';\nimport {applyPositionResult, Position, PositionPlacement} from '../../../../services/position';\nimport {TooltipTemplateDirective} from '../tooltipTemplate/tooltipTemplate.directive';\nimport {TooltipTemplateContext} from '../tooltipTemplate/tooltipTemplate.context';\nimport {POSITION} from '../../../../types/tokens';\n\n/**\n * Default options for tooltip\n */\nconst defaultOptions: TooltipOptions =\n{\n delay: 200,\n position:\n {\n offset: 'MouseEnter',\n placement: PositionPlacement.TopEnd,\n },\n allowSelection: false,\n tooltipRenderer: TooltipComponent,\n tooltipCssClass: null,\n stopPropagation: false,\n enterAnimation: fadeInAnimation,\n exitAnimation: fadeOutAnimation,\n containerElement: undefined,\n};\n\n/**\n * Directive used for rendering tooltip\n */\n@Directive(\n{\n selector: '[tooltip]',\n standalone: true,\n})\nexport class TooltipDirective<TData = any> implements OnChanges, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Instance of component used for rendering tooltip\n */\n protected _tooltipComponent?: ComponentRef<TooltipRenderer<TData>>;\n\n /**\n * Instance of HTML element for tooltip renderer\n */\n protected _tooltipElement?: HTMLElement;\n\n /**\n * Animation factory used for enter animation of tooltip\n */\n protected _enterAnimation: AnimationFactory;\n\n /**\n * Animation factory used for exit animation of tooltip\n */\n protected _exitAnimation: AnimationFactory;\n\n /**\n * Instance of options provided for this tooltip\n */\n protected _options: TooltipOptions;\n\n /**\n * Indication whether there is active show tooltip request\n */\n protected _showRequest: boolean = false;\n\n /**\n * Indication whether keep open tooltip component\n */\n protected _keepOpen: boolean = false;\n\n /**\n * Timeout that is used for handling mouse move\n */\n protected _timeout: number|null = null;\n\n //######################### public properties - inputs #########################\n\n /**\n * Tooltip text that is displayed, or any data that could be passed to template\n */\n @Input()\n public tooltip?: TData;\n\n /**\n * Indication whether are html tags allowed in tooltip text\n */\n @Input()\n public allowHtml: boolean = false;\n\n /**\n * Instance of tooltip template that is used for rendering\n */\n @Input()\n public template?: TemplateRef<TooltipTemplateContext<TData>>;\n\n /**\n * Options used for displaying tooltip\n */\n @Input()\n public get tooltipOptions(): RecursivePartial<TooltipOptions>\n {\n return this._options;\n }\n public set tooltipOptions(value: RecursivePartial<TooltipOptions>)\n {\n this._options = extend(true, {}, this._options, value);\n\n this._enterAnimation = this._animationsPlayer.build(this._options.enterAnimation);\n this._exitAnimation = this._animationsPlayer.build(this._options.exitAnimation);\n\n if(this._options.containerElement && !this.containerElement)\n {\n this.containerElement = this._options.containerElement;\n }\n }\n\n /**\n * Gets or sets indication whether is tooltip visible, if has boolean value, mouse events cant override this\n */\n @Input()\n public tooltipVisible?: boolean;\n\n /**\n * String that defines element in which should be tooltip rendered, if not specified, body is used\n * \n * Allows also css classes to be specified (div.body-box)\n */\n @Input()\n public containerElement: string|undefined|null;\n\n //######################### public properties - children #########################\n\n /**\n * Instance of template from element content, used for rendering\n */\n @ContentChild(TooltipTemplateDirective)\n public tooltipTemplateChild?: TooltipTemplateDirective;\n\n //######################### constructor #########################\n constructor(protected _viewContainerRef: ViewContainerRef,\n protected _injector: Injector,\n protected _element: ElementRef<HTMLElement>,\n protected _animationsPlayer: AnimationBuilder,\n @Inject(DOCUMENT) protected _document: Document,\n @Inject(POSITION) protected _position: Position,\n @Optional() @Inject(TOOLTIP_OPTIONS) options?: Partial<TooltipOptions>,)\n {\n this._options = extend(true, {}, defaultOptions, options);\n\n this._enterAnimation = this._animationsPlayer.build(this._options.enterAnimation);\n this._exitAnimation = this._animationsPlayer.build(this._options.exitAnimation);\n\n if(this._options.containerElement)\n {\n this.containerElement = this._options.containerElement;\n }\n }\n\n //######################### public methods - implementation of OnChanges #########################\n\n /**\n * Called when input value changes\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n if(nameof<TooltipDirective>('tooltipVisible') in changes)\n {\n if(this.tooltipVisible)\n {\n this._showTooltip();\n }\n else\n {\n this._hideTooltip();\n }\n }\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n if(this._timeout)\n {\n clearTimeout(this._timeout);\n }\n\n this._destroyTooltip();\n }\n\n //######################### public methods - host #########################\n\n /**\n * Handles mouse leave event, hover ends\n * @param event - Mouse event that occured\n * @internal\n */\n @HostListener('mouseleave', ['$event'])\n public mouseLeave(event: MouseEvent): void\n {\n if(this._options.stopPropagation)\n {\n event.stopPropagation();\n }\n\n if(isBlank(this.tooltipVisible))\n {\n setTimeout(() =>\n {\n if(!this._keepOpen)\n {\n this._showRequest = false;\n this._hideTooltip();\n }\n }, 10);\n }\n }\n\n /**\n * Handles mouse move event, displaying tooltip\n * @param event - Mouse event that occured\n * @internal\n */\n @HostListener('mousemove', ['$event'])\n public mouseMove(event: MouseEvent): void\n {\n if(this._options.stopPropagation)\n {\n event.stopPropagation();\n }\n\n this._showRequest = true;\n\n //do nothing if tooltip is visible\n if(this._tooltipComponent || isPresent(this.tooltipVisible))\n {\n return;\n }\n\n if(isPresent(this._timeout))\n {\n clearTimeout(this._timeout);\n }\n\n this._timeout = setTimeout(() =>\n {\n this._timeout = null;\n\n if(this._showRequest)\n {\n this._showTooltip(event);\n\n this._showRequest = false;\n }\n }, this._options.delay) as any;\n }\n\n //######################### protected methods #########################\n\n /**\n * Shows tooltip\n * @param event - Mouse event\n */\n protected _showTooltip(event?: MouseEvent): void\n {\n //no data for tooltip or no template\n if(!this.tooltip && !this.template && !this.tooltipTemplateChild)\n {\n return;\n }\n\n this._createTooltip();\n\n //if element was not created do nothing\n if(!this._tooltipElement)\n {\n return;\n }\n\n this._showData();\n\n lastValueFrom(this._position.placeElement(this._tooltipElement,\n this._element.nativeElement,\n {\n placement: this._options.position.placement,\n offset: this._options.position.offset,\n flip: true,\n mouseEvent: event,\n autoUpdate: false\n }))\n .then(result => applyPositionResult(result));\n }\n\n /**\n * Hides tooltip\n */\n protected _hideTooltip(): void\n {\n this._destroyTooltip();\n }\n\n /**\n * Destroys tooltip component\n */\n protected _destroyTooltip(): void\n {\n if(this._tooltipComponent)\n {\n const component = this._tooltipComponent;\n const element = this._tooltipElement;\n\n const exitAnimation = this._exitAnimation.create(element);\n\n exitAnimation.onDone(() =>\n {\n component.destroy();\n exitAnimation.destroy();\n });\n \n this._tooltipComponent = undefined;\n this._tooltipElement = undefined;\n\n exitAnimation.play();\n }\n }\n\n /**\n * Creates tooltip renderer component\n */\n protected _createTooltip(): void\n {\n // 0. Destroys tooltip if it exists\n this._destroyTooltip();\n\n // 1. Create a component reference from the component\n this._tooltipComponent = this._viewContainerRef\n .createComponent(this._options.tooltipRenderer,\n {\n injector: this._injector\n });\n\n // 3. Get DOM element from component\n this._tooltipElement = (this._tooltipComponent.hostView as EmbeddedViewRef<any>)\n .rootNodes[0] as HTMLElement;\n\n // 4. Append DOM element to the body\n renderToBody(this._document, this._tooltipElement, this.containerElement);\n this._enterAnimation.create(this._tooltipElement).play();\n }\n\n /**\n * Sets data to tooltip component and shows them\n */\n protected _showData(): void\n {\n if(this._tooltipComponent)\n {\n this._tooltipComponent.instance.allowHtml = this.allowHtml;\n this._tooltipComponent.instance.data = this.tooltip;\n this._tooltipComponent.instance.template = this.template ?? this.tooltipTemplateChild?.template;\n this._tooltipComponent.instance.cssClass = this._options.tooltipCssClass;\n\n this._tooltipComponent.instance.registerHoverEvents(() =>\n {\n if(this._options.allowSelection)\n {\n this._keepOpen = true;\n this._showRequest = false;\n }\n },\n () =>\n {\n setTimeout(() =>\n {\n this._keepOpen = false;\n\n if(!this._showRequest)\n {\n this._hideTooltip();\n }\n\n this._showRequest = false;\n }, 5);\n });\n\n this._tooltipComponent.instance.invalidateVisuals();\n }\n }\n\n //######################### ng language server #########################\n \n /**\n * Custom input type for `tooltip` input\n */\n public static ngAcceptInputType_tooltip: any;\n}"]}
@@ -70,4 +70,11 @@ export function runWhenModuleStable(moduleRefPromise, callback, angularProfiler)
70
70
  });
71
71
  });
72
72
  }
73
+ /**
74
+ * Gets host html element for component
75
+ * @param component - Component ref of dynamically created component
76
+ */
77
+ export function getHostElement(component) {
78
+ return component?.hostView?.rootNodes?.[0];
79
+ }
73
80
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAC,MAAM,EAAE,KAAK,EAAC,MAAM,MAAM,CAAC;AAEnC;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,gBAA+B;IAEnE,OAAQ,gBAAwB,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IAEnC,IAAI,gBAAgB,CAAC;IACrB,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,gBAAgB,GAAG,OAAO,CAAC,CAAC;IAEjF,gBAAwB,CAAC,SAAS,GAAG,gBAAgB,CAAC;IAEvD,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkC,IAAI,cAAc,CAAgB,YAAY,EAAE,EAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAC,CAAC,CAAC;AAEjK;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAsC,EAAE,QAAiC,EAAE,eAAyB;IAEjI,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC;IAE3C,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAExB,MAAM,CAAC,QAAQ;aACV,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAC5B,KAAK,EAAE,CAAC;aACb,SAAS,CAAC,GAAG,EAAE;YAEZ,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAG,eAAe,EAClB;gBACI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1C;YAED,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEjB,MAAM,eAAe,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;YAClE,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,gBAA+C,EAAE,QAAmD,EAAE,eAAyB;IAE/J,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC;IAE3C,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAA+B,EAAE,EAAE;QAEtD,MAAM,MAAM,GAAmB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEtE,MAAM,CAAC,QAAQ;aACV,IAAI,CAAC,MAAM,CAAC,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,EACvC,KAAK,EAAE,CAAC;aACb,SAAS,CAAC,GAAG,EAAE;YAEZ,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAE5D,IAAG,eAAe,EAClB;gBACI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1C;YAED,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEpB,IAAG,gBAAgB,EACnB;gBACI,MAAM,eAAe,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;gBAElE,eAAe,EAAE,CAAC;aACrB;QACL,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC","sourcesContent":["import {NgModuleRef, ApplicationRef, InjectionToken} from '@angular/core';\nimport {enableDebugTools} from '@angular/platform-browser';\nimport {Action1} from '@jscrpt/common';\nimport {filter, first} from 'rxjs';\n\n/**\n * Method used for extraction of resolve method for promise\n * @param appStablePromise - Promise which contains resolve method that is going to be extracted\n */\nexport function extractAppStableResolve(appStablePromise: Promise<void>): () => void\n{\n return (appStablePromise as any).__resolve;\n}\n\n/**\n * Factory used for creating APP_STABLE promise\n * \n * @internal\n */\nexport function appStablePromiseFactory(): Promise<void>\n{\n let appStableResolve;\n const appStablePromise = new Promise<void>(resolve => appStableResolve = resolve);\n\n (appStablePromise as any).__resolve = appStableResolve;\n\n return appStablePromise;\n}\n\n/**\n * Injection token used for obtaining promise that is resolved when application is first time stable\n */\nexport const APP_STABLE: InjectionToken<Promise<void>> = new InjectionToken<Promise<void>>('APP_STABLE', {providedIn: 'root', factory: appStablePromiseFactory});\n\n/**\n * Runs callback function when angular app is bootstrapped and stable\n * @param appRefPromise -Promise for application reference that was bootstrapped\n * @param callback -Callback that is called when app is stable\n * @param angularProfiler - Indication that angular profiler should be enabled\n */\nexport function runWhenAppStable(appRefPromise: Promise<ApplicationRef>, callback: Action1<ApplicationRef>, angularProfiler?: boolean): void\n{\n angularProfiler = angularProfiler ?? false;\n\n appRefPromise.then(appRef => \n {\n appRef.isStable\n .pipe(filter(isStable => isStable),\n first())\n .subscribe(() => \n {\n const appStablePromise = appRef.injector.get(APP_STABLE);\n\n if(angularProfiler)\n {\n enableDebugTools(appRef.components[0]);\n }\n\n callback(appRef);\n\n const resolveAsStable = extractAppStableResolve(appStablePromise);\n resolveAsStable();\n });\n });\n}\n\n/**\n * Runs callback function when angular module is bootstrapped and stable\n * @param moduleRefPromise - Promise for module that was bootstrapped\n * @param callback - Callback that is called\n * @param angularProfiler - Indication that angular profiler should be enabled\n */\nexport function runWhenModuleStable(moduleRefPromise: Promise<NgModuleRef<unknown>>, callback: (moduleRef: NgModuleRef<unknown>) => void, angularProfiler?: boolean): void\n{\n angularProfiler = angularProfiler || false;\n\n moduleRefPromise.then((moduleRef: NgModuleRef<unknown>) => \n {\n const appRef: ApplicationRef = moduleRef.injector.get(ApplicationRef);\n\n appRef.isStable\n .pipe(filter((isStable: boolean) => isStable),\n first())\n .subscribe(() => \n {\n const appStablePromise = moduleRef.injector.get(APP_STABLE);\n\n if(angularProfiler)\n {\n enableDebugTools(appRef.components[0]);\n }\n\n callback(moduleRef);\n\n if(appStablePromise)\n {\n const resolveAsStable = extractAppStableResolve(appStablePromise);\n\n resolveAsStable();\n }\n });\n });\n}"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAE,cAAc,EAAgC,MAAM,eAAe,CAAC;AACzG,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAC,MAAM,EAAE,KAAK,EAAC,MAAM,MAAM,CAAC;AAEnC;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,gBAA+B;IAEnE,OAAQ,gBAAwB,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IAEnC,IAAI,gBAAgB,CAAC;IACrB,MAAM,gBAAgB,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,gBAAgB,GAAG,OAAO,CAAC,CAAC;IAEjF,gBAAwB,CAAC,SAAS,GAAG,gBAAgB,CAAC;IAEvD,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkC,IAAI,cAAc,CAAgB,YAAY,EAAE,EAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAC,CAAC,CAAC;AAEjK;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAsC,EAAE,QAAiC,EAAE,eAAyB;IAEjI,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC;IAE3C,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAExB,MAAM,CAAC,QAAQ;aACV,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAC5B,KAAK,EAAE,CAAC;aACb,SAAS,CAAC,GAAG,EAAE;YAEZ,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEzD,IAAG,eAAe,EAClB;gBACI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1C;YAED,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEjB,MAAM,eAAe,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;YAClE,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,gBAA+C,EAAE,QAAmD,EAAE,eAAyB;IAE/J,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC;IAE3C,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAA+B,EAAE,EAAE;QAEtD,MAAM,MAAM,GAAmB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEtE,MAAM,CAAC,QAAQ;aACV,IAAI,CAAC,MAAM,CAAC,CAAC,QAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,EACvC,KAAK,EAAE,CAAC;aACb,SAAS,CAAC,GAAG,EAAE;YAEZ,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAE5D,IAAG,eAAe,EAClB;gBACI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1C;YAED,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEpB,IAAG,gBAAgB,EACnB;gBACI,MAAM,eAAe,GAAG,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;gBAElE,eAAe,EAAE,CAAC;aACrB;QACL,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAQ,SAA6C;IAE/E,OAAQ,SAAS,EAAE,QAAqC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC","sourcesContent":["import {NgModuleRef, ApplicationRef, InjectionToken, ComponentRef, EmbeddedViewRef} from '@angular/core';\nimport {enableDebugTools} from '@angular/platform-browser';\nimport {Action1} from '@jscrpt/common';\nimport {filter, first} from 'rxjs';\n\n/**\n * Method used for extraction of resolve method for promise\n * @param appStablePromise - Promise which contains resolve method that is going to be extracted\n */\nexport function extractAppStableResolve(appStablePromise: Promise<void>): () => void\n{\n return (appStablePromise as any).__resolve;\n}\n\n/**\n * Factory used for creating APP_STABLE promise\n * \n * @internal\n */\nexport function appStablePromiseFactory(): Promise<void>\n{\n let appStableResolve;\n const appStablePromise = new Promise<void>(resolve => appStableResolve = resolve);\n\n (appStablePromise as any).__resolve = appStableResolve;\n\n return appStablePromise;\n}\n\n/**\n * Injection token used for obtaining promise that is resolved when application is first time stable\n */\nexport const APP_STABLE: InjectionToken<Promise<void>> = new InjectionToken<Promise<void>>('APP_STABLE', {providedIn: 'root', factory: appStablePromiseFactory});\n\n/**\n * Runs callback function when angular app is bootstrapped and stable\n * @param appRefPromise -Promise for application reference that was bootstrapped\n * @param callback -Callback that is called when app is stable\n * @param angularProfiler - Indication that angular profiler should be enabled\n */\nexport function runWhenAppStable(appRefPromise: Promise<ApplicationRef>, callback: Action1<ApplicationRef>, angularProfiler?: boolean): void\n{\n angularProfiler = angularProfiler ?? false;\n\n appRefPromise.then(appRef => \n {\n appRef.isStable\n .pipe(filter(isStable => isStable),\n first())\n .subscribe(() => \n {\n const appStablePromise = appRef.injector.get(APP_STABLE);\n\n if(angularProfiler)\n {\n enableDebugTools(appRef.components[0]);\n }\n\n callback(appRef);\n\n const resolveAsStable = extractAppStableResolve(appStablePromise);\n resolveAsStable();\n });\n });\n}\n\n/**\n * Runs callback function when angular module is bootstrapped and stable\n * @param moduleRefPromise - Promise for module that was bootstrapped\n * @param callback - Callback that is called\n * @param angularProfiler - Indication that angular profiler should be enabled\n */\nexport function runWhenModuleStable(moduleRefPromise: Promise<NgModuleRef<unknown>>, callback: (moduleRef: NgModuleRef<unknown>) => void, angularProfiler?: boolean): void\n{\n angularProfiler = angularProfiler || false;\n\n moduleRefPromise.then((moduleRef: NgModuleRef<unknown>) => \n {\n const appRef: ApplicationRef = moduleRef.injector.get(ApplicationRef);\n\n appRef.isStable\n .pipe(filter((isStable: boolean) => isStable),\n first())\n .subscribe(() => \n {\n const appStablePromise = moduleRef.injector.get(APP_STABLE);\n\n if(angularProfiler)\n {\n enableDebugTools(appRef.components[0]);\n }\n\n callback(moduleRef);\n\n if(appStablePromise)\n {\n const resolveAsStable = extractAppStableResolve(appStablePromise);\n\n resolveAsStable();\n }\n });\n });\n}\n\n/**\n * Gets host html element for component\n * @param component - Component ref of dynamically created component\n */\nexport function getHostElement<TType>(component: ComponentRef<TType>|undefined|null): HTMLElement|undefined|null\n{\n return (component?.hostView as EmbeddedViewRef<unknown>)?.rootNodes?.[0];\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anglr/common",
3
- "version": "19.1.0-beta.20231207115247",
3
+ "version": "19.1.0-beta.20240125054031",
4
4
  "description": "Angular module for common angular stuff",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -30,6 +30,14 @@ export declare class EllipsisTooltipSADirective implements OnChanges, OnDestroy
30
30
  * Css class appliet to element
31
31
  */
32
32
  ellipsisClass: string;
33
+ /**
34
+ * Tooltip prefix text to be prepended to tooltip read from content
35
+ */
36
+ tooltipPrefix: string | undefined | null;
37
+ /**
38
+ * Tooltip suffix text to be appended to tooltip read from content
39
+ */
40
+ tooltipSuffix: string | undefined | null;
33
41
  /**
34
42
  * Indication whether are html tags allowed in tooltip text
35
43
  */
@@ -47,12 +55,16 @@ export declare class EllipsisTooltipSADirective implements OnChanges, OnDestroy
47
55
  * Called when component is destroyed
48
56
  */
49
57
  ngOnDestroy(): void;
58
+ /**
59
+ * Updates tooltip value
60
+ */
61
+ protected updateTooltip(): void;
50
62
  /**
51
63
  * Custom input type for `element` input
52
64
  */
53
65
  static ngAcceptInputType_element: HTMLElement | ElementRef | '';
54
66
  static ɵfac: i0.ɵɵFactoryDeclaration<EllipsisTooltipSADirective, never>;
55
- static ɵdir: i0.ɵɵDirectiveDeclaration<EllipsisTooltipSADirective, "[ellipsisTooltip]", never, { "ellipsisClass": { "alias": "ellipsisClass"; "required": false; }; "allowHtml": { "alias": "allowHtml"; "required": false; }; "element": { "alias": "ellipsisTooltip"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TooltipDirective; inputs: {}; outputs: {}; }]>;
67
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EllipsisTooltipSADirective, "[ellipsisTooltip]", never, { "ellipsisClass": { "alias": "ellipsisClass"; "required": false; }; "tooltipPrefix": { "alias": "tooltipPrefix"; "required": false; }; "tooltipSuffix": { "alias": "tooltipSuffix"; "required": false; }; "allowHtml": { "alias": "allowHtml"; "required": false; }; "element": { "alias": "ellipsisTooltip"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TooltipDirective; inputs: {}; outputs: {}; }]>;
56
68
  static ngAcceptInputType_allowHtml: unknown;
57
69
  }
58
70
  //# sourceMappingURL=ellipsisTooltip.directive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ellipsisTooltip.directive.d.ts","sourceRoot":"","sources":["ellipsisTooltip.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAS,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAA2B,MAAM,eAAe,CAAC;AAGrI,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;;;AAEvD;;GAEG;AACH,qBASa,0BAA2B,YAAW,SAAS,EAAE,SAAS;IAInE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAqB;IAElD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAA4B;IAE/D;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,WAAW,CAAoC;IAEvE;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,gBAAgB,GAAC,SAAS,GAAC,IAAI,CAAuH;IAE9K;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAC,SAAS,GAAC,IAAI,CAAC;IAIlD;;OAEG;IAEI,aAAa,EAAE,MAAM,CAAmB;IAE/C;;OAEG;IAEI,SAAS,EAAE,OAAO,CAAS;IAElC;;OAEG;IACH,IACW,OAAO,IAAI,WAAW,CAGhC;IACD,IAAW,OAAO,CAAC,KAAK,EAAE,WAAW,GAAC,UAAU,CAAC,WAAW,CAAC,EAe5D;IAID;;OAEG;IACI,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IA4BhD;;OAEG;IACI,WAAW,IAAI,IAAI;IAQ1B;;OAEG;IACH,OAAc,yBAAyB,EAAE,WAAW,GAAC,UAAU,GAAC,EAAE,CAAC;yCAnH1D,0BAA0B;2CAA1B,0BAA0B;wCAoH04vB,OAAQ;CAAx7vB"}
1
+ {"version":3,"file":"ellipsisTooltip.directive.d.ts","sourceRoot":"","sources":["ellipsisTooltip.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,UAAU,EAAS,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAA2B,MAAM,eAAe,CAAC;AAGrI,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;;;AAEvD;;GAEG;AACH,qBASa,0BAA2B,YAAW,SAAS,EAAE,SAAS;IAInE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAqB;IAElD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAA4B;IAE/D;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,WAAW,CAAoC;IAEvE;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,gBAAgB,GAAC,SAAS,GAAC,IAAI,CAA4C;IAEnG;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,MAAM,GAAC,SAAS,GAAC,IAAI,CAAC;IAIlD;;OAEG;IAEI,aAAa,EAAE,MAAM,CAAmB;IAE/C;;OAEG;IAEI,aAAa,EAAE,MAAM,GAAC,SAAS,GAAC,IAAI,CAAC;IAE5C;;OAEG;IAEI,aAAa,EAAE,MAAM,GAAC,SAAS,GAAC,IAAI,CAAC;IAE5C;;OAEG;IAEI,SAAS,EAAE,OAAO,CAAS;IAElC;;OAEG;IACH,IACW,OAAO,IAAI,WAAW,CAGhC;IACD,IAAW,OAAO,CAAC,KAAK,EAAE,WAAW,GAAC,UAAU,CAAC,WAAW,CAAC,EAe5D;IAID;;OAEG;IACI,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAkChD;;OAEG;IACI,WAAW,IAAI,IAAI;IAQ1B;;OAEG;IAEH,SAAS,CAAC,aAAa,IAAI,IAAI;IAO/B;;OAEG;IACH,OAAc,yBAAyB,EAAE,WAAW,GAAC,UAAU,GAAC,EAAE,CAAC;yCAhJ1D,0BAA0B;2CAA1B,0BAA0B;wCAiJynuB,OAAQ;CAAvquB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.directive.d.ts","sourceRoot":"","sources":["tooltip.directive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tooltip.directive.d.ts","sourceRoot":"","sources":["tooltip.directive.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { NgModuleRef, ApplicationRef, InjectionToken } from '@angular/core';
1
+ import { NgModuleRef, ApplicationRef, InjectionToken, ComponentRef } from '@angular/core';
2
2
  import { Action1 } from '@jscrpt/common';
3
3
  /**
4
4
  * Method used for extraction of resolve method for promise
@@ -29,4 +29,9 @@ export declare function runWhenAppStable(appRefPromise: Promise<ApplicationRef>,
29
29
  * @param angularProfiler - Indication that angular profiler should be enabled
30
30
  */
31
31
  export declare function runWhenModuleStable(moduleRefPromise: Promise<NgModuleRef<unknown>>, callback: (moduleRef: NgModuleRef<unknown>) => void, angularProfiler?: boolean): void;
32
+ /**
33
+ * Gets host html element for component
34
+ * @param component - Component ref of dynamically created component
35
+ */
36
+ export declare function getHostElement<TType>(component: ComponentRef<TType> | undefined | null): HTMLElement | undefined | null;
32
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,cAAc,EAAC,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAGnF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQvD;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAA2G,CAAC;AAEjK;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAwB3I;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CA8BzK"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAkB,MAAM,eAAe,CAAC;AAEzG,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAGnF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQvD;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAA2G,CAAC;AAEjK;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CAwB3I;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI,CA8BzK;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,GAAC,SAAS,GAAC,IAAI,GAAG,WAAW,GAAC,SAAS,GAAC,IAAI,CAG/G"}
package/version.bak CHANGED
@@ -1 +1 @@
1
- 19.1.0-beta.20231207115247
1
+ 19.1.0-beta.20240125054031