ngx-cho-common 1.0.2 → 1.0.3

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.
@@ -9,13 +9,13 @@ export class ChoAutoFocusDirective {
9
9
  this.elementRef.nativeElement.focus();
10
10
  }
11
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAutoFocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
12
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoAutoFocusDirective, isStandalone: true, selector: "[appChoAutoFocus]", ngImport: i0 }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoAutoFocusDirective, isStandalone: true, selector: "[choAutoFocus]", ngImport: i0 }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAutoFocusDirective, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
- selector: '[appChoAutoFocus]',
17
+ selector: '[choAutoFocus]',
18
18
  standalone: true,
19
19
  }]
20
20
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWF1dG8tZm9jdXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2Noby1hdXRvLWZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrRkFBK0Y7QUFDL0YsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7O0FBTTlELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFOUMsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7K0dBTFEscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZnJvbSBodHRwczovL3N0YWNrYmxpdHouY29tL2VkaXQvYW5ndWxhci1pbmxpbmUtZWRpdD9maWxlPXNyYyUyRmFwcCUyRmF1dG9mb2N1cy5kaXJlY3RpdmUudHNcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2FwcENob0F1dG9Gb2N1c10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENob0F1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWF1dG8tZm9jdXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2Noby1hdXRvLWZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrRkFBK0Y7QUFDL0YsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBTSxlQUFlLENBQUM7O0FBTTlELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFOUMsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7K0dBTFEscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZnJvbSBodHRwczovL3N0YWNrYmxpdHouY29tL2VkaXQvYW5ndWxhci1pbmxpbmUtZWRpdD9maWxlPXNyYyUyRmFwcCUyRmF1dG9mb2N1cy5kaXJlY3RpdmUudHNcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Nob0F1dG9Gb2N1c10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENob0F1dG9Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxufVxuIl19
@@ -25,16 +25,16 @@ export class ChoFormFocusDirective {
25
25
  }
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFormFocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoFormFocusDirective, isStandalone: true, selector: "[appChoFormFocus]", host: { listeners: { "submit": "submit()" } }, ngImport: i0 }); }
28
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoFormFocusDirective, isStandalone: true, selector: "[choFormFocus]", host: { listeners: { "submit": "submit()" } }, ngImport: i0 }); }
29
29
  }
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFormFocusDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
- selector: '[appChoFormFocus]',
33
+ selector: '[choFormFocus]',
34
34
  standalone: true,
35
35
  }]
36
36
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { submit: [{
37
37
  type: HostListener,
38
38
  args: ['submit']
39
39
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWZvcm0tZm9jdXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2Noby1mb3JtLWZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwRkFBMEY7QUFDMUYsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1uRixNQUFNLE9BQU8scUJBQXFCO0lBRzlCLFlBQW9CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFGdkMsZUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUVILENBQUM7SUFFM0MsZUFBZTtRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWxGLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZCxPQUFPO1FBQ1gsQ0FBQztRQUVELGdFQUFnRTtRQUNoRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU07UUFDRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDeEQsQ0FBQztRQUNGLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNMLENBQUM7K0dBNUJRLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsrRUFzQkcsTUFBTTtzQkFETCxZQUFZO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBmcm9tIGh0dHBzOi8vdGltZGVzY2hyeXZlci5kZXYvYmxvZy9hdXRvLWZvY3VzLWEtZm9ybS1jb250cm9sLXdpdGgtYW4tYW5ndWxhci1kaXJlY3RpdmVcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2FwcENob0Zvcm1Gb2N1c10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENob0Zvcm1Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIGZvY3VzYWJsZXMgPSBbJ2lucHV0JywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5mb2N1c2FibGVzLmpvaW4oJywnKSk7XG5cbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZm9jdXMgb24gZmlyc3QgYXZhaWxhYmxlIGJ1dHRvbiBpZiBubyBvdGhlciBmb2N1c2FibGUgZWxlbWVudFxuICAgICAgICBjb25zdCBidXR0b24gPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdidXR0b24nKTtcbiAgICAgICAgaWYgKGJ1dHRvbikge1xuICAgICAgICAgICAgYnV0dG9uLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdzdWJtaXQnKVxuICAgIHN1Ym1pdCgpIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVzLm1hcCh4ID0+IGAke3h9Lm5nLWludmFsaWRgKS5qb2luKCcsJylcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWZvcm0tZm9jdXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2Noby1mb3JtLWZvY3VzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwRkFBMEY7QUFDMUYsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1uRixNQUFNLE9BQU8scUJBQXFCO0lBRzlCLFlBQW9CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFGdkMsZUFBVSxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUVILENBQUM7SUFFM0MsZUFBZTtRQUNYLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRWxGLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZCxPQUFPO1FBQ1gsQ0FBQztRQUVELGdFQUFnRTtRQUNoRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEUsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNULE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQztJQUdELE1BQU07UUFDRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDeEQsQ0FBQztRQUNGLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNMLENBQUM7K0dBNUJRLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsrRUFzQkcsTUFBTTtzQkFETCxZQUFZO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBmcm9tIGh0dHBzOi8vdGltZGVzY2hyeXZlci5kZXYvYmxvZy9hdXRvLWZvY3VzLWEtZm9ybS1jb250cm9sLXdpdGgtYW4tYW5ndWxhci1kaXJlY3RpdmVcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Nob0Zvcm1Gb2N1c10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENob0Zvcm1Gb2N1c0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIGZvY3VzYWJsZXMgPSBbJ2lucHV0JywgJ3NlbGVjdCcsICd0ZXh0YXJlYSddO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5mb2N1c2FibGVzLmpvaW4oJywnKSk7XG5cbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZm9jdXMgb24gZmlyc3QgYXZhaWxhYmxlIGJ1dHRvbiBpZiBubyBvdGhlciBmb2N1c2FibGUgZWxlbWVudFxuICAgICAgICBjb25zdCBidXR0b24gPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdidXR0b24nKTtcbiAgICAgICAgaWYgKGJ1dHRvbikge1xuICAgICAgICAgICAgYnV0dG9uLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdzdWJtaXQnKVxuICAgIHN1Ym1pdCgpIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICAgdGhpcy5mb2N1c2FibGVzLm1hcCh4ID0+IGAke3h9Lm5nLWludmFsaWRgKS5qb2luKCcsJylcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICBpbnB1dC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -10,12 +10,12 @@ export class ChoKeyPressEnterDirective {
10
10
  }
11
11
  }
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoKeyPressEnterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoKeyPressEnterDirective, isStandalone: true, selector: "[appChoKeyPressEnter]", outputs: { emitter: "appKeyPressEnter" }, host: { listeners: { "window:keypress": "keyEvent($event)" } }, ngImport: i0 }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoKeyPressEnterDirective, isStandalone: true, selector: "[choKeyPressEnter]", outputs: { emitter: "appKeyPressEnter" }, host: { listeners: { "window:keypress": "keyEvent($event)" } }, ngImport: i0 }); }
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoKeyPressEnterDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
- selector: '[appChoKeyPressEnter]',
18
+ selector: '[choKeyPressEnter]',
19
19
  standalone: true,
20
20
  }]
21
21
  }], propDecorators: { emitter: [{
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
25
25
  type: HostListener,
26
26
  args: ['window:keypress', ['$event']]
27
27
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWtleS1wcmVzcy1lbnRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbW1vbi9zcmMvbGliL2RpcmVjdGl2ZXMvY2hvLWtleS1wcmVzcy1lbnRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNOUUsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQUtnQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQVE1RDtJQUxHLFFBQVEsQ0FBQyxLQUFvQjtRQUN6QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQzsrR0FSUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBRStCLE9BQU87c0JBQWxDLE1BQU07dUJBQUMsa0JBQWtCO2dCQUcxQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbYXBwQ2hvS2V5UHJlc3NFbnRlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENob0tleVByZXNzRW50ZXJEaXJlY3RpdmUge1xuICAgIEBPdXRwdXQoJ2FwcEtleVByZXNzRW50ZXInKSBlbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXByZXNzJywgWyckZXZlbnQnXSlcbiAgICBrZXlFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXR0ZXIuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWtleS1wcmVzcy1lbnRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY2hvLWNvbW1vbi9zcmMvbGliL2RpcmVjdGl2ZXMvY2hvLWtleS1wcmVzcy1lbnRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNOUUsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQUtnQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQVE1RDtJQUxHLFFBQVEsQ0FBQyxLQUFvQjtRQUN6QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQzsrR0FSUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBRStCLE9BQU87c0JBQWxDLE1BQU07dUJBQUMsa0JBQWtCO2dCQUcxQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbY2hvS2V5UHJlc3NFbnRlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENob0tleVByZXNzRW50ZXJEaXJlY3RpdmUge1xuICAgIEBPdXRwdXQoJ2FwcEtleVByZXNzRW50ZXInKSBlbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXByZXNzJywgWyckZXZlbnQnXSlcbiAgICBrZXlFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmVtaXR0ZXIuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -10,12 +10,12 @@ export class ChoKeyPressEscapeDirective {
10
10
  }
11
11
  }
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoKeyPressEscapeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoKeyPressEscapeDirective, isStandalone: true, selector: "[appChoKeyPressEscape]", outputs: { emitter: "appKeyPressEscape" }, host: { listeners: { "window:keydown": "keyEvent($event)" } }, ngImport: i0 }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoKeyPressEscapeDirective, isStandalone: true, selector: "[choKeyPressEscape]", outputs: { emitter: "appKeyPressEscape" }, host: { listeners: { "window:keydown": "keyEvent($event)" } }, ngImport: i0 }); }
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoKeyPressEscapeDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
- selector: '[appChoKeyPressEscape]',
18
+ selector: '[choKeyPressEscape]',
19
19
  standalone: true,
