gristlabs_grist-core/app/client/lib
Alex Hall bf271c822b (core) Copy column type and options when pasting into an empty column
Summary:
Adds a `data-grist-col-ref` attribute to the copied HTML, then uses that when pasting to look up the source column and retrieve info about it. Copies the info into the target column if:

- The document is the same (the docId hash matches)
- The source column still exists and has the same type as when copied
- The source type isn't Text, because in that case it's nice if type guessing still happens
- The target column is empty, meaning it has type Any (we check earlier that it's not a formula column)

The info copied is the type, widgetOptions, and reference column settings (visible and display columns) but not conditional formatting.

The changes are mostly in a function `parsePasteForView` which is based on `BaseView._parsePasteForView` but ported to TypeScript in a new file `BaseView2.ts`.

Added a useraction `MaybeCopyDisplayFormula` exposing an existing Python function `maybe_copy_display_formula` because the target column needs a slightly different display formula.

Test Plan: Added a new nbrowser test file and fixture doc.

Reviewers: cyprien

Reviewed By: cyprien

Subscribers: jarek, dsagal

Differential Revision: https://phab.getgrist.com/D3344
2022-04-04 14:53:16 +02:00
..
ACIndex.ts (core) Fix autocomplete selection when options include emoji 2021-10-04 22:58:00 -04:00
ACSelect.ts (core) Improving experience when editing group-by column. 2022-01-18 14:31:31 +01:00
autocomplete.ts (core) Add rules to eslint to better match our coding conventions. 2021-05-24 12:56:18 -04:00
browserGlobals.js (core) move client code to core 2020-10-02 13:24:21 -04:00
browserInfo.ts (core) Add our very own implementation of tokenfield (aka pillbox, tag list) 2021-05-03 17:16:24 -04:00
chartUtil.ts (core) Fix error bars for bar chart 2022-01-04 17:58:52 +01:00
copyToClipboard.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
CustomSectionElement.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
dblclick.ts (core) Fix double-tap on Android failing to select tapped cell; ensure gestures don't get interpreted as double-tap 2021-02-10 09:22:14 -05:00
Delay.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
dispose.d.ts Correct spelling mistakes 2022-02-19 09:46:49 +00:00
dispose.js (core) move client code to core 2020-10-02 13:24:21 -04:00
DocPluginManager.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
dom.js (core) move client code to core 2020-10-02 13:24:21 -04:00
domAsync.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
download.js (core) move client code to core 2020-10-02 13:24:21 -04:00
FocusLayer.ts (core) Add support for editing on mobile. 2021-02-03 23:10:51 -05:00
formUtils.ts (core) Migrate to SRP and add change password dialog 2022-03-16 21:35:06 -07:00
fromKoSave.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
guessTimezone.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
helpScout.ts (core) Reopen HelpScout beacon to the last-opened article 2022-03-31 14:54:55 -04:00
HomePluginManager.ts (core) Adding import from google drive to the home screen 2021-08-05 20:46:11 +02:00
imports.d.ts (core) tweak how search bar places cursor on sections 2021-08-30 09:26:28 -04:00
imports.js (core) tweak how search bar places cursor on sections 2021-08-30 09:26:28 -04:00
ImportSourceElement.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
koArray.d.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
koArray.js (core) move client code to core 2020-10-02 13:24:21 -04:00
koArrayWrap.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
koDom.js (core) Scrolling to the active record when editor is activated 2022-01-10 23:35:08 +01:00
koDomScrolly.css (core) move client code to core 2020-10-02 13:24:21 -04:00
koDomScrolly.js (core) move client code to core 2020-10-02 13:24:21 -04:00
koForm.css (core) move client code to core 2020-10-02 13:24:21 -04:00
koForm.js (core) move client code to core 2020-10-02 13:24:21 -04:00
koSession.js (core) move client code to core 2020-10-02 13:24:21 -04:00
koUtil.js (core) Conditional formatting rules 2022-03-23 13:15:02 +01:00
loadScript.js (core) move client code to core 2020-10-02 13:24:21 -04:00
localStorageObs.ts (core) New UI for raw data views 2022-03-12 13:51:48 +01:00
log.ts (core) support ?embed=true and &style=light for a clean embed experience 2020-08-14 13:34:38 -04:00
Mousetrap.js (core) Improve focus and keyboard shortcuts in modals. 2020-10-03 22:56:00 -04:00
multiselect.css (core) move client code to core 2020-10-02 13:24:21 -04:00
multiselect.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ObservableMap.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ObservableSet.js (core) move client code to core 2020-10-02 13:24:21 -04:00
ReferenceUtils.ts (core) Reference and ReferenceList formatters 2022-01-13 18:09:33 +02:00
SafeBrowser.ts Correct spelling mistakes 2022-02-19 09:46:49 +00:00
SafeBrowserProcess.css (core) move client code to core 2020-10-02 13:24:21 -04:00
sessionObs.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
sortUtil.ts (core) Adding sort options for columns. 2021-11-03 15:31:39 +01:00
tableUtil.ts (core) Copy column type and options when pasting into an empty column 2022-04-04 14:53:16 +02:00
testState.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
textUtils.ts (core) Check document ID when parsing pasted references 2021-11-30 13:40:17 +02:00
TokenField.ts (core) Disable mousedown on token delete button 2021-09-16 10:45:06 -07:00
uploads.ts Correct spelling mistakes 2022-02-19 09:46:49 +00:00
UrlState.ts (core) Fixes persistence of the aclAsUser_ parameters across navigation 2021-05-19 09:51:38 +02:00