* Enable clearWithKeyboard option when filling out custom elements form
* Added canvas functional tests path to CODEOWNERS
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* [CODEOWNERS] set kibana-qa to own test/functional/services
* [functional/services] move low-level services to common folder
* update codeowners
* update imports
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Move discover into NP
* Convert doc_table tests to jest
* Move rows_headers to use jest
* Move fixed_scroll.test
* Clean up
* Revert jest changes
* Pass down deps into IndexPatternFieldList
* Fix conflicts
* Pass env vars
* Remove LegacyCoreStart
* Update generated doc
* Fix canvas type
* Fix i18n
* Improve stub_index_pattern code
* Add fieldFormats to mocked services
* Skip failing tests
- while still working on them, to find out if other tests fail in jenkins
* Unskip sidebar test
* Move mocha tests to legacy
- delete jest tests, can be converted later on
* Fix Scss imports
- Seems functional tests didn't build because of them?
* Remove another invalid SCSS import
* Pass deps as last argument
* Move field list into data start contract
* Move create field into data start contract, fix tests
* Update docs
* Fix duplicating fields
* Update snapshots in management
* Fix review comments
* Update docs
* Fix angular compilation
* Update docs
Co-authored-by: Matthias Wilhelm <matthias.wilhelm@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Final phase before the complete cutover
* NP migration
* lint fix
* More NP stuff
* Moved Stack Monitoring client plugin outside legacy and fixed all tests
* ...
* Removed unused files
* Fix for main links
* Fixed more tests
* Fixed redirect when clicking on SM icon again
* Code review feedback
* Addressed code review feedback
* Fixed return value
Completes the migration of all Alerting Services plugins onto the Kibana Platform
It includes:
1. Actions plugin
2. Alerting plugin
3. Task Manager plugin
4. Triggers UI plugin
And touches the Uptime and Siem plugins as their use of the Task Manager relied on some of the legacy lifecycle to work (registering AlertTypes and Telemetry tasks after the Start stage has already began). The fix was simply to moves these registrations to the Setup stage.
* Move uptime legacy server to plugins directory.
* Re-add feature registration code.
* Move uptime legacy server to plugins directory.
* Re-add feature registration code.
* Move all files.
* WIP fixing things.
* WIP fixing things.
* WIP fixing things.
* Finished fixing server.
* Fix alert type registration glitch.
* Remove obsolete file.
* Fix unwanted revisions, uncomment previously un-migrated code, delete accidentally-merged files.
* More cleanup.
* Fix all non-maps unit tests.
* Get functional tests working.
* Delete misplaced file.
* Add uptime CODEOWNERS entry.
* Get map working in Uptime app on NP.
* Update CODEOWNERS to remove legacy entry.
* Update server imports.
* Delete and clean up unused or redundant code/comments.
* Move new files from legacy to NP to fix merge error.
* Fix broken import.
* Delete obsolete test snapshots.
* Clean up imports and types, delete obsolete code.
* Clean up redundant common imports.
* Delete obsolete translation keys.
* Add additional explicit typing to plugin class.
* Combine redundant common imports.
* Delete unneeded optionalPlugin entry.
* Revert "Combine redundant common imports."
This reverts commit 159e66c349.
* Update a translation description.
* Revert "Clean up redundant common imports."
This reverts commit 8794013fbe.
* Remove new common index file and revert imports from only common to more specific paths.
* Fix broken imports in `~/x-pack/test`.
* Move new file from legacy to NP location.
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
## Summary
* Adds large list support using REST endpoints.
Status:
---
* Currently ready to be merged behind the feature flag of it being disabled with ongoing work happening after it is merged.
* REST Endpoints shouldn't have large refactoring at this point
* Team meeting occurred where the pieces were discussed in person.
What is left?
---
- [ ] Add other data types. At the moment `ip` and `keyword` are the two types of lists. See: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html
- [x] Unit tests
- [x] Lots of misc TODO's in the code base still
- [ ] Import loads everything into memory first when it should attempt streaming
- [ ] Add end to end backend tests
- [x] Add transform and io-ts validation for returns
Testing
---
Ensure you set this in your ENV before starting Kibana:
```ts
export ELASTIC_XPACK_SIEM_LISTS_FEATURE=true
```
Download or create a large list file such as this one filled with IP's:
https://cinsscore.com/list/ci-badguys.txt
Go to your REST endpoint folder of scripts:
```ts
cd kibana/x-pack/plugins/lists/server/scripts
```
Do a hard reset:
```ts
./hard_reset
```
Then import it as either a data type of `ip`:
```ts
./import_list_items_by_filename.sh ip ~/Downloads/ci-badguys-smaller.txt
```
Or as a `keyword`
```ts
./import_list_items_by_filename.sh keyword ~/Downloads/ci-badguys-smaller.txt
```
Then you can export it through:
```ts
./export_list_items.sh ci-badgusy-smaller.txt
```
For all the other endpoints and testing of the CRUD operations you have access to:
```ts
delete_all_lists.sh
delete_list.sh
delete_list_index.sh
delete_list_item.sh
delete_list_item_by_id.sh
delete_list_item_by_value.sh
export_list_items.sh
export_list_items_to_file.sh
get_list.sh
get_list_item_by_id.sh
get_list_item_by_value.sh
import_list_items.sh
import_list_items_by_filename.sh
lists_index_exists.sh
patch_list.sh
patch_list_item.sh
post_list.sh
post_list_index.sh
post_list_item.sh
```
### Checklist
Delete any items that are not applicable to this PR.
- [ ] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios
### For maintainers
- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)
* Endpoint successfully depending on ingest manager to initialize
* Moving the endpoint functional tests to their own directory to avoid enabling ingest in the base tests
* Removing page objects and other endpoint fields from base functional
* Updating code owners with new functional location
* Adding index pattern functionality
* Missed a file
* Pointing resolver tests at endpoint functional tests
* Pointing space tests at the endpoint functional directory
* Adding ingest service to do setup and tests for 500s
* Correcting services path
* Adding jest test names
* Updating es archives with the correct mapping and index names
* Fixing import error
* Adding resolver tests to code owners
* enabling epm flag for functional tests
* adding correct tag to test
* Removing the version information and unneeded xsrf
* Addressing endpoint index pattern feedback
* Removing unused import
* Renaming index pattern to es index pattern
* Fixing missed index pattern calls
* Removing unused import
* Fixing type error
* Moving es_index_pattern outside of installed and fixing function name
* Keeping the event index the same for now
* Wrapping index pattern await in try catch
* Address PR feedback, adding comments
* Move TSVB into new platform
* Get rid of isFunction checks
* Remove extra import of styling constants
* Move styles importing into plugin.ts
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
* Rename IndexMgmtSetup to IndexManagementPluginSetup.
* Remove unused fetch index template route and related tests.
* Remove unnecessary custom styles.
* Endpoint successfully depending on ingest manager to initialize
* Moving the endpoint functional tests to their own directory to avoid enabling ingest in the base tests
* Removing page objects and other endpoint fields from base functional
* Updating code owners with new functional location
* Pointing resolver tests at endpoint functional tests
* Pointing space tests at the endpoint functional directory
* Adding jest test names
* unexpose SavedObjectsManagement from legacy server
* migrate saved object management routes to new plugin
* fix endpoint methods
* adapt code due to rebase
* extract types
* improve findAll params
* adapt existing api integration tests and migrate to TS
* update generated doc
* add API integration tests for /scroll/count
* add unit tests for plugin and routes
* add injectMetaAttributes tests
* extract relation type
* add find_relationships tests
* add find_all tests
* do not complete migrator$ to avoid unhandled promise rejection
* fix data for search endpoint integration tests
* remove falsy comment
* rename plugin folder to match plugin id
* address review comments
* update CODEOWNERS
* Create Painless Playground app (#54578)
* Replace heart script with smiley face script. (#57755)
* Rename Painless Playground -> Painless Lab. (#57545)
* Fix i18n namespace.
* Improve smiley face proportions.
- Add def keyword to Painless spec.
- Temporarily fix broken highlighting.
- Add small padding to main controls.
* [Painless Lab] Minor Fixes (#58135)
* Code restructure, improve types, add plugin id, introduced hook
Moved the code execution hook to a custom hook outside of main,
also chaining off promise to avoid lower level handling of
sequencing.
* Re-instated formatting code
To improve DX the execution error response from the painless API
was massaged to a more reader friendly state, only giving non-repeating
information.
Currently it is hard to determine the line and character information from
the painless endpoint. If the user wishes to see this raw information it
will be available in the API response flyout.
* Remove leading new line in default script
* Remove registration of feature flag
* Fix types
* Restore previous auto-submit request behaviour
* Remove use of null and remove old comment
Stick with "undefined" as the designation for something not existing.
* [Painless Lab] NP migration (#59794)
* Fix sample document editor.
* [Painless Lab] Fix float -> integer coercion bug (#60201)
* Clarify data and persistence flow. Fix floating point precision bug.
* Send a string to API and ES client instead of an object.
* Rename helpers lib to format. Add tests for formatRequestPayload.
* Add query parameter to score context (#60414)
* Fix typo and i18n
* Make state init lazy
Otherwise we are needlessly reading and JSON.parse'ing on every
state update
* Support the query parameter in requests to Painless
* Fix borked i18n
* Fix i18n
* Another i18n issue
* [Painless] Minor state update model refactor (#60532)
* Fix typo and i18n
* Make state init lazy
Otherwise we are needlessly reading and JSON.parse'ing on every
state update
* Support the query parameter in requests to Painless
* WiP on state refactor
* Some cleanup after manual testing
* Fix types and i18n
* Fix i18n in context_tab
* i18n
* [Painless] Language Service (#60612)
* Added language service
* Use the correct monaco instance and add wordwise operations
* Remove plugin context initializer for now
* [Painless] Replace hard-coded links (#60603)
* Replace hard-coded links
Also remove all props from Main component
* Pass the new links object to the request flyout too
* Link directly to painless execute API's contexts
* Remove responsive stacking from tabs with icons in them.
* Resize Painless Lab bottom bar to accommodate nav drawer width (#60833)
* Validate Painless Lab index field (#60841)
* Make JSON format of parameters field more prominent. Set default parameters to provide an example to users.
* Set default document to provide an example to users.
* Simplify context's updateState interface.
* Refactor store and context file organization.
- Remove common directory, move constants and types files to root.
- Move initialState into context file, where it's being used.
* Add validation for index input.
* Create context directory.
* Fix bottom bar z-index.
* Position flyout help link so it's bottom-aligned with the title and farther from the close button.
Co-authored-by: Matthias Wilhelm <matthias.wilhelm@elastic.co>
Co-authored-by: Jean-Louis Leysens <jloleysens@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Alison Goryachev <alison.goryachev@elastic.co>
Before EuiInMemoryTable had TypeScript support we used our own typings and some state & CSS fixes. This is now all solved by the original EUI component.
- Use EuiInMemoryTable instead of custom typed table.
- Deletes some legacy leftover files.