Rewrite URL when closing vis type selection modal (#26327)

This commit is contained in:
Tim Roes 2018-11-29 08:07:30 +01:00 committed by GitHub
parent 555036447d
commit 64e26c4a3f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 6 deletions

View file

@ -22,22 +22,22 @@ import React from 'react';
import {
KuiEmptyTablePrompt,
KuiEmptyTablePromptPanel,
KuiLinkButton,
KuiButton,
KuiButtonIcon,
} from '@kbn/ui-framework/components';
export function NoVisualizationsPrompt() {
export function NoVisualizationsPrompt({ onCreateVis }) {
return (
<KuiEmptyTablePromptPanel>
<KuiEmptyTablePrompt
actions={
<KuiLinkButton
href="#/visualize/new"
<KuiButton
onClick={onCreateVis}
buttonType="primary"
icon={<KuiButtonIcon type="create"/>}
>
Create a visualization
</KuiLinkButton>
</KuiButton>
}
message="Looks like you don't have any visualizations. Let's create some!"
/>

View file

@ -28,6 +28,7 @@ import chrome from 'ui/chrome';
import { VisualizeListingTable } from './visualize_listing_table';
import { NewVisModal } from '../wizard/new_vis_modal';
import { VisualizeConstants } from '../visualize_constants';
import { injectI18nProvider } from '@kbn/i18n/react';
@ -39,6 +40,7 @@ export function VisualizeListingController($injector, createNewVis) {
const Notifier = $injector.get('Notifier');
const Private = $injector.get('Private');
const config = $injector.get('config');
const kbnUrl = $injector.get('kbnUrl');
this.visTypeRegistry = Private(VisTypesRegistryProvider);
@ -53,6 +55,10 @@ export function VisualizeListingController($injector, createNewVis) {
this.closeNewVisModal = () => {
this.showNewVisModal = false;
// In case the user came via a URL to this page, change the URL to the regular landing page URL after closing the modal
if (createNewVis) {
kbnUrl.changePath(VisualizeConstants.LANDING_PAGE_PATH);
}
};
if (createNewVis) {

View file

@ -294,7 +294,7 @@ export class VisualizeListingTable extends Component {
return <KuiListingTableNoMatchesPrompt />;
}
return <NoVisualizationsPrompt />;
return <NoVisualizationsPrompt onCreateVis={this.onCreate}/>;
}
return null;