-
Notifications
You must be signed in to change notification settings - Fork 1.7k
feat: rewrite interactive table widget in Angular #17416
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
Open
shuoweil
wants to merge
63
commits into
main
Choose a base branch
from
shuowei-angular-rewrite-core
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
88fcf76
feat: set up Angular infrastructure for TableWidget
shuoweil 2393021
feat: implement DOM sanitization in Angular bridge
shuoweil 49b7977
feat: address code review comments and add license headers
shuoweil 2b6a9fb
test: test pre-commit hook after noxfile fix
shuoweil b959885
Merge branch 'main' into shuowei-angular
shuoweil 1e0990f
Alphabetize CSS declarations in app.ts
shuoweil d3bf48c
feat: add callback parameter to _read_gbq_colab
shuoweil 4258639
Merge branch 'main' into shuowei-filter-execution-history
shuoweil 7574f22
feat: support execution history filtering by events and job_ids
shuoweil eccd236
Merge branch 'main' into shuowei-filter-execution-history
shuoweil d2eea39
feat: support automatic per-cell execution history filtering
shuoweil 21d5dd8
format code
shuoweil 97c7260
fix: avoid mutating extra_query_labels in place
shuoweil f080dda
format code
shuoweil 4bd2735
fix: update pre-commit config to use ruff
shuoweil 9dd03ed
Merge branch 'main' into shuowei-filter-execution-history
shuoweil dcae615
fix mypy
shuoweil eb548b6
Merge branch 'main' into shuowei-filter-execution-history
shuoweil 7db1330
feat: universal per-cell execution history filtering
shuoweil da6682c
format code
shuoweil 0ef9216
revert .pre-commit-config.yaml to old black/flake8 config
shuoweil 2e3de3d
Merge branch 'main' into shuowei-angular
shuoweil 3cc2770
chore: clean up angular boilerplate and add copyright headers
shuoweil 65dce43
Merge branch 'main' into shuowei-angular
shuoweil c31f5a5
feat: rewrite TableWidget core in Angular
shuoweil 3b4f7d7
fix(display): cast JSON and nested struct columns to string for anywi…
shuoweil cef1518
format code
shuoweil efe189d
Merge branch 'main' into shuowei-angular-rewrite-core
shuoweil 5282e6d
opt(display): batch df.assign calls for json display serialization
shuoweil b3c5577
format code
shuoweil 8a60c13
Merge branch 'main' into shuowei-angular
shuoweil 66fe150
Merge branch 'main' into shuowei-filter-execution-history
shuoweil b9c9336
feat: propagate cell execution count to widget queries and rename his…
shuoweil 5f9d824
refactor: deduplicate ipython execution count
shuoweil d9a5593
feat: change default of execution history all_cells to True
shuoweil 0c8f8c7
fix IPython mocking in unit tests
shuoweil 81bf807
Merge main
shuoweil 409a2fb
Merge branch 'main' into shuowei-filter-execution-history
shuoweil 609f1a7
Merge branch 'main' into shuowei-angular
shuoweil d984db9
Merge branch 'shuowei-angular' into shuowei-angular-rewrite-core
shuoweil 3c2c0d7
fix(display): update test_html.py unit test for display refactoring
shuoweil 86e9842
refactor(display): rename display function to _process_display_df
shuoweil f158662
Merge branch 'main' into shuowei-filter-execution-history
shuoweil eb3934b
address pr review comments on execution history
shuoweil ee477b8
format code
shuoweil f183e36
Merge branch 'main' into shuowei-angular-rewrite-core
shuoweil b6ae358
Merge remote-tracking branch 'origin/shuowei-filter-execution-history…
shuoweil 94f2761
Merge branch 'main' into shuowei-angular-rewrite-core
shuoweil 4d9a145
Fix Angular bootstrap by providing zoneless change detection
shuoweil da8dffb
Merge branch 'main' into shuowei-angular-rewrite-core
shuoweil 6a82838
fix: use createApplication to bootstrap widget on element
shuoweil 973bdac
docs: rerun notebook
shuoweil e93a7a7
test: add unit test for angular widget bootstrap
shuoweil b3e2220
Merge branch 'main' into shuowei-angular-rewrite-core
shuoweil a18e7be
test: clean up redundant comments in test
shuoweil 7e663e8
Update packages/bigframes/bigframes/display/table_widget_angular/src/…
shuoweil 3ac7567
Update packages/bigframes/bigframes/display/table_widget_angular/src/…
shuoweil bb539ca
Update packages/bigframes/bigframes/display/table_widget_angular/src/…
shuoweil fcea30a
Update packages/bigframes/bigframes/display/table_widget_angular/src/…
shuoweil 9adb442
fix: address table widget angular code review comments
shuoweil 80fc691
Merge branch 'main' into shuowei-angular-rewrite-core
shuoweil a55af3e
format
shuoweil 07c77fe
style: format table widget angular and tests to 80-char limit
shuoweil File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -819,7 +819,7 @@ def __repr__(self) -> str: | |
| column_count=len(self.columns), | ||
| ) | ||
|
|
||
| def _get_display_df(self) -> DataFrame: | ||
| def _process_display_df(self) -> tuple[DataFrame, list[str]]: | ||
| """Process ObjectRef and JSON/nested JSON columns for display.""" | ||
| df = self | ||
| # Arrow/Pandas to_pandas_batches does not support raw JSON/nested JSON | ||
|
|
@@ -837,7 +837,7 @@ def _get_display_df(self) -> DataFrame: | |
| sql_template="TO_JSON_STRING({0})", | ||
| ) | ||
| df = df.assign(**{col: df[col]._apply_unary_op(op) for col in json_cols}) | ||
| return df | ||
| return df, [] | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what's the purpose of returning an empty list and then drop it? |
||
|
|
||
| def _repr_mimebundle_(self, include=None, exclude=None): | ||
| """ | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don't quite get the meaning of renaming the function.
Though the original name wasn't representative, "process" is more vague than "get".