gristlabs_grist-core/sandbox/grist
Alex Hall 8ec823e7ee (core) Return RecordSet instead of list from property access when possible, to allow further property access
Summary: While `$ref.other_ref` returns a reference (Record) allowing chaining more properties like `$ref.other_ref.foo`, reflists (RecordSet) did not allow this, e.g. `$reflist.other_ref` returned a plain list of records, preventing chaining more dot notation. Discussed here: https://grist.slack.com/archives/CDHABLZJT/p1648845745765839

Test Plan: Added a Python unit test. Formulas like `$reflist.other_ref` were already very common though, and getting the functionality code slightly wrong leads to a flood of test failures.

Reviewers: jarek

Reviewed By: jarek

Subscribers: jarek

Differential Revision: https://phab.getgrist.com/D3354
2022-04-05 18:05:00 +02:00
..
functions (core) Replace compute stack and frames with _current_node and _current_row_id 2022-03-11 12:34:00 +02:00
imports (core) When importing JSON, create columns of type Numeric rather than Int 2022-03-30 09:54:35 -04:00
acl_formula.py (core) AddOrUpdateRecord user action 2022-02-03 16:22:51 -05:00
acl.py
action_obj.py
action_summary.py
actions.py (core) AddOrUpdateRecord user action 2022-02-03 16:22:51 -05:00
autocomplete_context.py (core) Autocomplete True/False/None in formulas from lowercase values 2021-11-05 11:18:00 -04:00
codebuilder.py
column.py (core) Add PUT /records DocApi endpoint to AddOrUpdate records 2022-02-12 09:44:34 +02:00
csv_patch.py
depend.py
docactions.py (core) Undo bug - restoring dependencies for trigger formulas 2021-12-06 16:09:41 +01:00
docmodel.py (core) Conditional formatting rules 2022-03-23 13:15:02 +01:00
engine.py (core) Make lookups depend on all rows 2022-03-14 19:42:51 +02:00
gencode.py Correct spelling mistakes 2022-02-19 09:46:49 +00:00
gpath.py
grist.py (core) Use MixedTypesKey for sort_by arg of lookupRecords to avoid errors in Python 3 2021-11-09 18:08:29 +02:00
identifiers.py
import_actions.py (core) Lossless imports 2022-03-08 12:14:39 +02:00
logger.py
lookup.py (core) Make lookups depend on all rows 2022-03-14 19:42:51 +02:00
main.py (core) Log number of rows in user tables in data engine 2022-02-22 00:59:56 +02:00
match_counter.py
migrations.py (core) Conditional formatting rules 2022-03-23 13:15:02 +01:00
moment.py (core) New type conversion in the backend 2022-02-04 20:28:13 +02:00
objtypes.py (core) A few tiny documentation tweaks. 2022-01-07 14:26:00 -05:00
parse_data.py (core) Lossless imports 2022-03-08 12:14:39 +02:00
records.py Tweaks to documentation comments for user-facing Grist functions (#126) 2022-02-13 00:45:24 -05:00
relabeling.py
relation.py
runtests.py
sandbox.py
schema.py (core) Conditional formatting rules 2022-03-23 13:15:02 +01:00
sort_specs.py
summary.py (core) Conditional formatting rules 2022-03-23 13:15:02 +01:00
table_data_set.py
table.py (core) Return RecordSet instead of list from property access when possible, to allow further property access 2022-04-05 18:05:00 +02:00
test_acl_formula.py
test_acl_renames.py
test_actions.py
test_codebuilder.py
test_column_actions.py (core) Fuller guessing of type and options when adding first data to blank columns 2022-03-01 22:00:45 +02:00
test_completion.py (core) add a user.SessionID value for trigger formulas and granular access rules 2022-02-22 12:50:43 -05:00
test_default_formulas.py
test_depend.py
test_derived.py (core) Log number of rows in user tables in data engine 2022-02-22 00:59:56 +02:00
test_display_cols.py (core) Backend restrictions for raw data widgets 2022-02-15 22:04:32 +02:00
test_docmodel.py (core) Backend restrictions for raw data widgets 2022-02-15 22:04:32 +02:00
test_engine.py (core) Create an extra raw data widget when creating a table 2022-02-01 21:19:30 +02:00
test_find_col.py Correct spelling mistakes 2022-02-19 09:46:49 +00:00
test_formula_error.py
test_formula_undo.py
test_functions.py
test_gencode.py
test_gpath.py
test_import_actions.py (core) Create an extra raw data widget when creating a table 2022-02-01 21:19:30 +02:00
test_logger.py
test_lookups.py (core) Log number of rows in user tables in data engine 2022-02-22 00:59:56 +02:00
test_match_counter.py (core) Import Hashable from six.moves.collections_abc 2022-02-22 00:27:51 +02:00
test_migrations.py
test_moment.py (core) New type conversion in the backend 2022-02-04 20:28:13 +02:00
test_record_func.py
test_recordlist.py (core) Return RecordSet instead of list from property access when possible, to allow further property access 2022-04-05 18:05:00 +02:00
test_reflist_rel.py (core) New type conversion in the backend 2022-02-04 20:28:13 +02:00
test_relabeling.py
test_renames2.py Correct spelling mistakes 2022-02-19 09:46:49 +00:00
test_renames.py (core) add a user.SessionID value for trigger formulas and granular access rules 2022-02-22 12:50:43 -05:00
test_replay.py
test_rules.py (core) Conditional formatting rules 2022-03-23 13:15:02 +01:00
test_side_effects.py
test_sort_spec.py
test_summary2.py (core) Create an extra raw data widget when creating a table 2022-02-01 21:19:30 +02:00
test_summary_choicelist.py (core) Log number of rows in user tables in data engine 2022-02-22 00:59:56 +02:00
test_summary_undo.py (core) Fix some bugs with ChoiceList in summary tables, and evaluation of lookups. 2021-12-15 09:51:18 -05:00
test_summary.py (core) Improving experience when editing group-by column. 2022-01-18 14:31:31 +01:00
test_table_actions.py (core) Create an extra raw data widget when creating a table 2022-02-01 21:19:30 +02:00
test_table_data_set.py
test_temp_rowids.py
test_textbuilder.py
test_treeview.py
test_trigger_formulas.py (core) add a user.SessionID value for trigger formulas and granular access rules 2022-02-22 12:50:43 -05:00
test_twowaymap.py
test_types.py
test_undo.py
test_urllib_patch.py
test_user.py (core) add a user.SessionID value for trigger formulas and granular access rules 2022-02-22 12:50:43 -05:00
test_useractions.py (core) Log number of rows in user tables in data engine 2022-02-22 00:59:56 +02:00
testsamples.py
testscript.json (core) Log number of rows in user tables in data engine 2022-02-22 00:59:56 +02:00
testutil.py
textbuilder.py
treeview.py
twowaymap.py
tzdata.data
urllib_patch.py
user.py (core) add a user.SessionID value for trigger formulas and granular access rules 2022-02-22 12:50:43 -05:00
useractions.py (core) Copy column type and options when pasting into an empty column 2022-04-04 14:53:16 +02:00
usercode.py
usertypes.py (core) New type conversion in the backend 2022-02-04 20:28:13 +02:00
xmlrunner.py