* keyboard shortcuts using tinykeys
* refmt and fix lints
* retarget keyboard shortcuts to the body instead of the root element of the React component tree
* refmt
* Update src/Explorer/Menus/CommandBar/CommandBarUtil.tsx
Co-authored-by: Laurent Nguyen <laurent.nguyen@microsoft.com>
* add Save binding to New Item command bar
---------
Co-authored-by: Laurent Nguyen <laurent.nguyen@microsoft.com>
* Fix datatables issue and indicator not loading for Table API > Entities
* Fix jquery and datatables compile issues. Add patch for datatables.net-colreorder error in types
* Fix side panel size. Fix bug resizing side panel.
* Update PanelContainerComponent unit test snapshot
* Fix commented code
* cancel query option
* query timeout
* run prettier
* removed comments
* fixed npm run compile errors
* fixed tests
* fixed unit test errors
* fixed unit test errors
* fixed unit test errors
* fixed unit test errors
* fixed unit test errors
* increased min timeout
* added automatican cancel query option
* added react string format
* npm run format
* added unless automatic cancellation has been enabled
---------
Co-authored-by: Asier Isayas <aisayas@microsoft.com>
* Listen to iframe messages. Test posting message.
* Plug new container message to show New Container dialog
* Rename message action to type
* Fix format
* Fix format
* Remove console.log() statement
* Rework fabric init flow. Implement open Collection Tab from fabric.
* Rename method to better match its purpose
* Update src/hooks/useKnockoutExplorer.ts
Use connectionString from message
Co-authored-by: Vsevolod Kukol <sevoku@microsoft.com>
* Fix format
* For openTab action open first collection if not specified. Clean up FabricContract.
* Reformat FabricContracts
* Highlight current node selection using them token
* Reformat
* Automatically expand nodes in resource tree if underlying database or collection is expanded. Fix AllowedOrigins. Cleanup code.
* Fix format
* Fix lint issue
* Don't show the home screen for Fabric (#1636)
* Fix formatting
* Database name to open can be overridden by value in session storage
---------
Co-authored-by: Vsevolod Kukol <sevoku@microsoft.com>
* Alternate tree running fluentui v9 Tree component
* Fix tree update after sp, udf and trigger load
* Enable scrolling for subtrees
* Clean up duplicates
* Restore current tree
* Reformat
* Update package-lock.json
* Add carousel for quick start
* Put carousel behind feature flag
* Install type definition for react-youtube
* Install type definition for react-youtube
* Remove @types/youtube-player
* Move feature flag outside of quickstarttutorial component
[Preview this branch](https://cosmos-explorer-preview.azurewebsites.net/pull/762?feature.someFeatureFlagYouMightNeed=true)
The main change in this PR fixes the snapshot functionality in the Publish pane-related components. Because the code cell outputs are now rendered in their own iframes for security reasons, a single snapshot of the notebook is no longer possible: each cell output takes its own snapshot and the snapshots are collated on the main notebook snapshot.
- Move the snapshot functionality to notebook components: this removes the reference of the notebook DOM node that we must pass to the Publish pane via explorer.
- Add slice in the state and actions in notebook redux for notebook snapshot requests and result
- Add post robot message to take snapshots and receive results
- Add logic in `NotebookRenderer` to wait for all output snapshots done before taking the main one collating.
- Use `zustand` to share snapshot between Redux world and React world. This solves the issue of keeping the `PanelContainer` component generic, while being able to update its children (`PublishPanel` component) with the new snapshot.
Additional changes:
- Add `local()` in `@font-face` to check if font is already installed before downloading the font (must be done for Safari, but not Edge/Chrome)
- Add "Export output to image" menu item in notebook cell, since each cell output can take its own snapshot (which can be downloaded)
![image](https://user-images.githubusercontent.com/21954022/117454706-b5f16600-af46-11eb-8535-6bf99f3d9170.png)
This change enables notebooks to escape HTML (which is a vector for malicious attacks).
We import `MarkdownCell` from the `@nteract/stateful-components` sources so that we can point it to the version of `@nteract/markdown` which contains [this fix](e19c7cc590).
This is a temporary workaround from upgrading to `@nteract/stateful-components` to `7.0.0` which causes build and runtime issues see #599).