-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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] Add Analytics No Data Page #131965
Conversation
@elasticmachine merge upstream |
Sorry, had a bad deploy of ci-stats but it should be fixed now and I've restarted your build in buildkite |
@elasticmachine merge upstream |
@elasticmachine merge upstream |
resolve(__dirname, './apps/triggers_actions_ui'), | ||
resolve(__dirname, './apps/discover'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needed to change the order of the tests here. If the Discover test runs first, it will clean up its data & indices. Before my change, in case of no data, Discover would redirect to kibana_overview
app. With this change, in case of no data, it stays within Discover. So the triggers_actions_ui
test starts from Discover, and the user for the test doesn't have Discover permissions, so it was throwing an error.
Changing the order of the test seemed like a cleaner solution than adding Discover-specific privileges to the user, since they are not really needed.
@@ -25,6 +25,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { | |||
loadTestFile(require.resolve('./_data_view_editor')); | |||
loadTestFile(require.resolve('./_saved_queries')); | |||
} else { | |||
loadTestFile(require.resolve('./_no_data')); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to go first, as it's the only way to ensure there is indeed no data in the cluster yet (some tests don't unload their fixtures 😱)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is fine 👍
Pinging @elastic/kibana-data-discovery (Team:DataDiscovery) |
@elasticmachine merge upstream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having a first look with some questions, only small nits, looking pretty good, great to have the option to create a data view now ... will do some manual testing later on
src/plugins/discover/public/application/main/discover_main_route.tsx
Outdated
Show resolved
Hide resolved
async (dataView: unknown) => { | ||
const dataViewId = (dataView as DataView).id; | ||
if (dataViewId) { | ||
setShowNoDataPage(false); | ||
setError(undefined); | ||
await loadSavedSearch(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if there's a way there could be a dataView returned without an id? For my understanding, currently there's no way the shared-ux pages components can use the DataView type right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, the typecast is here because the method will be called with an "unknown" parameter. as for the id, I am not sure. My understanding was that as soon as the data view is created, it will have an id.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed the dataViewId
as we don't really need it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, note that now unknown
of async (dataView: unknown)
is redundant
💚 Build SucceededMetrics [docs]Module Count
Async chunks
Page load bundle
Unknown metric groupsasync chunk count
miscellaneous assets size
History
To update your PR or re-run it, just comment with: |
} = services; | ||
const [error, setError] = useState<Error>(); | ||
const [savedSearch, setSavedSearch] = useState<SavedSearch>(); | ||
const indexPattern = savedSearch?.searchSource?.getField('index'); | ||
const [indexPatternList, setIndexPatternList] = useState<Array<SavedObject<DataViewAttributes>>>( | ||
[] | ||
); | ||
const [showNoDataPage, setShowNoDataPage] = useState<boolean>(false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that's already being tackled in the component itself: #132272
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
navLinks: { | ||
integrations: boolean; | ||
}; | ||
navLinks: Record<string, boolean>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚢
* [Discover] Add Analytics No Data Page * Make showEmptyPrompt parameter optional * Remove unused import * Remove unnecessary test * Fix test * Update failing test? * Update failing test * Changing the order of functional tests * Fix error handling * Addressing PR comments Co-authored-by: Kibana Machine <[email protected]>
* wip I * add alert table state in case * [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix' * add new API to get FeatureID form registrationContext and update UI to use this new API * rm dead code * [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix' * remove unnecessary memo * adds tests for case view helpers * Move http call to API and add tests for getFeatureIds * fix type + unit test * add unit tests + cleanup * add new api integration test for _feature_ids * [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix' * Fix small type creating typescript slowness * remove console log * use import type for validfeatureId * force any to improve typescript performance * Update APM (#132270) Co-authored-by: Renovate Bot <[email protected]> * [ResponseOps][Docs] Updating ServiceNow docs with OAuth setup instructions (#131344) * Updating ServiceNow docs. Need screenshots * Adding screenshots * Fix nested screenshots and lists * Tweaks and screenshots * Updates * blergh * Apply suggestions from code review Co-authored-by: Lisa Cawley <[email protected]> * Apply suggestions from code review Co-authored-by: Mike Côté <[email protected]> Co-authored-by: lcawl <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Mike Côté <[email protected]> * Show polling options when 'Data streams' option is selected in the Console Settings modal. (#132277) * [Osquery] Make Osquery All with All base privillege (#130523) * [XY] Add normalizeTable function to correct works with esdocs (#131917) * Add normalizeTable function to correct works with esdocs * Fix types * Fix types * Fix CI * Fix CI * Some fixes * Remove fallback with min/max value for domain * Added tests * Some refactoring Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Yaroslav Kuznietsov <[email protected]> * [Osquery] Add default osquery_saved_query objects (#129461) * [Unified Search] Show error message for invalid date filter value (#131290) * feat: added show error message for invalid date * refact: move logic in HOC * feat: refactoring code and added translation * refact show error * refact: show error message * refact: remove translation * refactor: changed menu for show FilterEdit * fix: open/close popover * feat: field.type => KBN_FIELD_TYPES * feat: remove extra code with with input check and refactored filter item * feat: added tests and refactoring code * refact: getFieldValidityAndErrorMessage * feat: return isInvalid checking in valur input type for string, ip * Update navigation landing pages to use appLinks config (#132027) * Update navigation landing pages to use appLinks config * Please code review * align app links changes * Update links descriptions * Rollback title changes * Fix wrong links descriptions * Fix unit tests * Fix description Co-authored-by: semd <[email protected]> * [Cloud Posture] add resource findings page flyout (#132243) * [Discover] Add a tour for Document Explorer (#131125) * [Discover] Add "Take a tour" button to the Document Explorer callout * [Discover] Tmp * [Discover] Add a first Document Explorer tour step * [Discover] Add other Document Explorer tour steps * [Discover] Update tour steps positioning * [Discover] Add gifs to tour steps * [Discover] Refactor how tour steps are registered * [Discover] Add new step to the tour. Update tour steps text. * [Discover] Improve steps positioning * [Discover] Fix positioning for Add field step * [Discover] Add icons to tour steps * [Discover] Reorganize components * [Discover] Skip Columns step when it's not available * [Discover] Rename components * [Discover] Add some tests * [Discover] Fix positioning * [Discover] Fix props * [Discover] Render steps only if the tour is active * [Discover] Update gifs * [Discover] Add image alt text for gifs * [Discover] Tag the Take tour button * [Discover] Update text and tests * [Discover] Add more tests * [Discover] Rename assets directory * [Discover] Fix tour in mobile view. Improve steps positioning and animation. * [Discover] Update text in tour steps * [Discover] Update sort.gif * [Discover] Update image width * Update src/plugins/discover/public/components/discover_tour/discover_tour_provider.tsx Co-authored-by: gchaps <[email protected]> * Update src/plugins/discover/public/components/discover_tour/discover_tour_provider.tsx Co-authored-by: gchaps <[email protected]> * [Discover] Update sort.gif * [Discover] Fix code style Co-authored-by: gchaps <[email protected]> Co-authored-by: Kibana Machine <[email protected]> * [XY] Add `minTimeBarInterval` arg (#128726) * Added `xAxisInterval` arg * Add validation * Add tests * Rename xAxisInterval to minTimeBarInterval and add validation * Fix imports * Add tests to validation * Fix conflicts * [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix' * Fix tests Co-authored-by: Kibana Machine <[email protected]> * do not use barrel imports * do not use barrel import * do not use barrel import * do not use barrel imports * do not use barrel import * import types * Add tests * Fix cases bundle size * Add more tests * [Fleet] Add new API to get current upgrades (#132276) * Add support of Data View switching for Agg-Based visualizations (#132184) * Add support of Data View switching for Agg-Based visualizations * fix CI * add use_date_view_updates * implement sync with state * cleanup * cleanup * cleanup * Update index.ts * fix PR comments * Update use_data_view_updates.ts * Update use_data_view_updates.ts Co-authored-by: Kibana Machine <[email protected]> * [Security Solution] Responsive styling fixes (#131951) * [Discover] Add Analytics No Data Page (#131965) * [Discover] Add Analytics No Data Page * Make showEmptyPrompt parameter optional * Remove unused import * Remove unnecessary test * Fix test * Update failing test? * Update failing test * Changing the order of functional tests * Fix error handling * Addressing PR comments Co-authored-by: Kibana Machine <[email protected]> * Remove barrel export from public index file * remove barrel export * Re-export missing exports * Turn off feature flag Co-authored-by: kibanamachine <[email protected]> Co-authored-by: Esteban Beltran <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Renovate Bot <[email protected]> Co-authored-by: Ying Mao <[email protected]> Co-authored-by: lcawl <[email protected]> Co-authored-by: Mike Côté <[email protected]> Co-authored-by: CJ Cenizal <[email protected]> Co-authored-by: Tomasz Ciecierski <[email protected]> Co-authored-by: Uladzislau Lasitsa <[email protected]> Co-authored-by: Yaroslav Kuznietsov <[email protected]> Co-authored-by: Nodir Latipov <[email protected]> Co-authored-by: Pablo Machado <[email protected]> Co-authored-by: semd <[email protected]> Co-authored-by: Or Ouziel <[email protected]> Co-authored-by: Julia Rechkunova <[email protected]> Co-authored-by: gchaps <[email protected]> Co-authored-by: Christos Nasikas <[email protected]> Co-authored-by: Nicolas Chaulet <[email protected]> Co-authored-by: Alexey Antonov <[email protected]> Co-authored-by: Steph Milovic <[email protected]> Co-authored-by: Maja Grubic <[email protected]>
Summary
This PR adds
Analytics No Data Page
component to Discover (see #131686), to handle scenarios when there is no data in ES or no data views.Some notable changes in this PR:
kibana_overview
and renders the page within DiscoverhasData
service to check for existence (or absence) of data (and data views)There is one small
shared-ux
change in this:navLinks
type declaration inCoreStart
ofshared-ux-services
No Data Flow
No Data Views Flow
Checklist
Delete any items that are not applicable to this PR.
- [ ] Any text added follows EUI's writing guidelines, uses sentence case text and includes i18n support- [ ] Documentation was added for features that require explanation or tutorials- [ ] Any UI touched in this PR is usable by keyboard only (learn more about keyboard accessibility)- [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: FF, Chrome)- [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the docker listFor maintainers