gristlabs_grist-core/app/client/ui
Paul Fitzpatrick cc9a9ae8c5 (core) support for bundling custom widgets with the Grist app
Summary:
This adds support for bundling custom widgets with the Grist app, as follows:

 * Adds a new `widgets` component to plugins mechanism.
 * When a set of widgets is provided in a plugin, the html/js/css assets for those widgets are served on the existing untrusted user content port.
 * Any bundled `grist-plugin-api.js` will be served with the Grist app's own version of that file. It is important that bundled widgets not refer to https://docs.getgrist.com for the plugin js, since they must be capable of working offline.
 * The logic for configuring that port is updated a bit.
 * I removed the CustomAttachedView class in favor of applying settings of bundled custom widgets more directly, without modification on view.

Any Grist installation via docker will need an extra step now, since there is an extra port that needs exposing for full functionality. I did add a `GRIST_TRUST_PLUGINS` option for anyone who really doesn't want to do this, and would prefer to trust the plugins and have them served on the same port.

Actually making use of bundling will be another step. It'll be important to mesh it with our SaaS's use of APP_STATIC_URL for serving most static assets.

Design sketch: https://grist.quip.com/bJlWACWzr2R9/Bundled-custom-widgets

Test Plan: added a test

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D4069
2023-10-27 17:00:10 -04:00
..
AccountPage.ts (core) Delete my account button 2023-09-27 14:49:23 +02:00
AccountPageCss.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
AccountWidget.ts (core) Disabling unsaved changes when logging in 2023-10-10 16:53:50 +02:00
AddNewButton.ts Introduce GRIST_ANON_PLAYGROUND variable #642 (#651) 2023-09-08 09:05:52 -04:00
AddNewTip.ts (core) Add tip for "Add New" button 2023-01-16 16:50:42 -08:00
ApiKey.ts i18n: userManager translation + some forgotten translations (#557) 2023-07-16 12:52:13 -04:00
App.css (core) Polish tutorial popups 2023-04-20 12:20:03 -04:00
App.ts (core) Add support for auto-copying docs on signup 2023-09-06 15:12:08 -04:00
AppHeader.ts (core) Revert part of the recent tweaks to AppHeader 2023-09-20 11:27:46 -04:00
AppUI.ts (core) Tweak navbar, breadcrumbs, and sign-in buttons 2023-07-26 22:26:55 -07:00
BottomBar.ts (core) Making side bars a bit more usable for narrow screen 2021-01-19 15:22:01 +01:00
buttons.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
CellContextMenu.ts (core) Add cut, copy, and paste to context menu 2023-05-10 00:48:15 -04:00
CodeHighlight.ts (core) Implement AI Assistant UI V2 2023-07-13 10:30:35 -04:00
ColumnFilterCalendarView.ts (core) Add dark theme to date picker 2023-02-03 10:37:12 -05:00
ColumnFilterMenu.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
ColumnFilterMenuUtils.ts (core) Enable search in column pickers 2023-01-04 10:02:12 +01:00
ColumnTitle.ts (core) updates from grist-core 2023-05-15 12:01:19 -04:00
contextMenu.ts (core) Improve context menu placement on narrow screens 2023-10-25 10:35:49 -04:00
cssInput.ts (core) Add dark mode to user preferences 2022-09-05 19:17:32 -07:00
CustomSectionConfig.ts (core) support for bundling custom widgets with the Grist app 2023-10-27 17:00:10 -04:00
CustomThemes.ts (core) Remove a defunct URL constant and a product flavor. 2023-05-05 18:28:04 -04:00
DateRangeOptions.ts (core) New date filter with a calendar view 2022-12-20 09:58:42 +01:00
DescriptionConfig.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
DocHistory.ts Change translation keys for ui directory 2023-01-03 15:50:10 +01:00
DocMenu.ts (core) Add Support Grist page and nudge 2023-07-04 17:36:59 -04:00
DocMenuCss.ts (core) Adding tutorial card 2023-03-28 19:57:52 +02:00
DocTour.ts i18n: userManager translation + some forgotten translations (#557) 2023-07-16 12:52:13 -04:00
DocTutorial.css (core) Fix browser history bug with tutorials 2023-04-19 00:22:42 -04:00
DocTutorial.ts (core) Implement AI Assistant UI V2 2023-07-13 10:30:35 -04:00
DocTutorialRenderer.ts (core) Fix browser history bug with tutorials 2023-04-19 00:22:42 -04:00
DocumentSettings.ts (core) Add cut, copy, and paste to context menu 2023-05-10 00:48:15 -04:00
DuplicateTable.ts Linting long lines 2023-01-03 17:45:14 +01:00
errorPages.ts (core) Delete my account button 2023-09-27 14:49:23 +02:00
ExampleCard.ts (core) Add dark mode to user preferences 2022-09-05 19:17:32 -07:00
ExampleInfo.ts i18n: userManager translation + some forgotten translations (#557) 2023-07-16 12:52:13 -04:00
FieldConfig.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
FieldContextMenu.ts (core) Add cut, copy, and paste to context menu 2023-05-10 00:48:15 -04:00
FieldMenus.ts Change translation keys for simple context keys 2023-01-03 15:50:11 +01:00
FileDialog.ts (core) Faster builds all around. 2022-07-04 10:42:40 -04:00
FilterBar.ts (core) Wrap buttons in filter bar 2023-06-06 11:34:49 -04:00
FilterConfig.ts Change translation keys for ui directory 2023-01-03 15:50:10 +01:00
FloatingPopup.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
forms.ts (core) Floating formula editor 2023-06-02 17:59:22 +02:00
googleAuth.ts (core) Extending Google Drive integration scope 2021-10-01 10:47:12 +02:00
GridOptions.ts Change translation keys for ui directory 2023-01-03 15:50:10 +01:00
GridViewMenus.ts (core) Tweak Add Column menu 2023-10-24 15:35:42 -04:00
GristTooltips.ts (core) Add tests and tooltips to new Add Column menu 2023-10-24 11:53:26 -04:00
HomeImports.ts (core) Adding import from google drive to the home screen 2021-08-05 20:46:11 +02:00
HomeIntro.ts Introduce GRIST_ANON_PLAYGROUND variable #642 (#651) 2023-09-08 09:05:52 -04:00
HomeLeftPane.ts (core) updates from grist-core 2023-09-11 10:00:39 -04:00
inputs.ts Fixing all eslint's reported error 2023-01-03 17:22:58 +01:00
LanguageMenu.ts (core) Fix missing placeholder flag icon 2023-02-26 22:23:04 -05:00
LeftPanelCommon.ts (core) Add GRIST_UI_FEATURES env variable 2023-05-22 16:05:51 -04:00
LoginPagesCss.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
MakeCopyMenu.ts (core) updates from grist-core 2023-09-11 10:00:39 -04:00
MenuToggle.ts (core) Add dark mode to user preferences 2022-09-05 19:17:32 -07:00
mouseDrag.ts (core) Add cell selection summary 2022-09-30 09:11:46 -07:00
MultiSelector.ts (core) Add rules to eslint to better match our coding conventions. 2021-05-24 12:56:18 -04:00
NotifyUI.ts (core) Billing for formula assistant 2023-07-10 13:24:08 +02:00
OnBoardingPopups.ts (core) Polish tutorial popups 2023-04-20 12:20:03 -04:00
OpenUserManager.ts (core) Update design of empty docs home page, and add a "Manage Team" button. 2022-06-03 12:58:57 -04:00
OpenVideoTour.ts (core) Update video tour 2023-09-19 16:28:36 -04:00
PagePanels.ts Fixed typo in a comment (#656) 2023-09-01 09:59:33 -04:00
Pages.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
PageWidgetPicker.ts (core) Add tests and tooltips to new Add Column menu 2023-10-24 11:53:26 -04:00
PinnedDocs.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
PredefinedCustomSectionConfig.ts (core) custom widget appear as build-in widget 2023-08-30 09:44:25 +02:00
ProductUpgradesStub.ts (core) Removing NEW_DEAL flag 2022-08-09 17:29:28 +02:00
RelativeDatesOptions.ts (core) Fix date filter for DateTime columns. 2023-01-18 10:18:15 +01:00
RenamePopupStyles.ts feature widget description (#483) 2023-05-12 09:08:28 -04:00
resizeHandle.ts Initial config with a few files that build on client and server side. 2020-05-20 00:50:46 -04:00
RightPanel.ts Bidirectional Linking (#622) 2023-09-25 18:48:18 -04:00
RightPanelStyles.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
RowContextMenu.ts Change translation keys for keys with counts 2023-01-03 15:50:11 +01:00
sanitizeHTML.ts (core) Add initial tutorials implementation 2023-03-22 10:09:02 -04:00
searchDropdown.ts i18n: userManager translation + some forgotten translations (#557) 2023-07-16 12:52:13 -04:00
selectBy.ts (core) Tests and bug fixes for bidirectional linking 2023-10-10 15:31:48 +02:00
sendToDrive.ts Change translation keys for ui directory 2023-01-03 15:50:10 +01:00
setupPage.ts (core) i18 2022-09-29 18:02:09 +02:00
shadowScroll.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
ShareMenu.ts (core) Add tests and tooltips to new Add Column menu 2023-10-24 11:53:26 -04:00
ShortcutKey.ts (core) Add April Fools easter egg 2023-03-27 14:12:52 -04:00
SiteSwitcher.ts (core) Add GRIST_UI_FEATURES env variable 2023-05-22 16:05:51 -04:00
SortConfig.ts (core) Enable search in column pickers 2023-01-04 10:02:12 +01:00
SortFilterConfig.ts Fix tests 2023-01-03 16:01:45 +01:00
SupportGristNudge.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
SupportGristPage.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
TemplateDocs.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
ThemeConfig.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
Tools.ts (core) Add initial tutorials implementation 2023-03-22 10:09:02 -04:00
tooltips.ts (core) Add tests and tooltips to new Add Column menu 2023-10-24 11:53:26 -04:00
TopBar.ts (core) Tweak navbar, breadcrumbs, and sign-in buttons 2023-07-26 22:26:55 -07:00
TopBarCss.ts (core) Add dark mode to user preferences 2022-09-05 19:17:32 -07:00
transientInput.ts (core) Add dark mode to user preferences 2022-09-05 19:17:32 -07:00
transitions.ts (core) Speed up and upgrade build. 2022-06-27 16:10:10 -04:00
TreeViewComponent.ts (core) Revealing hidden pages with visible children. 2022-10-31 14:02:38 +01:00
TreeViewComponentCss.ts (core) Add dark mode to user preferences 2022-09-05 19:17:32 -07:00
TriggerFormulas.ts Change translation keys for ui directory 2023-01-03 15:50:10 +01:00
TutorialCard.ts (core) Add GRIST_UI_FEATURES env variable 2023-05-22 16:05:51 -04:00
UserImage.ts (core) Adds new view as banner 2023-01-03 12:33:34 +01:00
UserItem.ts Improve input team member (#268) 2022-09-21 10:30:54 -04:00
UserManager.ts i18n: userManager translation + some forgotten translations (#557) 2023-07-16 12:52:13 -04:00
ViewLayoutMenu.ts add hooks for tweaking how downloads happen (for grist-static) (#665) 2023-09-09 14:50:32 -04:00
viewport.ts (core) Make mobile the default mode. 2021-02-25 11:31:43 -05:00
ViewSectionMenu.ts (core) Polish dark mode and remove beta tag 2023-09-21 13:14:48 -04:00
VisibleFieldsConfig.ts (core) custom widget appear as build-in widget 2023-08-30 09:44:25 +02:00
WebhookPage.ts (core) GET endpoint for webhooks returns now data in format {webhooks:[...]} 2023-07-26 11:36:24 +02:00
WelcomeCoachingCall.ts (core) Add optional telemetry to grist-core 2023-06-07 12:00:51 -04:00
WelcomePage.ts (core) Add support for auto-copying docs on signup 2023-09-06 15:12:08 -04:00
WelcomeQuestions.ts (core) Add welcomeQuestionsSubmitted telemetry event 2023-09-13 00:31:04 -04:00
WelcomeSitePicker.ts (core) Revert part of the recent tweaks to AppHeader 2023-09-20 11:27:46 -04:00
WelcomeTour.ts i18n: userManager translation + some forgotten translations (#557) 2023-07-16 12:52:13 -04:00
WidgetTitle.ts feature widget description (#483) 2023-05-12 09:08:28 -04:00
widgetTypesMap.ts (core) Mappings improvements 2023-10-09 10:58:54 +02:00
YouTubePlayer.ts (core) Add telemetry 2023-04-06 12:34:54 -04:00