Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use @angular/cdk/dialog instead of custom dialog service #269

Open
meisekimiu opened this issue Jul 17, 2023 · 0 comments
Open

Use @angular/cdk/dialog instead of custom dialog service #269

meisekimiu opened this issue Jul 17, 2023 · 0 comments

Comments

@meisekimiu
Copy link
Member

Currently the dialog system used to display modals throughout the app is custom built. This implementation has a few issues. One issue is discussed in #19, but also a few of the dependencies used are currently deprecated and will be removed in future library versions which is something to worry about as we continue to upgrade our version of Angular. The Dialog system also uses various cyclical imports that cause the import/no-cycle linting rule to fail when enabled. These cyclical imports cannot be automatically fixed, and are hard to detangle manually without tearing apart the current system.

Fortunately, since we have been upgrading Angular regularly now, a new solution has become available to us: The Component Dev Kit Dialog Service

We already import and use @angular/cdk in our project so this tool is already available to us right now. Because our custom implementation was built to mimic an older Angular dialog library, the CDK Dialog API happens to match the existing API pretty well (with some improvements that would allow us to get rid of things like the DialogComponentToken and DialogChildComponentData types). Let's use this library instead so we don't have to worry about maintaining the Dialog system ourselves and we can clean up code formatting and linting issues as well.

meisekimiu added a commit that referenced this issue May 8, 2024
The current DialogService used in the web-app uses deprecated Angular
functionality and a few other architectural issues. The new archive type
selection component uses a modal to select a type, so this is a good
opportunity to finally start migrating over to using the Angular CDK
Dialog instead of our custom DialogService. Create a new service that
wraps around Angular CDK's DialogService. The reason to do this right
now is so that there is little confusion over which `DialogService`
components are using, though in the future it would probably be best to
remove this wrapper service and import the Angular CDK DialogService
once we have completely deleted the old one.

See #269 for more
information.

PER-9568: Create new component to select archive type
meisekimiu added a commit that referenced this issue May 8, 2024
The current DialogService used in the web-app uses deprecated Angular
functionality and a few other architectural issues. The new archive type
selection component uses a modal to select a type, so this is a good
opportunity to finally start migrating over to using the Angular CDK
Dialog instead of our custom DialogService. Create a new service that
wraps around Angular CDK's DialogService. The reason to do this right
now is so that there is little confusion over which `DialogService`
components are using, though in the future it would probably be best to
remove this wrapper service and import the Angular CDK DialogService
once we have completely deleted the old one.

See #269 for more
information.

PER-9568: Create new component to select archive type
meisekimiu added a commit that referenced this issue May 17, 2024
The current DialogService used in the web-app uses deprecated Angular
functionality and a few other architectural issues. The new archive type
selection component uses a modal to select a type, so this is a good
opportunity to finally start migrating over to using the Angular CDK
Dialog instead of our custom DialogService. Create a new service that
wraps around Angular CDK's DialogService. The reason to do this right
now is so that there is little confusion over which `DialogService`
components are using, though in the future it would probably be best to
remove this wrapper service and import the Angular CDK DialogService
once we have completely deleted the old one.

See #269 for more
information.

PER-9568: Create new component to select archive type
meisekimiu added a commit that referenced this issue May 23, 2024
The current DialogService used in the web-app uses deprecated Angular
functionality and a few other architectural issues. The new archive type
selection component uses a modal to select a type, so this is a good
opportunity to finally start migrating over to using the Angular CDK
Dialog instead of our custom DialogService. Create a new service that
wraps around Angular CDK's DialogService. The reason to do this right
now is so that there is little confusion over which `DialogService`
components are using, though in the future it would probably be best to
remove this wrapper service and import the Angular CDK DialogService
once we have completely deleted the old one.

See #269 for more
information.

PER-9568: Create new component to select archive type
crisnicandrei pushed a commit that referenced this issue Jun 11, 2024
The current DialogService used in the web-app uses deprecated Angular
functionality and a few other architectural issues. The new archive type
selection component uses a modal to select a type, so this is a good
opportunity to finally start migrating over to using the Angular CDK
Dialog instead of our custom DialogService. Create a new service that
wraps around Angular CDK's DialogService. The reason to do this right
now is so that there is little confusion over which `DialogService`
components are using, though in the future it would probably be best to
remove this wrapper service and import the Angular CDK DialogService
once we have completely deleted the old one.

See #269 for more
information.

PER-9568: Create new component to select archive type
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant