From 3e22a5844c410586a7efd8055d8f3add5542df1d Mon Sep 17 00:00:00 2001 From: Giulia Ghisini Date: Thu, 12 May 2022 17:02:27 +0200 Subject: [PATCH 01/94] added prefixPath for site --- news/4290.feature | 1 + src/config/index.js | 1 + src/server.jsx | 17 ++++++++++++++++- src/start-client.jsx | 4 +++- 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 news/4290.feature diff --git a/news/4290.feature b/news/4290.feature new file mode 100644 index 0000000000..c470347339 --- /dev/null +++ b/news/4290.feature @@ -0,0 +1 @@ +added prefixPath for site. @giuliaghisini @cekk @pnicolli @mamico @nileshgulia1 @wesleybl diff --git a/src/config/index.js b/src/config/index.js index 5047b221eb..5debec4bd0 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -98,6 +98,7 @@ let config = { proxyRewriteTarget: process.env.RAZZLE_PROXY_REWRITE_TARGET || undefined, // apiPath: process.env.RAZZLE_API_PATH || 'http://localhost:8000', // for Volto reference // apiPath: process.env.RAZZLE_API_PATH || 'http://localhost:8081/db/web', // for guillotina + prefixPath: process.env.RAZZLE_PREFIX_PATH || '', actions_raising_api_errors: ['GET_CONTENT', 'UPDATE_CONTENT'], internalApiPath: process.env.RAZZLE_INTERNAL_API_PATH || undefined, websockets: process.env.RAZZLE_WEBSOCKETS || false, diff --git a/src/server.jsx b/src/server.jsx index bdbd689b8c..217f0a4886 100644 --- a/src/server.jsx +++ b/src/server.jsx @@ -66,6 +66,17 @@ const server = express() }) .use(cookiesMiddleware()); +if (process.env.RAZZLE_PREFIX_PATH) { + server.use( + process.env.RAZZLE_PREFIX_PATH, + express.static( + process.env.BUILD_DIR + ? path.join(process.env.BUILD_DIR, 'public') + : process.env.RAZZLE_PUBLIC_DIR, + ), + ); +} + const middleware = (config.settings.expressMiddleware || []).filter((m) => m); server.all('*', setupServer); @@ -252,7 +263,11 @@ server.get('/*', (req, res) => { - + diff --git a/src/start-client.jsx b/src/start-client.jsx index 179af9e57d..4b05a4cdae 100644 --- a/src/start-client.jsx +++ b/src/start-client.jsx @@ -16,7 +16,9 @@ import config from '@plone/volto/registry'; import configureStore from '@plone/volto/store'; import { Api, persistAuthToken, ScrollToTop } from '@plone/volto/helpers'; -export const history = createBrowserHistory(); +export const history = createBrowserHistory({ + basename: config.settings.prefixPath, +}); function reactIntlErrorHandler(error) { debug('i18n')(error); From a6cf32ee27cb9464da913cac8d7a2dd848c98b93 Mon Sep 17 00:00:00 2001 From: Giulia Ghisini Date: Fri, 13 May 2022 09:54:06 +0200 Subject: [PATCH 02/94] handle prefixPath in api requests --- src/helpers/Api/APIResourceWithAuth.js | 11 ++++++++++- src/helpers/Api/Api.js | 10 +++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/helpers/Api/APIResourceWithAuth.js b/src/helpers/Api/APIResourceWithAuth.js index f94d9a1232..b420822c5b 100644 --- a/src/helpers/Api/APIResourceWithAuth.js +++ b/src/helpers/Api/APIResourceWithAuth.js @@ -26,8 +26,17 @@ export const getAPIResourceWithAuth = (req) => } else { apiPath = settings.apiPath; } + + let path = req.path; + if ( + config.settings.prefixPath && + path.startsWith(config.settings.prefixPath) + ) { + path = path.replace(config.settings.prefixPath, ''); + } + const request = superagent - .get(`${apiPath}${APISUFIX}${req.path}`) + .get(`${apiPath}${APISUFIX}${path}`) .maxResponseSize(settings.maxResponseSize) .responseType('blob'); const authToken = req.universalCookies.get('auth_token'); diff --git a/src/helpers/Api/Api.js b/src/helpers/Api/Api.js index c91a667ea4..42d06a9d33 100644 --- a/src/helpers/Api/Api.js +++ b/src/helpers/Api/Api.js @@ -23,7 +23,6 @@ function formatUrl(path) { if (path.startsWith('http://') || path.startsWith('https://')) return path; - const adjustedPath = path[0] !== '/' ? `/${path}` : path; let apiPath = ''; if (settings.internalApiPath && __SERVER__) { apiPath = settings.internalApiPath; @@ -31,6 +30,15 @@ function formatUrl(path) { apiPath = settings.apiPath; } + let adjustedPath = path[0] !== '/' ? `/${path}` : path; + if ( + config.settings.prefixPath && + adjustedPath.startsWith(config.settings.prefixPath) + ) { + adjustedPath = adjustedPath.replace(config.settings.prefixPath, ''); + adjustedPath = adjustedPath[0] !== '/' ? `/${adjustedPath}` : adjustedPath; + } + return `${apiPath}${APISUFIX}${adjustedPath}`; } From a523fa72ad01d932bc49c43c0f8ab00501bf82bf Mon Sep 17 00:00:00 2001 From: Giulia Ghisini Date: Fri, 13 May 2022 10:35:24 +0200 Subject: [PATCH 03/94] added Image component to handle prefixPath in images --- src/components/index.js | 1 + .../manage/Blocks/HeroImageLeft/Edit.jsx | 4 ++-- .../manage/Blocks/HeroImageLeft/View.jsx | 4 ++-- src/components/manage/Blocks/Image/Edit.jsx | 9 ++++++-- .../manage/Blocks/Image/ImageSidebar.jsx | 4 ++-- src/components/manage/Blocks/Image/View.jsx | 4 ++-- .../manage/Blocks/LeadImage/Edit.jsx | 9 ++++++-- .../Blocks/LeadImage/LeadImageSidebar.jsx | 9 ++++++-- .../manage/Blocks/LeadImage/View.jsx | 4 ++-- .../manage/Toolbar/PersonalTools.jsx | 4 ++-- src/components/theme/Avatar/Avatar.jsx | 3 ++- src/components/theme/Image/Image.jsx | 21 +++++++++++++++++++ .../theme/PreviewImage/PreviewImage.jsx | 3 ++- src/components/theme/View/ImageView.jsx | 3 ++- src/config/RichTextEditor/ToHTML.jsx | 3 ++- 15 files changed, 63 insertions(+), 22 deletions(-) create mode 100644 src/components/theme/Image/Image.jsx diff --git a/src/components/index.js b/src/components/index.js index bf50687640..2294581257 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -28,6 +28,7 @@ export RenderBlocks from '@plone/volto/components/theme/View/RenderBlocks'; export SkipLinks from '@plone/volto/components/theme/SkipLinks/SkipLinks'; export EventDetails from '@plone/volto/components/theme/EventDetails/EventDetails'; export PreviewImage from '@plone/volto/components/theme/PreviewImage/PreviewImage'; +export Image from '@plone/volto/components/theme/Image/Image'; export Error from '@plone/volto/components/theme/Error/Error'; export ErrorBoundary from '@plone/volto/components/theme/Error/ErrorBoundary'; diff --git a/src/components/manage/Blocks/HeroImageLeft/Edit.jsx b/src/components/manage/Blocks/HeroImageLeft/Edit.jsx index 422769a376..5d2b3e7d4a 100644 --- a/src/components/manage/Blocks/HeroImageLeft/Edit.jsx +++ b/src/components/manage/Blocks/HeroImageLeft/Edit.jsx @@ -20,7 +20,7 @@ import { validateFileUploadSize, } from '@plone/volto/helpers'; import { createContent } from '@plone/volto/actions'; -import { Icon, SidebarPortal, LinkMore } from '@plone/volto/components'; +import { Icon, SidebarPortal, LinkMore, Image } from '@plone/volto/components'; import clearSVG from '@plone/volto/icons/clear.svg'; @@ -341,7 +341,7 @@ class EditComponent extends Component { )}
{this.props.data.url ? ( - (
{data.url && ( - {data.url ? ( - { <> {data.url.split('/').slice(-1)[0]} {isInternalURL(data.url) && ( - {data.alt} diff --git a/src/components/manage/Blocks/Image/View.jsx b/src/components/manage/Blocks/Image/View.jsx index b762d85fbd..5bae3e7773 100644 --- a/src/components/manage/Blocks/Image/View.jsx +++ b/src/components/manage/Blocks/Image/View.jsx @@ -5,7 +5,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { UniversalLink } from '@plone/volto/components'; +import { UniversalLink, Image } from '@plone/volto/components'; import cx from 'classnames'; import { withBlockExtensions } from '@plone/volto/helpers'; import { flattenToAppURL, isInternalURL } from '@plone/volto/helpers'; @@ -32,7 +32,7 @@ export const View = ({ data, detached }) => { <> {(() => { const image = ( - )} {properties.image && ( - {data.image_caption )} + diff --git a/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx b/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx index 7711893839..331a87d42b 100644 --- a/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx +++ b/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx @@ -3,7 +3,12 @@ import PropTypes from 'prop-types'; import { Form } from 'semantic-ui-react'; import { Accordion, Grid, Segment } from 'semantic-ui-react'; import { defineMessages, FormattedMessage, injectIntl } from 'react-intl'; -import { CheckboxWidget, Icon, TextWidget } from '@plone/volto/components'; +import { + CheckboxWidget, + Icon, + TextWidget, + Image, +} from '@plone/volto/components'; import { flattenToAppURL } from '@plone/volto/helpers'; import AlignBlock from '@plone/volto/components/manage/Sidebar/AlignBlock'; @@ -90,7 +95,7 @@ const LeadImageSidebar = ({ <> {properties.image.filename} - ( <> {(() => { const image = ( - {properties.image_caption
{this.props.user.portrait ? ( - {this.props.intl.formatMessage(messages.userAvatar)} diff --git a/src/components/theme/Avatar/Avatar.jsx b/src/components/theme/Avatar/Avatar.jsx index b142b6aa65..b05ec2444e 100644 --- a/src/components/theme/Avatar/Avatar.jsx +++ b/src/components/theme/Avatar/Avatar.jsx @@ -5,6 +5,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { getInitials } from '@plone/volto/helpers'; +import { Image } from '@plone/volto/components'; const defaultSize = 30; const defaultColor = 'Teal'; @@ -15,7 +16,7 @@ const Avatar = ({ src, title, text, size, color, className }) => { return (
{src ? ( - {title} + {title} ) : ( diff --git a/src/components/theme/Image/Image.jsx b/src/components/theme/Image/Image.jsx new file mode 100644 index 0000000000..cda73ad596 --- /dev/null +++ b/src/components/theme/Image/Image.jsx @@ -0,0 +1,21 @@ +/* +WARNING! +This componente renders images taking care of prefixPath. +It needs merge and refactor when this https://github.com/plone/volto/pull/3337 pr will be merged, +and needs to handle prefixPath. +*/ +import React from 'react'; +import { isInternalURL } from '@plone/volto/helpers'; +import config from '@plone/volto/registry'; + +const Image = (props) => { + const { src, alt = '', ...rest } = props; + let url = src; + if (isInternalURL(src)) { + url = (config.settings.prefixPath ?? '') + src; //add prefixPath to src if it's an internal url + } + + return {alt}; +}; + +export default Image; diff --git a/src/components/theme/PreviewImage/PreviewImage.jsx b/src/components/theme/PreviewImage/PreviewImage.jsx index 6d3c3a330b..d83549cfe2 100644 --- a/src/components/theme/PreviewImage/PreviewImage.jsx +++ b/src/components/theme/PreviewImage/PreviewImage.jsx @@ -2,6 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { flattenToAppURL } from '@plone/volto/helpers'; +import { Image } from '@plone/volto/components'; import config from '@plone/volto/registry'; import DefaultImageSVG from '@plone/volto/components/manage/Blocks/Listing/default-image.svg'; @@ -19,7 +20,7 @@ function PreviewImage(props) { dependencies: ['listing', 'summary'], }).component || DefaultImageSVG; - return {alt; + return {alt; } PreviewImage.propTypes = { diff --git a/src/components/theme/View/ImageView.jsx b/src/components/theme/View/ImageView.jsx index e494f20e50..2924d9a534 100644 --- a/src/components/theme/View/ImageView.jsx +++ b/src/components/theme/View/ImageView.jsx @@ -10,6 +10,7 @@ import { FormattedMessage } from 'react-intl'; import prettybytes from 'pretty-bytes'; import { flattenToAppURL } from '@plone/volto/helpers'; import config from '@plone/volto/registry'; +import { Image } from '@plone/volto/components'; /** * Image view component class. @@ -32,7 +33,7 @@ const ImageView = ({ content }) => { )} {content?.image?.download && ( - {content.title} diff --git a/src/config/RichTextEditor/ToHTML.jsx b/src/config/RichTextEditor/ToHTML.jsx index 1a3a12446f..6e5f261799 100644 --- a/src/config/RichTextEditor/ToHTML.jsx +++ b/src/config/RichTextEditor/ToHTML.jsx @@ -2,6 +2,7 @@ import React from 'react'; import { connect } from 'react-redux'; import { isEmpty } from 'lodash'; import UniversalLink from '@plone/volto/components/manage/UniversalLink/UniversalLink'; +import { Image } from '@plone/volto/components'; const styles = { code: { @@ -242,7 +243,7 @@ const entities = { ), IMAGE: (children, entity, { key }) => ( - {entity.alt} + {entity.alt} ), }; From 30d2638ab4fe2f3531f1b67cdb3659e470ea34ab Mon Sep 17 00:00:00 2001 From: Giulia Ghisini Date: Fri, 13 May 2022 10:55:08 +0200 Subject: [PATCH 04/94] fixed prefix path in page head --- src/helpers/Html/Html.jsx | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/helpers/Html/Html.jsx b/src/helpers/Html/Html.jsx index cbb42ad3c3..26f96d538e 100644 --- a/src/helpers/Html/Html.jsx +++ b/src/helpers/Html/Html.jsx @@ -125,14 +125,25 @@ class Html extends Component { }} /> - - + + + - From 0be7e30defffed2c7ed92e1b2ff15b87c5a84634 Mon Sep 17 00:00:00 2001 From: Giulia Ghisini Date: Fri, 13 May 2022 14:45:12 +0200 Subject: [PATCH 05/94] handle prefixPath in chunkExtractor --- src/server.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server.jsx b/src/server.jsx index 217f0a4886..d0555ace3d 100644 --- a/src/server.jsx +++ b/src/server.jsx @@ -226,6 +226,7 @@ server.get('/*', (req, res) => { const extractor = new ChunkExtractor({ statsFile: path.resolve(path.join(buildDir, 'loadable-stats.json')), entrypoints: ['client'], + namespace: config.settings.prefixPath, }); const url = req.originalUrl || req.url; From ab146ac4c02e53de15db45504931e0dcf1a116e2 Mon Sep 17 00:00:00 2001 From: Giulia Ghisini Date: Fri, 13 May 2022 15:12:52 +0200 Subject: [PATCH 06/94] fixed publickPath in ChunkExtractor with prefixPath --- src/server.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server.jsx b/src/server.jsx index d0555ace3d..8a53cf0e64 100644 --- a/src/server.jsx +++ b/src/server.jsx @@ -226,7 +226,8 @@ server.get('/*', (req, res) => { const extractor = new ChunkExtractor({ statsFile: path.resolve(path.join(buildDir, 'loadable-stats.json')), entrypoints: ['client'], - namespace: config.settings.prefixPath, + publicPath: + process.env.NODE_ENV == 'production' ? config.settings.prefixPath : null, }); const url = req.originalUrl || req.url; From cb21196336df84a3f061367dd4d81551ebffe9fb Mon Sep 17 00:00:00 2001 From: Giulia Ghisini Date: Fri, 13 May 2022 15:22:29 +0200 Subject: [PATCH 07/94] added namespace to chunkextractor --- src/server.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server.jsx b/src/server.jsx index 8a53cf0e64..dc290a6ed7 100644 --- a/src/server.jsx +++ b/src/server.jsx @@ -226,8 +226,9 @@ server.get('/*', (req, res) => { const extractor = new ChunkExtractor({ statsFile: path.resolve(path.join(buildDir, 'loadable-stats.json')), entrypoints: ['client'], + namespace: config.settings.prefixPath, publicPath: - process.env.NODE_ENV == 'production' ? config.settings.prefixPath : null, + process.env.NODE_ENV === 'production' ? config.settings.prefixPath : null, }); const url = req.originalUrl || req.url; From 4c35003e39425602e9cdd41823641ef601d717e4 Mon Sep 17 00:00:00 2001 From: Andrea Cecchi Date: Fri, 13 May 2022 16:18:39 +0200 Subject: [PATCH 08/94] fix static paths in razzle --- razzle.config.js | 9 +++++++++ src/server.jsx | 3 --- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/razzle.config.js b/razzle.config.js index e004de5a34..5f1d75f251 100644 --- a/razzle.config.js +++ b/razzle.config.js @@ -348,6 +348,15 @@ const defaultModify = ({ }; } + const prefixPath = process.env.RAZZLE_PREFIX_PATH || ''; + + if (prefixPath) { + if (target === 'web' && dev) { + config.devServer.publicPath = prefixPath; + } + const pp = config.output.publicPath; + config.output.publicPath = `${pp}${prefixPath.slice(1)}/`; + } return config; }; diff --git a/src/server.jsx b/src/server.jsx index dc290a6ed7..217f0a4886 100644 --- a/src/server.jsx +++ b/src/server.jsx @@ -226,9 +226,6 @@ server.get('/*', (req, res) => { const extractor = new ChunkExtractor({ statsFile: path.resolve(path.join(buildDir, 'loadable-stats.json')), entrypoints: ['client'], - namespace: config.settings.prefixPath, - publicPath: - process.env.NODE_ENV === 'production' ? config.settings.prefixPath : null, }); const url = req.originalUrl || req.url; From 67452b718729f9a51928c3113881728301f450ea Mon Sep 17 00:00:00 2001 From: Giulia Ghisini Date: Mon, 16 May 2022 08:57:54 +0200 Subject: [PATCH 09/94] handle static resources with prefix path --- src/components/theme/Image/Image.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/theme/Image/Image.jsx b/src/components/theme/Image/Image.jsx index cda73ad596..313bb4987b 100644 --- a/src/components/theme/Image/Image.jsx +++ b/src/components/theme/Image/Image.jsx @@ -11,10 +11,10 @@ import config from '@plone/volto/registry'; const Image = (props) => { const { src, alt = '', ...rest } = props; let url = src; - if (isInternalURL(src)) { - url = (config.settings.prefixPath ?? '') + src; //add prefixPath to src if it's an internal url + const { prefixPath } = config.settings; + if (isInternalURL(src) && prefixPath && !src.startsWith(prefixPath)) { + url = prefixPath + src; //add prefixPath to src if it's an internal url and not a static resource. } - return {alt}; }; From c485e5f5789cbe77d5effcac03f2303d8e9d036b Mon Sep 17 00:00:00 2001 From: Giulia Ghisini Date: Fri, 20 May 2022 12:38:46 +0200 Subject: [PATCH 10/94] fix: fix empty values --- .../__snapshots__/Actions.test.jsx.snap | 3 - .../__snapshots__/BlocksForm.test.jsx.snap | 2 +- .../__snapshots__/Edit.test.jsx.snap | 2 +- .../Text/__snapshots__/Edit.test.jsx.snap | 2 +- .../Form/__snapshots__/Form.test.jsx.snap | 9 +- src/components/manage/Toolbar/Toolbar.jsx | 3 +- .../ObjectListWidget.test.js.snap | 197 ----------- .../__snapshots__/SchemaWidget.test.jsx.snap | 135 +------ .../VocabularyTermsWidget.test.jsx.snap | 328 ------------------ .../__snapshots__/WysiwygWidget.test.jsx.snap | 25 +- .../EventDatesInfo.test.jsx.snap | 122 +------ .../__snapshots__/EventView.test.jsx.snap | 135 ------- .../View/__snapshots__/View.test.jsx.snap | 9 - 13 files changed, 19 insertions(+), 953 deletions(-) diff --git a/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap b/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap index 51c4c11017..6e6463c7fb 100644 --- a/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap +++ b/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap @@ -91,9 +91,6 @@ exports[`Actions renders an actions component 1`] = ` Rename
-
`; diff --git a/src/components/manage/Blocks/Block/__snapshots__/BlocksForm.test.jsx.snap b/src/components/manage/Blocks/Block/__snapshots__/BlocksForm.test.jsx.snap index 2197f9332e..f6fc42dc23 100644 --- a/src/components/manage/Blocks/Block/__snapshots__/BlocksForm.test.jsx.snap +++ b/src/components/manage/Blocks/Block/__snapshots__/BlocksForm.test.jsx.snap @@ -115,4 +115,4 @@ exports[`Allow override of blocksConfig 1`] = `
-`; +`; \ No newline at end of file diff --git a/src/components/manage/Blocks/HeroImageLeft/__snapshots__/Edit.test.jsx.snap b/src/components/manage/Blocks/HeroImageLeft/__snapshots__/Edit.test.jsx.snap index 88b4a92211..de11e7ddb0 100644 --- a/src/components/manage/Blocks/HeroImageLeft/__snapshots__/Edit.test.jsx.snap +++ b/src/components/manage/Blocks/HeroImageLeft/__snapshots__/Edit.test.jsx.snap @@ -1,3 +1,3 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`renders an edit hero block component 1`] = `
`; +exports[`renders an edit hero block component 1`] = `null`; diff --git a/src/components/manage/Blocks/Text/__snapshots__/Edit.test.jsx.snap b/src/components/manage/Blocks/Text/__snapshots__/Edit.test.jsx.snap index 8282de19e4..f47a4e4dd8 100644 --- a/src/components/manage/Blocks/Text/__snapshots__/Edit.test.jsx.snap +++ b/src/components/manage/Blocks/Text/__snapshots__/Edit.test.jsx.snap @@ -1,3 +1,3 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`renders an edit text block component 1`] = `
`; +exports[`renders an edit text block component 1`] = `null`; diff --git a/src/components/manage/Form/__snapshots__/Form.test.jsx.snap b/src/components/manage/Form/__snapshots__/Form.test.jsx.snap index 1cf0e7b027..f978ee80a2 100644 --- a/src/components/manage/Form/__snapshots__/Form.test.jsx.snap +++ b/src/components/manage/Form/__snapshots__/Form.test.jsx.snap @@ -19,8 +19,13 @@ exports[`Form renders a form component 1`] = ` className="ui segment" >
+ className="mocked-default-widget" + id="mocked-field-title" + > + No title + - + No description +
0) || (config.settings.isMultilingual && - this.props.content['@components']?.translations)) && ( + this.props.content?.['@components'] + ?.translations)) && (
-
- -
-
-
- -
- Link #2 -
-
- - -
-
-
-
-
- -
- -
-
-
-
-
-
-
`; diff --git a/src/components/manage/Widgets/__snapshots__/SchemaWidget.test.jsx.snap b/src/components/manage/Widgets/__snapshots__/SchemaWidget.test.jsx.snap index 4ff936138b..2ef6b2d218 100644 --- a/src/components/manage/Widgets/__snapshots__/SchemaWidget.test.jsx.snap +++ b/src/components/manage/Widgets/__snapshots__/SchemaWidget.test.jsx.snap @@ -1,136 +1,3 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`renders a schema widget component 1`] = ` -
-
-
-
-