From 6e519e83849c19115b58106d065afbdf8b48059d Mon Sep 17 00:00:00 2001 From: Nitish Sharma <50713102+rednitish@users.noreply.github.com> Date: Wed, 9 Sep 2020 17:54:12 +0530 Subject: [PATCH] CCS-3790 Product name and version url fragment missing from the view on Portal URL intemittenly (#409) * CCS-3775 Update view_uri to match the ideal URL path * added support for copy url and assembly fixes * CCS-3790 Product name and version url fragment missing from the view on Portal URL intemittenly --- .../src/app/__snapshots__/assemblyDisplay.test.tsx.snap | 1 + .../src/app/__snapshots__/moduleDisplay.test.tsx.snap | 1 + pantheon-bundle/frontend/src/app/assemblyDisplay.tsx | 5 +++++ pantheon-bundle/frontend/src/app/moduleDisplay.tsx | 5 +++++ pantheon-bundle/frontend/src/app/versions.test.tsx | 6 ++++-- pantheon-bundle/frontend/src/app/versions.tsx | 3 +++ 6 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pantheon-bundle/frontend/src/app/__snapshots__/assemblyDisplay.test.tsx.snap b/pantheon-bundle/frontend/src/app/__snapshots__/assemblyDisplay.test.tsx.snap index 5a3d53276..abb80ce56 100644 --- a/pantheon-bundle/frontend/src/app/__snapshots__/assemblyDisplay.test.tsx.snap +++ b/pantheon-bundle/frontend/src/app/__snapshots__/assemblyDisplay.test.tsx.snap @@ -140,6 +140,7 @@ exports[`AssemblyDisplay tests should render AssemblyDisplay component 1`] = ` modulePath="" onGetProduct={[Function]} onGetVersion={[Function]} + onPublishEvent={[Function]} productInfo="" updateDate={[Function]} variant={null} diff --git a/pantheon-bundle/frontend/src/app/__snapshots__/moduleDisplay.test.tsx.snap b/pantheon-bundle/frontend/src/app/__snapshots__/moduleDisplay.test.tsx.snap index 75d466a9a..4207e85d6 100644 --- a/pantheon-bundle/frontend/src/app/__snapshots__/moduleDisplay.test.tsx.snap +++ b/pantheon-bundle/frontend/src/app/__snapshots__/moduleDisplay.test.tsx.snap @@ -158,6 +158,7 @@ exports[`ModuleDisplay tests should render ModuleDisplay component 1`] = ` modulePath="" onGetProduct={[Function]} onGetVersion={[Function]} + onPublishEvent={[Function]} productInfo="" updateDate={[Function]} variant={null} diff --git a/pantheon-bundle/frontend/src/app/assemblyDisplay.tsx b/pantheon-bundle/frontend/src/app/assemblyDisplay.tsx index b3345cf53..c462a19ab 100644 --- a/pantheon-bundle/frontend/src/app/assemblyDisplay.tsx +++ b/pantheon-bundle/frontend/src/app/assemblyDisplay.tsx @@ -163,6 +163,7 @@ class AssemblyDisplay extends Component { updateDate={this.updateDate} onGetProduct={this.getProduct} onGetVersion={this.getVersion} + onPublishEvent={this.onPublishEvent} /> @@ -251,6 +252,10 @@ class AssemblyDisplay extends Component { this.setState({ versionValue: version }) } + private onPublishEvent = () => { + this.fetchModuleDetails(this.props) + } + private getVersionUUID = (path) => { // Remove /assembly from path path = path.substring(PathPrefixes.ASSEBMLY_PATH_PREFIX.length) diff --git a/pantheon-bundle/frontend/src/app/moduleDisplay.tsx b/pantheon-bundle/frontend/src/app/moduleDisplay.tsx index 28280bc74..bc79b08bd 100644 --- a/pantheon-bundle/frontend/src/app/moduleDisplay.tsx +++ b/pantheon-bundle/frontend/src/app/moduleDisplay.tsx @@ -177,6 +177,7 @@ class ModuleDisplay extends Component { updateDate={this.updateDate} onGetProduct={this.getProduct} onGetVersion={this.getVersion} + onPublishEvent={this.onPublishEvent} /> @@ -264,6 +265,10 @@ class ModuleDisplay extends Component { this.setState({ versionValue: version }) } + private onPublishEvent = () => { + this.getVersionUUID(this.props.location.pathname) + } + private getVersionUUID = (path) => { // remove /module from path path = path.substring(PathPrefixes.MODULE_PATH_PREFIX.length) diff --git a/pantheon-bundle/frontend/src/app/versions.test.tsx b/pantheon-bundle/frontend/src/app/versions.test.tsx index e2ee495b5..8aa8a56b4 100644 --- a/pantheon-bundle/frontend/src/app/versions.test.tsx +++ b/pantheon-bundle/frontend/src/app/versions.test.tsx @@ -23,7 +23,8 @@ const props = { updateDate: (draftUpdateDate, releaseUpdateDate, releaseVersion, variantUUID) => anymatch, variant: "test", variantUUID: "abcd-1234", - versionModulePath: "/modules/test_module/en_US/variants/test/draft" + versionModulePath: "/modules/test_module/en_US/variants/test/draft", + onPublishEvent: () => anymatch } describe('Versions tests', () => { @@ -201,7 +202,8 @@ describe('Versions tests', () => { updateDate: (draftUpdateDate, releaseUpdateDate, releaseVersion, variantUUID) => anymatch, variant: "DEFAULT", variantUUID: "abcd-1234", - versionModulePath: "versionPath" + versionModulePath: "versionPath", + onPublishEvent: () => anymatch } state.updateDate("-", "-", 1, "1234") expect(state.modulePath).toEqual('somePath') diff --git a/pantheon-bundle/frontend/src/app/versions.tsx b/pantheon-bundle/frontend/src/app/versions.tsx index 6a34e267a..abe9f1607 100644 --- a/pantheon-bundle/frontend/src/app/versions.tsx +++ b/pantheon-bundle/frontend/src/app/versions.tsx @@ -22,6 +22,7 @@ export interface IProps { updateDate: (draftUpdateDate, releaseUpdateDate, releaseVersion, variantUUID) => any onGetProduct: (productValue) => any onGetVersion: (versionValue) => any + onPublishEvent: () => void } interface IState { @@ -441,11 +442,13 @@ class Versions extends Component { // console.log('Published file path:', this.props.modulePath) this.draft[0].version = ''; this.setState({ unpublishAlertForModuleVisible: false }) + this.props.onPublishEvent() } else { formData.append(':operation', 'pant:unpublish'); // console.log('Unpublished file path:', this.props.modulePath); this.release[0].version = ''; this.setState({ unpublishAlertForModuleVisible: true }) + this.props.onPublishEvent() } formData.append('locale', 'en_US') formData.append('variant', this.props.variant)