Add DataGrid widget (#1429)

This commit adds a new `DataGrid` widget, a versatile component for
displaying tabular data.

It supports:
- Support for various data sources (e.g., SQL, in-memory).
- Pagination for handling large datasets.
- Sorting and filtering, with optional controlled mode for external
state management.
- Cell-level menus for value-based filtering.
- Column header menus for sorting and null-value filtering.
- A toolbar displaying active filters, pagination controls, and a reset
button.
- Customizable cell content rendering.

This widget replaces the current QueryTable implementation, so it can be
seen anywhere where the QueryTable was used (e.g. query & explore pages,
omnibox query results).

The intent is that this widget will eventually be used anywhere where we
need to display large tabular data sets.

Note: To avoid confusion, filtering is disabled for now. This could
cause confusion when used with e.g. the explore page and the query page
because it's not clear that filters applied to the data grid are
ephemeral and local to that data grid instance, rather than being
applied higher up to the explore page's node or the query page's query.
25 files changed
tree: 821d8993c83a5006a38dfc16d5644ea89574eb49
  1. .github/
  2. bazel/
  3. build_overrides/
  4. buildtools/
  5. debian/
  6. docs/
  7. examples/
  8. gn/
  9. include/
  10. infra/
  11. protos/
  12. python/
  13. src/
  14. test/
  15. third_party/
  16. tools/
  17. ui/
  18. .bazelignore
  19. .bazelrc
  20. .bazelversion
  21. .clang-format
  22. .clang-tidy
  23. .git-blame-ignore-revs
  24. .gitallowed
  25. .gitattributes
  26. .gitignore
  27. .gn
  28. .style.yapf
  29. .yapfignore
  30. Android.bp
  31. Android.bp.extras
  32. BUILD
  33. BUILD.extras
  34. BUILD.gn
  35. CHANGELOG
  36. codereview.settings
  37. DIR_METADATA
  38. heapprofd.rc
  39. LICENSE
  40. meson.build
  41. METADATA
  42. MODULE.bazel
  43. MODULE.bazel.lock
  44. MODULE_LICENSE_APACHE2
  45. OWNERS
  46. perfetto.rc
  47. perfetto_flags.aconfig
  48. PerfettoIntegrationTests.xml
  49. persistent_cfg.pbtxt
  50. README.chromium
  51. README.md
  52. TEST_MAPPING
  53. traced_perf.rc
  54. WATCHLISTS
  55. WORKSPACE
README.md

Perfetto - System profiling, app tracing and trace analysis

Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native + java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.

See https://perfetto.dev/docs or the /docs/ directory for documentation.