@anglr/common 11.3.0-beta.20220412124216 → 11.3.0-beta.20220413045755

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,12 +1,14 @@
1
1
  # Changelog
2
2
 
3
- ## Version 11.3.0 (2022-04-12)
3
+ ## Version 11.3.0 (2022-04-13)
4
4
 
5
5
  ### Features
6
6
 
7
7
  - new `KeysPipe` pipe, that gets object keys/property names
8
8
  - updated `CommonUtilsModule`
9
9
  - added `KeysPipe` to this module
10
+ - updated `ClickOutsideDirective` directive
11
+ - now allows `clickOutside` *input* to be set to `''`, allows using empty `clickOutside` binding
10
12
  - new **Tooltip** module (based on `Position` service)
11
13
  - new `TooltipModule` module for rendering tooltips
12
14
  - **exports**
@@ -1,6 +1,6 @@
1
1
  import { Directive, Input, EventEmitter, Output, ElementRef, Inject } from '@angular/core';
2
2
  import { DOCUMENT } from '@angular/common';
3
- import { isDescendant } from '@jscrpt/common';
3
+ import { isDescendant, isString } from '@jscrpt/common';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Directive that handles click outside of element
@@ -15,7 +15,7 @@ export class ClickOutsideDirective {
15
15
  * Used for emitting event when click outside occurs
16
16
  */
17
17
  this.clickOutsideConditionChange = new EventEmitter();
18
- //######################### private methods #########################
18
+ //######################### protected methods #########################
19
19
  /**
20
20
  * Handles click outside of element
21
21
  * @param event - Mouse event object
@@ -30,6 +30,20 @@ export class ClickOutsideDirective {
30
30
  }
31
31
  };
32
32
  }
33
+ //######################### public properties - inputs #########################
34
+ /**
35
+ * Variable that is used for displaying element that handles click outside
36
+ */
37
+ get clickOutsideCondition() {
38
+ return this._clickOutsideCondition;
39
+ }
40
+ set clickOutsideCondition(value) {
41
+ if (isString(value) && value === '') {
42
+ this._clickOutsideCondition = true;
43
+ return;
44
+ }
45
+ this._clickOutsideCondition = value;
46
+ }
33
47
  //######################### public methods - implementation of OnInit #########################
34
48
  /**
35
49
  * Initialize component
@@ -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;;AAE5C;;GAEG;AAKH,MAAM,OAAO,qBAAqB;IAwB9B,iEAAiE;IACjE,YAAoB,QAAiC,EACf,SAAmB;QADrC,aAAQ,GAAR,QAAQ,CAAyB;QACf,cAAS,GAAT,SAAS,CAAU;QAVzD,iFAAiF;QAEjF;;WAEG;QAEI,gCAA2B,GAA0B,IAAI,YAAY,EAAW,CAAC;QA4BxF,qEAAqE;QAErE;;;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;IAED,+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;;kHAhDQ,qBAAqB,4CA0BV,QAAQ;sGA1BnB,qBAAqB;2FAArB,qBAAqB;kBAJjC,SAAS;mBACN;oBACI,QAAQ,EAAE,gBAAgB;iBAC7B;mFA2BgD,QAAQ;0BAA5C,MAAM;2BAAC,QAAQ;4CAlBrB,qBAAqB;sBAD3B,KAAK;uBAAC,cAAc;gBAOd,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} 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 //######################### public properties - inputs #########################\n\n /**\n * Variable that is used for displaying element that handles click outside\n */\n @Input('clickOutside')\n public clickOutsideCondition: boolean;\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(private _element: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) private _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 //######################### private 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}"]}
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,6 +1,6 @@
1
1
  import { Directive, Input, EventEmitter, Output, ElementRef, Inject } from '@angular/core';
2
2
  import { DOCUMENT } from '@angular/common';
3
- import { isDescendant } from '@jscrpt/common';
3
+ import { isDescendant, isString } from '@jscrpt/common';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Directive that handles click outside of element
@@ -15,7 +15,7 @@ export class ClickOutsideDirective {
15
15
  * Used for emitting event when click outside occurs
16
16
  */
17
17
  this.clickOutsideConditionChange = new EventEmitter();
18
- //######################### private methods #########################
18
+ //######################### protected methods #########################
19
19
  /**
20
20
  * Handles click outside of element
21
21
  * @param event - Mouse event object
@@ -30,6 +30,20 @@ export class ClickOutsideDirective {
30
30
  }
31
31
  };
32
32
  }
33
+ //######################### public properties - inputs #########################
34
+ /**
35
+ * Variable that is used for displaying element that handles click outside
36
+ */
37
+ get clickOutsideCondition() {
38
+ return this._clickOutsideCondition;
39
+ }
40
+ set clickOutsideCondition(value) {
41
+ if (isString(value) && value === '') {
42
+ this._clickOutsideCondition = true;
43
+ return;
44
+ }
45
+ this._clickOutsideCondition = value;
46
+ }
33
47
  //######################### public methods - implementation of OnInit #########################
34
48
  /**
35
49
  * Initialize component
@@ -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;;AAE5C;;GAEG;AAKH,MAAM,OAAO,qBAAqB;IAwB9B,iEAAiE;IACjE,YAAoB,QAAiC,EACf,SAAmB;QADrC,aAAQ,GAAR,QAAQ,CAAyB;QACf,cAAS,GAAT,SAAS,CAAU;QAVzD,iFAAiF;QAEjF;;WAEG;QAEI,gCAA2B,GAA0B,IAAI,YAAY,EAAW,CAAC;QA4BxF,qEAAqE;QAErE;;;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;IAED,+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;;kHAhDQ,qBAAqB,4CA0BV,QAAQ;sGA1BnB,qBAAqB;2FAArB,qBAAqB;kBAJjC,SAAS;mBACN;oBACI,QAAQ,EAAE,gBAAgB;iBAC7B;mFA2BgD,QAAQ;0BAA5C,MAAM;2BAAC,QAAQ;4CAlBrB,qBAAqB;sBAD3B,KAAK;uBAAC,cAAc;gBAOd,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} 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 //######################### public properties - inputs #########################\n\n /**\n * Variable that is used for displaying element that handles click outside\n */\n @Input('clickOutside')\n public clickOutsideCondition: boolean;\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(private _element: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) private _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 //######################### private 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}"]}
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}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anglr/common",
3
- "version": "11.3.0-beta.20220412124216",
3
+ "version": "11.3.0-beta.20220413045755",
4
4
  "description": "Angular module for common angular stuff",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -4,12 +4,17 @@ import * as i0 from "@angular/core";
4
4
  * Directive that handles click outside of element
5
5
  */
6
6
  export declare class ClickOutsideDirective implements OnInit, OnDestroy {
7
- private _element;
8
- private _document;
7
+ protected _element: ElementRef<HTMLElement>;
8
+ protected _document: Document;
9
9
  /**
10
10
  * Variable that is used for displaying element that handles click outside
11
11
  */
12
- clickOutsideCondition: boolean;
12
+ protected _clickOutsideCondition: boolean;
13
+ /**
14
+ * Variable that is used for displaying element that handles click outside
15
+ */
16
+ get clickOutsideCondition(): boolean;
17
+ set clickOutsideCondition(value: boolean);
13
18
  /**
14
19
  * Additional element that is checked for click
15
20
  */
@@ -32,6 +37,10 @@ export declare class ClickOutsideDirective implements OnInit, OnDestroy {
32
37
  * @param event - Mouse event object
33
38
  */
34
39
  protected _handleClickOutside: (event: MouseEvent) => void;
40
+ /**
41
+ * Custom input type for `clickOutsideCondition` input
42
+ */
43
+ static ngAcceptInputType_clickOutsideCondition: boolean | '';
35
44
  static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
36
45
  static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[clickOutside]", never, { "clickOutsideCondition": "clickOutside"; "clickOutsideElement": "clickOutsideElement"; }, { "clickOutsideConditionChange": "clickOutsideChange"; }, never>;
37
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clickOutside.directive.d.ts","sourceRoot":"","sources":["clickOutside.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,SAAS,EAAS,YAAY,EAAU,UAAU,EAAS,MAAM,eAAe,CAAC;;AAI5G;;GAEG;AACH,qBAIa,qBAAsB,YAAW,MAAM,EAAE,SAAS;IAyB/C,OAAO,CAAC,QAAQ;IACE,OAAO,CAAC,SAAS;IAtB/C;;OAEG;IAEI,qBAAqB,EAAE,OAAO,CAAC;IAEtC;;OAEG;IAEI,mBAAmB,EAAE,WAAW,CAAC;IAIxC;;OAEG;IAEI,2BAA2B,EAAE,YAAY,CAAC,OAAO,CAAC,CAA+B;gBAGpE,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,EACf,SAAS,EAAE,QAAQ;IAMzD;;OAEG;IACI,QAAQ,IAAI,IAAI;IAOvB;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;;OAGG;IACH,SAAS,CAAC,mBAAmB,UAAW,UAAU,UAUjD;yCAlEQ,qBAAqB;2CAArB,qBAAqB;CAmEjC"}
1
+ {"version":3,"file":"clickOutside.directive.d.ts","sourceRoot":"","sources":["clickOutside.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,SAAS,EAAS,YAAY,EAAU,UAAU,EAAS,MAAM,eAAe,CAAC;;AAI5G;;GAEG;AACH,qBAIa,qBAAsB,YAAW,MAAM,EAAE,SAAS;IA8C/C,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC;IACzB,SAAS,CAAC,SAAS,EAAE,QAAQ;IA3C3D;;OAEG;IACH,SAAS,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAI1C;;OAEG;IACH,IACW,qBAAqB,IAAI,OAAO,CAG1C;IACD,IAAW,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAU9C;IAED;;OAEG;IAEI,mBAAmB,EAAE,WAAW,CAAC;IAIxC;;OAEG;IAEI,2BAA2B,EAAE,YAAY,CAAC,OAAO,CAAC,CAA+B;gBAGlE,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,EACf,SAAS,EAAE,QAAQ;IAM3D;;OAEG;IACI,QAAQ,IAAI,IAAI;IAOvB;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;;OAGG;IACH,SAAS,CAAC,mBAAmB,UAAW,UAAU,UAUjD;IAID;;OAEG;IACH,OAAc,uCAAuC,EAAE,OAAO,GAAC,EAAE,CAAC;yCA9FzD,qBAAqB;2CAArB,qBAAqB;CA+FjC"}
package/version.bak CHANGED
@@ -1 +1 @@
1
- 11.3.0-beta.20220412124216
1
+ 11.3.0-beta.20220413045755