diff --git a/npm/ng-packs/packages/core/src/lib/directives/caps-lock.directive.ts b/npm/ng-packs/packages/core/src/lib/directives/caps-lock.directive.ts index 0194bb9d3e..16b3c40757 100644 --- a/npm/ng-packs/packages/core/src/lib/directives/caps-lock.directive.ts +++ b/npm/ng-packs/packages/core/src/lib/directives/caps-lock.directive.ts @@ -5,7 +5,7 @@ import { Directive, EventEmitter, HostListener, Output } from '@angular/core'; selector: '[abpCapsLock]', }) export class TrackCapsLockDirective { - @Output('abpCapsLock') capsLock = new EventEmitter(); + @Output('abpCapsLock') capsLock = new EventEmitter(); @HostListener('window:keydown', ['$event']) onKeyDown(event: KeyboardEvent): void { @@ -17,7 +17,7 @@ export class TrackCapsLockDirective { } isCapsLockOpen(e): boolean { - var s = String.fromCharCode(e.which); + const s = String.fromCharCode(e.which); if ( (s.toUpperCase() === s && s.toLowerCase() !== s && e.shiftKey) || (s.toUpperCase() !== s && s.toLowerCase() === s && e.shiftKey) || diff --git a/npm/ng-packs/packages/core/src/lib/services/index.ts b/npm/ng-packs/packages/core/src/lib/services/index.ts index fefc9931eb..8ccf802cb7 100644 --- a/npm/ng-packs/packages/core/src/lib/services/index.ts +++ b/npm/ng-packs/packages/core/src/lib/services/index.ts @@ -19,3 +19,4 @@ export * from './session-state.service'; export * from './subscription.service'; export * from './track-by.service'; export * from './local-storage.service'; +export * from './window.service'; diff --git a/npm/ng-packs/packages/core/src/lib/services/window.service.ts b/npm/ng-packs/packages/core/src/lib/services/window.service.ts new file mode 100644 index 0000000000..f4780ec10d --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/services/window.service.ts @@ -0,0 +1,20 @@ +import { Injectable, inject } from '@angular/core'; +import { DOCUMENT } from '@angular/common'; + +@Injectable({ providedIn: 'root' }) +export class AbpWindowService { + protected readonly window = inject(DOCUMENT).defaultView; + protected readonly navigator = this.window.navigator; + + copyToClipboard(text: string): Promise { + return this.navigator.clipboard.writeText(text); + } + + open(url?: string | URL, target?: string, features?: string): Window { + return this.window.open(url, target, features); + } + + reloadPage(): void { + this.window.location.reload(); + } +}