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

Table component #121

Open
leonid opened this issue Sep 11, 2024 · 0 comments
Open

Table component #121

leonid opened this issue Sep 11, 2024 · 0 comments
Assignees

Comments

@leonid
Copy link
Collaborator

leonid commented Sep 11, 2024

A Table component is a UI element used to display data in a tabular format, often with additional formatting and styling options. Here are the key features a Markup Table component should have:

  1. Column Headers: Display headers for each column to describe the data.
  2. Customizable Styling: Support for custom styles and CSS classes to match the application's design.
  3. Sortable Columns: Ability to sort data by clicking on column headers.
  4. Resizable Columns: Allow users to adjust the width of columns.
  5. Pagination: Support for paginating large datasets.
  6. Search and Filter: Options to search and filter data within the table.
  7. Row Selection: Ability to select one or multiple rows, with visual indication of selected state.
  8. Editable Cells: Option to edit cell content directly within the table.
  9. Fixed Headers: Keep column headers fixed while scrolling through the table.
  10. Responsive Design: Adaptable to different screen sizes and orientations.
  11. Accessibility: Ensure the component is accessible with proper ARIA attributes and keyboard support.
  12. Export Options: Ability to export table data to formats like CSV, Excel, or PDF.
  13. Inline Actions: Support for inline actions such as edit, delete, or view details.
  14. Row Grouping: Ability to group rows based on specific criteria.
  15. Virtual Scrolling: Improve performance by rendering only visible rows when dealing with large datasets.
  16. Custom Cell Rendering: Support for custom rendering of cell content.
  17. Tooltips: Option to include tooltips for additional information on cells or headers.
  18. Theming: Support for different themes to match the application's design system.
  19. Drag and Drop: Support for drag-and-drop functionality to reorder rows or columns.
  20. Event Handling: Emit events for user interactions such as click, hover, sort, or filter.

These features ensure that the Table component is versatile, user-friendly, and accessible.

To be implemented

  • Vue component with basic logic
  • Styles and extension points as css properties
  • Vitepress documentation: feature description, examples and api documentation
  • Unit tests for component and its composition
  • Storybook demos and documentation
@leonid leonid self-assigned this Sep 11, 2024
@leonid leonid added this to the Release Candidate milestone Sep 11, 2024
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