gristlabs_grist-core/app/client/widgets
Alex Hall 5b352211c4 (core) Guess date format during type conversion
Summary:
- Adds a dependency moment-guess (https://github.com/apoorv-mishra/moment-guess) to guess date formats from strings. However the npm package is missing source maps which leads to an ugly warning, so currently using a fork until https://github.com/apoorv-mishra/moment-guess/pull/22 is resolved.
- Adds guessDateFormat using moment-guess to determine the best candidate date format. The logic may be refined for e.g. lossless imports where the stakes are higher, but for now we're just trying to make type conversions smoother.
- Uses guessDateFormat to guess widget options when changing column type to date or datetime.
- Uses the date format of the original column when possible instead of guessing.
- Fixes a bug where choices were guessed based on the display column instead of the visible column, which made the guessed choices influenced by which values were referenced as well as completely broken when converting from reflist.
- @dsagal @georgegevoian This builds on https://phab.getgrist.com/D3265, currently unmerged. That diff was created first to alert to the change. Without it there would still be similar test failures/changes here as the date format would often be concretely guessed and saved as YYYY-MM-DD instead of being left as the default `undefined` which is shows as YYYY-MM-DD in the dropdown.

Test Plan: Added a unit test to `parseDate.ts`. Updated several browser tests which show the guessing in action during type conversion quite nicely.

Reviewers: georgegevoian

Reviewed By: georgegevoian

Subscribers: dsagal, georgegevoian

Differential Revision: https://phab.getgrist.com/D3264
2022-02-21 22:39:47 +02:00
..
AbstractWidget.js (core) Use visibleCol instead of displayCol with createFormatter 2021-12-16 22:19:36 +02:00
AttachmentsEditor.ts (core) Use MetaTableData more 2021-12-07 17:09:58 +02:00
AttachmentsWidget.css (core) Revamp attachment editor + preview UI, and support more types, including PDFs. 2020-11-19 21:30:09 -05:00
AttachmentsWidget.ts (core) Use MetaTableData more 2021-12-07 17:09:58 +02:00
BaseEditor.js Correct spelling mistakes 2022-02-19 09:46:49 +00:00
CheckBox.css (core) Making cells colors effective also in Card and Card List views 2021-02-09 15:08:44 +01:00
CheckBox.js (core) Add new color select to the app 2021-03-02 16:41:37 +01:00
CheckBoxEditor.js (core) Readonly editors 2021-06-17 19:12:16 +02:00
ChoiceEditor.js (core) Fixing bug on a fresh Choice and ChoiceList column 2021-07-21 15:44:10 +02:00
ChoiceListCell.ts (core) Fix choice/ref list cell color not filling cell 2022-01-20 14:58:20 -08:00
ChoiceListEditor.ts (core) Fixing bug on a fresh Choice and ChoiceList column 2021-07-21 15:44:10 +02:00
ChoiceListEntry.ts (core) Summary columns improvemnt. 2022-01-25 17:51:48 +01:00
ChoiceTextBox.ts (core) Improving experience when editing group-by column. 2022-01-18 14:31:31 +01:00
ChoiceToken.ts (core) Enhance autocomplete and choice colors 2021-07-16 09:10:51 -07:00
CurrencyPicker.ts (core) Simple localization support and currency selector. 2021-08-26 13:36:49 -07:00
DateEditor.js (core) Change datepicker in DateEditor to use moment format, show AltText in DateEditor 2021-12-07 11:33:49 -05:00
DateTextBox.js (core) Guess date format during type conversion 2022-02-21 22:39:47 +02:00
DateTimeEditor.css (core) move client code to core 2020-10-02 13:24:21 -04:00
DateTimeEditor.js (core) Change datepicker in DateEditor to use moment format, show AltText in DateEditor 2021-12-07 11:33:49 -05:00
DateTimeTextBox.js (core) Guess date format during type conversion 2022-02-21 22:39:47 +02:00
DiffBox.ts (core) Configure more comprehensive eslint rules for Typescript 2021-04-26 18:54:55 -04:00
EditorButtons.ts (core) Add support for editing on mobile. 2021-02-03 23:10:51 -05:00
EditorPlacement.ts (core) Add support for editing on mobile. 2021-02-03 23:10:51 -05:00
EditorTooltip.ts (core) Add a button and a tooltip to Access Rules page item, in View-As mode. 2021-03-08 16:08:21 -05:00
ErrorDom.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
FieldBuilder.css (core) move client code to core 2020-10-02 13:24:21 -04:00
FieldBuilder.ts (core) Initial data tables page 2022-02-10 12:46:19 +02:00
FieldEditor.ts Correct spelling mistakes 2022-02-19 09:46:49 +00:00
FormulaEditor.ts (core) Better UX in full-edit mode for the formula editor 2021-12-27 13:56:04 +01:00
HyperLinkEditor.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
HyperLinkTextBox.ts (core) Showing links in text cells 2021-10-13 23:22:03 +02:00
NewAbstractWidget.ts (core) Reference and ReferenceList formatters 2022-01-13 18:09:33 +02:00
NewBaseEditor.ts Correct spelling mistakes 2022-02-19 09:46:49 +00:00
NTextBox.ts (core) Reference and ReferenceList formatters 2022-01-13 18:09:33 +02:00
NTextEditor.ts (core) Refactor more value parsing code into common 2021-12-09 21:05:27 +02:00
NumericTextBox.ts (core) Simple localization support and currency selector. 2021-08-26 13:36:49 -07:00
Reference.css (core) move client code to core 2020-10-02 13:24:21 -04:00
Reference.ts (core) Reference and ReferenceList formatters 2022-01-13 18:09:33 +02:00
ReferenceEditor.ts (core) Value parsing for refs, parsing data entry for numbers 2021-11-01 19:31:52 +02:00
ReferenceList.ts (core) Reference and ReferenceList formatters 2022-01-13 18:09:33 +02:00
ReferenceListEditor.ts (core) Value parsing for refs, parsing data entry for numbers 2021-11-01 19:31:52 +02:00
Spinner.css (core) move client code to core 2020-10-02 13:24:21 -04:00
Spinner.ts (core) Simple localization support and currency selector. 2021-08-26 13:36:49 -07:00
Switch.css (core) Making cells colors effective also in Card and Card List views 2021-02-09 15:08:44 +01:00
Switch.js (core) Add new color select to the app 2021-03-02 16:41:37 +01:00
TextBox.css (core) Readonly editors 2021-06-17 19:12:16 +02:00
TextEditor.css (core) Set min-height for cells, including in Card view, to make them look consistent. 2021-11-19 17:23:03 -05:00
TextEditor.js (core) Readonly editors 2021-06-17 19:12:16 +02:00
TZAutocomplete.ts (core) Improving experience when editing group-by column. 2022-01-18 14:31:31 +01:00
UserType.js (core) Polish and enable Reference List widget 2021-08-12 11:51:21 -07:00
UserTypeImpl.js (core) Barely working reference lists in frontend 2021-07-23 18:41:44 +02:00