Commit graph

6 commits

Author SHA1 Message Date
Vadim Dalecky
17663b28d5
[7.x] Embeddables 👉 NP-ready (#41272) (#43093)
* refactor: 💡 create registries file

* docs: ✏️ add testing command to docs

* chore: 🤖 create state folder

* chore: 🤖 WIP

* refactor: 💡 remove static imports of stateful things

Make Embeddables ./triggers tests pass

* test: 💍 add await-of for testing

* refactor: 💡 move stateless code into shim's lib/ folder

* test: 💍 add registry tests

* feat: 🎸 add Embeddable plugin public "setup" API

* feat: 🎸 create Embeddable plugin shim

* refactor: 💡 minor improvements for new plugin structure

* refactor: 💡 move test helpers into shim

* feat: 🎸 add Embeddable setup.getTrigger() method

* feat: 🎸 inject setup API into pure setup functions

* refactor: 💡 generate Embeddable setup API in a loop

* feat: 🎸 add getTriggerActions() Embeddable setup function

* feat: 🎸 add getTriggerCompatibleActions() to Embeddable shim

* chore: 🤖 uninstall await-of package

* chore: 🤖 simplify imports/exports

* test: 💍 improve testing utilities

* feat: 🎸 add executeTriggerActions() Embeddables setup method

* fix: 🐛 remove non-existing import

* chore: 🤖 cleanup actions

* refactor: 💡 move errors into dedicated errors.ts file, add test

* test: 💍 add unit test for ApplyFilterAction class

* test: 💍 import helpers correctly after refactoring

* test: 💍 fix actions tests

* feat: 🎸 clean up /lib/embeddables

* test: 💍 fix /lib/containers tests

* test: 💍 make embeddable_panel.test.tsx tests pass

* refactor: 💡 work on briging EditPanelAction action to /actions

* test: 💍 make /containers tests pass

* test: 💍 make /actions and /embeddables tests pass

* test: 💍 clean up tests from legacy platform static imports

* feat: 🎸 add getEmbeddableFactories API method

* test: 💍 add tests for factory list method

* feat: 🎸 add start life-cycle API

* feat: 🎸 unify Embeddables API

* refactor: 💡 create /css folder, move all CSS there

* feat: 🎸 improve dashboard container shim

* feat: 🎸 progress on dashboard container shim

* feat: 🎸 implement getEmbeddableFactory Embeddable API method

* feat: 🎸 improve embeddable container shim

* test: 💍 fix dashboard container expand panel tests

* test: 💍 fix dashboard grid tests

* test: 💍 fix createPanel tests

* test: 💍 fix dashboard viewport tests

* test: 💍 fix dashboard container tests

* test: 💍 add Embeddable plugin mock

* test: 💍 improve tests after merge

* refactor: 💡 move new platform code into np_ready folders

* chore: 🤖 fix some TS errors after merge

* chore: 🤖 fix more TS errors after merge

* fix: 🐛 fix TypeScript errors in kbn_tp_sample_panel_action

* fix: 🐛 fix more TypeScript errors

* fix: 🐛 fix TypeScript in functional tests

* fix: 🐛 fix more TypeScript errors

* fix: 🐛 fix more TS errors

* refactor: 💡 pass deps through constructors

* refactor: 💡 improve dependency injection and fix tests

* test: 💍 fix container integration tests

* test: 💍 fix customize_panel_modal tests after refactor

* test: 💍 fix all tests in embeddable_api

* chore: 🤖 fix linter error

* test: 💍 fix dashboard_embeddable_container tests after merge

* test: 💍 fix /src TypeScript errors

* fix: 🐛 fix Jest tests and add global typings in demo plugin

* fix: 🐛 fix build errors

* fix: 🐛 make build start without errors

* fix: 🐛 in dashboard container don't import types from ui/*

* chore: 🤖 fix linter errors

* refactor: 💡 remove getUserData, remove another ui/new_platform

* chore: 🤖 fix linter errors

* refactor: 💡 remove ui/new_platform from HelloWorldAction

* refactor: 💡 remove ui/new_platform from SendMessageAction

* refactor: 💡 remove ui/new_platform from ContactCardEmbeddableF*

* chore: 🤖 fix ESLint errors

* feat: 🎸 throw if action or trigger with given ID already exists

* feat: 🎸 throw if embeddable factory already registered

* docs: ✏️ fix tsdoc

* chore: 🤖 remove unused @ts-ignore

* refactor: 💡 remove createEmbeddables() function

* refactor: 💡 use new NP inspector plugin

* fix: 🐛 fix TypeScript errors

* chore: 🤖 improve plugin manifests

* feat: 🎸 cherry pick exported API from Embeddable plugin

* refactor: 💡 do not import constants from Kibana App

* fix: 🐛 remove unnecessary any

* chore: 🤖 uncomment SASS files

* refactor: 💡 remove IndexPattern logic out of dashboard panel

* refactor: 💡 move RefreshInterval and TimeRange to New Platform

* fix: 🐛 revert back notifications usage

* chore: 🤖 export test samples from index.ts files

* test: 💍 re-enable ApplyFilterAction integration tests

* chore: 🤖 remove unused translation

* refactor: 💡 rename variable to something less React specific

* fix: 🐛 improve CSS imports, remove unused hack, remove any type

* fix: 🐛 fix Embeddables demo plugin

* fix: 🐛 fix missing SASS variable

* fix: 🐛 re-enable translation

* fix: 🐛 uncomment saved object flyout panel logic

* refactor: 💡 pass in <SavedObjectFinder> from top level

* test: 💍 re-enable add_panel_flyout tests

* refactor: 💡 pass in <ExitFullScreenButton> through args

* fix: 🐛 import specific constants to fix functional tests

* fix: 🐛 fix CI type_check error

* test: 💍 change import paths to fix functional tests on CI

* test: 💍 fix exit button test after refactoring

* refactor: 💡 make do not change page on grid error

* test: 💍 fix functional test

* refactor: 💡 move CSS next to components

* fix: 🐛 remove missing props

* test: 💍 try fixing functional test on CI

These tests pass locally, but fail on CI. This is a stab to fix it on
CI.

* refactor: 💡 move variables.scss one folder up

* test: 💍 disable Embeddable Explorer functional tests

* chore: 🤖 remove onCoreReady in functional tests

* test: 💍 disable maps functional test for embeddables

* chore: 🤖 remove comment, export types explicitly

* refactor: 💡 remove unused `firstName`, add link to issue

* refactor: 💡 remove double underscore __ in test registry names

* refactor: 💡 remove utils folder, move bootstrap() fn to top lvl

* test: 💍 uncomment edit_panel_action tests

* test: 💍 uncomment inspect_panel_action tests
2019-08-12 13:46:06 +02:00
Stacey Gammon
6688fd6d8e
Embeddable API V2 (#37510) (#38602)
* Embeddable API plugin

* Expose new embeddableActions uiExport endpoint

* Add missing getInjectedUIAppVars to Server type

* Add jest tests

* Most basic skeleton of the sample plugin to see if it still kills ci

* strip even more out to see if it passes ci

* It passed, put back init fn

* add back in a uiExport to see if that is what is killing ci

* Passed again, add back embeddableActions uiExports and require kibana line

* Add everything back but the sass import

* Found two bugs with customize panel title action, added jest test coverage and fixes

* Functionally test embeddable explorer plugin

* Addressing review feedback part 1

* Simplify action context menu - remove support for nested actions/child panels, which was never exposed anyway.

* More review feedback

* Spread out orders to let developers inject their own actions in the middle.

* Remove check for overwriting ApplyFilterAction

* use createRegistry for EmbeddableFactoryRegistry

* Add comment for getInheritedInput

* Use kbn-es-query Filter types

* Fix missed file after createRegistry switch over for EmbeddableFactoryRegistry

* Use delete instead of setting to undefined

* upgrade EUI to match kibana version

* Add getIsContainer on base embeddable class

* Run functional tests of sample plugin

* move all tests classes outside __test__ and inside test_samples folder so not to potentially create issues with mocha

* fix: 🐛 remove unused imports

* fix: 🐛 set to undefined explicitly

* chore: refactored getRoot functionality

* fix: refactor miss from folder rename __test__ -> test_samples

* fix: add eui switch to let the user indicate “hide this title” to improve ux.

* fix: customize panel flout test

* Try to fix issue with multiple rxjs bundles I hit before.

See https://github.com/ReactiveX/rxjs/issues/3828

* Use an rxjs polyfill to work around the issue of multiple rxjs bundles

* chore: change customize panel flyout to modal post design feedback

* capitalize Reset

* fix: type errors in customize panel modal

* fix: remove extra line added to prevent EUICallout overflow from spilling over panel edges

The bug this was intended to fix doesn’t appear yet because dashboard isn’t using this, and it causes other issues, so for now, just remove.

* Clean up some classes and SASS

* Inline styles needed to get the containers to take up the full height of the app.

* Use the same old style of error messaging in panels

* chore: add untilEmbeddableLoaded tests, expose on interface, and use in embeddable_child_panel

* Remove unused styles, add padding

* Verify trigger Context containers an array of Filters for apply filter action

* Remove panel.embeddableId param, use panel.explicitInput.id instead

* Check `isCompatible` as well as the type guard needed for typescript.

* executeTriggerActions should account for getHref

* Remove unnecessary check for context being defined

* use npStart instead of getNewPlatform

* Conform to latest NP changes

* Use new np_mocks in all the tests

* Address review feedback on rxjs polyfill
2019-06-10 18:04:03 -04:00
Josh Dover
cdd7b1c6a7
Introduce UI PluginsService (#32672) (#34498)
This commit introduces two changes:
- Adds new platform plugins as a new bundles to the optimizer
- A PluginsService in the UI that loads plugin bundles, initializes plugins, and manages the lifecycle of plugins.
2019-04-04 09:49:58 -05:00
Peter Pisljar
a40b2e34ca fixing updating editor state (#22869)
* editor state update

* remove lockDirty

* Add functional tests

* Add data to functional tests
2018-10-24 12:35:34 +02:00
Tim Roes
6fa2b04aef
Add functional tests for visualize loader API (#22595)
* Initial visualize loader functional tests

* Extend plugin test README

* Add temporary tz work around

* Switch to Australia/North timezone

* Add filtering tests

* Add all tests

* Remove unneeded uiExports

* Improve explanation

* Add saved object test, add retry
2018-09-04 12:53:18 +02:00
Tim Roes
743edc6c0e
Make panel action tests more generic (#22174)
* Make panel action tests more generic

* Remove test file

* Add simple app tests

* Shorten/fix import

* Remove unneeded task

* Add debug output

* Allow duplicate --plugin-path params

* Remove debugging options

* Add README
2018-08-20 21:48:38 +02:00
Renamed from test/panel_actions/config.js (Browse further)