gristlabs_grist-core/app/client
Alex Hall 0d460ac2d4 (core) Parsing pasted ChoiceLists
Summary:
Added ChoiceListParser capable of parsing JSON, CSVs, and other strings containing user-configured choices (e.g. separated by spaces)

I got a little carried away here. It works, and I can't think of any bugs, but it's complicated enough that there could be hidden edge cases or difficulties maintaining it in the future. The advantage of the current method is that it should work well for ambiguous or poorly formatted inputs, e.g. choices separated only by spaces or choices containing commas which are not escaped/quoted properly. The code can be vastly simplified if we don't try to support that and require that users paste proper JSON or CSVs.

Test Plan: Added a new file test/common/ChoiceListParser.ts with pure unit tests. Waiting for approval of the overall approach before adding to the nbrowser CopyPaste test.

Reviewers: dsagal

Reviewed By: dsagal

Differential Revision: https://phab.getgrist.com/D3141
2021-11-20 19:00:36 +02:00
..
aclui (core) flesh out "View As" feature 2021-10-08 12:00:40 -04:00
components (core) Set min-height for cells, including in Card view, to make them look consistent. 2021-11-19 17:23:03 -05:00
lib (core) Parsing multiple values in reflists, parsing refs without table data in client 2021-11-09 14:41:04 +02:00
models (core) Show ACL link in UserManager conditionally 2021-11-17 08:43:14 -08:00
ui (core) Show ACL link in UserManager conditionally 2021-11-17 08:43:14 -08:00
ui2018 (core) Expanding search textbox to full height. 2021-11-18 23:48:07 +01:00
widgets (core) Parsing pasted ChoiceLists 2021-11-20 19:00:36 +02:00
app.css (core) Make mobile the default mode. 2021-02-25 11:31:43 -05:00
app.js (core) Avoid loading the Grist frontend app more than once. 2021-09-07 16:40:40 -04:00
declarations.d.ts (core) Convert CopySelection and tableUtil to typescript 2021-10-25 18:55:26 -04:00
errorMain.ts (core) clean up a collection of small problems affecting grist-core 2021-08-17 21:44:50 -04:00
exposeModulesForTests.js (core) Some cleanup: remove old unused modules. 2020-11-20 11:23:20 -05:00
logo.css (core) Cleanup removing some old unused files, fixing logo.css, and removing #grist-app. 2020-10-09 17:04:09 -04:00
tsconfig.json freshen app/client/ui2018/cssVars.ts 2020-06-23 16:16:38 -04:00