gristlabs_grist-core/sandbox/grist
George Gevoian f2141851be (core) Automatically remove leaves from layout specs
Summary:
When fields or sections were being removed from Grist documents, any
layout specs that referred to them weren't being updated to no longer
do so. This mismatch was causing various buggy scenarios to manifest
in cases where the stale ids were being reused. We now automatically
update any affected layout specs whenever fields or sections are
removed.

Test Plan: Python tests.

Reviewers: jarek

Reviewed By: jarek

Differential Revision: https://phab.getgrist.com/D4302
2024-07-23 12:22:11 -04:00
..
functions (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
imports (core) Improve encoding detection for csv imports, and make encoding an editable option. 2023-08-24 09:50:52 -04:00
acl.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
action_obj.py (core) External requests 2022-06-17 21:53:20 +02:00
action_summary.py (core) Fix undo error for automatically removed rows, especially in summary tables 2022-09-09 22:15:45 +02:00
actions.py (core) AddOrUpdateRecord user action 2022-02-03 16:22:51 -05:00
attribute_recorder.py (core) Allow assistant to evaluate current formula 2023-07-24 21:59:00 +02:00
autocomplete_context.py (core) Make Python tests pass in Python 3.11 2023-07-28 16:37:38 +02:00
codebuilder.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
column.py (core) Fix for ReferenceList conversion during table rename 2024-04-24 17:00:11 +02:00
csv_patch.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
depend.py (core) Implement trigger formulas (generalizing default formulas) 2021-06-25 22:53:07 -04:00
docactions.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
docmodel.py (core) Record Cards 2023-11-19 20:12:37 -05:00
dropdown_condition.py (core) Replacing python3 specifc code 2024-07-16 17:52:38 +02:00
engine.py (core) New API to collect timing information from formula evaluation. 2024-04-24 11:07:11 +02:00
fake_std_streams.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
formula_prompt.py (core) Add AI Assistant retry with shorter prompt 2024-02-12 11:06:52 -05:00
friendly_errors.py (core) Upgrade friendly-traceback and its dependencies 2022-10-28 14:44:14 +02:00
gencode.py fixes removed module in Python 3.12 (#984) 2024-05-20 14:56:05 +01:00
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 (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
import_actions.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
lookup.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
main.py (core) Adding UI for timing API 2024-05-22 14:56:53 +02:00
match_counter.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
migrations.py Webhook trigger update by column (#832) 2024-04-12 16:04:37 -04:00
moment.py (core) Cache converting timestamp to date 2024-01-08 10:50:50 +02:00
objtypes.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
parse_data.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
predicate_formula.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
records.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
relabeling.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
relation.py (core) Polish and enable Reference List widget 2021-08-12 11:51:21 -07:00
runtests.py python(tests): print logging when running tests in verbose mode 2022-09-20 17:22:28 +02:00
sandbox.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
schema.py Webhook trigger update by column (#832) 2024-04-12 16:04:37 -04:00
sort_key.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
sort_specs.py (core) Adding sort options for columns. 2021-11-03 15:31:39 +01:00
summary.py (core) Record Cards 2023-11-19 20:12:37 -05:00
table_data_set.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
table.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_acl_formula.py (core) Add dropdown conditions 2024-04-26 16:57:55 -04:00
test_acl_renames.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
test_actions.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
test_codebuilder.py Skip tests involving f-strings for Python 3.9 (#669) 2023-09-11 18:49:30 +02:00
test_column_actions.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_completion.py (core) add initial support for special shares 2024-01-04 05:57:38 -05:00
test_default_formulas.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_depend.py (core) Fix recursion error in invalidate_deps 2021-06-18 15:42:20 +02:00
test_derived.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_display_cols.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_docmodel.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_dropdown_condition_renames.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
test_dropdown_condition.py (core) Add dropdown conditions 2024-04-26 16:57:55 -04:00
test_engine.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_find_col.py Correct spelling mistakes 2022-02-19 09:46:49 +00:00
test_formula_error.py (core) Ignore leading whitespace in formulas, and strip out leading '=' sign users might add 2023-04-25 15:28:40 -04:00
test_formula_prompt.py Skip tests involving f-strings for Python 3.9 (#669) 2023-09-11 18:49:30 +02:00
test_formula_undo.py (core) Mark column changing actions as indirect when adding data to empty column 2022-05-25 16:21:04 +02:00
test_functions.py (core) Don't swallow TypeErrors in functions like SUM 2022-10-25 12:15:13 +02:00
test_gencode.py (core) Make Python tests pass in Python 3.11 2023-07-28 16:37:38 +02:00
test_import_actions.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_lookup_find.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_lookup_perf.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_lookup_sort.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_lookups.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_match_counter.py (core) Import Hashable from six.moves.collections_abc 2022-02-22 00:27:51 +02:00
test_migrations.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
test_moment.py (core) New type conversion in the backend 2022-02-04 20:28:13 +02:00
test_predicate_formula.py Update dropdown conditions on column rename (#1038) 2024-07-12 14:58:49 +00:00
test_prevnext.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_record_func.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
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) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_relabeling.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_renames2.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_renames.py (core) Fix bug with column renames when using **kwargs with lookupOne or lookupRecords. 2024-05-09 09:37:10 -04:00
test_replace_table_data.py (core) Fix bug in data engine when records are added after clearing a table with ReplaceTableData. 2024-02-05 12:22:14 -05:00
test_replay.py (core) Python optimizations to speed up data engine 2023-02-09 12:49:58 -05:00
test_requests.py REQUEST with unknown and undetectable encoding (#600) 2023-08-02 16:49:37 -04:00
test_rules_grid.py (core) Implementing row conditional formatting 2022-08-09 20:11:36 +02:00
test_rules.py (core) Updating RawData views 2022-05-04 21:41:42 +02:00
test_side_effects.py (core) Ensure formulas return something and don't assign to attributes of rec 2022-05-23 21:06:18 +02:00
test_sort_key.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_sort_spec.py (core) Adding sort options for columns. 2021-11-03 15:31:39 +01:00
test_summary2.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_summary_choicelist.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_summary_undo.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_summary.py (core) Fix error in sandbox when removing multiple summary source columns 2023-09-27 16:23:49 +02:00
test_table_actions.py (core) Record Cards 2023-11-19 20:12:37 -05:00
test_table_data_set.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
test_temp_rowids.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
test_textbuilder.py (core) Simple Python 3 compatibility changes 2021-06-22 17:13:17 +02:00
test_treeview.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
test_trigger_formulas.py (core) add initial support for special shares 2024-01-04 05:57:38 -05:00
test_twowaymap.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
test_types.py (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
test_undo.py (core) Fix undo error for automatically removed rows, especially in summary tables 2022-09-09 22:15:45 +02:00
test_urllib_patch.py (core) Remaining Python 3 compatibility changes 2021-06-25 12:00:58 +02:00
test_user.py (core) add initial support for special shares 2024-01-04 05:57:38 -05:00
test_useractions.py (core) Automatically remove leaves from layout specs 2024-07-23 12:22:11 -04:00
testsamples.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
testscript.json (core) Polish Record Cards 2024-01-30 13:25:50 -05:00
testutil.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
textbuilder.py (core) Remaining Python 3 compatibility changes 2021-06-25 12:00:58 +02:00
timing.py (core) New API to collect timing information from formula evaluation. 2024-04-24 11:07:11 +02:00
treeview.py (core) move data engine code to core 2020-07-29 08:57:25 -04:00
twowaymap.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
tzdata.data (core) apply some dependabot suggestions 2022-09-07 14:15:34 -04:00
urllib_patch.py (core) Remaining Python 3 compatibility changes 2021-06-25 12:00:58 +02:00
user.py (core) add initial support for special shares 2024-01-04 05:57:38 -05:00
useractions.py (core) Automatically remove leaves from layout specs 2024-07-23 12:22:11 -04:00
usercode.py (core) Make Python tests pass in Python 3.11 2023-07-28 16:37:38 +02:00
usertypes.py (core) Implement PREVIOUS/NEXT/RANK and lookupRecords().find.* methods. 2024-07-17 12:00:55 -04:00
xmlrunner.py (core) Run python unit tests again in python 3 2021-06-30 21:46:18 +02:00