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

feat(@angular/cli) generator for material table #7899

Closed
1 of 2 tasks
davidjnelson opened this issue Oct 1, 2017 · 2 comments
Closed
1 of 2 tasks

feat(@angular/cli) generator for material table #7899

davidjnelson opened this issue Oct 1, 2017 · 2 comments

Comments

@davidjnelson
Copy link

davidjnelson commented Oct 1, 2017

Bug Report or Feature Request (mark with an x)

  • bug report -> please search issues before submitting
  • feature request

Desired functionality.

A generator for a material table using a schema from a common idl.

The standard way of creating a table with sorting, filtering, and pagination from a well known schema is unnecessarily time consuming.

Mention any other details that might be useful.

There are a lot of details in this. The issue is meant to invite discussion.

A great start would be:

  • A custom blueprint that read a grpc proto file and generates json to describe what data ought to be sorted, paginated, and filtered.
  • An abstraction on top of https://material.angular.io/components/table like the "Simple Table" mentioned in the docs, that allowed configuration via json.
  • Integration with a grpc generated rest gateway, which stored fetched data in ngrx/store, using the url as the first source of truth for the sorting, pagination, and filtering.
  • Support for edit, delete and view detail links in the table rows.

The user would then only have to pass a few configuration parameters to the generator and have a fully functioning datatable. They could then modify the behavior via editing the json passed as an @Input() property to the Simple Table abstraction, and edit the styling to fit their application. This could make such data tables take a day to build instead of a few weeks.

Future versions could broaden the applicability of such a component in various ways:

  • Server idl support:
    • graphql schema
    • raml
    • json schema
    • api blueprint.
  • Simplified custom behavior:
    • Opt out of ngrx/store
    • Opt out of sorting, filtering, pagination stored in the url.
    • Allow passing custom components for table headers, table columns, pagination.
  • Simplified custom styling:
    • Well documented ways to override material's default styles as needed
  • More related generators to address forms to edit items in each row.
@Brocco
Copy link
Contributor

Brocco commented Oct 2, 2017

Not everyone wants to use material or the material table. Therefore this should not be implemented in the default schematics (new blueprint engine). Documentation is coming soon with information about how to create your own custom schematics.

Closing this issue because it will not be implemented by the CLI.

@Brocco Brocco closed this as completed Oct 2, 2017
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 7, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants