* [services/web_element_wrapper] add actions API methods
* fixes
* [services/browser] fix dragAnDrop to work in both w3c/non-w3c modes
* small review changes
* dragAndDrop: add default values for offset
* [Logs UI] Make column configurations reorderable
* Improve typing aand memoize callback
* Guard against index bounds and rename reorderLogColumns
* Fix useCallback memoization
* Add functional test for reordering log columns
* Use browser.keys instead of Key in functional test
* [services/lib/web_element_wrapper] use Generics in replyCall
* [services/lib/web_element_wrapper] remove redundant return types
* [services/lib/web_element_wrapper/] set retryCall timeout to 200 ms
* [services/find] explcitly pass element to have locator===null by default
* use static method to create WebElementWrapper
* missed a couple uses
* move some values to constants
* remove some unnecessary type info
* [ts] upgrade to 3.5.3 (#40228)
* [ts] upgrade to 3.5.2
* [ts] run from cwd so that relative paths are correct
* move eslint-disable-line comment into jsx attribute
* autofix eslint violations
* avoid generic type, it's not necessary and problematic
* make elasticsearch.cluster optional, many instances don't have them
* remove invalid prop
* expand AllowUnknownProperties to cleanly handle arrays
* esfilter values can sometimes be an array of strings
* allow exception objects to have unknown properties
* define accumulator as a boolean
* fix return type
* return a 404 if beat isn't found after update
* use Object.values for better types
* define return type of get() call
* define value type for Set
* define return value of get()
* define State property type
* use less get(), so ts can infer types
* define Set item type
* map state type
* make default_operator optional, since it's not always defined
* remove seemingly unused prop
* define return type of get() fn
* define inner type for state
* don't define base types are objects with index signatues
* regenerate public api docs
* make indices privileges optional too
* remove unnecessary index-signature from Exception interface
* use variadic _arg instead
* [core/plugin] use Record<string, any> rather than {}
* replace a couple more instances of {}
* revert some unnecessary changes
* remove unused types
* [reporting] output, payload, and meta are required properties
* bump to latest patch version
# Conflicts:
# x-pack/legacy/plugins/canvas/server/usage/custom_element_collector.ts
# x-pack/legacy/plugins/canvas/server/usage/workpad_collector.ts
* define inner type for Set
* default `config.get()` to any instead of unknown
* skip and adjust functional tests for Firefox
* downgrade geckodriver to 0.22.0
* [ftr] add firefox specific config file
* remove hard coded firefox adjustments
* remove firefox specific screenshot directory
* run functional tests in firefox in x-pack
* pass the logger to readConfigFile()
* rename local var
* skip xpack firefox config
* run xpack firefox functional tests in separate command
* update report name for XPack firefox results
* adjust viz shared item test
* skip shared item test
* [test/feature_controls] increase timeout to 20 sec & use forceLogout
* FF timeout on TSVB, refresh page on failure for url navigation
* [feature_controls/visualize_security] increase timeout to 20 sec
* skip dev_tools_spaces tests on FF
* run all groups 3 times
* skip more func tests
* skip more tests
* skip all feature controls tests for Firefox
* revert back changes in feature controls tests
* rename xpack report for chrome
* skip tile map for FF, wait for render before saving
* Revert "run all groups 3 times"
This reverts commit 12b4f69627.
* revert refresh on login
* apply feedback
Solution for use cases that need a query bar without a submit button or date picker that still want KQL and autocomplete. Necessary for the KQL in TSVB and KQL in filters aggregation efforts.
* [services/lib/web_element_wrapper] set custom wait for findAll
* [services/remote] print browser name and version on init
* [services/combo_box] fix return statement
* fix lint error
* use css selector instead of className, set implicit wait to 0
* set implicitWait to 2 sec
* set default implicitWait to WAIT_FOR_EXISTS_TIME
* set timeout to 1 sec, retry for query bar test
* sleep 5 sec waiting zoom is finished
* sleep is the only way to wait
* run x-pack-ciGroup3 20x times
* Revert "run x-pack-ciGroup3 20x times"
This reverts commit 55482de330.
* use cheerio to parse table innerHtml in functional tests
* rename function to parseDomContent
* test Bar charts by parsing Dom
* test X & Y axis data by parsing Dom
* get X Axis data for dashboard tests with Dom parsing
* [Maps] add saved objects for all sample data sets
* add functional tests that compare sample data maps to baseline images
* add check for layer loading in functional tests
* try something out in CI
* try map without EMS regions
* add weblogs test but hide region layer
* skip tests with EMS vector layers
* gis-map to map and ES_GEOHASH_GRID to ES_GEO_GRID
* add resolution property to ES_GEO_GRID source descriptor
* move alphaValue from style descriptor to layer descriptor and rename to alpha
* terms join label change 'group by' to 'of'
* ensure sample data sets work with no internet access
* get functional tests working with updated full screen snapshots
* delete gis folder left overs
* give time for visibility to toggle to fire
* make web logs screen comparision more forgiving
* wait for layers to load on full screen
With https://github.com/elastic/kibana/pull/28503 we will be enabling the k7design by default, which adds a fixed header to the top of the page. This causes issues with the default "scroll into view" logic, as elements which are in the top overflow will be scrolled into view but then covered by the header.
My first attempt to solve this was adjusting the layout to only scroll the content below the header. This allowed the [standard scroll into view algorithm](https://drafts.csswg.org/cssom-view/#element-scrolling-members) to function as intended, but had a slightly worse UX on OSes like macOS, and @elastic/kibana-design ultimately pushed back because not allowing the body to scroll has other implications.
Instead I have implemented a `LeadfootElementWrapper#scrollIntoViewIfNecessary()` method which is automatically called before each `#click()` and `#moveMouseTo()` call. This new method scrolls the element into view when necessary, and then additionally adjusts the scroll position of the root scroll element by the necessary pixels if the top of the element is within `layout.fixedHeaderHeight` pixels.
* [ftr] wrap all elements so we can swap out leadfoot without disturbing tests
* save
* [visualize/pie_chart] fix chart legend locator
* [services/leadfoot_element_wrapper] add getTagName function
* [services/browser] adjust moveMouseTo function
* [leadfoot/element] remove old args, document new ones
* undoing a messy merge
* updating screenshots
* changing the variance to account for data table failure
* trying a different variance for data table and a general one for the rest of the screenshots
* changing the variance for general to .065
* adding xy position to adjust the screensize
* changing variance and setting a small window
* create calibrateForScreenshots method
* remove empty lines
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
```
* Add mechanism for dashboard snapshots
* Adjust wait for render function since it needs to be 2, not gt 0.
Should be obsolete when the new render stuff is complete.
* resize images using new library so comparisons work across different screen resolutions
* use jimp comparison and see if expanding to expanded panel mode helps when comparing across browser/os
* Try to ensure window size
* Experiment with a smaller window, see if screenshot dimensions change
Update screenshot for new window dimensions
* Try cover + quality, see what the diffs look like.
* Stop trying to get TSVB to pass, try area charts
There is a timezone bug with tsvb:
https://github.com/elastic/kibana/issues/15501
* gah, cover didn't work, check resize
* bump render counter to 6, as it should be.
As it turns out, the visualization was not done re-rendering to
maximized mode
* Bump threshold for comparison
* reduce down to a single test run
* Don't use an environment variable to detect updateBaselines cmd line flag