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.
- package/esm2022/lib/directives/cho-auto-focus.directive.mjs +3 -3
- package/esm2022/lib/directives/cho-form-focus.directive.mjs +3 -3
- package/esm2022/lib/directives/cho-key-press-enter.directive.mjs +3 -3
- package/esm2022/lib/directives/cho-key-press-escape.directive.mjs +3 -3
- package/fesm2022/ngx-cho-common.mjs +8 -8
- package/fesm2022/ngx-cho-common.mjs.map +1 -1
- package/lib/directives/cho-auto-focus.directive.d.ts +1 -1
- package/lib/directives/cho-form-focus.directive.d.ts +1 -1
- package/lib/directives/cho-key-press-enter.directive.d.ts +1 -1
- package/lib/directives/cho-key-press-escape.directive.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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: "[
|
|
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: '[
|
|
17
|
+
selector: '[choAutoFocus]',
|
|
18
18
|
standalone: true,
|
|
19
19
|
}]
|
|
20
20
|
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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: "[
|
|
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: '[
|
|
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,
|
|
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: "[
|
|
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: '[
|
|
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,
|
|
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: "[
|
|
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: '[
|
|
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,
|
|
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: "[
|
|
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: '[
|
|
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: "[
|
|
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: '[
|
|
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: "[
|
|
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: '[
|
|
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: "[
|
|
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: '[
|
|
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, "[
|
|
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, "[
|
|
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, "[
|
|
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, "[
|
|
7
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ChoKeyPressEscapeDirective, "[choKeyPressEscape]", never, {}, { "emitter": "appKeyPressEscape"; }, never, never, true, never>;
|
|
8
8
|
}
|