mirror of
https://github.com/bitwarden/browser
synced 2026-01-19 08:53:28 +00:00
[PM-15847] libs/components strict migration (#15738)
This PR migrates `libs/components` to use strict TypeScript. - Remove `@ts-strict-ignore` from each file in `libs/components` and resolved any new compilation errors - Converted ViewChild and ContentChild decorators to use the new signal-based queries using the [Angular signal queries migration](https://angular.dev/reference/migrations/signal-queries) - Made view/content children `required` where appropriate, eliminating the need for additional null checking. This helped simplify the strict migration. --- Co-authored-by: Vicki League <vleague@bitwarden.com>
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
import { Directive, Optional } from "@angular/core";
|
||||
import { Directive, inject, model } from "@angular/core";
|
||||
|
||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||
import { ValidationService } from "@bitwarden/common/platform/abstractions/validation.service";
|
||||
import { BitActionDirective, ButtonLikeAbstraction } from "@bitwarden/components";
|
||||
import { BitActionDirective, FunctionReturningAwaitable } from "@bitwarden/components";
|
||||
|
||||
import { PopupRouterCacheService } from "../view-cache/popup-router-cache.service";
|
||||
|
||||
@@ -11,15 +9,10 @@ import { PopupRouterCacheService } from "../view-cache/popup-router-cache.servic
|
||||
selector: "[popupBackAction]",
|
||||
})
|
||||
export class PopupBackBrowserDirective extends BitActionDirective {
|
||||
constructor(
|
||||
buttonComponent: ButtonLikeAbstraction,
|
||||
private router: PopupRouterCacheService,
|
||||
@Optional() validationService?: ValidationService,
|
||||
@Optional() logService?: LogService,
|
||||
) {
|
||||
super(buttonComponent, validationService, logService);
|
||||
|
||||
// override `bitAction` input; the parent handles the rest
|
||||
this.handler.set(() => this.router.back());
|
||||
}
|
||||
private routerCacheService = inject(PopupRouterCacheService);
|
||||
// Override the required input to make it optional since we set it automatically
|
||||
override readonly handler = model<FunctionReturningAwaitable>(
|
||||
() => this.routerCacheService.back(),
|
||||
{ alias: "popupBackAction" },
|
||||
);
|
||||
}
|
||||
|
||||
@@ -343,7 +343,7 @@ export default {
|
||||
generator: "Generator",
|
||||
send: "Send",
|
||||
settings: "Settings",
|
||||
labelWithNotification: (label: string) => `${label}: New Notification`,
|
||||
labelWithNotification: (label: string | undefined) => `${label}: New Notification`,
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user