* [@kbn/expect] "fork" expect.js into repo
* [eslint] autofix references to expect.js
* [tslint] autofix all expect.js imports
* now that expect.js is in strict mode, avoid reassigning fn.length
* [kuery] support matching field names with newlines (#29539)
* [kuery] support matching field names with newlines
* Add support for newlines in KQL grammar
* Add test for newlines in wildcards
* Fix test
* Use 's' instead of 'm' to match newlines instead of doing multi-line
* Fix autocomplete suggestions to handle newlines and tabs in field names
* Add line feed to escaped whitespace
* Fix broken test
* replace kbnTimepicker directive with EuiSuperDatePicker
* remove kbnTimepicker directive
* remove bootstrap datepicker
* Embed timepicker in query bar (#29130)
* replace kbnTimepicker directive with EuiSuperDatePicker
* remove kbnTimepicker directive
* remove bootstrap datepicker
* embed timepicker in query bar
* flesh out date picker in query bar for maps app
* wire up refresh config
* fix bug with way update function called by watcher
* get maps application functional tests working with new timepicker
* update setAbsoluteRange for EuiSuperDatePicker
* replace setQuickTime with calls to setAbsoluteTime
* remove open time picker button in discover empty results view
* pass config values to super-date-picker directive
* remove getPrettyDuration
* clean up typescript lint problems
* some functional test fixes
* try something else to fix I18n problems
* fix some more functional tests
* update query_bar jest test
* remove unused method in kbn_global_timepicker
* do not import removed timepicker styles
* remove mode from time state
* remove mode from time_history interface
* fix problem with ui_settings_defaults
* fix failing TSVB functional test
* another round to test fixes
* more functional test changes
* fixes for failing tests
* add retry block to flaky tsvb test
* styles/bootstrap_dark.less
* fix functional tests
* call fetch event even when times are the same
* add retry around flaky tsvb test
* fix timefilter jest test, attempt to fix another flaky functional test
* revert emitting fetch outside of areTimePickerValsDifferent check
* clean up time mode code that is no longer needed in dashboard
* fix timefilter tests changed by timefilter emit revert
Fixes the build issues introduced in #25563 and re-introduces the new react/eui/typescript filter bar, essentially reverting the revert in #29662. I did have to resolve one merge conflict in query_bar.tsx, and re-deleted all of the old filter bar code where translation code had been added.
* initial commit of K7 side nav
* [ui/persistedLog/recentlyAccessed] support observing history items
* [globalNav] use real recentlyAccessed and navLink data
* fixes header logo and mobile layout
* handle hidden links and no recents, use size vars
* handle hidden links and no recents, use size vars
* adds prop to wrap flyout link text
* fix menu scroll for IE
* [chrome/headerGlobalNav] fix typescript issues
* [chrome/headerGlobalNav] only ignore types that are actually missing
* update EUI to 6.6.0
* Revert "update EUI to 6.6.0"
This reverts commit 048cbf9157f8fc7410d4cf8e017b210c4548104e.
* [chrome] remove HeaderAppMenu component
* [ftr/services/appsMemnu] update for new style
* [ftr/discover] tweak size of discover tests and size-dependent assertions
* [chrome] disable offsets in embed mode
* [ftr/discover] try sticking with original screen width
* [ftr/discover] try to force screensize before checking axis labels
* [ftr/services/appMenu] ensure menu closed after clicking app
* uptime app icon, mobile header size removed
* [ftr/discover] make assertion resilient to minor changes in vis width
* [chrome] add types for nav apis
* [chrome/recentlyAccessed] display app icons when possible
* [ftr/discover] make a little wider so scroll doesn't interfer with vis width
* [ftr/services/globalNav] fix test subject
* [visualize] update breadcrumbs when updating visualization
* [ftr] auto-scroll elements passed the fixed header if necessary
* [uiSettings] enable the k7design by default
* [ftr/services/flyout] add ensureClosed() and ensureAllClosed()
* [ftr/services/globalNav] implement globalNav service
* [ftr/services/appsMenu] implement service for using app menu
* [ftr/services/userMenu] add service for using user menu
* [ftr/discover+visualize] update assertions that are based on the app width
* [ftr/monitoring] pass test subjects to new breadcrumbs
* [headerGlobalNav] don't offset the app container in embed mode
* update heights for slightly smaller header
* Refactor, clean up, new inspector, pie chart services
* Move inspector service to top level, outside of visualizations folder
* Refactor some more instances of getTableData into expectTableData
* [pageObjects/common] remove unused runScript method
* [pageObjects/common] remove almost unused doesCssSelectorExist method
* [pageObjects/graph] convert to use find/testSubjects services
* [pageObjects/discover] refactor out remote service
* [pageObjects/pointSeries] refactor out remote service
* [pageObjects/monitoring] refactor out remote service
* [ftr] refactor uses of remote to use browser or find
* [ftr/services/remote] wrap remote with browser service
* [pageObjects/security] refactor out uses of remote
* [ftr/services/browser] isolate element calls to find
* [ftr] rename remote service to __leadfoot__
* [ftr/leadfoot] cleanup some renames in find, keep names in other tests
* [ci][ftr][kbn/test] split up CI jobs
* [ci] run --assert-none-excluded in ci groups, before builds
* [ftr] improve error message when excluded tests found
* [ci] document other places the ciGroups live
Implements query bar portion of https://elastic.github.io/eui/#/layout/header. Filter bar will come in another PR.
Fixes#14086
Re-implements our query bar component in React using some EUI components. Existing typeahead and suggestion styles were copied over 1:1 for now after talking with Dave about it. In this PR I focused on reaching feature parity with the existing query bar. Some additional work would be needed before we could move this into EUI as a generic component that could be consumed by other plugins.
Still needs some new tests and I suspect some old tests will need to be updated, but other than that this PR is functionally complete and ready for reviews.
* Implement inspector for Saved Searches
* add inspect top nav to discover app
* add functional test, add support for empty results
* clean up functional test names
* create inspector request before processing response
* just getting the popover to open and start laying out the context menu
* pass getUnhashableStates to ShareMenu
* generate original and snapshot ids
* move state into ShareUrlContent
* start working on form
* use radio group
* add input for creating short URL
* display URL in alert until copy functionallity gets migrated to EUI
* allowEmbed prop
* replace share directive with showShareContextMenu
* fix button styling
* add jest test for share_context_menu
* use EuiCopy to copy URL, add jest test for ShareUrlContent component
* clean up
* display short URL create error message in form instead of with toast
* switch option order so disbaled option can not be first
* fix discover share functional tests
* add functions required by reporting
* typescript
* remove empty file
* fix typescript compile error
* move import so jest tests work
* fix Failed prop type: The proptextToCopyis marked as required inEuiCopy, but its value isundefined
* move shortUrl out of react state and into Component object
* getUnhashableStates type from any[] to object[]
* add comment about type change once EUI issue is solved
* add functional test for saved object URL sharing
* remove commit
a36b87a#diff-aff92ff718af4b68d02f030d8a438754 added an ng-if around the available fields button element. ng-if creates a child scope. The ng-click on the button directly modifies scope state. As a result, when the ng-if was added, that ng-click began modifying the ng-if's child scope instead of the parent scope.
The best solution would be to update the discFieldChooser directive to use the controllerAs property so its scope variables are namespaced. However, this is a bit risky because I'd need to make sure to update every single scope variable reference in the template, and it's a relatively large template. Since we'd like to backport this to 6.4 I've taken the less risky route of adding $parent to the scope reference inside the ng-if block.
* set pause to 'true' when refresh interval is zero
* keep original assertion
* fix expect message in functional tests now that pause is set to true
* fix executorProvider mocha test
* Add Inspector feature
* So long, and thanks for all the fish, spy panel
* Fix several functional tests
* Fix unit tests
* Fix spy panel button tests
* Replace old spy panel documentation
* Disable test temporarily until we have dashboard triggers
* Enter edit mode for dark theme test
* Fix some more functional tests
* Fix more functional tests
* More test fixing
* Fix more functional tests
* Allow opening the inspector via loader handler
* Refactor InspectorViewChooser, remove unused CSS
* Remove dead code
* Fix data download button style
* Remove redundant code
* Load inspectorViews for dashboard_viewer
* Extract inspector views to custom core_plugin
* Switch API to TypeScript 🎉
* Design changes
* Remove icons from views
* Design changes
* Improve typings of API
* Add typing to all adapters
* Show loading spinner in request selector
* Rewrite InspectorView to TypeScript
* Fix help text for data view
* Remove deprecated React lifecycle methods
* Embed inspector into dashboard panel actions
* Remove temporary inspector trigger
* Remove old CSS
* Fix dashboard trigger for new panel action
* Add tests for InspectorPanel and DataAdapter
* Produce a hierarchical table if the vis is hierarchical
* Remove allowJs option again
* Add missing Apache license headers
* Close inspector on dashboard when navigating away
* Use proper title for dashboard panels
* Fix functional tests
* Skip broken test for now
* Flush view chooser button
* Add request adapter tests
* Skip more tests, broken due to typescript
* Add Request Time description
* Add description for courier request
* Fix tests
* Replace icon by new (not yet released) icon
* Finalize design of inspector
* Remove discover test, that relied on spy panels
* Change API to be properly mockable in tests
* Add aria-live region for request status
* Replace old method in functional tests
* Replace abitrary magic number
* Use object destructuring in vis
* Fix issue with crashing requests view
* Add request time tooltip
* Get request body of correct search source
* Make filter buttons properly keyboard accessible
* Follow Dave's design suggestions
* Remove redundant request from name
* Remove unneeded comments
* WIP raw-formatted values
* Fix filtering issue
* Fix tests and more license headers
* Add data view tests
* Remove search from table
* Fix typos
* Implement review suggestion
* Remove artificial delays for testing
* Fix new panel action structure
* Minor design adjustments
* Fix failing functional test
* Update failing snapshot test
* Implement final wording
* Apply new EUI styling
* Fix closing inspector in tests
* Fix sorting of table
* Align punctuation between tooltips
In order to make the license that applies to each file as clear as possible, and to be consistent with elasticsearch, we are adding Apache 2.0 license headers to the top of each file.
Existence of this header is enforced by eslint and tslint and missing headers were automatically added in the last commit by running:
```
node scripts/eslint --fix && node scripts/tslint --fix
```
* adding large_string_test
* removed a failing test, modified the existing one
* new line at the end of mappings.json
* removed the data.json file and also removed the navigateTo() and clickKibanaIndices() as createIndexPattern() takes care of it
* more modifications
Makes our language updates more visible to users and removes mentions of Kuery as a separate language. Users still get the old lucene experience by default, but have the option to opt-in to "experimental query features" directly in the query bar. Goal is to get more feedback by making these new features more prominent and less of a jump from lucene.
This PR evolves Kuery into a simplified, more lucene-like language. In a follow up PR we plan on getting rid of the language switcher dropdown and instead add a checkbox that will allow users to opt-in to this syntax, which will feel less like a separate language and more like a set of enhancements to the existing lucene query syntax.
This PR also updates the simple grammar to solve the following:
* Wildcards in field names
* "is one of" shorthand (e.g. foo:(bar OR baz OR qux))
* Don't split on whitespace (require explicit AND/ORs, case insensitive)
* "exists" query (e.g. foo:*)
* Improved range query shorthands (e.g. foo <= 1)
* Wildcard queries
Since this new syntax is simpler and does not support every filter type like old Kuery did, this PR also brings back the filter bar when kuery is selected in the language picker.
See the documentation updates in this PR if you need an overview of the new syntax (and let us know if the documentation is lacking).
* [eslint] upgrade to 4.10.0
* [eslint-config-kibana] limit jest config to jest test files
* [ui_framework] remove trailing comma from rest-spreads
* [dashboard/tests] tag jest helpers with .test.js suffix
* explicitly import expect.js where used
* [eslint] apply auto-fixes
* [eslint] manually add/wrap some parens for compliance
* [npm] point to local packages for testing/review
* [jest] remove .test extension from jest helpers
* [ui_framework] fix trailing comma removal from 3bc661a1c8
* [packages] upgrade eslint packages
* [uiSettings] auto upgrade savedConfig doc when missing
* naming tweaks
* fix comments
* ensure that rcVersions are not found within a version
* add some tests for non-single digit versions/rcs/betas
* return the condition, rather than using an if()
* assert that getUpgradeableConfig() is always called once
* [uiSettingsService] remove excess space
* [savedObjectsClient] only attempt to createOrUpgradeSavedConfig once
* [uiSettings/routes/tests] remove unused assert helper
* [functional/console] correct test title
* [ftr/kibanaServer/uiSettings] fix disableToastAutohide timeout
* Move dashboard panel rendering logic to each registered type.
* Remove dashboard knowledge of click and brush handlers for visualizations
Move it to the VisualizeEmbeddableHandler.
* merge master with manual changes
* No need to use lodash
* Add EmbeddableHandler base class
* Use correct path to embeddable_handlers_registry
* clean up
* Set visualize scope uiState that is of type PersistedState, otherwise it won't actually be set.
* add retry to loading saved search data
* Fix handleError param and remove unnecessary private param
* Rename savePanelState updatePanel and return the new object rather than mutating the original
* Make ContainerAPI a base class and move the dashboard specific functionality into a new class
* Make api's async and clean up documentation
* Fix panel tests
* Fix bug which broke tests - need to pass container-api to dashboard-panel
* Address code comments
- Rename onFilter to addFilter
- Use angular promises instead of async/await
- fix jsdoc
- rename createChildUiState to getInitialState
* changed the wrong variable name
* no need for async or Promise.reject on interface
* add tests that will fail due to spy pane issue in this PR
* Fix logic with spy pane toggle
There is still a bit of a bug here as mentioned in
https://github.com/elastic/kibana/issues/13340 but it will be fixed
separately as it’s also an issue in master
* Fix failing test
* Stabalize tests and bring back flaky test
* Try to fix flaky map radius visualize test
* fix flaky tile map zoom test
* Try to fix flaky zoom test by avoiding zooming in and out with spy panel open
* Remove duplicate wrapped retry around find methods
The retry was moved internally, around a check for stale elements as
well, so this should no longer be neccessary.