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

bug: Angular binding does not function as expected and very frustrating to use on all GCDS components #747

Open
3 tasks done
jackytangdfo opened this issue Feb 7, 2025 · 1 comment

Comments

@jackytangdfo
Copy link

jackytangdfo commented Feb 7, 2025

Prerequisites | Prérequis

GC Design System Components Package and Version | Paquet et version des composants de Système de design GC

0.26.2

Current Behavior | Comportement observé

None of the Angular bindings work on any of the components and some are especially difficult to implement due to peculiar design choices. All components are unable to set or pull values from objects which is the fundamental purpose behind Angular. Adding ngDefaultControl allows some bindings, but the values still have to be manually set and retrieved through click methods, and even then may not function as expected.

For example, the dropdown does not dynamically change its values even though the list of options has changed.
Image

The radio buttons are especially frustrating since it requires a very specific JSON string to set it's values. This means that every piece of data that uses them require being mapped to this exact object with those fields, an option selected, then remapped back to the original data. This not only goes against Angular binding, but adds multiple extra steps with multiple points of error making the radio buttons even more difficult to use than a default HTML tag with regular binding ability.

The GC designs are clearly meant for static webpages that input data once in a static format, then never change because they can't be changed at all. They cannot be restyled, they cannot bind data, they cannot be dynamically changed so they are unable to be adapted for any web applications and should be noted as such.

If the purpose of GCDS is to provide consistent styling and accessibility, what would be more valuable is providing styling utilities or design guidelines that can be applied to existing UI libraries that are mature, that are functional, and tested over years for their target language.

Expected Behavior | Comportement attendu

Components that actually work dynamically and consistently with Angular binding in all cases and scenarios covered by Angular Material components

System Info | Information sur le système

Steps to Reproduce | Étapes pour reproduire le bogue

Attempting to use any component in a remotely Angular defined way

Code Reproduction URL | URL de reproduction du code

No response

Additional Information | Informations supplémentaires

No response

@mcman12
Copy link
Contributor

mcman12 commented Feb 8, 2025

Thank you for sharing your feedback. We truly appreciate you taking the time to express your concerns, and we understand your frustrations. Please know that your points are valued and not taken lightly as we are constantly iterating the product to ensure it works for teams like yours.

As you’ve acknowledged by checking the Code of Conduct checkbox, we aim to maintain a respectful and constructive environment in all interactions. While your feedback raises important points, we kindly ask that it be framed with empathy and respect for the entire community. This includes contributors from various organizations who are all working together towards the successful delivery of this product, not just the Angular package.

We’d appreciate it if you could rephrase your feedback to help keep the conversation moving forward constructively. If no changes are made within that timeframe, we will proceed to take appropriate action in accordance with the Code of Conduct.

@jackytangdfo jackytangdfo changed the title bug: Angular binding does not work at all (especially on radios and checkboxes) bug: Angular binding does not function as expected and very frustrating to use on all GCDS components Feb 10, 2025
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

2 participants