mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2026-01-08 12:07:06 +00:00
[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) 
29 lines
1002 B
TypeScript
29 lines
1002 B
TypeScript
import { shallow } from "enzyme";
|
|
import React from "react";
|
|
import { PublishNotebookPaneComponent, PublishNotebookPaneProps } from "./PublishNotebookPaneComponent";
|
|
|
|
describe("PublishNotebookPaneComponent", () => {
|
|
it("renders", () => {
|
|
const props: PublishNotebookPaneProps = {
|
|
notebookName: "SampleNotebook.ipynb",
|
|
notebookDescription: "sample description",
|
|
notebookTags: "tag1, tag2",
|
|
imageSrc: "https://i.ytimg.com/vi/E_lByLdKeKY/maxresdefault.jpg",
|
|
notebookAuthor: "CosmosDB",
|
|
notebookCreatedDate: "2020-07-17T00:00:00Z",
|
|
notebookObject: undefined,
|
|
notebookContentRef: undefined,
|
|
setNotebookName: undefined,
|
|
setNotebookDescription: undefined,
|
|
setNotebookTags: undefined,
|
|
setImageSrc: undefined,
|
|
onError: undefined,
|
|
clearFormError: undefined,
|
|
onTakeSnapshot: undefined,
|
|
};
|
|
|
|
const wrapper = shallow(<PublishNotebookPaneComponent {...props} />);
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
});
|