20
20
  }]
21
21
  }], propDecorators: { emitter: [{
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
25
25
  type: HostListener,
26
26
  args: ['window:keydown', ['$event']]
27
27
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWtleS1wcmVzcy1lc2NhcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2Noby1rZXktcHJlc3MtZXNjYXBlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU05RSxNQUFNLE9BQU8sMEJBQTBCO0lBSnZDO1FBS2lDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBUTdEO0lBTEcsUUFBUSxDQUFDLEtBQW9CO1FBQ3pCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDOytHQVJRLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFFZ0MsT0FBTztzQkFBbkMsTUFBTTt1QkFBQyxtQkFBbUI7Z0JBRzNCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1thcHBDaG9LZXlQcmVzc0VzY2FwZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENob0tleVByZXNzRXNjYXBlRGlyZWN0aXZlIHtcbiAgICBAT3V0cHV0KCdhcHBLZXlQcmVzc0VzY2FwZScpIGVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAga2V5RXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdHRlci5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvLWtleS1wcmVzcy1lc2NhcGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNoby1jb21tb24vc3JjL2xpYi9kaXJlY3RpdmVzL2Noby1rZXktcHJlc3MtZXNjYXBlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU05RSxNQUFNLE9BQU8sMEJBQTBCO0lBSnZDO1FBS2lDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBUTdEO0lBTEcsUUFBUSxDQUFDLEtBQW9CO1FBQ3pCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDOytHQVJRLDBCQUEwQjttR0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFFZ0MsT0FBTztzQkFBbkMsTUFBTTt1QkFBQyxtQkFBbUI7Z0JBRzNCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjaG9LZXlQcmVzc0VzY2FwZV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENob0tleVByZXNzRXNjYXBlRGlyZWN0aXZlIHtcbiAgICBAT3V0cHV0KCdhcHBLZXlQcmVzc0VzY2FwZScpIGVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAga2V5RXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdHRlci5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -22,12 +22,12 @@ class ChoAutoFocusDirective {
22
22
  this.elementRef.nativeElement.focus();
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAutoFocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
25
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoAutoFocusDirective, isStandalone: true, selector: "[appChoAutoFocus]", ngImport: i0 }); }
25
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoAutoFocusDirective, isStandalone: true, selector: "[choAutoFocus]", ngImport: i0 }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoAutoFocusDirective, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
- selector: '[appChoAutoFocus]',
30
+ selector: '[choAutoFocus]',
31
31
  standalone: true,
32
32
  }]
33
33
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
@@ -57,12 +57,12 @@ class ChoFormFocusDirective {
57
57
  }
58
58
  }
59
59
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFormFocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
60
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoFormFocusDirective, isStandalone: true, selector: "[appChoFormFocus]", host: { listeners: { "submit": "submit()" } }, ngImport: i0 }); }
60
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoFormFocusDirective, isStandalone: true, selector: "[choFormFocus]", host: { listeners: { "submit": "submit()" } }, ngImport: i0 }); }
61
61
  }
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoFormFocusDirective, decorators: [{
63
63
  type: Directive,
64
64
  args: [{
65
- selector: '[appChoFormFocus]',
65
+ selector: '[choFormFocus]',
66
66
  standalone: true,
67
67
  }]
68
68
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { submit: [{
@@ -80,12 +80,12 @@ class ChoKeyPressEnterDirective {
80
80
  }
81
81
  }
82
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoKeyPressEnterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoKeyPressEnterDirective, isStandalone: true, selector: "[appChoKeyPressEnter]", outputs: { emitter: "appKeyPressEnter" }, host: { listeners: { "window:keypress": "keyEvent($event)" } }, ngImport: i0 }); }
83
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoKeyPressEnterDirective, isStandalone: true, selector: "[choKeyPressEnter]", outputs: { emitter: "appKeyPressEnter" }, host: { listeners: { "window:keypress": "keyEvent($event)" } }, ngImport: i0 }); }
84
84
  }
85
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoKeyPressEnterDirective, decorators: [{
86
86
  type: Directive,
87
87
  args: [{
88
- selector: '[appChoKeyPressEnter]',
88
+ selector: '[choKeyPressEnter]',
89
89
  standalone: true,
90
90
  }]
91
91
  }], propDecorators: { emitter: [{
@@ -106,12 +106,12 @@ class ChoKeyPressEscapeDirective {
106
106
  }
107
107
  }
108
108
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoKeyPressEscapeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoKeyPressEscapeDirective, isStandalone: true, selector: "[appChoKeyPressEscape]", outputs: { emitter: "appKeyPressEscape" }, host: { listeners: { "window:keydown": "keyEvent($event)" } }, ngImport: i0 }); }
109
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ChoKeyPressEscapeDirective, isStandalone: true, selector: "[choKeyPressEscape]", outputs: { emitter: "appKeyPressEscape" }, host: { listeners: { "window:keydown": "keyEvent($event)" } }, ngImport: i0 }); }
110
110
  }
