Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discover] Rename internalState to sharedState #157830

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { FormattedMessage } from '@kbn/i18n-react';
import { css } from '@emotion/react';
import { DataView } from '@kbn/data-views-plugin/public';
import { SortOrder } from '@kbn/saved-search-plugin/public';
import { useInternalStateSelector } from '../../services/discover_internal_state_container';
import { useSharedStateSelector } from '../../services/discover_shared_state_container';
import { useAppStateSelector } from '../../services/discover_app_state_container';
import { useDiscoverServices } from '../../../../hooks/use_discover_services';
import { DocViewFilterFn } from '../../../../services/doc_views/doc_views_types';
Expand Down Expand Up @@ -101,12 +101,12 @@ function DiscoverDocumentsComponent({
);
const setExpandedDoc = useCallback(
(doc: DataTableRecord | undefined) => {
stateContainer.internalState.transitions.setExpandedDoc(doc);
stateContainer.sharedState.transitions.setExpandedDoc(doc);
},
[stateContainer]
);

const expandedDoc = useInternalStateSelector((state) => state.expandedDoc);
const expandedDoc = useSharedStateSelector((state) => state.expandedDoc);

const useNewFieldsApi = useMemo(() => !uiSettings.get(SEARCH_FIELDS_FROM_SOURCE), [uiSettings]);
const hideAnnouncements = useMemo(() => uiSettings.get(HIDE_ANNOUNCEMENTS), [uiSettings]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ async function mountComponent(
session.getSession$.mockReturnValue(new BehaviorSubject('123'));

stateContainer.appState.update({ interval: 'auto', query });
stateContainer.internalState.transitions.setDataView(dataView);
stateContainer.sharedState.transitions.setDataView(dataView);

const props = {
dataView,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { DataViewField, DataViewType } from '@kbn/data-views-plugin/public';
import { useSavedSearchInitial } from '../../services/discover_state_provider';
import { DiscoverStateContainer } from '../../services/discover_state';
import { VIEW_MODE } from '../../../../../common/constants';
import { useInternalStateSelector } from '../../services/discover_internal_state_container';
import { useSharedStateSelector } from '../../services/discover_shared_state_container';
import { useAppStateSelector } from '../../services/discover_app_state_container';
import { useInspector } from '../../hooks/use_inspector';
import { useDiscoverServices } from '../../../../hooks/use_discover_services';
Expand Down Expand Up @@ -85,7 +85,7 @@ export function DiscoverLayout({ navigateTo, stateContainer }: DiscoverLayoutPro
if (uiSettings.get(SHOW_FIELD_STATISTICS) !== true) return VIEW_MODE.DOCUMENT_LEVEL;
return state.viewMode ?? VIEW_MODE.DOCUMENT_LEVEL;
});
const dataView = useInternalStateSelector((state) => state.dataView!);
const dataView = useSharedStateSelector((state) => state.dataView!);
const dataState: DataMainMsg = useDataState(main$);
const savedSearch = useSavedSearchInitial();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import type { DataDocuments$ } from '../../services/discover_data_state_containe
import { checkHitCount, sendErrorTo } from '../../hooks/use_saved_search_messages';
import type { DiscoverStateContainer } from '../../services/discover_state';
import { addLog } from '../../../../utils/add_log';
import { useInternalStateSelector } from '../../services/discover_internal_state_container';
import { useSharedStateSelector } from '../../services/discover_shared_state_container';
import type { DiscoverAppState } from '../../services/discover_app_state_container';

export interface UseDiscoverHistogramProps {
Expand Down Expand Up @@ -292,7 +292,7 @@ export const useDiscoverHistogram = ({
// When the data view or query changes, which will trigger a current suggestion change,
// skip the next refetch since we want to wait for the columns to update first, which
// doesn't happen until after the documents are fetched
const dataViewId = useInternalStateSelector((state) => state.dataView?.id);
const dataViewId = useSharedStateSelector((state) => state.dataView?.id);
const skipFetchParams = useRef({ dataViewId, query });

useEffect(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ function getStateContainer({ query }: { query?: Query | AggregateQuery }) {
query: query ?? { query: '', language: 'lucene' },
filters: [],
});
state.internalState.transitions.setDataView(stubLogstashDataView);
state.sharedState.transitions.setDataView(stubLogstashDataView);
return state;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jest.mock('@kbn/kibana-react-plugin/public', () => ({
function getProps(savePermissions = true): DiscoverTopNavProps {
discoverServiceMock.capabilities.discover!.save = savePermissions;
const stateContainer = getDiscoverStateMock({ isTimeBased: true });
stateContainer.internalState.transitions.setDataView(dataViewMock);
stateContainer.sharedState.transitions.setDataView(dataViewMock);

return {
stateContainer,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import type { Query, TimeRange, AggregateQuery } from '@kbn/es-query';
import { DataViewType, type DataView } from '@kbn/data-views-plugin/public';
import type { DataViewPickerProps } from '@kbn/unified-search-plugin/public';
import { useSavedSearchInitial } from '../../services/discover_state_provider';
import { useInternalStateSelector } from '../../services/discover_internal_state_container';
import { useSharedStateSelector } from '../../services/discover_shared_state_container';
import { ENABLE_SQL } from '../../../../../common';
import { useDiscoverServices } from '../../../../hooks/use_discover_services';
import { DiscoverLayoutProps } from '../layout/discover_layout';
Expand Down Expand Up @@ -44,9 +44,9 @@ export const DiscoverTopNav = ({
textBasedLanguageModeErrors,
onFieldEdited,
}: DiscoverTopNavProps) => {
const adHocDataViews = useInternalStateSelector((state) => state.adHocDataViews);
const dataView = useInternalStateSelector((state) => state.dataView!);
const savedDataViews = useInternalStateSelector((state) => state.savedDataViews);
const adHocDataViews = useSharedStateSelector((state) => state.adHocDataViews);
const dataView = useSharedStateSelector((state) => state.dataView!);
const savedDataViews = useSharedStateSelector((state) => state.savedDataViews);
const savedSearch = useSavedSearchInitial();
const showDatePicker = useMemo(
() => dataView.isTimeBased() && dataView.type !== DataViewType.ROLLUP,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function getStateContainer({ dataView }: { dataView?: DataView } = {}) {
rowsPerPage: 250,
}));
if (dataView) {
stateContainer.internalState.transitions.setDataView(dataView);
stateContainer.sharedState.transitions.setDataView(dataView);
}
return stateContainer;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ export async function onSaveSearch({
onSaveCb?: () => void;
}) {
const { uiSettings, savedObjectsTagging } = services;
const dataView = state.internalState.getState().dataView;
const dataView = state.sharedState.getState().dataView;
const onSave = async ({
newTitle,
newCopyOnSave,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export function AlertsPopover({
stateContainer,
onClose: originalOnClose,
}: AlertsPopoverProps) {
const dataView = stateContainer.internalState.getState().dataView;
const dataView = stateContainer.sharedState.getState().dataView;
const { triggersActionsUi } = services;
const [alertFlyoutVisible, setAlertFlyoutVisibility] = useState(false);
const onClose = useCallback(() => {
Expand Down Expand Up @@ -81,7 +81,7 @@ export function AlertsPopover({

const onFinishFlyoutInteraction = async (metadata: EsQueryAlertMetaData) => {
await stateContainer.actions.loadDataViewList();
stateContainer.internalState.transitions.setAdHocDataViews(metadata.adHocDataViewList);
stateContainer.sharedState.transitions.setAdHocDataViews(metadata.adHocDataViewList);
};

return triggersActionsUi?.getAddRuleFlyout({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ describe('DiscoverMainApp', () => {
}) as unknown as DataViewListItem[];
const stateContainer = getDiscoverStateMock({ isTimeBased: true });
stateContainer.actions.setDataView(dataViewMock);
stateContainer.internalState.transitions.setSavedDataViews(dataViewList);
stateContainer.sharedState.transitions.setSavedDataViews(dataViewList);
const props = {
stateContainer,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ export function DiscoverMainRoute(props: Props) {
// primary fetch: on initial search + triggered when id changes
useEffect(() => {
// restore the previously selected data view for a new state
loadSavedSearch(!savedSearchId ? stateContainer.internalState.getState().dataView : undefined);
loadSavedSearch(!savedSearchId ? stateContainer.sharedState.getState().dataView : undefined);
}, [loadSavedSearch, savedSearchId, stateContainer]);

// secondary fetch: in case URL is set to `/`, used to reset to 'new' state, keeping the current data view
Expand All @@ -212,7 +212,7 @@ export function DiscoverMainRoute(props: Props) {
savedSearchId,
onNewUrl: () => {
// restore the previously selected data view for a new state
const dataView = stateContainer.internalState.getState().dataView;
const dataView = stateContainer.sharedState.getState().dataView;
loadSavedSearch(dataView);
},
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { DiscoverServices } from '../../../build_services';
import { useSavedSearch } from '../services/discover_state_provider';
import { isTextBasedQuery } from '../utils/is_text_based_query';
import { useAppStateSelector } from '../services/discover_app_state_container';
import { useInternalStateSelector } from '../services/discover_internal_state_container';
import { useSharedStateSelector } from '../services/discover_shared_state_container';
import { ADHOC_DATA_VIEW_RENDER_EVENT } from '../../../constants';
import { DiscoverStateContainer } from '../services/discover_state';
import { useFiltersValidation } from './use_filters_validation';
Expand All @@ -24,7 +24,7 @@ export const useAdHocDataViews = ({
services: DiscoverServices;
}) => {
const query = useAppStateSelector((state) => state.query);
const dataView = useInternalStateSelector((state) => state.dataView);
const dataView = useSharedStateSelector((state) => state.dataView);
const savedSearch = useSavedSearch();
const isTextBasedMode = isTextBasedQuery(query);
const { filterManager, toastNotifications } = services;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ describe('test useInspector', () => {
const requests = new RequestAdapter();
const lensRequests = new RequestAdapter();
const stateContainer = getDiscoverStateMock({ isTimeBased: true });
stateContainer.internalState.transitions.setExpandedDoc({} as unknown as DataTableRecord);
stateContainer.sharedState.transitions.setExpandedDoc({} as unknown as DataTableRecord);
const { result } = renderHook(() => {
return useInspector({
stateContainer,
Expand All @@ -42,6 +42,6 @@ describe('test useInspector', () => {
...requests.getRequests(),
...lensRequests.getRequests(),
]);
expect(stateContainer.internalState.getState().expandedDoc).toBe(undefined);
expect(stateContainer.sharedState.getState().expandedDoc).toBe(undefined);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export function useInspector({

const onOpenInspector = useCallback(() => {
// prevent overlapping
stateContainer.internalState.transitions.setExpandedDoc(undefined);
stateContainer.sharedState.transitions.setExpandedDoc(undefined);
const inspectorAdapters = stateContainer.dataState.inspectorAdapters;

const requestAdapters = inspectorAdapters.lensRequests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ function getHookProps(
const stateContainer = getDiscoverStateMock({ isTimeBased: true });
stateContainer.appState.replaceUrlState = replaceUrlState;
stateContainer.appState.update({ columns: [], ...appState });
stateContainer.internalState.transitions.setSavedDataViews([dataViewMock as DataViewListItem]);
stateContainer.sharedState.transitions.setSavedDataViews([dataViewMock as DataViewListItem]);

const msgLoading = {
recordRawType: RecordRawType.PLAIN,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ export function useTextBasedQueryLanguage({
}
}
const indexPatternFromQuery = getIndexPatternFromSQLQuery(query.sql);
const internalState = stateContainer.internalState.getState();
const dataViewList = [...internalState.savedDataViews, ...internalState.adHocDataViews];
const sharedState = stateContainer.sharedState.getState();
const dataViewList = [...sharedState.savedDataViews, ...sharedState.adHocDataViews];
let dataViewObj = dataViewList.find(({ title }) => title === indexPatternFromQuery);

// no dataview found but the index pattern is valid
Expand All @@ -90,7 +90,7 @@ export function useTextBasedQueryLanguage({
dataViewObj = await dataViews.create({
title: indexPatternFromQuery,
});
stateContainer.internalState.transitions.setAdHocDataViews([dataViewObj]);
stateContainer.sharedState.transitions.setAdHocDataViews([dataViewObj]);

if (dataViewObj.fields.getByName('@timestamp')?.type === 'date') {
dataViewObj.timeFieldName = '@timestamp';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ describe('buildStateSubscribe', () => {
appState: stateContainer.appState,
savedSearchState: stateContainer.savedSearchState,
dataState: stateContainer.dataState,
internalState: stateContainer.internalState,
sharedState: stateContainer.sharedState,
services: discoverServiceMock,
setDataView: stateContainer.actions.setDataView,
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* Side Public License, v 1.
*/
import { isEqual } from 'lodash';
import type { DiscoverInternalStateContainer } from '../../services/discover_internal_state_container';
import type { DiscoverSharedStateContainer } from '../../services/discover_shared_state_container';
import type { DiscoverServices } from '../../../../build_services';
import type { DiscoverSavedSearchContainer } from '../../services/discover_saved_search_container';
import type { DiscoverDataStateContainer } from '../../services/discover_data_state_container';
Expand All @@ -29,14 +29,14 @@ export const buildStateSubscribe =
({
appState,
dataState,
internalState,
sharedState,
savedSearchState,
services,
setDataView,
}: {
appState: DiscoverAppStateContainer;
dataState: DiscoverDataStateContainer;
internalState: DiscoverInternalStateContainer;
sharedState: DiscoverSharedStateContainer;
savedSearchState: DiscoverSavedSearchContainer;
services: DiscoverServices;
setDataView: DiscoverStateContainer['actions']['setDataView'];
Expand All @@ -62,7 +62,7 @@ export const buildStateSubscribe =
if (nextState.index && dataViewChanged) {
const { dataView: nextDataView, fallback } = await loadAndResolveDataView(
{ id: nextState.index, savedSearch },
{ internalStateContainer: internalState, services }
{ sharedStateContainer: sharedState, services }
);

// If the requested data view is not found, don't try to load it,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ const setupTestParams = (dataView: DataView | undefined) => {
const discoverState = getDiscoverStateMock({
savedSearch,
});
discoverState.internalState.transitions.setDataView(savedSearch.searchSource.getField('index')!);
discoverState.sharedState.transitions.setDataView(savedSearch.searchSource.getField('index')!);
services.dataViews.get = jest.fn(() => Promise.resolve(dataView as DataView));
discoverState.appState.update = jest.fn();
return { services, appState: discoverState.appState, internalState: discoverState.internalState };
return { services, appState: discoverState.appState, sharedState: discoverState.sharedState };
};

describe('changeDataView', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import { SortOrder } from '@kbn/saved-search-plugin/public';
import { DataView } from '@kbn/data-views-plugin/common';
import { DiscoverInternalStateContainer } from '../../services/discover_internal_state_container';
import { DiscoverSharedStateContainer } from '../../services/discover_shared_state_container';
import { DiscoverAppStateContainer } from '../../services/discover_app_state_container';
import { addLog } from '../../../../utils/add_log';
import { DiscoverServices } from '../../../../build_services';
Expand All @@ -22,17 +22,17 @@ export async function changeDataView(
id: string | DataView,
{
services,
internalState,
sharedState,
appState,
}: {
services: DiscoverServices;
internalState: DiscoverInternalStateContainer;
sharedState: DiscoverSharedStateContainer;
appState: DiscoverAppStateContainer;
}
) {
addLog('[ui] changeDataView', { id });
const { dataViews, uiSettings } = services;
const dataView = internalState.getState().dataView;
const dataView = sharedState.getState().dataView;
const state = appState.getState();
let nextDataView: DataView | null = null;

Expand All @@ -54,8 +54,8 @@ export async function changeDataView(
);

appState.update(nextAppState);
if (internalState.getState().expandedDoc) {
internalState.transitions.setExpandedDoc(undefined);
if (sharedState.getState().expandedDoc) {
sharedState.transitions.setExpandedDoc(undefined);
}
}
}
Loading