@anglr/common 11.3.0-beta.20220412054621 → 11.3.0-beta.20220413080437
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 +39 -5
- package/es2015/floating-ui/src/services/floatingUiDomPosition.service.js +2 -1
- package/es2015/floating-ui/src/services/floatingUiDomPosition.service.js.map +1 -1
- package/es2015/forms/src/index.js +1 -0
- package/es2015/forms/src/index.js.map +1 -1
- package/es2015/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js +74 -0
- package/es2015/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/components/index.js +2 -0
- package/es2015/forms/src/modules/errorMessage/components/index.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.js +75 -0
- package/es2015/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.context.js +2 -0
- package/es2015/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.context.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.js +27 -0
- package/es2015/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/directives/index.js +4 -0
- package/es2015/forms/src/modules/errorMessage/directives/index.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/index.js +5 -0
- package/es2015/forms/src/modules/errorMessage/index.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/modules/errorMessage.module.js +47 -0
- package/es2015/forms/src/modules/errorMessage/modules/errorMessage.module.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/modules/index.js +2 -0
- package/es2015/forms/src/modules/errorMessage/modules/index.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/pipes/index.js +2 -0
- package/es2015/forms/src/modules/errorMessage/pipes/index.js.map +1 -0
- package/es2015/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.js +33 -0
- package/es2015/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.js.map +1 -0
- package/es2015/src/modules/clickOutside/directives/clickOutside/clickOutside.directive.js +16 -2
- package/es2015/src/modules/clickOutside/directives/clickOutside/clickOutside.directive.js.map +1 -1
- package/es2015/src/modules/commonUtils.module.js +7 -3
- package/es2015/src/modules/commonUtils.module.js.map +1 -1
- package/es2015/src/modules/tooltip/components/tooltip/tooltip.component.js +4 -33
- package/es2015/src/modules/tooltip/components/tooltip/tooltip.component.js.map +1 -1
- package/es2015/src/modules/tooltip/directives/index.js +1 -0
- package/es2015/src/modules/tooltip/directives/index.js.map +1 -1
- package/es2015/src/modules/tooltip/directives/tooltip/tooltip.directive.js +23 -5
- package/es2015/src/modules/tooltip/directives/tooltip/tooltip.directive.js.map +1 -1
- package/es2015/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.context.js +2 -0
- package/es2015/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.context.js.map +1 -0
- package/es2015/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.js +7 -0
- package/es2015/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.js.map +1 -1
- package/es2015/src/modules/tooltip/misc/tooltip.interface.js.map +1 -1
- package/es2015/src/pipes/index.js +1 -0
- package/es2015/src/pipes/index.js.map +1 -1
- package/es2015/src/pipes/keys/keys.pipe.js +25 -0
- package/es2015/src/pipes/keys/keys.pipe.js.map +1 -0
- package/es2020/floating-ui/src/services/floatingUiDomPosition.service.js +1 -1
- package/es2020/floating-ui/src/services/floatingUiDomPosition.service.js.map +1 -1
- package/es2020/forms/src/index.js +1 -0
- package/es2020/forms/src/index.js.map +1 -1
- package/es2020/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js +72 -0
- package/es2020/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/components/index.js +2 -0
- package/es2020/forms/src/modules/errorMessage/components/index.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.js +74 -0
- package/es2020/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.context.js +2 -0
- package/es2020/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.context.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.js +27 -0
- package/es2020/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/directives/index.js +4 -0
- package/es2020/forms/src/modules/errorMessage/directives/index.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/index.js +5 -0
- package/es2020/forms/src/modules/errorMessage/index.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/modules/errorMessage.module.js +47 -0
- package/es2020/forms/src/modules/errorMessage/modules/errorMessage.module.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/modules/index.js +2 -0
- package/es2020/forms/src/modules/errorMessage/modules/index.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/pipes/index.js +2 -0
- package/es2020/forms/src/modules/errorMessage/pipes/index.js.map +1 -0
- package/es2020/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.js +33 -0
- package/es2020/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.js.map +1 -0
- package/es2020/src/modules/clickOutside/directives/clickOutside/clickOutside.directive.js +16 -2
- package/es2020/src/modules/clickOutside/directives/clickOutside/clickOutside.directive.js.map +1 -1
- package/es2020/src/modules/commonUtils.module.js +7 -3
- package/es2020/src/modules/commonUtils.module.js.map +1 -1
- package/es2020/src/modules/tooltip/components/tooltip/tooltip.component.js +4 -33
- package/es2020/src/modules/tooltip/components/tooltip/tooltip.component.js.map +1 -1
- package/es2020/src/modules/tooltip/directives/index.js +1 -0
- package/es2020/src/modules/tooltip/directives/index.js.map +1 -1
- package/es2020/src/modules/tooltip/directives/tooltip/tooltip.directive.js +23 -5
- package/es2020/src/modules/tooltip/directives/tooltip/tooltip.directive.js.map +1 -1
- package/es2020/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.context.js +2 -0
- package/es2020/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.context.js.map +1 -0
- package/es2020/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.js +7 -0
- package/es2020/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.js.map +1 -1
- package/es2020/src/modules/tooltip/misc/tooltip.interface.js.map +1 -1
- package/es2020/src/pipes/index.js +1 -0
- package/es2020/src/pipes/index.js.map +1 -1
- package/es2020/src/pipes/keys/keys.pipe.js +25 -0
- package/es2020/src/pipes/keys/keys.pipe.js.map +1 -0
- package/forms/src/index.d.ts +1 -0
- package/forms/src/index.d.ts.map +1 -1
- package/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.d.ts +50 -0
- package/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/components/groupErrors/groupErrors.component.html +7 -0
- package/forms/src/modules/errorMessage/components/index.d.ts +2 -0
- package/forms/src/modules/errorMessage/components/index.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.d.ts +41 -0
- package/forms/src/modules/errorMessage/directives/errorMessage/errorMessage.directive.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.context.d.ts +27 -0
- package/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.context.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.d.ts +17 -0
- package/forms/src/modules/errorMessage/directives/groupErrorsTemplate/groupErrorsTemplate.directive.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/directives/index.d.ts +4 -0
- package/forms/src/modules/errorMessage/directives/index.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/index.d.ts +5 -0
- package/forms/src/modules/errorMessage/index.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/modules/errorMessage.module.d.ts +16 -0
- package/forms/src/modules/errorMessage/modules/errorMessage.module.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/modules/index.d.ts +2 -0
- package/forms/src/modules/errorMessage/modules/index.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/pipes/index.d.ts +2 -0
- package/forms/src/modules/errorMessage/pipes/index.d.ts.map +1 -0
- package/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.d.ts +18 -0
- package/forms/src/modules/errorMessage/pipes/withErrorMessage/withErrorMessage.pipe.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/modules/clickOutside/directives/clickOutside/clickOutside.directive.d.ts +12 -3
- package/src/modules/clickOutside/directives/clickOutside/clickOutside.directive.d.ts.map +1 -1
- package/src/modules/commonUtils.module.d.ts +2 -1
- package/src/modules/commonUtils.module.d.ts.map +1 -1
- package/src/modules/tooltip/components/tooltip/tooltip.component.d.ts +2 -6
- package/src/modules/tooltip/components/tooltip/tooltip.component.d.ts.map +1 -1
- package/src/modules/tooltip/directives/index.d.ts +1 -0
- package/src/modules/tooltip/directives/index.d.ts.map +1 -1
- package/src/modules/tooltip/directives/tooltip/tooltip.directive.d.ts +14 -3
- package/src/modules/tooltip/directives/tooltip/tooltip.directive.d.ts.map +1 -1
- package/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.context.d.ts +10 -0
- package/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.context.d.ts.map +1 -0
- package/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.d.ts +7 -2
- package/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.d.ts.map +1 -1
- package/src/modules/tooltip/misc/tooltip.interface.d.ts +11 -1
- package/src/modules/tooltip/misc/tooltip.interface.d.ts.map +1 -1
- package/src/pipes/index.d.ts +1 -0
- package/src/pipes/index.d.ts.map +1 -1
- package/src/pipes/keys/keys.pipe.d.ts +16 -0
- package/src/pipes/keys/keys.pipe.d.ts.map +1 -0
- package/version.bak +1 -1
package/es2015/src/modules/clickOutside/directives/clickOutside/clickOutside.directive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickOutside.directive.js","sourceRoot":"","sources":["../../../../../../src/modules/clickOutside/directives/clickOutside/clickOutside.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAqB,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;;
|
|
1
|
+
{"version":3,"file":"clickOutside.directive.js","sourceRoot":"","sources":["../../../../../../src/modules/clickOutside/directives/clickOutside/clickOutside.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAqB,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,gBAAgB,CAAC;;AAEtD;;GAEG;AAKH,MAAM,OAAO,qBAAqB;IA6C9B,iEAAiE;IACjE,YAAsB,QAAiC,EACf,SAAmB;QADrC,aAAQ,GAAR,QAAQ,CAAyB;QACf,cAAS,GAAT,SAAS,CAAU;QAV3D,iFAAiF;QAEjF;;WAEG;QAEI,gCAA2B,GAA0B,IAAI,YAAY,EAAW,CAAC;QA4BxF,uEAAuE;QAEvE;;;WAGG;QACO,wBAAmB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAElD,IAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM;gBAC3C,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,MAAqB,CAAC;gBACvE,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,MAAM;oBACxC,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,MAAqB,CAAC,CAAC,CAAC,EACxG;gBACI,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBACzD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;aACrE;QACL,CAAC,CAAA;IAtCD,CAAC;IAxCD,gFAAgF;IAEhF;;OAEG;IACH,IACW,qBAAqB;QAE5B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IACD,IAAW,qBAAqB,CAAC,KAAc;QAE3C,IAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,EAClC;YACI,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YAEnC,OAAO;SACV;QAED,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACxC,CAAC;IAsBD,+FAA+F;IAE/F;;OAEG;IACI,QAAQ;QAEX,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzE,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW;QAEd,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC5E,CAAC;;kHArEQ,qBAAqB,4CA+CV,QAAQ;sGA/CnB,qBAAqB;2FAArB,qBAAqB;kBAJjC,SAAS;mBACV;oBACI,QAAQ,EAAE,gBAAgB;iBAC7B;mFAgDsD,QAAQ;0BAA9C,MAAM;2BAAC,QAAQ;4CAhCjB,qBAAqB;sBAD/B,KAAK;uBAAC,cAAc;gBAqBd,mBAAmB;sBADzB,KAAK;gBASC,2BAA2B;sBADjC,MAAM;uBAAC,oBAAoB","sourcesContent":["import {Directive, OnInit, OnDestroy, Input, EventEmitter, Output, ElementRef, Inject} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {isDescendant, isString} from '@jscrpt/common';\n\n/**\n * Directive that handles click outside of element\n */\n@Directive(\n{\n selector: '[clickOutside]'\n})\nexport class ClickOutsideDirective implements OnInit, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Variable that is used for displaying element that handles click outside\n */\n protected _clickOutsideCondition: boolean;\n\n //######################### public properties - inputs #########################\n\n /**\n * Variable that is used for displaying element that handles click outside\n */\n @Input('clickOutside')\n public get clickOutsideCondition(): boolean\n {\n return this._clickOutsideCondition;\n }\n public set clickOutsideCondition(value: boolean)\n {\n if(isString(value) && value === '')\n {\n this._clickOutsideCondition = true;\n\n return;\n }\n\n this._clickOutsideCondition = value;\n }\n\n /**\n * Additional element that is checked for click\n */\n @Input()\n public clickOutsideElement: HTMLElement;\n\n //######################### public properties - outputs #########################\n\n /**\n * Used for emitting event when click outside occurs\n */\n @Output('clickOutsideChange')\n public clickOutsideConditionChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n //######################### constructor #########################\n constructor(protected _element: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) protected _document: Document)\n {\n }\n\n //######################### public methods - implementation of OnInit #########################\n \n /**\n * Initialize component\n */\n public ngOnInit(): void\n {\n this._document.addEventListener('mouseup', this._handleClickOutside);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy(): void\n {\n this._document.removeEventListener('mouseup', this._handleClickOutside);\n }\n\n //######################### protected methods #########################\n\n /**\n * Handles click outside of element\n * @param event - Mouse event object\n */\n protected _handleClickOutside = (event: MouseEvent) =>\n {\n if(this._element.nativeElement != event.target &&\n !isDescendant(this._element.nativeElement, event.target as HTMLElement) &&\n (!this.clickOutsideElement || (this.clickOutsideElement != event.target &&\n !isDescendant(this.clickOutsideElement, event.target as HTMLElement))))\n { \n this.clickOutsideCondition = !this.clickOutsideCondition;\n this.clickOutsideConditionChange.emit(this.clickOutsideCondition);\n }\n }\n\n //######################### ng language server #########################\n \n /**\n * Custom input type for `clickOutsideCondition` input\n */\n public static ngAcceptInputType_clickOutsideCondition: boolean|'';\n}"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { IsNaNPipe, IsPresentPipe, UrlEncodePipe, MergeCssClassesPipe } from '../pipes';
|
|
2
|
+
import { IsNaNPipe, IsPresentPipe, UrlEncodePipe, MergeCssClassesPipe, KeysPipe } from '../pipes';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
/**
|
|
5
5
|
* Module for common utility stuff
|
|
@@ -10,10 +10,12 @@ CommonUtilsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", versio
|
|
|
10
10
|
CommonUtilsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CommonUtilsModule, declarations: [IsNaNPipe,
|
|
11
11
|
IsPresentPipe,
|
|
12
12
|
UrlEncodePipe,
|
|
13
|
-
MergeCssClassesPipe
|
|
13
|
+
MergeCssClassesPipe,
|
|
14
|
+
KeysPipe], exports: [IsNaNPipe,
|
|
14
15
|
IsPresentPipe,
|
|
15
16
|
UrlEncodePipe,
|
|
16
|
-
MergeCssClassesPipe
|
|
17
|
+
MergeCssClassesPipe,
|
|
18
|
+
KeysPipe] });
|
|
17
19
|
CommonUtilsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CommonUtilsModule });
|
|
18
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CommonUtilsModule, decorators: [{
|
|
19
21
|
type: NgModule,
|
|
@@ -23,12 +25,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
23
25
|
IsPresentPipe,
|
|
24
26
|
UrlEncodePipe,
|
|
25
27
|
MergeCssClassesPipe,
|
|
28
|
+
KeysPipe,
|
|
26
29
|
],
|
|
27
30
|
exports: [
|
|
28
31
|
IsNaNPipe,
|
|
29
32
|
IsPresentPipe,
|
|
30
33
|
UrlEncodePipe,
|
|
31
34
|
MergeCssClassesPipe,
|
|
35
|
+
KeysPipe,
|
|
32
36
|
]
|
|
33
37
|
}]
|
|
34
38
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonUtils.module.js","sourceRoot":"","sources":["../../../src/modules/commonUtils.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAC,MAAM,UAAU,CAAC;;
|
|
1
|
+
{"version":3,"file":"commonUtils.module.js","sourceRoot":"","sources":["../../../src/modules/commonUtils.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,mBAAmB,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;;AAEhG;;GAEG;AAoBH,MAAM,OAAO,iBAAiB;;8GAAjB,iBAAiB;+GAAjB,iBAAiB,iBAftB,SAAS;QACT,aAAa;QACb,aAAa;QACb,mBAAmB;QACnB,QAAQ,aAIR,SAAS;QACT,aAAa;QACb,aAAa;QACb,mBAAmB;QACnB,QAAQ;+GAGH,iBAAiB;2FAAjB,iBAAiB;kBAnB7B,QAAQ;mBACT;oBACI,YAAY,EACZ;wBACI,SAAS;wBACT,aAAa;wBACb,aAAa;wBACb,mBAAmB;wBACnB,QAAQ;qBACX;oBACD,OAAO,EACP;wBACI,SAAS;wBACT,aAAa;wBACb,aAAa;wBACb,mBAAmB;wBACnB,QAAQ;qBACX;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\n\nimport {IsNaNPipe, IsPresentPipe, UrlEncodePipe, MergeCssClassesPipe, KeysPipe} from '../pipes';\n\n/**\n * Module for common utility stuff\n */\n@NgModule(\n{\n declarations:\n [\n IsNaNPipe,\n IsPresentPipe,\n UrlEncodePipe,\n MergeCssClassesPipe,\n KeysPipe,\n ],\n exports: \n [\n IsNaNPipe,\n IsPresentPipe,\n UrlEncodePipe,\n MergeCssClassesPipe,\n KeysPipe,\n ]\n})\nexport class CommonUtilsModule\n{\n}"]}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, ChangeDetectorRef,
|
|
2
|
-
import { transition, trigger, useAnimation } from '@angular/animations';
|
|
3
|
-
import { fadeInAnimation, fadeOutAnimation } from '@anglr/animations';
|
|
1
|
+
import { Component, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, HostListener } from '@angular/core';
|
|
4
2
|
import * as i0 from "@angular/core";
|
|
5
3
|
import * as i1 from "@angular/common";
|
|
6
4
|
/**
|
|
@@ -24,12 +22,6 @@ export class TooltipComponent {
|
|
|
24
22
|
* Indication whether are html tags allowed in tooltip text
|
|
25
23
|
*/
|
|
26
24
|
this.allowHtml = false;
|
|
27
|
-
//######################### public properties - host #########################
|
|
28
|
-
/**
|
|
29
|
-
* Attach fade in/out animation to element
|
|
30
|
-
* @internal
|
|
31
|
-
*/
|
|
32
|
-
this.animation = true;
|
|
33
25
|
}
|
|
34
26
|
//######################### public methods - implementation of TooltipRenderer #########################
|
|
35
27
|
/**
|
|
@@ -67,32 +59,11 @@ export class TooltipComponent {
|
|
|
67
59
|
}
|
|
68
60
|
}
|
|
69
61
|
TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
-
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: TooltipComponent, selector: "tooltip-popup", host: { listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()" }
|
|
71
|
-
trigger('fadeInOut', [
|
|
72
|
-
transition(':enter', [
|
|
73
|
-
useAnimation(fadeInAnimation, { params: { duration: '260ms' } })
|
|
74
|
-
]),
|
|
75
|
-
transition(':leave', [
|
|
76
|
-
useAnimation(fadeOutAnimation, { params: { duration: '260ms' } })
|
|
77
|
-
])
|
|
78
|
-
])
|
|
79
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
62
|
+
TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: TooltipComponent, selector: "tooltip-popup", host: { listeners: { "mouseenter": "mouseEnter()", "mouseleave": "mouseLeave()" } }, ngImport: i0, template: "<div *ngIf=\"!template && !allowHtml\">{{data}}</div>\r\n<div *ngIf=\"!template && allowHtml\" [innerHTML]=\"data\"></div>\r\n\r\n<ng-template [ngIf]=\"template\">\r\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: data}\"></ng-container>\r\n</ng-template>", styles: [":host\r\n{\r\n display: block;\r\n position: absolute;\r\n padding: 2px 4px;\r\n border-radius: 3px;\r\n font-size: 0.9em;\r\n max-width: 300px;\r\n user-select: text;\r\n}"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
80
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
81
64
|
type: Component,
|
|
82
|
-
args: [{ selector: 'tooltip-popup',
|
|
83
|
-
|
|
84
|
-
transition(':enter', [
|
|
85
|
-
useAnimation(fadeInAnimation, { params: { duration: '260ms' } })
|
|
86
|
-
]),
|
|
87
|
-
transition(':leave', [
|
|
88
|
-
useAnimation(fadeOutAnimation, { params: { duration: '260ms' } })
|
|
89
|
-
])
|
|
90
|
-
])
|
|
91
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"!template && !allowHtml\">{{data}}</div>\r\n<div *ngIf=\"!template && allowHtml\" [innerHTML]=\"data\"></div>\r\n\r\n<ng-template [ngIf]=\"template\">\r\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: data}\"></ng-container>\r\n</ng-template>", styles: [":host\r\n{\r\n display: block;\r\n position: absolute;\r\n padding: 2px 4px;\r\n border-radius: 3px;\r\n font-size: 0.9em;\r\n max-width: 300px;\r\n user-select: text;\r\n}"] }]
|
|
92
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { animation: [{
|
|
93
|
-
type: HostBinding,
|
|
94
|
-
args: ['@fadeInOut']
|
|
95
|
-
}], mouseEnter: [{
|
|
65
|
+
args: [{ selector: 'tooltip-popup', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"!template && !allowHtml\">{{data}}</div>\r\n<div *ngIf=\"!template && allowHtml\" [innerHTML]=\"data\"></div>\r\n\r\n<ng-template [ngIf]=\"template\">\r\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: data}\"></ng-container>\r\n</ng-template>", styles: [":host\r\n{\r\n display: block;\r\n position: absolute;\r\n padding: 2px 4px;\r\n border-radius: 3px;\r\n font-size: 0.9em;\r\n max-width: 300px;\r\n user-select: text;\r\n}"] }]
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { mouseEnter: [{
|
|
96
67
|
type: HostListener,
|
|
97
68
|
args: ['mouseenter']
|
|
98
69
|
}], mouseLeave: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.component.js","sourceRoot":"","sources":["../../../../../../src/modules/tooltip/components/tooltip/tooltip.component.ts","../../../../../../src/modules/tooltip/components/tooltip/tooltip.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAe,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"tooltip.component.js","sourceRoot":"","sources":["../../../../../../src/modules/tooltip/components/tooltip/tooltip.component.ts","../../../../../../src/modules/tooltip/components/tooltip/tooltip.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAe,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;;;AAK3H;;GAEG;AAQH,MAAM,OAAO,gBAAgB;IAoCzB,iEAAiE;IACjE,YAAsB,eAAkC,EAClC,QAAiC;QADjC,oBAAe,GAAf,eAAe,CAAmB;QAClC,aAAQ,GAAR,QAAQ,CAAyB;QApCvD,sEAAsE;QAEtE;;WAEG;QACO,aAAQ,GAAe,GAAG,EAAE,CAAC,IAAI,CAAC;QAE5C;;WAEG;QACO,aAAQ,GAAe,GAAG,EAAE,CAAC,IAAI,CAAC;QAc5C;;WAEG;QACI,cAAS,GAAY,KAAK,CAAC;IAWlC,CAAC;IAED,wGAAwG;IAExG;;;;OAIG;IACI,mBAAmB,CAAC,KAAiB,EAAE,KAAiB;QAE3D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,iBAAiB;QAEpB,IAAG,IAAI,CAAC,QAAQ,EAChB;YACI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5D;QAED,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,2EAA2E;IAE3E;;;OAGG;IAEI,UAAU;QAEb,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED;;;OAGG;IAEI,UAAU;QAEb,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;;6GAxFQ,gBAAgB;iGAAhB,gBAAgB,0ICf7B,uRAKc;2FDUD,gBAAgB;kBAP5B,SAAS;+BAEI,eAAe,mBAGR,uBAAuB,CAAC,MAAM;iIA6ExC,UAAU;sBADhB,YAAY;uBAAC,YAAY;gBAWnB,UAAU;sBADhB,YAAY;uBAAC,YAAY","sourcesContent":["import {Component, ChangeDetectionStrategy, TemplateRef, ChangeDetectorRef, ElementRef, HostListener} from '@angular/core';\n\nimport {TooltipTemplateContext} from '../../directives';\nimport {TooltipRenderer} from '../../misc/tooltip.interface';\n\n/**\n * Component used for displaying tooltip content\n */\n@Component(\n{\n selector: 'tooltip-popup',\n templateUrl: 'tooltip.component.html',\n styleUrls: ['tooltip.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TooltipComponent<TData = any> implements TooltipRenderer<TData>\n{\n //######################### protected fields #########################\n\n /**\n * Called when mouse enter tooltip component, hover\n */\n protected _enterFn: () => void = () => null;\n\n /**\n * Called when mouse leaves tooltip component\n */\n protected _leaveFn: () => void = () => null;\n\n //######################### public properties - implementation of TooltipRenderer #########################\n\n /**\n * Data that are rendered in tooltip\n */\n public data: TData|null|undefined;\n\n /**\n * Template used for rendering tooltip\n */\n public template: TemplateRef<TooltipTemplateContext<TData>>|null|undefined;\n\n /**\n * Indication whether are html tags allowed in tooltip text\n */\n public allowHtml: boolean = false;\n\n /**\n * Css class that is applied to tooltip renderer component\n */\n public cssClass: string|null|undefined;\n\n //######################### constructor #########################\n constructor(protected _changeDetector: ChangeDetectorRef,\n protected _element: ElementRef<HTMLElement>)\n {\n }\n\n //######################### public methods - implementation of TooltipRenderer #########################\n\n /**\n * Registers handlers that allows reaction to entering or leaving tooltip\n * @param enter - Called when mouse enter tooltip component, hover\n * @param leave - Called when mouse leaves tooltip component\n */\n public registerHoverEvents(enter: () => void, leave: () => void): void\n {\n this._enterFn = enter;\n this._leaveFn = leave;\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n if(this.cssClass)\n {\n this._element.nativeElement.classList.add(this.cssClass);\n }\n\n this._changeDetector.detectChanges();\n }\n\n //######################### public methods - host #########################\n\n /**\n * Handles mouse enter event over tooltip\n * @internal\n */\n @HostListener('mouseenter')\n public mouseEnter(): void\n {\n this._enterFn();\n }\n\n /**\n * Handles mouse leave event over tooltip\n * @internal\n */\n @HostListener('mouseleave')\n public mouseLeave(): void\n {\n this._leaveFn();\n }\n}","<div *ngIf=\"!template && !allowHtml\">{{data}}</div>\r\n<div *ngIf=\"!template && allowHtml\" [innerHTML]=\"data\"></div>\r\n\r\n<ng-template [ngIf]=\"template\">\r\n <ng-container *ngTemplateOutlet=\"template; context: {$implicit: data}\"></ng-container>\r\n</ng-template>"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tooltip/directives/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6CAA6C,CAAC","sourcesContent":["export * from './tooltip/tooltip.directive';\nexport * from './tooltipTemplate/tooltipTemplate.directive';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/tooltip/directives/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC","sourcesContent":["export * from './tooltip/tooltip.directive';\nexport * from './tooltipTemplate/tooltipTemplate.directive';\nexport * from './tooltipTemplate/tooltipTemplate.context';\n"]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ContentChild, Directive, ElementRef, HostListener, Inject, Injector, Input, Optional, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { AnimationBuilder } from '@angular/animations';
|
|
2
3
|
import { DOCUMENT } from '@angular/common';
|
|
4
|
+
import { fadeInAnimation, fadeOutAnimation } from '@anglr/animations';
|
|
3
5
|
import { extend, isBlank, isPresent, nameof } from '@jscrpt/common';
|
|
4
6
|
import { TooltipComponent } from '../../components/tooltip/tooltip.component';
|
|
5
7
|
import { TOOLTIP_OPTIONS } from '../../misc/tokens';
|
|
@@ -7,6 +9,7 @@ import { applyPositionResult, PositionOffset, PositionPlacement } from '../../..
|
|
|
7
9
|
import { TooltipTemplateDirective } from '../tooltipTemplate/tooltipTemplate.directive';
|
|
8
10
|
import { POSITION } from '../../../../types/tokens';
|
|
9
11
|
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/animations";
|
|
10
13
|
/**
|
|
11
14
|
* Default options for tooltip
|
|
12
15
|
*/
|
|
@@ -19,17 +22,20 @@ const defaultOptions = {
|
|
|
19
22
|
allowSelection: false,
|
|
20
23
|
tooltipRenderer: TooltipComponent,
|
|
21
24
|
tooltipCssClass: null,
|
|
22
|
-
stopPropagation: false
|
|
25
|
+
stopPropagation: false,
|
|
26
|
+
enterAnimation: fadeInAnimation,
|
|
27
|
+
exitAnimation: fadeOutAnimation,
|
|
23
28
|
};
|
|
24
29
|
/**
|
|
25
30
|
* Directive used for rendering tooltip
|
|
26
31
|
*/
|
|
27
32
|
export class TooltipDirective {
|
|
28
33
|
//######################### constructor #########################
|
|
29
|
-
constructor(_viewContainerRef, _injector, _element, _document, _position, options) {
|
|
34
|
+
constructor(_viewContainerRef, _injector, _element, _animationsPlayer, _document, _position, options) {
|
|
30
35
|
this._viewContainerRef = _viewContainerRef;
|
|
31
36
|
this._injector = _injector;
|
|
32
37
|
this._element = _element;
|
|
38
|
+
this._animationsPlayer = _animationsPlayer;
|
|
33
39
|
this._document = _document;
|
|
34
40
|
this._position = _position;
|
|
35
41
|
/**
|
|
@@ -49,6 +55,8 @@ export class TooltipDirective {
|
|
|
49
55
|
*/
|
|
50
56
|
this.allowHtml = false;
|
|
51
57
|
this._options = extend(true, {}, defaultOptions, options);
|
|
58
|
+
this._enterAnimation = this._animationsPlayer.build(this._options.enterAnimation);
|
|
59
|
+
this._exitAnimation = this._animationsPlayer.build(this._options.exitAnimation);
|
|
52
60
|
}
|
|
53
61
|
/**
|
|
54
62
|
* Options used for displaying tooltip
|
|
@@ -58,6 +66,8 @@ export class TooltipDirective {
|
|
|
58
66
|
}
|
|
59
67
|
set tooltipOptions(value) {
|
|
60
68
|
this._options = extend(true, {}, this._options, value);
|
|
69
|
+
this._enterAnimation = this._animationsPlayer.build(this._options.enterAnimation);
|
|
70
|
+
this._exitAnimation = this._animationsPlayer.build(this._options.exitAnimation);
|
|
61
71
|
}
|
|
62
72
|
//######################### public methods - implementation of OnChanges #########################
|
|
63
73
|
/**
|
|
@@ -157,9 +167,16 @@ export class TooltipDirective {
|
|
|
157
167
|
*/
|
|
158
168
|
_destroyTooltip() {
|
|
159
169
|
if (this._tooltipComponent) {
|
|
160
|
-
this._tooltipComponent
|
|
170
|
+
const component = this._tooltipComponent;
|
|
171
|
+
const element = this._tooltipElement;
|
|
172
|
+
const exitAnimation = this._exitAnimation.create(element);
|
|
173
|
+
exitAnimation.onDone(() => {
|
|
174
|
+
component.destroy();
|
|
175
|
+
exitAnimation.destroy();
|
|
176
|
+
});
|
|
161
177
|
this._tooltipComponent = undefined;
|
|
162
178
|
this._tooltipElement = undefined;
|
|
179
|
+
exitAnimation.play();
|
|
163
180
|
}
|
|
164
181
|
}
|
|
165
182
|
/**
|
|
@@ -178,6 +195,7 @@ export class TooltipDirective {
|
|
|
178
195
|
.rootNodes[0];
|
|
179
196
|
// 4. Append DOM element to the body
|
|
180
197
|
this._document.body.appendChild(this._tooltipElement);
|
|
198
|
+
this._enterAnimation.create(this._tooltipElement).play();
|
|
181
199
|
}
|
|
182
200
|
/**
|
|
183
201
|
* Sets data to tooltip component and shows them
|
|
@@ -207,14 +225,14 @@ export class TooltipDirective {
|
|
|
207
225
|
}
|
|
208
226
|
}
|
|
209
227
|
}
|
|
210
|
-
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: POSITION }, { token: TOOLTIP_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
228
|
+
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ElementRef }, { token: i1.AnimationBuilder }, { token: DOCUMENT }, { token: POSITION }, { token: TOOLTIP_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
211
229
|
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: TooltipDirective, selector: "[tooltip]", inputs: { tooltip: "tooltip", allowHtml: "allowHtml", tooltipTemplate: "tooltipTemplate", tooltipOptions: "tooltipOptions", tooltipVisible: "tooltipVisible" }, host: { listeners: { "mouseleave": "mouseLeave($event)", "mousemove": "mouseMove($event)" } }, queries: [{ propertyName: "tooltipTemplateChild", first: true, predicate: TooltipTemplateDirective, descendants: true }], usesOnChanges: true, ngImport: i0 });
|
|
212
230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
213
231
|
type: Directive,
|
|
214
232
|
args: [{
|
|
215
233
|
selector: '[tooltip]'
|
|
216
234
|
}]
|
|
217
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i0.ElementRef }, { type: Document, decorators: [{
|
|
235
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Injector }, { type: i0.ElementRef }, { type: i1.AnimationBuilder }, { type: Document, decorators: [{
|
|
218
236
|
type: Inject,
|
|
219
237
|
args: [DOCUMENT]
|
|
220
238
|
}] }, { type: undefined, decorators: [{
|
|
@@ -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 {DOCUMENT} from '@angular/common';\nimport {extend, isBlank, isPresent, nameof} from '@jscrpt/common';\n\nimport {TooltipComponent} from '../../components/tooltip/tooltip.component';\nimport {TooltipOptions, TooltipRenderer} from '../../misc/tooltip.interface';\nimport {TOOLTIP_OPTIONS} from '../../misc/tokens';\nimport {applyPositionResult, Position, PositionOffset, PositionPlacement} from '../../../../services/position';\nimport {TooltipTemplateDirective} from '../tooltipTemplate/tooltipTemplate.directive';\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: PositionOffset.MouseEnter,\n placement: PositionPlacement.TopStart\n },\n allowSelection: false,\n tooltipRenderer: TooltipComponent,\n tooltipCssClass: null,\n stopPropagation: false\n};\n\n/**\n * Directive used for rendering tooltip\n */\n@Directive(\n{\n selector: '[tooltip]'\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 * 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 tooltipTemplate?: TemplateRef<TData>;\n\n /**\n * Options used for displaying tooltip\n */\n @Input()\n public get tooltipOptions(): Partial<TooltipOptions>\n {\n return this._options;\n }\n public set tooltipOptions(value: Partial<TooltipOptions>)\n {\n this._options = extend(true, {}, this._options, value);\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 //######################### 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 @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\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 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 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 .toPromise()\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 this._tooltipComponent.destroy();\n this._tooltipComponent = undefined;\n this._tooltipElement = undefined;\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 this._document.body.appendChild(this._tooltipElement);\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.tooltipTemplate ?? 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 {extend, isBlank, isPresent, nameof} from '@jscrpt/common';\n\nimport {TooltipComponent} from '../../components/tooltip/tooltip.component';\nimport {TooltipOptions, TooltipRenderer} from '../../misc/tooltip.interface';\nimport {TOOLTIP_OPTIONS} from '../../misc/tokens';\nimport {applyPositionResult, Position, PositionOffset, 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: PositionOffset.MouseEnter,\n placement: PositionPlacement.TopStart\n },\n allowSelection: false,\n tooltipRenderer: TooltipComponent,\n tooltipCssClass: null,\n stopPropagation: false,\n enterAnimation: fadeInAnimation,\n exitAnimation: fadeOutAnimation,\n};\n\n/**\n * Directive used for rendering tooltip\n */\n@Directive(\n{\n selector: '[tooltip]'\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 tooltipTemplate?: TemplateRef<TooltipTemplateContext<TData>>;\n\n /**\n * Options used for displaying tooltip\n */\n @Input()\n public get tooltipOptions(): Partial<TooltipOptions>\n {\n return this._options;\n }\n public set tooltipOptions(value: Partial<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\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 //######################### 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\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 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 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 .toPromise()\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 this._document.body.appendChild(this._tooltipElement);\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.tooltipTemplate ?? 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}"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltipTemplate.context.js","sourceRoot":"","sources":["../../../../../../src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.context.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Context passed to template of tooltip\n */\nexport interface TooltipTemplateContext<TData = any>\n{\n /**\n * Data that should be displayed in tooltip\n */\n $implicit: TData;\n}"]}
|
|
@@ -8,6 +8,13 @@ export class TooltipTemplateDirective {
|
|
|
8
8
|
constructor(template) {
|
|
9
9
|
this.template = template;
|
|
10
10
|
}
|
|
11
|
+
//######################### ng language server #########################
|
|
12
|
+
/**
|
|
13
|
+
* Allows typechecking for template
|
|
14
|
+
*/
|
|
15
|
+
static ngTemplateContextGuard(_dir, _ctx) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
11
18
|
}
|
|
12
19
|
TooltipTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: TooltipTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
13
20
|
TooltipTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: TooltipTemplateDirective, selector: "[tooltipTemplate]", ngImport: i0 });
|
package/es2015/src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltipTemplate.directive.js","sourceRoot":"","sources":["../../../../../../src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;;
|
|
1
|
+
{"version":3,"file":"tooltipTemplate.directive.js","sourceRoot":"","sources":["../../../../../../src/modules/tooltip/directives/tooltipTemplate/tooltipTemplate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;;AAIrD;;GAEG;AAKH,MAAM,OAAO,wBAAwB;IAEjC,iEAAiE;IACjE,YAAmB,QAAoD;QAApD,aAAQ,GAAR,QAAQ,CAA4C;IAEvE,CAAC;IAED,wEAAwE;IAExE;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAA8B,EAAE,IAAa;QAEvE,OAAO,IAAI,CAAC;IAChB,CAAC;;qHAfQ,wBAAwB;yGAAxB,wBAAwB;2FAAxB,wBAAwB;kBAJpC,SAAS;mBACV;oBACI,QAAQ,EAAE,mBAAmB;iBAChC","sourcesContent":["import {Directive, TemplateRef} from '@angular/core';\n\nimport {TooltipTemplateContext} from './tooltipTemplate.context';\n\n/**\n * Directive used for obtaining custom tooltip template\n */\n@Directive(\n{\n selector: '[tooltipTemplate]'\n})\nexport class TooltipTemplateDirective<TData = any>\n{\n //######################### constructor #########################\n constructor(public template: TemplateRef<TooltipTemplateContext<TData>>)\n {\n }\n\n //######################### ng language server #########################\n \n /**\n * Allows typechecking for template\n */\n static ngTemplateContextGuard(_dir: TooltipTemplateDirective, _ctx: unknown): _ctx is TooltipTemplateContext\n {\n return true;\n }\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.interface.js","sourceRoot":"","sources":["../../../../../src/modules/tooltip/misc/tooltip.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {TemplateRef, Type} from '@angular/core';\n\nimport {PositionOptions} from '../../../services/position';\n\n/**\n * Represents component that is used for rendering tooltip\n */\nexport interface TooltipRenderer<TData = any>\n{\n //######################### properties #########################\n\n /**\n * Data that are rendered in tooltip\n */\n data: TData|null|undefined;\n\n /**\n * Template used for rendering tooltip\n */\n template: TemplateRef<TData
|
|
1
|
+
{"version":3,"file":"tooltip.interface.js","sourceRoot":"","sources":["../../../../../src/modules/tooltip/misc/tooltip.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {TemplateRef, Type} from '@angular/core';\nimport {AnimationMetadata} from '@angular/animations';\n\nimport {PositionOptions} from '../../../services/position';\nimport {TooltipTemplateContext} from '../directives';\n\n/**\n * Represents component that is used for rendering tooltip\n */\nexport interface TooltipRenderer<TData = any>\n{\n //######################### properties #########################\n\n /**\n * Data that are rendered in tooltip\n */\n data: TData|null|undefined;\n\n /**\n * Template used for rendering tooltip\n */\n template: TemplateRef<TooltipTemplateContext<TData>>|null|undefined;\n\n /**\n * Indication whether are html tags allowed in tooltip text\n */\n allowHtml: boolean;\n\n /**\n * Css class that is applied to tooltip renderer component\n */\n cssClass: string|null|undefined;\n\n //######################### methods #########################\n\n /**\n * Registers handlers that allows reaction to entering or leaving tooltip\n * @param enter - Called when mouse enter tooltip component, hover\n * @param leave - Called when mouse leaves tooltip component\n */\n registerHoverEvents(enter: () => void, leave: () => void): void;\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n invalidateVisuals(): void;\n}\n\n/**\n * Options used for tooltip directive\n */\nexport interface TooltipOptions\n{\n /**\n * Delay for displaying of tooltip on hover\n */\n delay: number;\n\n /**\n * Position where should tooltip appear relative to its parent\n */\n position: Pick<PositionOptions, 'placement'|'offset'>;\n\n /**\n * Allows selection of text in tooltip\n */\n allowSelection: boolean|null;\n\n /**\n * Css class that is applied to tooltip renderer component\n */\n tooltipCssClass: string|null;\n\n /**\n * Indication whether stop propagation of \"hover\" event\n */\n stopPropagation: boolean|null;\n\n /**\n * Type of tooltip renderer that is used for rendering tooltip\n */\n tooltipRenderer: Type<TooltipRenderer>;\n\n /**\n * Animation used to tooltip component when it is displayed\n */\n enterAnimation: AnimationMetadata;\n\n /**\n * Animation used to tooltip component when it is hidden\n */\n exitAnimation: AnimationMetadata;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipes/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC","sourcesContent":["export * from './urlEncode/urlEncode.pipe';\nexport * from './isPresent/isPresent.pipe';\nexport * from './isNaN/isNaN.pipe';\nexport * from './localize/localize.pipe';\nexport * from './mergeCssClasses/mergeCssClasses.pipe';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pipes/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wCAAwC,CAAC;AACvD,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './urlEncode/urlEncode.pipe';\nexport * from './isPresent/isPresent.pipe';\nexport * from './isNaN/isNaN.pipe';\nexport * from './localize/localize.pipe';\nexport * from './mergeCssClasses/mergeCssClasses.pipe';\nexport * from './keys/keys.pipe';\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { isBlank } from '@jscrpt/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Gets object keys/property names
|
|
6
|
+
*/
|
|
7
|
+
export class KeysPipe {
|
|
8
|
+
/**
|
|
9
|
+
* Gets object keys/property names
|
|
10
|
+
* @param value - Object containing keys which will be obtained
|
|
11
|
+
*/
|
|
12
|
+
transform(value) {
|
|
13
|
+
if (isBlank(value)) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
return Object.keys(value);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
20
|
+
KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KeysPipe, name: "keys" });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: KeysPipe, decorators: [{
|
|
22
|
+
type: Pipe,
|
|
23
|
+
args: [{ name: 'keys' }]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=keys.pipe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.pipe.js","sourceRoot":"","sources":["../../../../src/pipes/keys/keys.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAgB,MAAM,eAAe,CAAC;AAClD,OAAO,EAAa,OAAO,EAAC,MAAM,gBAAgB,CAAC;;AAEnD;;GAEG;AAEH,MAAM,OAAO,QAAQ;IAEjB;;;OAGG;IACI,SAAS,CAAC,KAAsB;QAEnC,IAAG,OAAO,CAAC,KAAK,CAAC,EACjB;YACI,OAAO,EAAE,CAAC;SACb;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;qGAdQ,QAAQ;mGAAR,QAAQ;2FAAR,QAAQ;kBADpB,IAAI;mBAAC,EAAC,IAAI,EAAE,MAAM,EAAC","sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {Dictionary, isBlank} from '@jscrpt/common';\n\n/**\n * Gets object keys/property names\n */\n@Pipe({name: 'keys'})\nexport class KeysPipe implements PipeTransform\n{\n /**\n * Gets object keys/property names\n * @param value - Object containing keys which will be obtained\n */\n public transform(value: Dictionary<any>): string[]\n {\n if(isBlank(value))\n {\n return [];\n }\n\n return Object.keys(value);\n }\n}\n"]}
|
|
@@ -108,7 +108,7 @@ export class FloatingUiDomPosition {
|
|
|
108
108
|
middlewares.push(offset(({ floating, placement }) => {
|
|
109
109
|
if (options.offset == PositionOffset.MouseEnter && options.mouseEvent) {
|
|
110
110
|
return {
|
|
111
|
-
crossAxis: options.mouseEvent.offsetX
|
|
111
|
+
crossAxis: options.mouseEvent.offsetX || (options.mouseEvent.layerX ?? 0)
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
114
|
let dimension;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floatingUiDomPosition.service.js","sourceRoot":"","sources":["../../../../floating-ui/src/services/floatingUiDomPosition.service.ts"],"names":[],"mappings":"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","sourcesContent":["import {ClassProvider, Injectable} from '@angular/core';\nimport {Position, PositionResult, PositionOptions, PositionOffset, PositionPlacement, AutoUpdateOptions, POSITION} from '@anglr/common';\nimport {extend} from '@jscrpt/common';\nimport {computePosition, Placement, autoUpdate, Middleware, offset, flip} from '@floating-ui/dom';\nimport {Observable} from 'rxjs';\n\n/**\n * Default options for `FloatingUiDomPosition` implementation\n */\nconst defaultOptions: PositionOptions =\n{\n autoUpdate: false,\n flip: false,\n offset: PositionOffset.None,\n placement: PositionPlacement.Top\n};\n\n/**\n * Service that is used for positioning two elements against each other, using floating-ui dom implementation\n */\n@Injectable()\nexport class FloatingUiDomPosition implements Position\n{\n //######################### public methods - implementation of Position #########################\n\n /**\n * @inheritdoc\n */\n public placeElement(target: Element, source: Element, options?: Partial<PositionOptions>): Observable<PositionResult>\n {\n return new Observable(subscriber =>\n {\n (async () =>\n {\n const computedOptions = extend({}, defaultOptions, options);\n const middlewares: Middleware[] = [];\n\n this._setOffset(middlewares, computedOptions);\n this._setFlip(middlewares, computedOptions);\n\n const runComputation = async () =>\n {\n const result = await computePosition(source,\n target as HTMLElement,\n {\n placement: this._getPlacement(computedOptions),\n middleware: middlewares\n });\n\n if(computedOptions.autoUpdate)\n {\n subscriber.next(\n {\n target,\n dispose,\n x: result.x,\n y: result.y\n });\n }\n\n return result;\n };\n \n let dispose = () => {};\n\n if(computedOptions.autoUpdate)\n {\n let options: AutoUpdateOptions;\n\n if(computedOptions.autoUpdate === true)\n {\n options =\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true\n };\n }\n else\n {\n options = computedOptions.autoUpdate;\n }\n\n dispose = autoUpdate(source,\n target as HTMLElement,\n runComputation,\n options);\n }\n\n const result = await runComputation();\n\n subscriber.next(\n {\n target,\n dispose,\n x: result.x,\n y: result.y\n });\n\n if(!computedOptions.autoUpdate)\n {\n subscriber.complete();\n }\n })();\n });\n }\n\n //######################### protected methods #########################\n\n /**\n * Sets flip middleware\n * @param middlewares - Array of middlewares that will set\n * @param options - Options that contains definition of flip\n */\n protected _setFlip(middlewares: Middleware[], options: PositionOptions): void\n {\n if(options.flip)\n {\n middlewares.push(flip());\n }\n }\n\n /**\n * Sets offset middleware\n * @param middlewares - Array of middlewares that will set\n * @param options - Options that contains definition of offset\n */\n protected _setOffset(middlewares: Middleware[], options: PositionOptions): void\n {\n if(options.offset != PositionOffset.None)\n {\n if(options.offset == PositionOffset.MouseEnter)\n {\n //fallback if not supported placement used\n if(options.placement == PositionPlacement.Left ||\n options.placement == PositionPlacement.LeftStart ||\n options.placement == PositionPlacement.LeftEnd ||\n options.placement == PositionPlacement.Right ||\n options.placement == PositionPlacement.RightStart ||\n options.placement == PositionPlacement.RightEnd ||\n options.placement == PositionPlacement.Bottom ||\n options.placement == PositionPlacement.BottomEnd ||\n options.placement == PositionPlacement.Top ||\n options.placement == PositionPlacement.TopEnd)\n {\n options.placement = PositionPlacement.TopStart;\n }\n }\n\n middlewares.push(offset(({floating, placement}) =>\n {\n if(options.offset == PositionOffset.MouseEnter && options.mouseEvent)\n {\n return {\n crossAxis: options.mouseEvent.offsetX\n };\n }\n\n let dimension: number;\n\n if(placement == 'bottom' || placement == 'bottom-start' || placement == 'bottom-end' ||\n placement == 'top' || placement == 'top-start' || placement == 'top-end')\n {\n dimension = floating.width;\n }\n else\n {\n dimension = floating.height;\n }\n\n switch(options.offset)\n {\n default:\n {\n dimension = 0;\n\n break;\n }\n case PositionOffset.Full:\n {\n break;\n }\n case PositionOffset.Half:\n {\n dimension /= 2;\n\n break;\n }\n case PositionOffset.NegativeFull:\n {\n dimension *= -1;\n\n break;\n }\n case PositionOffset.NegativeHalf:\n {\n dimension *= -.5;\n\n break;\n }\n }\n\n return {\n crossAxis: dimension\n };\n }));\n }\n }\n\n /**\n * Gets floating ui placement from position placement\n * @param options - Options containing position placement\n */\n protected _getPlacement(options: PositionOptions): Placement\n {\n switch(options.placement)\n {\n default:\n // case PositionPlacement.Top:\n {\n return 'top';\n }\n case PositionPlacement.TopStart:\n {\n return 'top-start';\n }\n case PositionPlacement.TopEnd:\n {\n return 'top-end';\n }\n case PositionPlacement.Bottom:\n {\n return 'bottom';\n }\n case PositionPlacement.BottomStart:\n {\n return 'bottom-start';\n }\n case PositionPlacement.BottomEnd:\n {\n return 'bottom-end';\n }\n case PositionPlacement.Left:\n {\n return 'left';\n }\n case PositionPlacement.LeftStart:\n {\n return 'left-start';\n }\n case PositionPlacement.LeftEnd:\n {\n return 'left-end';\n }\n case PositionPlacement.Right:\n {\n return 'right';\n }\n case PositionPlacement.RightStart:\n {\n return 'right-start';\n }\n case PositionPlacement.RightEnd:\n {\n return 'right-end';\n }\n }\n }\n}\n\n/**\n * Provider for floating ui position implementation\n */\nexport const FLOATING_UI_POSITION: ClassProvider =\n{\n provide: POSITION,\n useClass: FloatingUiDomPosition\n};"]}
|
|
1
|
+
{"version":3,"file":"floatingUiDomPosition.service.js","sourceRoot":"","sources":["../../../../floating-ui/src/services/floatingUiDomPosition.service.ts"],"names":[],"mappings":"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","sourcesContent":["import {ClassProvider, Injectable} from '@angular/core';\nimport {Position, PositionResult, PositionOptions, PositionOffset, PositionPlacement, AutoUpdateOptions, POSITION} from '@anglr/common';\nimport {extend} from '@jscrpt/common';\nimport {computePosition, Placement, autoUpdate, Middleware, offset, flip} from '@floating-ui/dom';\nimport {Observable} from 'rxjs';\n\n/**\n * Default options for `FloatingUiDomPosition` implementation\n */\nconst defaultOptions: PositionOptions =\n{\n autoUpdate: false,\n flip: false,\n offset: PositionOffset.None,\n placement: PositionPlacement.Top\n};\n\n/**\n * Service that is used for positioning two elements against each other, using floating-ui dom implementation\n */\n@Injectable()\nexport class FloatingUiDomPosition implements Position\n{\n //######################### public methods - implementation of Position #########################\n\n /**\n * @inheritdoc\n */\n public placeElement(target: Element, source: Element, options?: Partial<PositionOptions>): Observable<PositionResult>\n {\n return new Observable(subscriber =>\n {\n (async () =>\n {\n const computedOptions = extend({}, defaultOptions, options);\n const middlewares: Middleware[] = [];\n\n this._setOffset(middlewares, computedOptions);\n this._setFlip(middlewares, computedOptions);\n\n const runComputation = async () =>\n {\n const result = await computePosition(source,\n target as HTMLElement,\n {\n placement: this._getPlacement(computedOptions),\n middleware: middlewares\n });\n\n if(computedOptions.autoUpdate)\n {\n subscriber.next(\n {\n target,\n dispose,\n x: result.x,\n y: result.y\n });\n }\n\n return result;\n };\n \n let dispose = () => {};\n\n if(computedOptions.autoUpdate)\n {\n let options: AutoUpdateOptions;\n\n if(computedOptions.autoUpdate === true)\n {\n options =\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true\n };\n }\n else\n {\n options = computedOptions.autoUpdate;\n }\n\n dispose = autoUpdate(source,\n target as HTMLElement,\n runComputation,\n options);\n }\n\n const result = await runComputation();\n\n subscriber.next(\n {\n target,\n dispose,\n x: result.x,\n y: result.y\n });\n\n if(!computedOptions.autoUpdate)\n {\n subscriber.complete();\n }\n })();\n });\n }\n\n //######################### protected methods #########################\n\n /**\n * Sets flip middleware\n * @param middlewares - Array of middlewares that will set\n * @param options - Options that contains definition of flip\n */\n protected _setFlip(middlewares: Middleware[], options: PositionOptions): void\n {\n if(options.flip)\n {\n middlewares.push(flip());\n }\n }\n\n /**\n * Sets offset middleware\n * @param middlewares - Array of middlewares that will set\n * @param options - Options that contains definition of offset\n */\n protected _setOffset(middlewares: Middleware[], options: PositionOptions): void\n {\n if(options.offset != PositionOffset.None)\n {\n if(options.offset == PositionOffset.MouseEnter)\n {\n //fallback if not supported placement used\n if(options.placement == PositionPlacement.Left ||\n options.placement == PositionPlacement.LeftStart ||\n options.placement == PositionPlacement.LeftEnd ||\n options.placement == PositionPlacement.Right ||\n options.placement == PositionPlacement.RightStart ||\n options.placement == PositionPlacement.RightEnd ||\n options.placement == PositionPlacement.Bottom ||\n options.placement == PositionPlacement.BottomEnd ||\n options.placement == PositionPlacement.Top ||\n options.placement == PositionPlacement.TopEnd)\n {\n options.placement = PositionPlacement.TopStart;\n }\n }\n\n middlewares.push(offset(({floating, placement}) =>\n {\n if(options.offset == PositionOffset.MouseEnter && options.mouseEvent)\n {\n return {\n crossAxis: options.mouseEvent.offsetX || ((options.mouseEvent as any).layerX ?? 0)\n };\n }\n\n let dimension: number;\n\n if(placement == 'bottom' || placement == 'bottom-start' || placement == 'bottom-end' ||\n placement == 'top' || placement == 'top-start' || placement == 'top-end')\n {\n dimension = floating.width;\n }\n else\n {\n dimension = floating.height;\n }\n\n switch(options.offset)\n {\n default:\n {\n dimension = 0;\n\n break;\n }\n case PositionOffset.Full:\n {\n break;\n }\n case PositionOffset.Half:\n {\n dimension /= 2;\n\n break;\n }\n case PositionOffset.NegativeFull:\n {\n dimension *= -1;\n\n break;\n }\n case PositionOffset.NegativeHalf:\n {\n dimension *= -.5;\n\n break;\n }\n }\n\n return {\n crossAxis: dimension\n };\n }));\n }\n }\n\n /**\n * Gets floating ui placement from position placement\n * @param options - Options containing position placement\n */\n protected _getPlacement(options: PositionOptions): Placement\n {\n switch(options.placement)\n {\n default:\n // case PositionPlacement.Top:\n {\n return 'top';\n }\n case PositionPlacement.TopStart:\n {\n return 'top-start';\n }\n case PositionPlacement.TopEnd:\n {\n return 'top-end';\n }\n case PositionPlacement.Bottom:\n {\n return 'bottom';\n }\n case PositionPlacement.BottomStart:\n {\n return 'bottom-start';\n }\n case PositionPlacement.BottomEnd:\n {\n return 'bottom-end';\n }\n case PositionPlacement.Left:\n {\n return 'left';\n }\n case PositionPlacement.LeftStart:\n {\n return 'left-start';\n }\n case PositionPlacement.LeftEnd:\n {\n return 'left-end';\n }\n case PositionPlacement.Right:\n {\n return 'right';\n }\n case PositionPlacement.RightStart:\n {\n return 'right-start';\n }\n case PositionPlacement.RightEnd:\n {\n return 'right-end';\n }\n }\n }\n}\n\n/**\n * Provider for floating ui position implementation\n */\nexport const FLOATING_UI_POSITION: ClassProvider =\n{\n provide: POSITION,\n useClass: FloatingUiDomPosition\n};"]}
|
|
@@ -17,5 +17,6 @@ export * from './modules/numberInput.module';
|
|
|
17
17
|
export * from './modules/hasError.module';
|
|
18
18
|
export * from './modules/requiredClass.module';
|
|
19
19
|
export * from './modules/formPipes';
|
|
20
|
+
export * from './modules/errorMessage';
|
|
20
21
|
export * from './misc/formModel';
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../forms/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,yDAAyD,CAAC;AACxE,cAAc,oEAAoE,CAAC;AACnF,cAAc,0CAA0C,CAAC;AACzD,cAAc,oDAAoD,CAAC;AACnE,cAAc,oDAAoD,CAAC;AACnE,cAAc,wCAAwC,CAAC;AACvD,cAAc,oEAAoE,CAAC;AACnF,cAAc,kEAAkE,CAAC;AACjF,cAAc,sEAAsE,CAAC;AACrF,cAAc,oEAAoE,CAAC;AACnF,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './directives/numberInput/maxValueNumberValidator.directive';\nexport * from './directives/numberInput/minValueNumberValidator.directive';\nexport * from './directives/numberInput/numberInputValidator.directive';\nexport * from './directives/numberInput/numberInputControlValueAccessor.directive';\nexport * from './directives/hasError/hasError.directive';\nexport * from './directives/groupHasError/groupHasError.directive';\nexport * from './directives/requiredClass/requiredClass.directive';\nexport * from './services/submitted/submitted.service';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.interface';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.service';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.interface';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.service';\nexport * from './misc/validators';\nexport * from './misc/utils';\nexport * from './misc/types';\nexport * from './modules/numberInput.module';\nexport * from './modules/hasError.module';\nexport * from './modules/requiredClass.module';\nexport * from './modules/formPipes';\nexport * from './misc/formModel';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../forms/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4DAA4D,CAAC;AAC3E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,yDAAyD,CAAC;AACxE,cAAc,oEAAoE,CAAC;AACnF,cAAc,0CAA0C,CAAC;AACzD,cAAc,oDAAoD,CAAC;AACnE,cAAc,oDAAoD,CAAC;AACnE,cAAc,wCAAwC,CAAC;AACvD,cAAc,oEAAoE,CAAC;AACnF,cAAc,kEAAkE,CAAC;AACjF,cAAc,sEAAsE,CAAC;AACrF,cAAc,oEAAoE,CAAC;AACnF,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './directives/numberInput/maxValueNumberValidator.directive';\nexport * from './directives/numberInput/minValueNumberValidator.directive';\nexport * from './directives/numberInput/numberInputValidator.directive';\nexport * from './directives/numberInput/numberInputControlValueAccessor.directive';\nexport * from './directives/hasError/hasError.directive';\nexport * from './directives/groupHasError/groupHasError.directive';\nexport * from './directives/requiredClass/requiredClass.directive';\nexport * from './services/submitted/submitted.service';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.interface';\nexport * from './services/errorMessagesExtractor/errorMessagesExtractor.service';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.interface';\nexport * from './services/validationErrorRenderer/validationErrorRenderer.service';\nexport * from './misc/validators';\nexport * from './misc/utils';\nexport * from './misc/types';\nexport * from './modules/numberInput.module';\nexport * from './modules/hasError.module';\nexport * from './modules/requiredClass.module';\nexport * from './modules/formPipes';\nexport * from './modules/errorMessage';\nexport * from './misc/formModel';\n"]}
|