111
111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChoKeyPressEscapeDirective, decorators: [{
112
112
  type: Directive,
113
113
  args: [{
114
- selector: '[appChoKeyPressEscape]',
114
+ selector: '[choKeyPressEscape]',
115
115
  standalone: true,
116
116
  }]
117
117
  }], propDecorators: { emitter: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-cho-common.mjs","sources":["../../../projects/ngx-cho-common/src/ngx-cho-common.config.ts","../../../projects/ngx-cho-common/src/lib/directives/cho-auto-focus.directive.ts","../../../projects/ngx-cho-common/src/lib/directives/cho-form-focus.directive.ts","../../../projects/ngx-cho-common/src/lib/directives/cho-key-press-enter.directive.ts","../../../projects/ngx-cho-common/src/lib/directives/cho-key-press-escape.directive.ts","../../../projects/ngx-cho-common/src/lib/services/cho-rest-client.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-feature.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-navigation.service.ts","../../../projects/ngx-cho-common/src/lib/guards/cho-feature.guard.ts","../../../projects/ngx-cho-common/src/lib/guards/cho-unsaved-changes.guard.ts","../../../projects/ngx-cho-common/src/lib/models/uuid.model.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-active-filter.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-boolean.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-date.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-filter.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-format-key.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-lower-kebab-case.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-sum-by.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-text-filter.pipe.ts","../../../projects/ngx-cho-common/src/lib/services/cho-date.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-download.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-interval.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-local-storage.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-modal.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-object.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-route-param.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-session-storage.service.ts","../../../projects/ngx-cho-common/src/public-api.ts","../../../projects/ngx-cho-common/src/ngx-cho-common.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface ChoCommonConfig {\n webAppUrl: string;\n webApiUrl: string;\n}\n\nexport const CHO_COMMON_CONFIG = new InjectionToken<ChoCommonConfig>('ChoCommonConfig');\n","// from https://stackblitz.com/edit/angular-inline-edit?file=src%2Fapp%2Fautofocus.directive.ts\nimport { Directive, ElementRef, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[appChoAutoFocus]',\n standalone: true,\n})\nexport class ChoAutoFocusDirective implements OnInit {\n constructor(private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.focus();\n }\n}\n","// from https://timdeschryver.dev/blog/auto-focus-a-form-control-with-an-angular-directive\nimport { Directive, ElementRef, HostListener, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[appChoFormFocus]',\n standalone: true,\n})\nexport class ChoFormFocusDirective implements AfterViewInit {\n focusables = ['input', 'select', 'textarea'];\n\n constructor(private element: ElementRef) {}\n\n ngAfterViewInit() {\n const input = this.element.nativeElement.querySelector(this.focusables.join(','));\n\n if (input) {\n input.focus();\n return;\n }\n\n // focus on first available button if no other focusable element\n const button = this.element.nativeElement.querySelector('button');\n if (button) {\n button.focus();\n }\n }\n\n @HostListener('submit')\n submit() {\n const input = this.element.nativeElement.querySelector(\n this.focusables.map(x => `${x}.ng-invalid`).join(',')\n );\n if (input) {\n input.focus();\n }\n }\n}\n","import { Directive, HostListener, Output, EventEmitter } from '@angular/core';\n\n@Directive({\n selector: '[appChoKeyPressEnter]',\n standalone: true,\n})\nexport class ChoKeyPressEnterDirective {\n @Output('appKeyPressEnter') emitter = new EventEmitter();\n\n @HostListener('window:keypress', ['$event'])\n keyEvent(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n this.emitter.emit();\n }\n }\n}\n","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[appChoKeyPressEscape]',\n standalone: true,\n})\nexport class ChoKeyPressEscapeDirective {\n @Output('appKeyPressEscape') emitter = new EventEmitter();\n\n @HostListener('window:keydown', ['$event'])\n keyEvent(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.emitter.emit();\n }\n }\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, Observable, retry, RetryConfig, take } from 'rxjs';\n\ntype RequestParameters = {\n body?: unknown;\n queryParameters?: {};\n apiVersion?: {};\n headers?: {};\n cacheLifetimeSeconds?: number;\n retry?: RetryConfig;\n showSpinner?: {};\n};\n\ntype DeleteRequestParameters = Omit<RequestParameters, 'body' | 'cacheLifetimeSeconds'>;\ntype GetRequestParameters = Omit<RequestParameters, 'body'>;\n\n@Injectable({ providedIn: 'any' })\nexport class ChoRestClientService {\n private readonly defaultRetry = { count: 0, delay: 1000 };\n\n constructor(private readonly httpClient: HttpClient) {}\n\n /**\n * Sends a delete request to the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public delete(url: string, options?: DeleteRequestParameters): Promise<void> {\n return lastValueFrom(this.request('DELETE', url, options));\n }\n\n /**\n * Retrieves data from the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public get<T>(url: string, options?: GetRequestParameters): Promise<T> {\n return lastValueFrom(this.request('GET', url, options));\n }\n\n /**\n * Sends a patch request to the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public patch<T>(url: string, options?: RequestParameters): Promise<T> {\n return lastValueFrom(this.request('PATCH', url, options));\n }\n\n /**\n * Sends a post request to the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public post<T>(url: string, options?: RequestParameters): Promise<T> {\n return lastValueFrom(this.request('POST', url, options));\n }\n\n /**\n * Sends a put request to the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public put<T>(url: string, options?: RequestParameters): Promise<T> {\n return lastValueFrom(this.request('PUT', url, options));\n }\n\n /**\n * Sends a request to the specified REST service\n *\n * @param method DELETE, GET, POST, PUT, or PATCH\n * @param url The service endpoint\n * @param options Additional options\n */\n public request<T>(\n method: 'DELETE',\n url: string,\n options?: DeleteRequestParameters\n ): Observable<T>;\n public request<T>(method: 'GET', url: string, options?: GetRequestParameters): Observable<T>;\n public request<T>(\n method: 'POST' | 'PUT' | 'PATCH',\n url: string,\n options?: RequestParameters\n ): Observable<T>;\n\n public request<T>(\n method: 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT',\n url: string,\n options?: RequestParameters\n ): Observable<T> {\n return this.httpClient\n .request<T>(method, url, {\n body: options?.body ? JSON.stringify(options.body) : undefined,\n headers: this.createRequestHeaders(options),\n params: this.createRequestParams(options?.queryParameters),\n })\n .pipe(take(1), retry(options?.retry || this.defaultRetry));\n }\n\n /**\n *\n * @param url\n * @param options\n * @returns\n */\n public getResponse<T>(\n method: 'GET' | 'PATCH' | 'POST' | 'PUT',\n url: string,\n options?: RequestParameters\n ): Observable<HttpResponse<T>> {\n return this.httpClient\n .request<T>(method, url, {\n observe: 'response',\n body: options?.body ? JSON.stringify(options.body) : undefined,\n headers: this.createRequestHeaders(options),\n params: this.createRequestParams(options?.queryParameters),\n })\n .pipe(take(1), retry(options?.retry || this.defaultRetry));\n }\n\n /**\n * Creates request headers based on the provided options.\n *\n * @param options\n * @returns\n */\n private createRequestHeaders(options?: RequestParameters): HttpHeaders {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const headers: any = Object.assign(\n {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n options?.headers\n );\n\n if (options?.apiVersion) {\n const versionString = `; version=${options.apiVersion}`;\n\n headers.Accept += versionString;\n headers['Content-Type'] += versionString;\n }\n\n if (options?.showSpinner === false) {\n headers['x-spinner'] = 'false';\n }\n\n if (options?.cacheLifetimeSeconds) {\n headers['x-cache-ttl'] = options?.cacheLifetimeSeconds;\n }\n\n return new HttpHeaders(headers);\n }\n\n /**\n * Converts one or more objects to an HttpParams object.\n *\n * @param sources The objects to convert\n * @returns\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private createRequestParams(...sources: any[]): HttpParams {\n let params = new HttpParams();\n\n for (const source of sources) {\n if (source == null) {\n continue;\n }\n\n for (const key of Object.keys(source)) {\n const value = source[key];\n\n if (value != null) {\n params = params.set(key, value.toString());\n }\n }\n }\n\n return params;\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ChoRestClientService } from './cho-rest-client.service';\nimport { CHO_COMMON_CONFIG, ChoCommonConfig } from '../../ngx-cho-common.config';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoFeatureService {\n public readonly featureStream = new BehaviorSubject<string[]>([]);\n\n private _enabledFeatures: string[] = [];\n private _isInitialized = false;\n private readonly routePrefix;\n\n constructor(\n @Inject(CHO_COMMON_CONFIG) private choCommonConfig: ChoCommonConfig,\n private readonly restClient: ChoRestClientService\n ) {\n this.routePrefix = `${this.choCommonConfig.webApiUrl}/common/features`;\n this.checkEnabledFeatures();\n }\n\n /**\n * Gets the enabled features.\n */\n get enabledFeatures(): string[] {\n return this._enabledFeatures;\n }\n\n /**\n * Sets the enabled features.\n */\n private set enabledFeatures(enabledFeatures: string[]) {\n this._enabledFeatures = enabledFeatures;\n this._isInitialized = true;\n\n this.featureStream.next(enabledFeatures);\n }\n\n /**\n * Gets whether features have been initialized\n */\n get isInitialized(): boolean {\n return this._isInitialized;\n }\n\n /**\n * Checks that the enabled features are set and returns the list.\n *\n * @param name\n * @returns\n */\n async checkEnabledFeatures(): Promise<string[]> {\n if (!this.isInitialized) {\n this.enabledFeatures = await this.restClient.get(`${this.routePrefix}/enabled`);\n }\n\n return this.enabledFeatures;\n }\n\n /**\n * Checks that the specified feature is enabled.\n *\n * @param name\n * @returns\n */\n checkFeatureIsEnabled(name: string): boolean {\n return this._enabledFeatures?.some(p => p === name);\n }\n}\n","// from https://nils-mehlhorn.de/posts/angular-navigate-back-previous-page\nimport { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { NavigationEnd, Params, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChoNavigationService {\n private history: string[] = [];\n\n constructor(private router: Router, private location: Location) {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.history.push(event.urlAfterRedirects);\n }\n });\n }\n\n public goBack(): void {\n this.goBackOrDefault('/');\n }\n\n public goBackOrDefault(defaultUrl: string): void {\n if (this.history.length > 0) {\n this.history.pop();\n this.location.back();\n } else {\n this.router.navigateByUrl(defaultUrl);\n }\n }\n\n public setQueryParams(params: Params): void {\n this.router.navigate([], {\n queryParams: params,\n queryParamsHandling: 'merge',\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nimport { ToastrService } from 'ngx-toastr';\nimport { ChoFeatureService } from '../services/cho-feature.service';\nimport { ChoNavigationService } from '../services/cho-navigation.service';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoFeatureGuard {\n constructor(\n private readonly featureService: ChoFeatureService,\n private readonly navigationService: ChoNavigationService,\n private readonly toastr: ToastrService\n ) {}\n\n public async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {\n const routeFeature = route.data['feature'] as string;\n\n if (!routeFeature) {\n return true;\n }\n\n await this.featureService.checkEnabledFeatures();\n\n if (!this.featureService.checkFeatureIsEnabled(routeFeature)) {\n this.toastr.error(\"Oops! It doesn't look like this feature has been enabled.\");\n\n this.navigationService.goBack();\n\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IDeactivatable } from '../models/deactivatable.interface';\n\n@Injectable()\nexport class ChoUnsavedChangesGuard {\n component: IDeactivatable | undefined;\n route: ActivatedRouteSnapshot | undefined;\n\n canDeactivate(component: IDeactivatable): Observable<boolean> | Promise<boolean> | boolean {\n return component.onDeactivate ? component.onDeactivate() : true;\n }\n}\n","export class Uuid {\n public static create(): string {\n const bytes = crypto.getRandomValues(new Uint8Array(16));\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n\n let index = 0;\n\n return (\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n '-' +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n '-' +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n '-' +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n '-' +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++])\n );\n }\n\n private static toHex(byte: number): string {\n return (0x100 | byte).toString(16).substr(1);\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choActiveFilter',\n standalone: true,\n})\nexport class ChoActiveFilterPipe implements PipeTransform {\n transform(value: any[], property?: string): any[] {\n if (value?.length === 0) {\n return value;\n }\n\n const filteredItems: any[] = [];\n\n for (const item of value) {\n if (item[property || 'isActive']) {\n filteredItems.push(item);\n }\n }\n\n return filteredItems;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choBoolean',\n standalone: true,\n})\nexport class ChoBooleanPipe implements PipeTransform {\n transform(value: unknown): unknown {\n return value ? 'Yes' : 'No';\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choDate',\n standalone: true,\n})\nexport class ChoDatePipe implements PipeTransform {\n constructor(public datePipe: DatePipe) {}\n transform(\n value: Date | string | number,\n format?: string,\n timezone?: string,\n locale?: string\n ): string | null {\n switch (format) {\n case 'short':\n format = 'MM/dd/yyyy, hh:mm a';\n break;\n\n case 'shortDate':\n format = 'MM/dd/yyyy';\n break;\n }\n\n return this.datePipe.transform(value, format, timezone, locale);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choFilter',\n standalone: true,\n})\nexport class ChoFilterPipe implements PipeTransform {\n transform(items: any[], callback: (item: any) => boolean): any {\n if (!items || !callback) {\n return items;\n }\n return items.filter(item => callback(item));\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choFormatKey',\n standalone: true,\n})\nexport class ChoFormatKeyPipe implements PipeTransform {\n transform(key: string): string {\n let result = '';\n const tokenized = key.split(/(?=[A-Z])/);\n\n tokenized.forEach(item => {\n const uppercase = item.charAt(0).toUpperCase() + item.slice(1);\n result += uppercase + ' ';\n });\n\n return result;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choLowerKebabCase',\n standalone: true,\n})\nexport class ChoLowerKebabCasePipe implements PipeTransform {\n transform(value: string): string {\n //take string and convert to lower kebab case\n return value\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/\\s+/g, '-')\n .toLowerCase();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choSumBy',\n standalone: true,\n})\nexport class ChoSumByPipe implements PipeTransform {\n transform(items: any[], attr: string): any {\n return items.reduce((a, b) => a + (b[attr] || 0), 0);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choTextFilter',\n standalone: true,\n})\nexport class ChoTextFilterPipe implements PipeTransform {\n transform(value: any[], filterString: string | null | undefined, properties: string[]): any[] {\n if (value?.length === 0 || !filterString || !properties?.length) {\n return value;\n }\n\n const filteredItems: any[] = [];\n filterString = filterString.toLowerCase();\n\n for (const item of value) {\n for (const property of properties) {\n if (item[property] && item[property].toLowerCase().includes(filterString)) {\n filteredItems.push(item);\n break;\n }\n }\n }\n\n return filteredItems;\n }\n}\n","import { Injectable } from '@angular/core';\nimport moment from 'moment';\n\nimport { NameValueItem } from '../types/name-value-item.type';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoDateService {\n public getMonthItems(startMonth = 1, endMonth = 12): NameValueItem<number>[] {\n const items: NameValueItem<number>[] = [];\n const d = moment().startOf('year');\n let i = startMonth;\n\n while (i <= endMonth) {\n d.set('month', i - 1);\n items.push({ value: i, name: d.format('MMMM') });\n i++;\n }\n\n return items;\n }\n\n public getYearItems(startYear?: number, endYear?: number): NameValueItem<number>[] {\n startYear = startYear || moment().year();\n endYear = endYear || moment().year();\n\n const items: NameValueItem<number>[] = [];\n let i = startYear;\n\n while (i <= endYear) {\n items.push({ value: i, name: i.toString() });\n i++;\n }\n\n return items;\n }\n\n public toDateString(input: moment.MomentInput): string {\n return moment(input).format('yyyy-MM-DD');\n }\n\n public toISOString(input: moment.MomentInput): string {\n return moment(input).toISOString();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Observable, shareReplay } from 'rxjs';\nimport { saveAs } from 'file-saver';\n\n@Injectable({ providedIn: 'any' })\nexport class ChoDownloadService {\n constructor(private httpClient: HttpClient) {}\n\n private octetStreamMime = 'application/octet-stream';\n\n public downloadFile(url: string, params?: HttpParams): Observable<HttpResponse<ArrayBuffer>> {\n const download$ = this.httpClient\n .get(url, {\n responseType: 'arraybuffer',\n observe: 'response',\n params: params,\n })\n .pipe(shareReplay());\n\n download$.subscribe(r => this.processDownload(r));\n\n return download$;\n }\n\n private processDownload(response: HttpResponse<ArrayBuffer>): void {\n const filename = this.getFileNameFromResponse(response);\n const contentType = response.headers.get('content-type') || this.octetStreamMime;\n\n if (response.body) {\n const blob = new Blob([response.body], { type: contentType });\n saveAs(blob, filename);\n }\n }\n\n private getFileNameFromResponse(response: HttpResponse<ArrayBuffer>): string {\n // attempt to get from response headers\n let fileName = response.headers.get('x-filename') || response.headers.get('filename');\n\n if (!fileName) {\n // attempt to get from content disposition\n const disposition = response.headers.get('content-disposition');\n\n if (disposition) {\n fileName = disposition.split(';')[1].split('=')[1].replace(/\"/g, '');\n }\n }\n\n return fileName || 'download.bin';\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport type IntervalOptions = {\n fireImmediately: FireImmediately;\n blurInterval?: number;\n hiddenInterval?: number;\n};\n\ntype Action = () => Promise<unknown>;\n\nexport enum FireImmediately {\n never,\n whenShown,\n whenFocused,\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ChoIntervalService {\n static readonly defaultOptions: IntervalOptions = { fireImmediately: FireImmediately.never };\n\n create(\n action: Action,\n interval: number,\n options: IntervalOptions = ChoIntervalService.defaultOptions\n ): IntervalTimer {\n const timer = new IntervalTimer(action, interval, options);\n timer.initialize();\n\n return timer;\n }\n}\n\nexport class IntervalTimer {\n $handle?: number;\n currentInterval = 0;\n isStopped = true;\n\n constructor(\n private readonly action: Action,\n private readonly interval: number,\n private readonly options: IntervalOptions\n ) {}\n\n initialize(): void {\n if (this.options.hiddenInterval != null) {\n document.addEventListener('visibilitychange', () => {\n if (document.hidden) {\n this.onHidden();\n } else {\n this.onShown();\n }\n });\n }\n\n if (this.options.blurInterval != null) {\n window.addEventListener('blur', () => this.onBlur());\n window.addEventListener('focus', () => this.onFocus());\n }\n }\n\n start(): void {\n if (this.isStopped) {\n if (!document.hidden) {\n this.isStopped = false;\n this.onShown();\n } else {\n this.setInterval(this.interval);\n this.isStopped = false;\n }\n }\n }\n\n stop(): void {\n this.setInterval(0);\n this.isStopped = true;\n }\n\n private async callActionAndScheduleNext(nextInterval: number): Promise<void> {\n this.setInterval(0); // pause while the action runs\n await this.action();\n this.setInterval(nextInterval);\n }\n\n private onBlur(): void {\n if (this.isStopped) {\n return;\n }\n\n this.setInterval(this.options?.blurInterval);\n }\n\n private onFocus(): void {\n if (this.isStopped) {\n return;\n }\n\n if (this.options?.fireImmediately === FireImmediately.whenFocused) {\n this.callActionAndScheduleNext(this.interval);\n return;\n }\n\n this.setInterval(this.interval);\n }\n\n private onHidden(): void {\n if (this.isStopped) {\n return;\n }\n\n this.setInterval(this.options?.hiddenInterval);\n }\n\n private onShown(): void {\n if (this.isStopped) {\n return;\n }\n\n if (this.options.fireImmediately === FireImmediately.whenShown) {\n this.callActionAndScheduleNext(this.interval);\n return;\n }\n\n this.setInterval(this.interval);\n }\n\n private setInterval(interval?: number): void {\n if (this.$handle) {\n if (interval === this.currentInterval) {\n return;\n }\n\n window.clearTimeout(this.$handle);\n this.$handle = undefined;\n }\n\n if (!interval) {\n return;\n }\n\n this.$handle = window.setTimeout(() => this.callActionAndScheduleNext(interval), interval);\n this.currentInterval = interval;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoLocalStorageService {\n checkIfKeyExists(key: string): boolean {\n return globalThis.localStorage.getItem(key) !== null;\n }\n\n getItem<T>(key: string): T | undefined {\n const valueString = globalThis.localStorage.getItem(key);\n\n if (valueString === null) {\n return undefined;\n }\n\n const value = JSON.parse(valueString);\n return value;\n }\n\n setItem<T>(key: string, value: T): void {\n const valueString = JSON.stringify(value);\n globalThis.localStorage.setItem(key, valueString);\n }\n\n removeItem(key: string): void {\n globalThis.localStorage.removeItem(key);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChoModalService {\n constructor(private readonly ngbModal: NgbModal) {}\n\n public async showModal<T>(\n component: unknown,\n componentParameters?: unknown,\n modalOptions: NgbModalOptions = { backdrop: 'static' }\n ): Promise<{ result: T; componentInstance: unknown }> {\n const modal = this.ngbModal.open(component, modalOptions);\n const componentInstance = modal.componentInstance;\n\n Object.assign(componentInstance, componentParameters);\n\n let result: T;\n\n try {\n result = await modal.result;\n } catch (error) {\n result = null as unknown as T;\n if (error === undefined) {\n throw 'modal dismiss';\n }\n throw error;\n }\n\n return { result, componentInstance };\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChoObjectService {\n public toValueObject(obj: object): object {\n const result = Object.getOwnPropertyNames(obj).reduce((p, key) => {\n if (obj[key]) {\n p[key] = obj[key];\n }\n return p;\n }, new Object());\n\n return result;\n }\n\n /**\n * Convert Object to HttpParams\n * @param {object} obj\n * @returns {HttpParams}\n * see: https://stackoverflow.com/questions/45210406/angular-4-3-httpclient-set-params\n */\n public toHttpParams(obj: object): HttpParams {\n const temp = Object.getOwnPropertyNames(obj).reduce(\n (p, key) => (obj[key] == null || obj[key].length === 0 ? p : p.set(key, obj[key])),\n new HttpParams()\n );\n\n return temp;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChoRouteParamService {\n constructor(private readonly route: ActivatedRoute) {}\n\n public getParameterBoolean(params: Params, paramKey: string): boolean | null {\n const value = this.getParameterValue(params, paramKey);\n\n if (value) {\n return !!value;\n }\n\n return null;\n }\n\n public getParameterNumber(params: Params, paramKey: string): number | null {\n const value = this.getParameterValue(params, paramKey);\n\n if (value) {\n return parseInt(value);\n }\n\n return null;\n }\n\n public getParameterValue(params: Params, paramKey: string): string | null {\n const value = params[paramKey];\n return value || null;\n }\n\n public getQueryParameterBoolean(paramKey: string): boolean | null {\n return this.getParameterBoolean(this.route.snapshot.queryParams, paramKey);\n }\n\n public getQueryParameterNumber(paramKey: string): number | null {\n return this.getParameterNumber(this.route.snapshot.queryParams, paramKey);\n }\n\n public getQueryParameterValue(paramKey: string): string | null {\n return this.getParameterValue(this.route.snapshot.queryParams, paramKey);\n }\n\n public getRouteParameterBoolean(route: ActivatedRoute, paramKey: string): boolean | null {\n return this.getParameterBoolean(route.snapshot.params, paramKey);\n }\n\n public getRouteParameterNumber(route: ActivatedRoute, paramKey: string): number | null {\n return this.getParameterNumber(route.snapshot.params, paramKey);\n }\n\n public getRouteParameterValue(route: ActivatedRoute, paramKey: string): string | null {\n return this.getParameterValue(route.snapshot.params, paramKey);\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoSessionStorageService {\n checkIfKeyExists(key: string): boolean {\n return globalThis.sessionStorage.getItem(key) !== null;\n }\n\n getItem<T>(key: string): T | undefined {\n const valueString = globalThis.sessionStorage.getItem(key);\n\n if (valueString === null) {\n return undefined;\n }\n\n const value = JSON.parse(valueString);\n return value;\n }\n\n setItem<T>(key: string, value: T): void {\n const valueString = JSON.stringify(value);\n globalThis.sessionStorage.setItem(key, valueString);\n }\n\n removeItem(key: string): void {\n globalThis.sessionStorage.removeItem(key);\n }\n}\n","/*\n * Public API Surface of ngx-cho-common\n */\nexport { CHO_COMMON_CONFIG, ChoCommonConfig } from './ngx-cho-common.config';\n\nexport { ChoAutoFocusDirective } from './lib/directives/cho-auto-focus.directive';\nexport { ChoFormFocusDirective } from './lib/directives/cho-form-focus.directive';\nexport { ChoKeyPressEnterDirective } from './lib/directives/cho-key-press-enter.directive';\nexport { ChoKeyPressEscapeDirective } from './lib/directives/cho-key-press-escape.directive';\n\nexport { ChoFeatureGuard } from './lib/guards/cho-feature.guard';\nexport { ChoUnsavedChangesGuard } from './lib/guards/cho-unsaved-changes.guard';\n\nexport { IDeactivatable } from './lib/models/deactivatable.interface';\n\nexport { IPhoneInfo } from './lib/models/phone-info.model';\nexport { INoteInfo } from './lib/models/note-info.model';\nexport { IEmailInfo } from './lib/models/email-info.model';\nexport { IContactInfo } from './lib/models/contact-info.model';\nexport { BasicSearchFilter } from './lib/models/basic-search-filter.model';\nexport { AppFile } from './lib/models/app-file.model';\nexport { IAddress } from './lib/models/address.model';\nexport { INote } from './lib/models/note.model';\nexport { Uuid } from './lib/models/uuid.model';\n\nexport { ChoActiveFilterPipe } from './lib/pipes/cho-active-filter.pipe';\nexport { ChoBooleanPipe } from './lib/pipes/cho-boolean.pipe';\nexport { ChoDatePipe } from './lib/pipes/cho-date.pipe';\nexport { ChoFilterPipe } from './lib/pipes/cho-filter.pipe';\nexport { ChoFormatKeyPipe } from './lib/pipes/cho-format-key.pipe';\nexport { ChoLowerKebabCasePipe } from './lib/pipes/cho-lower-kebab-case.pipe';\nexport { ChoSumByPipe } from './lib/pipes/cho-sum-by.pipe';\nexport { ChoTextFilterPipe } from './lib/pipes/cho-text-filter.pipe';\n\nexport { ChoDateService } from './lib/services/cho-date.service';\nexport { ChoDownloadService } from './lib/services/cho-download.service';\nexport { ChoFeatureService } from './lib/services/cho-feature.service';\nexport {\n ChoIntervalService,\n IntervalTimer,\n FireImmediately,\n} from './lib/services/cho-interval.service';\nexport { ChoLocalStorageService } from './lib/services/cho-local-storage.service';\nexport { ChoModalService } from './lib/services/cho-modal.service';\nexport { ChoNavigationService } from './lib/services/cho-navigation.service';\nexport { ChoObjectService } from './lib/services/cho-object.service';\nexport { ChoRestClientService } from './lib/services/cho-rest-client.service';\nexport { ChoRouteParamService } from './lib/services/cho-route-param.service';\nexport { ChoSessionStorageService } from './lib/services/cho-session-storage.service';\n\nexport { Indexable } from './lib/types/indexable.type';\nexport { NameValueItem } from './lib/types/name-value-item.type';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ChoRestClientService","i1","i1.ChoFeatureService","i2.ChoNavigationService"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-cho-common.mjs","sources":["../../../projects/ngx-cho-common/src/ngx-cho-common.config.ts","../../../projects/ngx-cho-common/src/lib/directives/cho-auto-focus.directive.ts","../../../projects/ngx-cho-common/src/lib/directives/cho-form-focus.directive.ts","../../../projects/ngx-cho-common/src/lib/directives/cho-key-press-enter.directive.ts","../../../projects/ngx-cho-common/src/lib/directives/cho-key-press-escape.directive.ts","../../../projects/ngx-cho-common/src/lib/services/cho-rest-client.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-feature.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-navigation.service.ts","../../../projects/ngx-cho-common/src/lib/guards/cho-feature.guard.ts","../../../projects/ngx-cho-common/src/lib/guards/cho-unsaved-changes.guard.ts","../../../projects/ngx-cho-common/src/lib/models/uuid.model.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-active-filter.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-boolean.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-date.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-filter.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-format-key.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-lower-kebab-case.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-sum-by.pipe.ts","../../../projects/ngx-cho-common/src/lib/pipes/cho-text-filter.pipe.ts","../../../projects/ngx-cho-common/src/lib/services/cho-date.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-download.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-interval.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-local-storage.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-modal.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-object.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-route-param.service.ts","../../../projects/ngx-cho-common/src/lib/services/cho-session-storage.service.ts","../../../projects/ngx-cho-common/src/public-api.ts","../../../projects/ngx-cho-common/src/ngx-cho-common.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface ChoCommonConfig {\n webAppUrl: string;\n webApiUrl: string;\n}\n\nexport const CHO_COMMON_CONFIG = new InjectionToken<ChoCommonConfig>('ChoCommonConfig');\n","// from https://stackblitz.com/edit/angular-inline-edit?file=src%2Fapp%2Fautofocus.directive.ts\nimport { Directive, ElementRef, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[choAutoFocus]',\n standalone: true,\n})\nexport class ChoAutoFocusDirective implements OnInit {\n constructor(private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.focus();\n }\n}\n","// from https://timdeschryver.dev/blog/auto-focus-a-form-control-with-an-angular-directive\nimport { Directive, ElementRef, HostListener, AfterViewInit } from '@angular/core';\n\n@Directive({\n selector: '[choFormFocus]',\n standalone: true,\n})\nexport class ChoFormFocusDirective implements AfterViewInit {\n focusables = ['input', 'select', 'textarea'];\n\n constructor(private element: ElementRef) {}\n\n ngAfterViewInit() {\n const input = this.element.nativeElement.querySelector(this.focusables.join(','));\n\n if (input) {\n input.focus();\n return;\n }\n\n // focus on first available button if no other focusable element\n const button = this.element.nativeElement.querySelector('button');\n if (button) {\n button.focus();\n }\n }\n\n @HostListener('submit')\n submit() {\n const input = this.element.nativeElement.querySelector(\n this.focusables.map(x => `${x}.ng-invalid`).join(',')\n );\n if (input) {\n input.focus();\n }\n }\n}\n","import { Directive, HostListener, Output, EventEmitter } from '@angular/core';\n\n@Directive({\n selector: '[choKeyPressEnter]',\n standalone: true,\n})\nexport class ChoKeyPressEnterDirective {\n @Output('appKeyPressEnter') emitter = new EventEmitter();\n\n @HostListener('window:keypress', ['$event'])\n keyEvent(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n this.emitter.emit();\n }\n }\n}\n","import { Directive, EventEmitter, HostListener, Output } from '@angular/core';\n\n@Directive({\n selector: '[choKeyPressEscape]',\n standalone: true,\n})\nexport class ChoKeyPressEscapeDirective {\n @Output('appKeyPressEscape') emitter = new EventEmitter();\n\n @HostListener('window:keydown', ['$event'])\n keyEvent(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.emitter.emit();\n }\n }\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport { HttpClient, HttpHeaders, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { lastValueFrom, Observable, retry, RetryConfig, take } from 'rxjs';\n\ntype RequestParameters = {\n body?: unknown;\n queryParameters?: {};\n apiVersion?: {};\n headers?: {};\n cacheLifetimeSeconds?: number;\n retry?: RetryConfig;\n showSpinner?: {};\n};\n\ntype DeleteRequestParameters = Omit<RequestParameters, 'body' | 'cacheLifetimeSeconds'>;\ntype GetRequestParameters = Omit<RequestParameters, 'body'>;\n\n@Injectable({ providedIn: 'any' })\nexport class ChoRestClientService {\n private readonly defaultRetry = { count: 0, delay: 1000 };\n\n constructor(private readonly httpClient: HttpClient) {}\n\n /**\n * Sends a delete request to the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public delete(url: string, options?: DeleteRequestParameters): Promise<void> {\n return lastValueFrom(this.request('DELETE', url, options));\n }\n\n /**\n * Retrieves data from the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public get<T>(url: string, options?: GetRequestParameters): Promise<T> {\n return lastValueFrom(this.request('GET', url, options));\n }\n\n /**\n * Sends a patch request to the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public patch<T>(url: string, options?: RequestParameters): Promise<T> {\n return lastValueFrom(this.request('PATCH', url, options));\n }\n\n /**\n * Sends a post request to the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public post<T>(url: string, options?: RequestParameters): Promise<T> {\n return lastValueFrom(this.request('POST', url, options));\n }\n\n /**\n * Sends a put request to the specified REST service\n *\n * @param url The service endpoint\n * @param options Additional options\n */\n public put<T>(url: string, options?: RequestParameters): Promise<T> {\n return lastValueFrom(this.request('PUT', url, options));\n }\n\n /**\n * Sends a request to the specified REST service\n *\n * @param method DELETE, GET, POST, PUT, or PATCH\n * @param url The service endpoint\n * @param options Additional options\n */\n public request<T>(\n method: 'DELETE',\n url: string,\n options?: DeleteRequestParameters\n ): Observable<T>;\n public request<T>(method: 'GET', url: string, options?: GetRequestParameters): Observable<T>;\n public request<T>(\n method: 'POST' | 'PUT' | 'PATCH',\n url: string,\n options?: RequestParameters\n ): Observable<T>;\n\n public request<T>(\n method: 'DELETE' | 'GET' | 'PATCH' | 'POST' | 'PUT',\n url: string,\n options?: RequestParameters\n ): Observable<T> {\n return this.httpClient\n .request<T>(method, url, {\n body: options?.body ? JSON.stringify(options.body) : undefined,\n headers: this.createRequestHeaders(options),\n params: this.createRequestParams(options?.queryParameters),\n })\n .pipe(take(1), retry(options?.retry || this.defaultRetry));\n }\n\n /**\n *\n * @param url\n * @param options\n * @returns\n */\n public getResponse<T>(\n method: 'GET' | 'PATCH' | 'POST' | 'PUT',\n url: string,\n options?: RequestParameters\n ): Observable<HttpResponse<T>> {\n return this.httpClient\n .request<T>(method, url, {\n observe: 'response',\n body: options?.body ? JSON.stringify(options.body) : undefined,\n headers: this.createRequestHeaders(options),\n params: this.createRequestParams(options?.queryParameters),\n })\n .pipe(take(1), retry(options?.retry || this.defaultRetry));\n }\n\n /**\n * Creates request headers based on the provided options.\n *\n * @param options\n * @returns\n */\n private createRequestHeaders(options?: RequestParameters): HttpHeaders {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const headers: any = Object.assign(\n {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n options?.headers\n );\n\n if (options?.apiVersion) {\n const versionString = `; version=${options.apiVersion}`;\n\n headers.Accept += versionString;\n headers['Content-Type'] += versionString;\n }\n\n if (options?.showSpinner === false) {\n headers['x-spinner'] = 'false';\n }\n\n if (options?.cacheLifetimeSeconds) {\n headers['x-cache-ttl'] = options?.cacheLifetimeSeconds;\n }\n\n return new HttpHeaders(headers);\n }\n\n /**\n * Converts one or more objects to an HttpParams object.\n *\n * @param sources The objects to convert\n * @returns\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private createRequestParams(...sources: any[]): HttpParams {\n let params = new HttpParams();\n\n for (const source of sources) {\n if (source == null) {\n continue;\n }\n\n for (const key of Object.keys(source)) {\n const value = source[key];\n\n if (value != null) {\n params = params.set(key, value.toString());\n }\n }\n }\n\n return params;\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { ChoRestClientService } from './cho-rest-client.service';\nimport { CHO_COMMON_CONFIG, ChoCommonConfig } from '../../ngx-cho-common.config';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoFeatureService {\n public readonly featureStream = new BehaviorSubject<string[]>([]);\n\n private _enabledFeatures: string[] = [];\n private _isInitialized = false;\n private readonly routePrefix;\n\n constructor(\n @Inject(CHO_COMMON_CONFIG) private choCommonConfig: ChoCommonConfig,\n private readonly restClient: ChoRestClientService\n ) {\n this.routePrefix = `${this.choCommonConfig.webApiUrl}/common/features`;\n this.checkEnabledFeatures();\n }\n\n /**\n * Gets the enabled features.\n */\n get enabledFeatures(): string[] {\n return this._enabledFeatures;\n }\n\n /**\n * Sets the enabled features.\n */\n private set enabledFeatures(enabledFeatures: string[]) {\n this._enabledFeatures = enabledFeatures;\n this._isInitialized = true;\n\n this.featureStream.next(enabledFeatures);\n }\n\n /**\n * Gets whether features have been initialized\n */\n get isInitialized(): boolean {\n return this._isInitialized;\n }\n\n /**\n * Checks that the enabled features are set and returns the list.\n *\n * @param name\n * @returns\n */\n async checkEnabledFeatures(): Promise<string[]> {\n if (!this.isInitialized) {\n this.enabledFeatures = await this.restClient.get(`${this.routePrefix}/enabled`);\n }\n\n return this.enabledFeatures;\n }\n\n /**\n * Checks that the specified feature is enabled.\n *\n * @param name\n * @returns\n */\n checkFeatureIsEnabled(name: string): boolean {\n return this._enabledFeatures?.some(p => p === name);\n }\n}\n","// from https://nils-mehlhorn.de/posts/angular-navigate-back-previous-page\nimport { Injectable } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { NavigationEnd, Params, Router } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChoNavigationService {\n private history: string[] = [];\n\n constructor(private router: Router, private location: Location) {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n this.history.push(event.urlAfterRedirects);\n }\n });\n }\n\n public goBack(): void {\n this.goBackOrDefault('/');\n }\n\n public goBackOrDefault(defaultUrl: string): void {\n if (this.history.length > 0) {\n this.history.pop();\n this.location.back();\n } else {\n this.router.navigateByUrl(defaultUrl);\n }\n }\n\n public setQueryParams(params: Params): void {\n this.router.navigate([], {\n queryParams: params,\n queryParamsHandling: 'merge',\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nimport { ToastrService } from 'ngx-toastr';\nimport { ChoFeatureService } from '../services/cho-feature.service';\nimport { ChoNavigationService } from '../services/cho-navigation.service';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoFeatureGuard {\n constructor(\n private readonly featureService: ChoFeatureService,\n private readonly navigationService: ChoNavigationService,\n private readonly toastr: ToastrService\n ) {}\n\n public async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {\n const routeFeature = route.data['feature'] as string;\n\n if (!routeFeature) {\n return true;\n }\n\n await this.featureService.checkEnabledFeatures();\n\n if (!this.featureService.checkFeatureIsEnabled(routeFeature)) {\n this.toastr.error(\"Oops! It doesn't look like this feature has been enabled.\");\n\n this.navigationService.goBack();\n\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IDeactivatable } from '../models/deactivatable.interface';\n\n@Injectable()\nexport class ChoUnsavedChangesGuard {\n component: IDeactivatable | undefined;\n route: ActivatedRouteSnapshot | undefined;\n\n canDeactivate(component: IDeactivatable): Observable<boolean> | Promise<boolean> | boolean {\n return component.onDeactivate ? component.onDeactivate() : true;\n }\n}\n","export class Uuid {\n public static create(): string {\n const bytes = crypto.getRandomValues(new Uint8Array(16));\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n\n let index = 0;\n\n return (\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n '-' +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n '-' +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n '-' +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n '-' +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++]) +\n Uuid.toHex(bytes[index++])\n );\n }\n\n private static toHex(byte: number): string {\n return (0x100 | byte).toString(16).substr(1);\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choActiveFilter',\n standalone: true,\n})\nexport class ChoActiveFilterPipe implements PipeTransform {\n transform(value: any[], property?: string): any[] {\n if (value?.length === 0) {\n return value;\n }\n\n const filteredItems: any[] = [];\n\n for (const item of value) {\n if (item[property || 'isActive']) {\n filteredItems.push(item);\n }\n }\n\n return filteredItems;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choBoolean',\n standalone: true,\n})\nexport class ChoBooleanPipe implements PipeTransform {\n transform(value: unknown): unknown {\n return value ? 'Yes' : 'No';\n }\n}\n","import { DatePipe } from '@angular/common';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choDate',\n standalone: true,\n})\nexport class ChoDatePipe implements PipeTransform {\n constructor(public datePipe: DatePipe) {}\n transform(\n value: Date | string | number,\n format?: string,\n timezone?: string,\n locale?: string\n ): string | null {\n switch (format) {\n case 'short':\n format = 'MM/dd/yyyy, hh:mm a';\n break;\n\n case 'shortDate':\n format = 'MM/dd/yyyy';\n break;\n }\n\n return this.datePipe.transform(value, format, timezone, locale);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choFilter',\n standalone: true,\n})\nexport class ChoFilterPipe implements PipeTransform {\n transform(items: any[], callback: (item: any) => boolean): any {\n if (!items || !callback) {\n return items;\n }\n return items.filter(item => callback(item));\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choFormatKey',\n standalone: true,\n})\nexport class ChoFormatKeyPipe implements PipeTransform {\n transform(key: string): string {\n let result = '';\n const tokenized = key.split(/(?=[A-Z])/);\n\n tokenized.forEach(item => {\n const uppercase = item.charAt(0).toUpperCase() + item.slice(1);\n result += uppercase + ' ';\n });\n\n return result;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choLowerKebabCase',\n standalone: true,\n})\nexport class ChoLowerKebabCasePipe implements PipeTransform {\n transform(value: string): string {\n //take string and convert to lower kebab case\n return value\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/\\s+/g, '-')\n .toLowerCase();\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choSumBy',\n standalone: true,\n})\nexport class ChoSumByPipe implements PipeTransform {\n transform(items: any[], attr: string): any {\n return items.reduce((a, b) => a + (b[attr] || 0), 0);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'choTextFilter',\n standalone: true,\n})\nexport class ChoTextFilterPipe implements PipeTransform {\n transform(value: any[], filterString: string | null | undefined, properties: string[]): any[] {\n if (value?.length === 0 || !filterString || !properties?.length) {\n return value;\n }\n\n const filteredItems: any[] = [];\n filterString = filterString.toLowerCase();\n\n for (const item of value) {\n for (const property of properties) {\n if (item[property] && item[property].toLowerCase().includes(filterString)) {\n filteredItems.push(item);\n break;\n }\n }\n }\n\n return filteredItems;\n }\n}\n","import { Injectable } from '@angular/core';\nimport moment from 'moment';\n\nimport { NameValueItem } from '../types/name-value-item.type';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoDateService {\n public getMonthItems(startMonth = 1, endMonth = 12): NameValueItem<number>[] {\n const items: NameValueItem<number>[] = [];\n const d = moment().startOf('year');\n let i = startMonth;\n\n while (i <= endMonth) {\n d.set('month', i - 1);\n items.push({ value: i, name: d.format('MMMM') });\n i++;\n }\n\n return items;\n }\n\n public getYearItems(startYear?: number, endYear?: number): NameValueItem<number>[] {\n startYear = startYear || moment().year();\n endYear = endYear || moment().year();\n\n const items: NameValueItem<number>[] = [];\n let i = startYear;\n\n while (i <= endYear) {\n items.push({ value: i, name: i.toString() });\n i++;\n }\n\n return items;\n }\n\n public toDateString(input: moment.MomentInput): string {\n return moment(input).format('yyyy-MM-DD');\n }\n\n public toISOString(input: moment.MomentInput): string {\n return moment(input).toISOString();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Observable, shareReplay } from 'rxjs';\nimport { saveAs } from 'file-saver';\n\n@Injectable({ providedIn: 'any' })\nexport class ChoDownloadService {\n constructor(private httpClient: HttpClient) {}\n\n private octetStreamMime = 'application/octet-stream';\n\n public downloadFile(url: string, params?: HttpParams): Observable<HttpResponse<ArrayBuffer>> {\n const download$ = this.httpClient\n .get(url, {\n responseType: 'arraybuffer',\n observe: 'response',\n params: params,\n })\n .pipe(shareReplay());\n\n download$.subscribe(r => this.processDownload(r));\n\n return download$;\n }\n\n private processDownload(response: HttpResponse<ArrayBuffer>): void {\n const filename = this.getFileNameFromResponse(response);\n const contentType = response.headers.get('content-type') || this.octetStreamMime;\n\n if (response.body) {\n const blob = new Blob([response.body], { type: contentType });\n saveAs(blob, filename);\n }\n }\n\n private getFileNameFromResponse(response: HttpResponse<ArrayBuffer>): string {\n // attempt to get from response headers\n let fileName = response.headers.get('x-filename') || response.headers.get('filename');\n\n if (!fileName) {\n // attempt to get from content disposition\n const disposition = response.headers.get('content-disposition');\n\n if (disposition) {\n fileName = disposition.split(';')[1].split('=')[1].replace(/\"/g, '');\n }\n }\n\n return fileName || 'download.bin';\n }\n}\n","import { Injectable } from '@angular/core';\n\nexport type IntervalOptions = {\n fireImmediately: FireImmediately;\n blurInterval?: number;\n hiddenInterval?: number;\n};\n\ntype Action = () => Promise<unknown>;\n\nexport enum FireImmediately {\n never,\n whenShown,\n whenFocused,\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ChoIntervalService {\n static readonly defaultOptions: IntervalOptions = { fireImmediately: FireImmediately.never };\n\n create(\n action: Action,\n interval: number,\n options: IntervalOptions = ChoIntervalService.defaultOptions\n ): IntervalTimer {\n const timer = new IntervalTimer(action, interval, options);\n timer.initialize();\n\n return timer;\n }\n}\n\nexport class IntervalTimer {\n $handle?: number;\n currentInterval = 0;\n isStopped = true;\n\n constructor(\n private readonly action: Action,\n private readonly interval: number,\n private readonly options: IntervalOptions\n ) {}\n\n initialize(): void {\n if (this.options.hiddenInterval != null) {\n document.addEventListener('visibilitychange', () => {\n if (document.hidden) {\n this.onHidden();\n } else {\n this.onShown();\n }\n });\n }\n\n if (this.options.blurInterval != null) {\n window.addEventListener('blur', () => this.onBlur());\n window.addEventListener('focus', () => this.onFocus());\n }\n }\n\n start(): void {\n if (this.isStopped) {\n if (!document.hidden) {\n this.isStopped = false;\n this.onShown();\n } else {\n this.setInterval(this.interval);\n this.isStopped = false;\n }\n }\n }\n\n stop(): void {\n this.setInterval(0);\n this.isStopped = true;\n }\n\n private async callActionAndScheduleNext(nextInterval: number): Promise<void> {\n this.setInterval(0); // pause while the action runs\n await this.action();\n this.setInterval(nextInterval);\n }\n\n private onBlur(): void {\n if (this.isStopped) {\n return;\n }\n\n this.setInterval(this.options?.blurInterval);\n }\n\n private onFocus(): void {\n if (this.isStopped) {\n return;\n }\n\n if (this.options?.fireImmediately === FireImmediately.whenFocused) {\n this.callActionAndScheduleNext(this.interval);\n return;\n }\n\n this.setInterval(this.interval);\n }\n\n private onHidden(): void {\n if (this.isStopped) {\n return;\n }\n\n this.setInterval(this.options?.hiddenInterval);\n }\n\n private onShown(): void {\n if (this.isStopped) {\n return;\n }\n\n if (this.options.fireImmediately === FireImmediately.whenShown) {\n this.callActionAndScheduleNext(this.interval);\n return;\n }\n\n this.setInterval(this.interval);\n }\n\n private setInterval(interval?: number): void {\n if (this.$handle) {\n if (interval === this.currentInterval) {\n return;\n }\n\n window.clearTimeout(this.$handle);\n this.$handle = undefined;\n }\n\n if (!interval) {\n return;\n }\n\n this.$handle = window.setTimeout(() => this.callActionAndScheduleNext(interval), interval);\n this.currentInterval = interval;\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoLocalStorageService {\n checkIfKeyExists(key: string): boolean {\n return globalThis.localStorage.getItem(key) !== null;\n }\n\n getItem<T>(key: string): T | undefined {\n const valueString = globalThis.localStorage.getItem(key);\n\n if (valueString === null) {\n return undefined;\n }\n\n const value = JSON.parse(valueString);\n return value;\n }\n\n setItem<T>(key: string, value: T): void {\n const valueString = JSON.stringify(value);\n globalThis.localStorage.setItem(key, valueString);\n }\n\n removeItem(key: string): void {\n globalThis.localStorage.removeItem(key);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NgbModal, NgbModalOptions } from '@ng-bootstrap/ng-bootstrap';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChoModalService {\n constructor(private readonly ngbModal: NgbModal) {}\n\n public async showModal<T>(\n component: unknown,\n componentParameters?: unknown,\n modalOptions: NgbModalOptions = { backdrop: 'static' }\n ): Promise<{ result: T; componentInstance: unknown }> {\n const modal = this.ngbModal.open(component, modalOptions);\n const componentInstance = modal.componentInstance;\n\n Object.assign(componentInstance, componentParameters);\n\n let result: T;\n\n try {\n result = await modal.result;\n } catch (error) {\n result = null as unknown as T;\n if (error === undefined) {\n throw 'modal dismiss';\n }\n throw error;\n }\n\n return { result, componentInstance };\n }\n}\n","import { HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChoObjectService {\n public toValueObject(obj: object): object {\n const result = Object.getOwnPropertyNames(obj).reduce((p, key) => {\n if (obj[key]) {\n p[key] = obj[key];\n }\n return p;\n }, new Object());\n\n return result;\n }\n\n /**\n * Convert Object to HttpParams\n * @param {object} obj\n * @returns {HttpParams}\n * see: https://stackoverflow.com/questions/45210406/angular-4-3-httpclient-set-params\n */\n public toHttpParams(obj: object): HttpParams {\n const temp = Object.getOwnPropertyNames(obj).reduce(\n (p, key) => (obj[key] == null || obj[key].length === 0 ? p : p.set(key, obj[key])),\n new HttpParams()\n );\n\n return temp;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ChoRouteParamService {\n constructor(private readonly route: ActivatedRoute) {}\n\n public getParameterBoolean(params: Params, paramKey: string): boolean | null {\n const value = this.getParameterValue(params, paramKey);\n\n if (value) {\n return !!value;\n }\n\n return null;\n }\n\n public getParameterNumber(params: Params, paramKey: string): number | null {\n const value = this.getParameterValue(params, paramKey);\n\n if (value) {\n return parseInt(value);\n }\n\n return null;\n }\n\n public getParameterValue(params: Params, paramKey: string): string | null {\n const value = params[paramKey];\n return value || null;\n }\n\n public getQueryParameterBoolean(paramKey: string): boolean | null {\n return this.getParameterBoolean(this.route.snapshot.queryParams, paramKey);\n }\n\n public getQueryParameterNumber(paramKey: string): number | null {\n return this.getParameterNumber(this.route.snapshot.queryParams, paramKey);\n }\n\n public getQueryParameterValue(paramKey: string): string | null {\n return this.getParameterValue(this.route.snapshot.queryParams, paramKey);\n }\n\n public getRouteParameterBoolean(route: ActivatedRoute, paramKey: string): boolean | null {\n return this.getParameterBoolean(route.snapshot.params, paramKey);\n }\n\n public getRouteParameterNumber(route: ActivatedRoute, paramKey: string): number | null {\n return this.getParameterNumber(route.snapshot.params, paramKey);\n }\n\n public getRouteParameterValue(route: ActivatedRoute, paramKey: string): string | null {\n return this.getParameterValue(route.snapshot.params, paramKey);\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class ChoSessionStorageService {\n checkIfKeyExists(key: string): boolean {\n return globalThis.sessionStorage.getItem(key) !== null;\n }\n\n getItem<T>(key: string): T | undefined {\n const valueString = globalThis.sessionStorage.getItem(key);\n\n if (valueString === null) {\n return undefined;\n }\n\n const value = JSON.parse(valueString);\n return value;\n }\n\n setItem<T>(key: string, value: T): void {\n const valueString = JSON.stringify(value);\n globalThis.sessionStorage.setItem(key, valueString);\n }\n\n removeItem(key: string): void {\n globalThis.sessionStorage.removeItem(key);\n }\n}\n","/*\n * Public API Surface of ngx-cho-common\n */\nexport { CHO_COMMON_CONFIG, ChoCommonConfig } from './ngx-cho-common.config';\n\nexport { ChoAutoFocusDirective } from './lib/directives/cho-auto-focus.directive';\nexport { ChoFormFocusDirective } from './lib/directives/cho-form-focus.directive';\nexport { ChoKeyPressEnterDirective } from './lib/directives/cho-key-press-enter.directive';\nexport { ChoKeyPressEscapeDirective } from './lib/directives/cho-key-press-escape.directive';\n\nexport { ChoFeatureGuard } from './lib/guards/cho-feature.guard';\nexport { ChoUnsavedChangesGuard } from './lib/guards/cho-unsaved-changes.guard';\n\nexport { IDeactivatable } from './lib/models/deactivatable.interface';\n\nexport { IPhoneInfo } from './lib/models/phone-info.model';\nexport { INoteInfo } from './lib/models/note-info.model';\nexport { IEmailInfo } from './lib/models/email-info.model';\nexport { IContactInfo } from './lib/models/contact-info.model';\nexport { BasicSearchFilter } from './lib/models/basic-search-filter.model';\nexport { AppFile } from './lib/models/app-file.model';\nexport { IAddress } from './lib/models/address.model';\nexport { INote } from './lib/models/note.model';\nexport { Uuid } from './lib/models/uuid.model';\n\nexport { ChoActiveFilterPipe } from './lib/pipes/cho-active-filter.pipe';\nexport { ChoBooleanPipe } from './lib/pipes/cho-boolean.pipe';\nexport { ChoDatePipe } from './lib/pipes/cho-date.pipe';\nexport { ChoFilterPipe } from './lib/pipes/cho-filter.pipe';\nexport { ChoFormatKeyPipe } from './lib/pipes/cho-format-key.pipe';\nexport { ChoLowerKebabCasePipe } from './lib/pipes/cho-lower-kebab-case.pipe';\nexport { ChoSumByPipe } from './lib/pipes/cho-sum-by.pipe';\nexport { ChoTextFilterPipe } from './lib/pipes/cho-text-filter.pipe';\n\nexport { ChoDateService } from './lib/services/cho-date.service';\nexport { ChoDownloadService } from './lib/services/cho-download.service';\nexport { ChoFeatureService } from './lib/services/cho-feature.service';\nexport {\n ChoIntervalService,\n IntervalTimer,\n FireImmediately,\n} from './lib/services/cho-interval.service';\nexport { ChoLocalStorageService } from './lib/services/cho-local-storage.service';\nexport { ChoModalService } from './lib/services/cho-modal.service';\nexport { ChoNavigationService } from './lib/services/cho-navigation.service';\nexport { ChoObjectService } from './lib/services/cho-object.service';\nexport { ChoRestClientService } from './lib/services/cho-rest-client.service';\nexport { ChoRouteParamService } from './lib/services/cho-route-param.service';\nexport { ChoSessionStorageService } from './lib/services/cho-session-storage.service';\n\nexport { Indexable } from './lib/types/indexable.type';\nexport { NameValueItem } from './lib/types/name-value-item.type';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ChoRestClientService","i1","i1.ChoFeatureService","i2.ChoNavigationService"],"mappings":"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"}
@@ -5,5 +5,5 @@ export declare class ChoAutoFocusDirective implements OnInit {
5
5
  constructor(elementRef: ElementRef);
6
6
  ngOnInit(): void;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<ChoAutoFocusDirective, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<ChoAutoFocusDirective, "[appChoAutoFocus]", never, {}, {}, never, never, true, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ChoAutoFocusDirective, "[choAutoFocus]", never, {}, {}, never, never, true, never>;
9
9
  }
@@ -7,5 +7,5 @@ export declare class ChoFormFocusDirective implements AfterViewInit {
7
7
  ngAfterViewInit(): void;
8
8
  submit(): void;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<ChoFormFocusDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<ChoFormFocusDirective, "[appChoFormFocus]", never, {}, {}, never, never, true, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ChoFormFocusDirective, "[choFormFocus]", never, {}, {}, never, never, true, never>;
11
11
  }
@@ -4,5 +4,5 @@ export declare class ChoKeyPressEnterDirective {
4
4
  emitter: EventEmitter<any>;
5
5
  keyEvent(event: KeyboardEvent): void;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<ChoKeyPressEnterDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<ChoKeyPressEnterDirective, "[appChoKeyPressEnter]", never, {}, { "emitter": "appKeyPressEnter"; }, never, never, true, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ChoKeyPressEnterDirective, "[choKeyPressEnter]", never, {}, { "emitter": "appKeyPressEnter"; }, never, never, true, never>;
8
8
  }
@@ -4,5 +4,5 @@ export declare class ChoKeyPressEscapeDirective {
4
4
  emitter: EventEmitter<any>;
5
5
  keyEvent(event: KeyboardEvent): void;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<ChoKeyPressEscapeDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<ChoKeyPressEscapeDirective, "[appChoKeyPressEscape]", never, {}, { "emitter": "appKeyPressEscape"; }, never, never, true, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ChoKeyPressEscapeDirective, "[choKeyPressEscape]", never, {}, { "emitter": "appKeyPressEscape"; }, never, never, true, never>;
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-cho-common",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",