Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ppisljar committed Mar 19, 2020
1 parent 88a4598 commit 2117beb
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,42 @@ function VisualizeAppController(
dirty: !savedVis.id,
};

const defaultQuery = {
query: '',
language:
localStorage.get('kibana.userQueryLanguage') || uiSettings.get('search:queryLanguage'),
};

const visStateToEditorState = () => {
const savedVisState = visualizations.convertFromSerializedVis(vis.serialize());
return {
uiState: vis.uiState.getChanges(),
query: vis.data.searchSource.getOwnField('query') || defaultQuery,
filters: vis.data.searchSource.getOwnField('filter') || [],
vis: { ...savedVisState.visState, title: vis.title },
linked: !!savedVis.savedSearchId,
};
};

const stateDefaults = visStateToEditorState();

const { stateContainer, stopStateSync } = useVisualizeAppState({
stateDefaults,
kbnUrlStateStorage,
});

$scope.eventEmitter.on('dirtyStateChange', ({ isDirty }) => {
if (!isDirty) {
stateContainer.transitions.updateVisState(visStateToEditorState().vis);
}
$scope.dirty = isDirty;
$scope.$digest();
});

$scope.eventEmitter.on('updateVis', () => {
embeddableHandler.reload();
});

$scope.embeddableHandler = embeddableHandler;

$scope.topNavMenu = [
Expand Down Expand Up @@ -282,30 +313,6 @@ function VisualizeAppController(
chrome.docTitle.change(savedVis.title);
}

const defaultQuery = {
query: '',
language:
localStorage.get('kibana.userQueryLanguage') || uiSettings.get('search:queryLanguage'),
};

const visStateToEditorState = () => {
const savedVisState = visualizations.convertFromSerializedVis(vis.serialize());
return {
uiState: vis.uiState.getChanges(),
query: vis.data.searchSource.getOwnField('query') || defaultQuery,
filters: vis.data.searchSource.getOwnField('filter') || [],
vis: { ...savedVisState.visState, title: vis.title },
linked: !!savedVis.savedSearchId,
};
};

const stateDefaults = visStateToEditorState();

const { stateContainer, stopStateSync } = useVisualizeAppState({
stateDefaults,
kbnUrlStateStorage,
});

// sync initial app filters from state to filterManager
filterManager.setAppFilters(_.cloneDeep(stateContainer.getState().filters));
// setup syncing of app filters between appState and filterManager
Expand Down Expand Up @@ -461,7 +468,13 @@ function VisualizeAppController(

// if the browser history was changed manually we need to reflect changes in the editor
if (
!_.isEqual(visualizations.convertFromSerializedVis(vis.serialize()).visState, state.vis)
!_.isEqual(
{
...visualizations.convertFromSerializedVis(vis.serialize()).visState,
title: vis.title,
},
state.vis
)
) {
vis.setState({
type: state.vis.type,
Expand All @@ -473,6 +486,7 @@ function VisualizeAppController(
searchSource: vis.data.searchSource,
},
});
embeddableHandler.reload();
$scope.eventEmitter.emit('updateEditor');
}

Expand Down Expand Up @@ -683,6 +697,8 @@ function VisualizeAppController(
} else if (savedVis.id === $route.current.params.id) {
chrome.docTitle.change(savedVis.lastSavedTitle);
chrome.setBreadcrumbs($injector.invoke(getEditBreadcrumbs));
savedVis.vis.title = savedVis.title;
savedVis.vis.description = savedVis.description;
} else {
history.replace({
...history.location,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,12 @@ function DefaultEditorSideBar({
params: state.params,
data: { aggs: state.data.aggs ? (state.data.aggs.aggs.map(agg => agg.toJSON()) as any) : [] },
});
eventEmitter.emit('updateVis');
eventEmitter.emit('dirtyStateChange', {
isDirty: false,
});
setTouched(false);
}, [vis, state, formState.invalid, setTouched, isDirty]);
}, [vis, state, formState.invalid, setTouched, isDirty, eventEmitter]);

const onSubmit: KeyboardEventHandler<HTMLFormElement> = useCallback(
event => {
Expand Down

0 comments on commit 2117beb

Please sign in to comment.