2019-07-21 14:06:03 +02:00
|
|
|
{
|
|
|
|
"prefix": "xpack",
|
|
|
|
"paths": {
|
2020-01-22 18:08:54 +01:00
|
|
|
"xpack.actions": "plugins/actions",
|
2020-09-28 22:25:15 +02:00
|
|
|
"xpack.uiActionsEnhanced": "plugins/ui_actions_enhanced",
|
2021-03-05 19:59:34 +01:00
|
|
|
"xpack.alerting": "plugins/alerting",
|
2020-08-11 16:00:02 +02:00
|
|
|
"xpack.eventLog": "plugins/event_log",
|
2020-10-06 18:51:05 +02:00
|
|
|
"xpack.stackAlerts": "plugins/stack_alerts",
|
2020-09-23 09:52:51 +02:00
|
|
|
"xpack.apm": "plugins/apm",
|
2020-05-06 02:52:56 +02:00
|
|
|
"xpack.canvas": "plugins/canvas",
|
2021-03-10 16:58:51 +01:00
|
|
|
"xpack.cases": "plugins/cases",
|
2020-06-25 00:08:37 +02:00
|
|
|
"xpack.cloud": "plugins/cloud",
|
Drilldowns (#61219)
* Add drilldown wizard components
* Dynamic actions (#58216)
* feat: 🎸 add DynamicAction and FactoryAction types
* feat: 🎸 add Mutable<T> type to @kbn/utility-types
* feat: 🎸 add ActionInternal and ActionContract
* chore: 🤖 remove unused file
* feat: 🎸 improve action interfaces
* docs: ✏️ add JSDocs
* feat: 🎸 simplify ui_actions interfaces
* fix: 🐛 fix TypeScript types
* feat: 🎸 add AbstractPresentable interface
* feat: 🎸 add AbstractConfigurable interface
* feat: 🎸 use AbstractPresentable in ActionInternal
* test: 💍 fix ui_actions Jest tests
* feat: 🎸 add state container to action
* perf: ⚡️ convert MenuItem to React component on Action instance
* refactor: 💡 rename AbsractPresentable -> Presentable
* refactor: 💡 rename AbstractConfigurable -> Configurable
* feat: 🎸 add Storybook to ui_actions
* feat: 🎸 add <ErrorConfigureAction> component
* feat: 🎸 improve <ConfigureAction> component
* chore: 🤖 use .story file extension prefix for Storybook
* feat: 🎸 improve <ErrorConfigureAction> component
* feat: 🎸 show error if dynamic action has CollectConfig missing
* feat: 🎸 render sample action configuration component
* feat: 🎸 connect action config to <ConfigureAction>
* feat: 🎸 improve <ConfigureAction> stories
* test: 💍 add ActionInternal serialize/deserialize tests
* feat: 🎸 add ActionContract
* feat: 🎸 split action Context into Execution and Presentation
* fix: 🐛 fix TypeScript error
* refactor: 💡 extract state container hooks to module scope
* docs: ✏️ fix typos
* chore: 🤖 remove Mutable<t> type
* test: 💍 don't cast to any getActions() function
* style: 💄 avoid using unnecessary types
* chore: 🤖 address PR review comments
* chore: 🤖 rename ActionContext generic
* chore: 🤖 remove order from state container
* chore: 🤖 remove deprecation notice on getHref
* test: 💍 fix tests after order field change
* remove comments
Co-authored-by: Matt Kime <matt@mattki.me>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Drilldown context menu (#59638)
* fix: 🐛 fix TypeScript error
* feat: 🎸 add CONTEXT_MENU_DRILLDOWNS_TRIGGER trigger
* fix: 🐛 correctly order context menu items
* fix: 🐛 set correct order on drilldown flyout actions
* fix: 🐛 clean up context menu building functions
* feat: 🎸 add context menu separator action
* Add basic ActionFactoryService. Pass data from it into components instead of mocks
* Dashboard x pack (#59653)
* feat: 🎸 add dashboard_enhanced plugin to x-pack
* feat: 🎸 improve context menu separator
* feat: 🎸 move drilldown flyout actions to dashboard_enhanced
* fix: 🐛 fix exports from ui_actions plugin
* feat: 🎸 "implement" registerDrilldown() method
* fix ConfigurableBaseConfig type
* Implement connected flyout_manage_drilldowns component
* Simplify connected flyout manage drilldowns component. Remove intermediate component
* clean up data-testid workaround in new components
* Connect welcome message to storage
Not sure, but use LocalStorage. Didn’t find a way to persist user settings. looks like uiSettings are not user scoped.
* require `context` in Presentable. drill context down through wizard components
* Drilldown factory (#59823)
* refactor: 💡 import storage interface from ui_actions plugin
* refactor: 💡 make actions not-dynamic
* feat: 🎸 fix TypeScript errors, reshuffle types and code
* fix: 🐛 fix more TypeScript errors
* fix: 🐛 fix TypeScript import error
* Drilldown registration (#59834)
* feat: 🎸 improve drilldown registration method
* fix: 🐛 set up translations for dashboard_enhanced plugin
* Drilldown events 3 (#59854)
* feat: 🎸 add serialize/unserialize to action
* feat: 🎸 pass in uiActions service into Embeddable
* feat: 🎸 merge ui_actions oss and basic plugins
* refactor: 💡 move action factory registry to OSS
* fix: 🐛 fix TypeScript errors
* Drilldown events 4 (#59876)
* feat: 🎸 mock sample drilldown execute methods
* feat: 🎸 add .dynamicActions manager to Embeddable
* feat: 🎸 add first version of dynamic action manager
* Drilldown events 5 (#59885)
* feat: 🎸 display drilldowns in context menu only on one embed
* feat: 🎸 clear dynamic actions from registry when embed unloads
* fix: 🐛 fix OSS TypeScript errors
* basic integration of components with dynamicActionManager
* fix: 🐛 don't overwrite explicitInput with combined input (#59938)
* display drilldown count in embeddable edit mode
* display drilldown count in embeddable edit mode
* improve wizard components. more tests.
* partial progress, dashboard drilldowns (#59977)
* partial progress, dashboard drilldowns
* partial progress, dashboard drilldowns
* feat: 🎸 improve dashboard drilldown setup
* feat: 🎸 wire in services into dashboard drilldown
* chore: 🤖 add Storybook to dashboard_enhanced
* feat: 🎸 create presentational <DashboardDrilldownConfig>
* test: 💍 add <DashboardDrilldownConfig> stories
* test: 💍 use presentation dashboar config component
* feat: 🎸 wire in services into React component
* docs: ✏️ add README to /components folder
* feat: 🎸 increase importance of Dashboard drilldown
* feat: 🎸 improve icon definition in drilldowns
* chore: 🤖 remove unnecessary comment
* chore: 🤖 add todos
Co-authored-by: streamich <streamich@gmail.com>
* Manage drilldowns toasts. Add basic error handling.
* support order in action factory selector
* fix column order in manage drilldowns list
* remove accidental debug info
* bunch of nit ui fixes
* Drilldowns reactive action manager (#60099)
* feat: 🎸 improve isConfigValid return type
* feat: 🎸 make DynamicActionManager reactive
* docs: ✏️ add JSDocs to public mehtods of DynamicActionManager
* feat: 🎸 make panel top-right corner number badge reactive
* fix: 🐛 correctly await for .deleteEvents()
* Drilldowns various 2 (#60103)
* chore: 🤖 address review comments
* test: 💍 fix embeddable_panel.test.tsx tests
* chore: 🤖 clean up ActionInternal
* chore: 🤖 make isConfigValid a simple predicate
* chore: 🤖 fix TypeScript type errors
* test: 💍 stub DynamicActionManager tests (#60104)
* Drilldowns review 1 (#60139)
* refactor: 💡 improve generic types
* fix: 🐛 don't overwrite icon
* fix: 🐛 fix x-pack TypeScript errors
* fix: 🐛 fix TypeScript error
* fix: 🐛 correct merge
* Drilldowns various 4 (#60264)
* feat: 🎸 hide "Create drilldown" from context menu when needed
* style: 💄 remove AnyDrilldown type
* feat: 🎸 add drilldown factory context
* chore: 🤖 remove sample drilldown
* fix: 🐛 increase spacing between action factory picker
* workaround issue with closing flyout when navigating away
Adds overlay just like other flyouts which makes this defect harder to bump in
* fix react key issue in action_wizard
* don’t open 2 flyouts
* fix action order
https://github.com/elastic/kibana/issues/60138
* Drilldowns reload stored (#60336)
* style: 💄 don't use double equals __
* feat: 🎸 add reload$ to ActionStorage interface
* feat: 🎸 add reload$ to embeddable event storage
* feat: 🎸 add storage syncing to DynamicActionManager
* refactor: 💡 use state from DynamicActionManager in React
* fix: 🐛 add check for manager being stopped
* Drilldowns triggers (#60339)
* feat: 🎸 make use of supportedTriggers()
* feat: 🎸 pass in context to configuration component
* feat: 🎸 augment factory context
* fix: 🐛 stop infinite re-rendering
* Drilldowns multitrigger (#60357)
* feat: 🎸 add support for multiple triggers
* feat: 🎸 enable Drilldowns for TSVB
Although TSVB brushing event is now broken on master, KibanaApp plans to
fix it in 7.7
* "Create drilldown" flyout - design cleanup (#60309)
* create drilldown flyout cleanup
* remove border from selectedActionFactoryContainer
* adjust callout in DrilldownHello
* update form labels
* remove unused file
* fix type error
Co-authored-by: Anton Dosov <anton.dosov@elastic.co>
* basic unit tests for flyout_create_drildown action
* Drilldowns finalize (#60371)
* fix: 🐛 align flyout content to left side
* fix: 🐛 move context menu item number 1px lower
* fix: 🐛 move flyout back nav chevron up
* fix: 🐛 fix type check after refactor
* basic unit tests for drilldown actions
* Drilldowns finalize 2 (#60510)
* test: 💍 fix test mock
* chore: 🤖 remove unused UiActionsService methods
* refactor: 💡 cleanup UiActionsService action registration
* fix: 🐛 add missing functionality after refactor
* test: 💍 add action factory tests
* test: 💍 add DynamicActionManager tests
* feat: 🎸 capture error if it happens during initial load
* fix: 🐛 register correctly CSV action
* feat: 🎸 don't show "OPTIONS" title on drilldown context menus
* feat: 🎸 add server-side for x-pack dashboard plugin
* feat: 🎸 disable Drilldowns for TSVB
* feat: 🎸 enable drilldowns on kibana.yml feature flag
* feat: 🎸 add feature flag comment to kibana.yml
* feat: 🎸 remove places from drilldown interface
* refactor: 💡 remove place in factory context
* chore: 🤖 remove doExecute
* remove not needed now error_configure_action component
* remove workaround for storybook
* feat: 🎸 improve DrilldownDefinition interface
* style: 💄 replace any by unknown
* chore: 🤖 remove any
* chore: 🤖 make isConfigValid return type a boolean
* refactor: 💡 move getDisplayName to factory, remove deprecated
* style: 💄 remove any
* feat: 🎸 improve ActionFactoryDefinition
* refactor: 💡 change visualize_embeddable params
* feat: 🎸 add dashboard dependency to dashboard_enhanced
* style: 💄 rename drilldown plugin life-cycle contracts
* refactor: 💡 do naming adjustments for dashboard drilldown
* fix: 🐛 fix Type error
* fix: 🐛 fix TypeScript type errors
* test: 💍 fix test after refactor
* refactor: 💡 rename context -> placeContext in React component
* chore: 🤖 remove setting from kibana.yml
* refactor: 💡 change return type of getAction as per review
* remove custom css per review
* refactor: 💡 rename drilldownCount to eventCount
* style: 💄 remove any
* refactor: 💡 change how uiActions are passed to vis embeddable
* style: 💄 remove unused import
* fix: 🐛 pass in uiActions to visualize_embeddable
* fix: 🐛 correctly register action
* fix: 🐛 fix type error
* chore: 🤖 remove unused translations
* Dynamic actions to xpack (#62647)
* feat: 🎸 set up sample action factory provider
* feat: 🎸 create dashboard_enhanced plugin
* feat: 🎸 add EnhancedEmbeddable interface
* refactor: 💡 move DynamicActionManager to x-pack
* feat: 🎸 connect dynamic action manager to embeddable life-cycle
* test: 💍 fix Jest tests after refactor
* fix: 🐛 fix type error
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* refactor: 💡 move action factories to x-pack (#63190)
* refactor: 💡 move action factories to x-pack
* fix: 🐛 use correct plugin embeddable deps
* test: 💍 fix Jest test after refactor
* chore: 🤖 remove kibana.yml flag (#62441)
* Panel top right (#63466)
* feat: 🎸 add PANEL_NOTIFICATION_TRIGGER
* feat: 🎸 add PanelNotificationsAction action
* test: 💍 add PanelNotificationsAction unit tests
* refactor: 💡 revert addTriggerAction() change
* style: 💄 remove unused import
* fix: 🐛 fix typecheck errors after merge
* support getHref in drilldowns (#63727)
* chore: 🤖 remove ui_actions storybook config
* update docs
* fix ts
* fix: 🐛 fix broken merge
* [Drilldowns] Dashboard to dashboard drilldown (#63108)
* partial progress on async loading / searching of dashboard titles
* feat: 🎸 make combobox full width
* filtering combobox polish
* storybook fix
* implement navigating to dashboard, seems like a type problem
* try navToApp
* filter out current dashboard
* rough draft linking to a dashboard
* remove note
* typefix
* fix navigation from dashboard to dashboard
except for back button - that would be addressed separatly
* partial progress getting filters from action data
* fix issue with getIndexPatterns undefined
we can’t import those functions as static functions, instead we have to expose them on plugin contract because they are statefull
* fix filter / time passing into url
* typefix
* dashboard to dashboard drilldown functional test and back button fix
* documentation update
* chore clean-ups
fix type
* basic unit test for dashboard drilldown
* remove test todos
decided to skip those tests because not clear how to test due to EuiCombobox is using react-virtualized and options list is not rendered in jsdom env
* remove config
* improve back button with filter comparison tweak
* dashboard filters/date option off by default
* revert change to config/kibana.yml
* remove unneeded comments
* use default time range as appropriate
* fix type, add filter icon, add text
* fix test
* change how time range is restored and improve back button for drilldowns
* resolve conflicts
* fix async compile issue
* remove redundant test
* wip
* wip
* fix
* temp skip tests
* fix
* handle missing dashboard edge case
* fix api
* refactor action filter creation utils
* updating
* updating docs
* improve
* fix storybook
* post merge fixes
* fix payload emitted in brush event
* properly export createRange action
* improve tests
* add test
* post merge fixes
* improve
* fix
* improve
* fix build
* wip getHref support
* implement getHref()
* give proper name to a story
* use sync start services
* update text
* fix types
* fix ts
* fix docs
* move clone below drilldowns (near replace)
* remove redundant comments
* refactor action filter creation utils
* updating
* updating docs
* fix payload emitted in brush event
* properly export createRange action
* some more updates
* fixing types
* ...
* inline EventData
* fix typescript in lens and update docs
* improve filters types
* docs
* merge
* @mdefazio review
* adjust actions order
* docs
* @stacey-gammon review
Co-authored-by: Matt Kime <matt@mattki.me>
Co-authored-by: streamich <streamich@gmail.com>
Co-authored-by: ppisljar <peter.pisljar@gmail.com>
* fix docs
* nit fixes
* chore: 🤖 remove uiActions from Embeddable dependencies
* chore: 🤖 don't export ActionInternal from ui_actions
* test: 💍 remove uiActions deps in x-pack test mocks
* chore: 🤖 cleanup ui_actions types
* docs: ✏️ add JSDoc comment to addTriggerAction()
* docs: ✏️ regenerate docs
* Drilldown demo 2 (#64300)
* chore: 🤖 add example of Discover drilldown to sample plugin
* fix: 🐛 show drilldowns with higher "order" first
* feat: 🎸 add createStartServicesGetter() to /public kibana_util
* feat: 🎸 load index patterns in Discover drilldown
* feat: 🎸 add toggle for index pattern selection
* feat: 🎸 add spacer to separate unrelated config fields
* fix: 🐛 correctly configre setup core
* feat: 🎸 navigate to correct index pattern
* chore: 🤖 fix type check errors
* fix: 🐛 make index pattern select full width
* fix: 🐛 add getHref support
* feat: 🎸 add example plugin ability to X-Pack
* refactor: 💡 move Discover drilldown example to X-Pack
* feat: 🎸 add dashboard-to-url drilldown example
* feat: 🎸 add new tab support for URL drilldown
* feat: 🎸 add "hello world" drilldown example
* docs: ✏️ add README
* feat: 🎸 add getHref support
* chore: 🤖 cleanup after moving examples to X-Pack
* docs: ✏️ add to README.md info on how to find drilldowns
* feat: 🎸 store events in .enhancements field
* docs: ✏️ add comment to range trigger title
* refactor: 💡 move Configurable interface into kibana_utils
* chore: 🤖 simplify internal component types
* refactor: 💡 move registerDrilldwon() to advanced_ui_actions
* test: 💍 update functional test data
* merge
* docs: ✏️ make drilldown enhancement comment more general
* fix: 🐛 return public type from registerAction() call
* docs: ✏️ add comment to value click trigger title field
* docs: ✏️ improve comment
* fix: 🐛 use second argument of CollectConfigProps interface
* fix: 🐛 add workaround for Firefox rendering issue
See:
https://github.com/elastic/kibana/pull/61219/#pullrequestreview-402903330
* chore: 🤖 delete unused file
* fix: 🐛 import type from new location
* style: 💄 make generic type variable name sconsistent
* fix: 🐛 show "Create drilldown" only on dashboard
* test: 💍 add extra unit test for root embeddable type
* docs: ✏️ update generated docs
* chore: 🤖 add example warnings to sample drilldowns
* docs: ✏️ add links to example warnings
* feat: 🎸 add URL drilldown validation and https:// prefixing
* fix: 🐛 disable drilldowns for lens
* refactor: 💡 remove PlaceContext from DrilldownDefinition
* fix: 🐛 fix type check error
* feat: 🎸 show warning message if embeddable not provided
Co-authored-by: Anton Dosov <anton.dosov@elastic.co>
Co-authored-by: Matt Kime <matt@mattki.me>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Andrea Del Rio <delrio.andre@gmail.com>
Co-authored-by: ppisljar <peter.pisljar@gmail.com>
2020-05-04 16:11:20 +02:00
|
|
|
"xpack.dashboard": "plugins/dashboard_enhanced",
|
2020-06-17 10:31:16 +02:00
|
|
|
"xpack.discover": "plugins/discover_enhanced",
|
2020-04-22 16:15:25 +02:00
|
|
|
"xpack.crossClusterReplication": "plugins/cross_cluster_replication",
|
2020-02-20 21:59:29 +01:00
|
|
|
"xpack.data": "plugins/data_enhanced",
|
2020-05-08 10:05:27 +02:00
|
|
|
"xpack.embeddableEnhanced": "plugins/embeddable_enhanced",
|
2019-12-06 20:55:16 +01:00
|
|
|
"xpack.endpoint": "plugins/endpoint",
|
New Enterprise Search Kibana plugin (#66922)
* Initial App Search in Kibana plugin work
- Initializes a new platform plugin that ships out of the box w/ x-pack
- Contains a very basic front-end that shows AS engines, error states, or a Setup Guide
- Contains a very basic server that remotely calls the AS internal engines API and returns results
* Update URL casing to match Kibana best practices
- URL casing appears to be snake_casing, but kibana.json casing appears to be camelCase
* Register App Search plugin in Home Feature Catalogue
* Add custom App Search in Kibana logo
- I haven't had much success in surfacing a SVG file via a server-side endpoint/URL, but then I realized EuiIcon supports passing in a ReactElement directly. Woo!
* Fix appSearch.host config setting to be optional
- instead of crashing folks on load
* Rename plugin to Enterprise Search
- per product decision, URL should be enterprise_search/app_search and Workplace Search should also eventually live here
- reorganize folder structure in anticipation for another workplace_search plugin/codebase living alongside app_search
- rename app.tsx/main.tsx to a standard top-level index.tsx (which will contain top-level routes/state)
- rename AS->ES files/vars where applicable
- TODO: React Router
* Set up React Router URL structure
* Convert showSetupGuide action/flag to a React Router link
- remove showSetupGuide flag
- add a new shared helper component for combining EuiButton/EuiLink with React Router behavior (https://github.com/elastic/eui/blob/master/wiki/react-router.md#react-router-51)
* Implement Kibana Chrome breadcrumbs
- create shared helper (WS will presumably also want this) for generating EUI breadcrumb objects with React Router links+click behavior
- create React component that calls chrome.setBreadcrumbs on page mount
- clean up type definitions - move app-wide props to IAppSearchProps and update most pages/views to simply import it instead of calling their own definitions
* Added server unit tests (#2)
* Added unit test for server
* PR Feedback
* Refactor top-level Kibana props to a global context state
- rather them passing them around verbosely as props, the components that need them should be able to call the useContext hook
+ Remove IAppSearchProps in favor of IKibanaContext
+ Also rename `appSearchUrl` to `enterpriseSearchUrl`, since this context will contained shared/Kibana-wide values/actions useful to both AS and WS
* Added unit tests for public (#4)
* application.test.ts
* Added Unit Test for EngineOverviewHeader
* Added Unit Test for generate_breadcrumbs
* Added Unit Test for set_breadcrumb.tsx
* Added a unit test for link_events
- Also changed link_events.tsx to link_events.ts since it's just TS, no
React
- Modified letBrowserHandleEvent so it will still return a false
boolean when target is blank
* Betterize these tests
Co-Authored-By: Constance <constancecchen@users.noreply.github.com>
Co-authored-by: Constance <constancecchen@users.noreply.github.com>
* Add UI telemetry tracking to AS in Kibana (#5)
* Set up Telemetry usageCollection, savedObjects, route, & shared helper
- The Kibana UsageCollection plugin handles collecting our telemetry UI data (views, clicks, errors, etc.) and pushing it to elastic's telemetry servers
- That data is stored in incremented in Kibana's savedObjects lib/plugin (as well as mapped)
- When an end-user hits a certain view or action, the shared helper will ping the app search telemetry route which increments the savedObject store
* Update client-side views/links to new shared telemetry helper
* Write tests for new telemetry files
* Implement remaining unit tests (#7)
* Write tests for React Router+EUI helper components
* Update generate_breadcrumbs test
- add test suite for generateBreadcrumb() itself (in order to cover a missing branch)
- minor lint fixes
- remove unnecessary import from set_breadcrumbs test
* Write test for get_username util
+ update test to return a more consistent falsey value (null)
* Add test for SetupGuide
* [Refactor] Pull out various Kibana context mocks into separate files
- I'm creating a reusable useContext mock for shallow()ed enzyme components
+ add more documentation comments + examples
* Write tests for empty state components
+ test new usecontext shallow mock
* Empty state components: Add extra getUserName branch test
* Write test for app search index/routes
* Write tests for engine overview table
+ fix bonus bug
* Write Engine Overview tests
+ Update EngineOverview logic to account for issues found during tests :)
- Move http to async/await syntax instead of promise syntax (works better with existing HttpServiceMock jest.fn()s)
- hasValidData wasn't strict enough in type checking/object nest checking and was causing the app itself to crash (no bueno)
* Refactor EngineOverviewHeader test to use shallow + to full coverage
- missed adding this test during telemetry work
- switching to shallow and beforeAll reduces the test time from 5s to 4s!
* [Refactor] Pull out React Router history mocks into a test util helper
+ minor refactors/updates
* Add small tests to increase branch coverage
- mostly testing fallbacks or removing fallbacks in favor of strict type interface
- these are slightly obsessive so I'd also be fine ditching them if they aren't terribly valuable
* Address larger tech debt/TODOs (#8)
* Fix optional chaining TODO
- turns out my local Prettier wasn't up to date, completely my bad
* Fix constants TODO
- adds a common folder/architecture for others to use in the future
* Remove TODO for eslint-disable-line and specify lint rule being skipped
- hopefully that's OK for review, I can't think of any other way to sanely do this without re-architecting the entire file or DDoSing our API
* Add server-side logging to route dependencies
+ add basic example of error catching/logging to Telemetry route
+ [extra] refactor mockResponseFactory name to something slightly easier to read
* Move more Engines Overview API logic/logging to server-side
- handle data validation in the server-side
- wrap server-side API in a try/catch to account for fetch issues
- more correctly return 2xx/4xx statuses and more correctly deal with those responses in the front-end
- Add server info/error/debug logs (addresses TODO)
- Update tests + minor refactors/cleanup
- remove expectResponseToBe200With helper (since we're now returning multiple response types) and instead make mockResponse var name more readable
- one-line header auth
- update tests with example error logs
- update schema validation for `type` to be an enum of `indexed`/`meta` (more accurately reflecting API)
* Per telemetry team feedback, rename usageCollection telemetry mapping name to simpler 'app_search'
- since their mapping already nests under 'kibana.plugins'
- note: I left the savedObjects name with the '_telemetry' suffix, as there very well may be a use case for top-level generic 'app_search' saved objects
* Update Setup Guide installation instructions (#9)
Co-authored-by: Chris Cressman <chris@chriscressman.com>
* [Refactor] DRY out route test helper
* [Refactor] Rename public/test_utils to public/__mocks__
- to better follow/use jest setups and for .mock.ts suffixes
* Add platinum licensing check to Meta Engines table/call (#11)
* Licensing plugin setup
* Add LicensingContext setup
* Update EngineOverview to not hit meta engines API on platinum license
* Add Jest test helpers for future shallow/context use
* Update plugin to use new Kibana nav + URL update (#12)
* Update new nav categories to add Enterprise Search + update plugin to use new category
- per @johnbarrierwilson and Matt Riley, Enterprise Search should be under Kibana and above Observability
- Run `node scripts/check_published_api_changes.js --accept` since this new category affects public API
* [URL UPDATE] Change '/app/enterprise_search/app_search' to '/app/app_search'
- This needs to be done because App Search and Workplace search *have* to be registered as separate plugins to have 2 distinct nav links
- Currently Kibana doesn't support nested app names (see: https://github.com/elastic/kibana/issues/59190) but potentially will in the future
- To support this change, we need to update applications/index.tsx to NOT handle '/app/enterprise_search' level routing, but instead accept an async imported app component (e.g. AppSearch, WorkplaceSearch).
- AppSearch should now treat its router as root '/' instead of '/app_search'
- (Addl) Per Josh Dover's recommendation, switch to `<Router history={params.history}>` from `<BrowserRouter basename={params.appBasePath}>` since they're deprecating appBasePath
* Update breadcrumbs helper to account for new URLs
- Remove path for Enterprise Search breadcrumb, since '/app/enterprise_search' will not link anywhere meaningful for the foreseeable future, so the Enterprise Search root should not go anywhere
- Update App Search helper to go to root path, per new React Router setup
Test changes:
- Mock custom basepath for App Search tests
- Swap enterpriseSearchBreadcrumbs and appSearchBreadcrumbs test order (since the latter overrides the default mock)
* Add create_first_engine_button telemetry tracking to EmptyState
* Switch plugin URLs back to /app/enterprise_search/app_search
Now that https://github.com/elastic/kibana/pull/66455 has been merged in :tada:
* Add i18n formatted messages / translations (#13)
* Add i18n provider and formatted/i18n translated messages
* Update tests to account for new I18nProvider context + FormattedMessage components
- Add new mountWithContext helper that provides all contexts+providers used in top-level app
- Add new shallowWithIntl helper for shallow() components that dive into FormattedMessage
* Format i18n dates and numbers
+ update some mock tests to not throw react-intl invalid date messages
* Update EngineOverviewHeader to disable button on prop
* Address review feedback (#14)
* Fix Prettier linting issues
* Escape App Search API endpoint URLs
- per PR feedback
- querystring should automatically encodeURIComponent / escape query param strings
* Update server plugin.ts to use getStartServices() rather than storing local references from start()
- Per feedback: https://github.com/elastic/kibana/blob/master/src/core/CONVENTIONS.md#applications
- Note: savedObjects.registerType needs to be outside of getStartServices, or an error is thrown
- Side update to registerTelemetryUsageCollector to simplify args
- Update/fix tests to account for changes
* E2E testing (#6)
* Wired up basics for E2E testing
* Added version with App Search
* Updated naming
* Switched configuration around
* Added concept of 'fixtures'
* Figured out how to log in as the enterprise_search user
* Refactored to use an App Search service
* Added some real tests
* Added a README
* Cleanup
* More cleanup
* Error handling + README updatre
* Removed unnecessary files
* Apply suggestions from code review
Co-authored-by: Constance <constancecchen@users.noreply.github.com>
* Update x-pack/plugins/enterprise_search/public/applications/app_search/components/engine_overview/engine_table.tsx
Co-authored-by: Constance <constancecchen@users.noreply.github.com>
* PR feedback - updated README
* Additional lint fixes
Co-authored-by: Constance <constancecchen@users.noreply.github.com>
* Add README and CODEOWNERS (#15)
* Add plugin README and CODEOWNERS
* Fix Typescript errors (#16)
* Fix public mocks
* Fix empty states types
* Fix engine table component errors
* Fix engine overview component errors
* Fix setup guide component errors
- SetBreadcrumbs will be fixed in a separate commit
* Fix App Search index errors
* Fix engine overview header component errors
* Fix applications context index errors
* Fix kibana breadcrumb helper errors
* Fix license helper errors
* :exclamation: Refactor React Router EUI link/button helpers
- in order to fix typescript errors
- this changes the component logic significantly to a react render prop, so that the Link and Button components can have different types - however, end behavior should still remain the same
* Fix telemetry helper errors
* Minor unused var cleanup in plugin files
* Fix telemetry collector/savedobjects errors
* Fix MockRouter type errors and add IRouteDependencies export
- routes will use IRouteDependencies in the next few commits
* Fix engines route errors
* Fix telemetry route errors
* Remove any type from source code
- thanks to Scotty for the inspiration
* Add eslint rules for Enterprise Search plugin
- Add checks for type any, but only on non-test files
- Disable react-hooks/exhaustive-deps, since we're already disabling it in a few files and other plugins also have it turned off
* Cover uncovered lines in engines_table and telemetry tests
* Fixed TS warnings in E2E tests (#17)
* Feedback: Convert static CSS values to EUI variables where possible
* Feedback: Flatten nested CSS where possible
- Prefer setting CSS class overrides on individual EUI components, not on a top-level page
+ Change CSS class casing from kebab-case to camelCase to better match EUI/Kibana
+ Remove unnecessary .euiPageContentHeader margin-bottom override by changing the panelPaddingSize of euiPageContent
+ Decrease engine overview table padding on mobile
* Refactor out components shared with Workplace Search (#18)
* Move getUserName helper to shared
- in preparation for Workplace Search plugin also using this helper
* Move Setup Guide layout to a shared component
* Setup Guide: add extra props for standard/native auth links
Note: It's possible this commit may be unnecessary if we can publish shared Enterprise Search security mode docs
* Update copy per feedback from copy team
* Address various telemetry issues
- saved objects: removing indexing per #43673
- add schema and generate json per #64942
- move definitions over to collectors since saved objects is mostly empty at this point, and schema throws an error when it imports an obj instead of being defined inline
- istanbul ignore saved_objects file since it doesn't have anything meaningful to test but was affecting code coverage
* Disable plugin access if a normal user does not have access to App Search (#19)
* Set up new server security dependency and configs
* Set up access capabilities
* Set up checkAccess helper/caller
* Remove NoUserState component from the public UI
- Since this is now being handled by checkAccess / normal users should never see the plugin at all if they don't have an account/access, the component is no longer needed
* Update server routes to account for new changes
- Remove login redirect catch from routes, since the access helper should now handle that for most users by disabling the plugin (superusers will see a generic cannot connect/error screen)
- Refactor out new config values to a shared mock
* Refactor Enterprise Search http call to hit/return new internal API endpoint
+ pull out the http call to a separate library for upcoming public URL work (so that other files can call it directly as well)
* [Discussion] Increase timeout but add another warning timeout for slow servers
- per recommendation/convo with Brandon
* Register feature control
* Remove no_as_account from UI telemetry
- since we're no longer tracking that in the UI
* Address PR feedback - isSuperUser check
* Public URL support for Elastic Cloud (#21)
* Add server-side public URL route
- Per feedback from Kibana platform team, it's not possible to pass info from server/ to public/ without a HTTP call :[
* Update MockRouter for routes without any payload/params
* Add client-side helper for calling the new public URL API
+ API seems to return a URL a trailing slash, which we need to omit
* Update public/plugin.ts to check and set a public URL
- relies on this.hasCheckedPublicUrl to only make the call once per page load instead of on every page nav
* Fix failing feature control tests
- Split up scenario cases as needed
- Add plugin as an exception alongside ML & Monitoring
* Address PR feedback
- version: kibana
- copy edits
- Sass vars
- code cleanup
* Casing feedback: change all plugin registration IDs from snake_case to camelCase
- note: current remainng snake_case exceptions are telemetry keys
- file names and api endpoints are snake_case per conventions
* Misc security feedback
- remove set
- remove unnecessary capabilities registration
- telemetry namespace agnostic
* Security feedback: add warn logging to telemetry collector
see https://github.com/elastic/kibana/pull/66922#discussion_r451215760
- add if statement
- pass log dependency around (this is kinda medium, should maybe refactor)
- update tests
- move test file comment to the right file (was meant for telemetry route file)
* Address feedback from Pierre
- Remove unnecessary ServerConfigType
- Remove unnecessary uiCapabilities
- Move registerTelemetryRoute / SavedObjectsServiceStart workaround
- Remove unnecessary license optional chaining
* PR feedback
Address type/typos
* Fix telemetry API call returning 415 on Chrome
- I can't even?? I swear charset=utf-8 fixed the same error a few weeks ago
* Fix failing tests
* Update Enterprise Search functional tests (without host) to run on CI
- Fix incorrect navigateToApp slug (hadn't realized this was a URL, not an ID)
- Update without_host_configured tests to run without API key
- Update README
* Address PR feedback from Pierre
- remove unnecessary authz?
- remove unnecessary content-type json headers
- add loggingSystemMock.collect(mockLogger).error assertion
- reconstrcut new MockRouter on beforeEach for better sandboxing
- fix incorrect describe()s -should be it()
- pull out reusable mockDependencies helper (renamed/extended from mockConfig) for tests that don't particularly use config/log but still want to pass type definitions
- Fix comment copy
Co-authored-by: Jason Stoltzfus <jastoltz24@gmail.com>
Co-authored-by: Chris Cressman <chris@chriscressman.com>
Co-authored-by: scottybollinger <scotty.bollinger@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-09 22:10:31 +02:00
|
|
|
"xpack.enterpriseSearch": "plugins/enterprise_search",
|
2019-09-09 19:15:58 +02:00
|
|
|
"xpack.features": "plugins/features",
|
2021-06-08 21:50:14 +02:00
|
|
|
"xpack.dataVisualizer": "plugins/data_visualizer",
|
2021-02-10 01:31:57 +01:00
|
|
|
"xpack.fileUpload": "plugins/file_upload",
|
2020-06-04 16:18:02 +02:00
|
|
|
"xpack.globalSearch": ["plugins/global_search"],
|
2020-09-14 21:32:30 +02:00
|
|
|
"xpack.globalSearchBar": ["plugins/global_search_bar"],
|
2020-04-24 14:55:43 +02:00
|
|
|
"xpack.graph": ["plugins/graph"],
|
2020-03-31 18:54:34 +02:00
|
|
|
"xpack.grokDebugger": "plugins/grokdebugger",
|
2020-02-25 08:42:27 +01:00
|
|
|
"xpack.idxMgmt": "plugins/index_management",
|
2020-04-10 01:51:22 +02:00
|
|
|
"xpack.indexLifecycleMgmt": "plugins/index_lifecycle_management",
|
2020-02-18 20:22:27 +01:00
|
|
|
"xpack.infra": "plugins/infra",
|
2020-11-09 17:07:04 +01:00
|
|
|
"xpack.fleet": "plugins/fleet",
|
2020-04-30 21:52:14 +02:00
|
|
|
"xpack.ingestPipelines": "plugins/ingest_pipelines",
|
2020-04-15 12:22:37 +02:00
|
|
|
"xpack.lens": "plugins/lens",
|
2021-04-15 23:54:49 +02:00
|
|
|
"xpack.licenseApiGuard": "plugins/license_api_guard",
|
2020-03-18 13:36:20 +01:00
|
|
|
"xpack.licenseMgmt": "plugins/license_management",
|
2019-12-06 20:55:16 +01:00
|
|
|
"xpack.licensing": "plugins/licensing",
|
2021-03-17 02:46:20 +01:00
|
|
|
"xpack.lists": "plugins/lists",
|
2020-09-23 09:52:51 +02:00
|
|
|
"xpack.logstash": ["plugins/logstash"],
|
2019-07-21 14:06:03 +02:00
|
|
|
"xpack.main": "legacy/plugins/xpack_main",
|
2020-09-23 09:52:51 +02:00
|
|
|
"xpack.maps": ["plugins/maps"],
|
2021-04-30 20:36:06 +02:00
|
|
|
"xpack.metricsEntities": "plugins/metrics_entities",
|
2020-09-23 09:52:51 +02:00
|
|
|
"xpack.ml": ["plugins/ml"],
|
2020-08-31 17:42:17 +02:00
|
|
|
"xpack.monitoring": ["plugins/monitoring"],
|
2021-01-28 08:24:55 +01:00
|
|
|
"xpack.osquery": ["plugins/osquery"],
|
2020-03-24 00:10:12 +01:00
|
|
|
"xpack.painlessLab": "plugins/painless_lab",
|
2020-11-18 09:10:00 +01:00
|
|
|
"xpack.remoteClusters": "plugins/remote_clusters",
|
2020-06-04 00:40:56 +02:00
|
|
|
"xpack.reporting": ["plugins/reporting"],
|
2020-09-23 09:52:51 +02:00
|
|
|
"xpack.rollupJobs": ["plugins/rollup"],
|
2021-01-13 15:34:30 +01:00
|
|
|
"xpack.runtimeFields": "plugins/runtime_fields",
|
2020-01-22 13:58:18 +01:00
|
|
|
"xpack.searchProfiler": "plugins/searchprofiler",
|
2020-06-05 08:11:58 +02:00
|
|
|
"xpack.security": "plugins/security",
|
2019-07-21 14:06:03 +02:00
|
|
|
"xpack.server": "legacy/server",
|
2020-06-04 11:35:13 +02:00
|
|
|
"xpack.securitySolution": "plugins/security_solution",
|
2020-03-05 10:37:23 +01:00
|
|
|
"xpack.snapshotRestore": "plugins/snapshot_restore",
|
2020-09-18 16:15:14 +02:00
|
|
|
"xpack.spaces": "plugins/spaces",
|
2020-11-03 10:33:18 +01:00
|
|
|
"xpack.savedObjectsTagging": ["plugins/saved_objects_tagging"],
|
2019-11-06 14:44:13 +01:00
|
|
|
"xpack.taskManager": "legacy/plugins/task_manager",
|
2021-03-31 21:33:19 +02:00
|
|
|
"xpack.timelines": "plugins/timelines",
|
2020-03-06 17:44:35 +01:00
|
|
|
"xpack.transform": "plugins/transform",
|
2020-02-20 21:59:29 +01:00
|
|
|
"xpack.triggersActionsUI": "plugins/triggers_actions_ui",
|
2020-02-25 15:31:04 +01:00
|
|
|
"xpack.upgradeAssistant": "plugins/upgrade_assistant",
|
2020-04-29 13:28:03 +02:00
|
|
|
"xpack.uptime": ["plugins/uptime"],
|
2020-09-23 11:12:12 +02:00
|
|
|
"xpack.urlDrilldown": "plugins/drilldowns/url_drilldown",
|
2020-06-08 09:07:35 +02:00
|
|
|
"xpack.watcher": "plugins/watcher",
|
2021-02-11 10:12:24 +01:00
|
|
|
"xpack.observability": "plugins/observability",
|
|
|
|
"xpack.banners": "plugins/banners"
|
2019-07-21 14:06:03 +02:00
|
|
|
},
|
2020-10-28 13:27:20 +01:00
|
|
|
"exclude": ["examples"],
|
2019-07-21 14:06:03 +02:00
|
|
|
"translations": [
|
|
|
|
"plugins/translations/translations/zh-CN.json",
|
|
|
|
"plugins/translations/translations/ja-JP.json"
|
|
|
|
]
|
|
|
|
}
|