- adds the geo-centroid metric as the new default for visualizations
- various bug fixes and improvements
- avoid unnecessary calls to manifest
- avoid map flicker when zooming
- enable scroll/pinch/touch zooming
- avoid heatmap errors
- ensure map fills screen in dashboard
- ensure fit works consistently
- relax tilemap constraints
- remove support for multi-maps
- this refactor sets the stage for new vector map visualization which will reuse the same map components
* Hide the time interval select on blur
* Show scale warning on discover and keep drop-down
* Show scale without need to hover over info icon
* Remove unused variables
* Fix discover page object tests
* Fix getChartInterval in functional test
* As a part of bringing functional testing to plugins, esArchiver gives these plugins a way to capture and reload es indexes without needing to write a bunch of custom code. It works similarly to the elasticDump and ScenarioManager tools that it replaces.
Differences:
- Streaming implementation allows for much larger archives
- CLI for creating and using archives
- Configurable archive location
- Stores the data in gzipped files (better for source control, searching, large archives)
- Automatically identifies and upgrades Kibana config documents
Methods:
- `#load(name)`: import an archive
- `#loadIfNeeded(name)`: import an archive, but skip the documents what belong to any existing index
- `#unload(name)`: delete the indexes stored in an archive
CLI operations:
- `./bin/es_archiver save <name> [index patterns...]`: save the mapping and documents in one or more indexes that match the wild-card patterns into an the `<name>` archive
- `./bin/es_archiver load <name>`: load the mapping and documents from the `<name>` archive
* [functional_tests/common/nagivate] check for statusPage
* [es_archiver] move bins into new scripts dir
* [functional_tests/apps/context] use esArchiver
* [esArchiver] general improvements after showing to a few folks
- remove auto-upgrading config doc logic (until we have better access to kibana version info)
- export unload command
- remove preemptive checks in favor of reacting to errors
- use type "doc" vs "hit" for doc records (consistency)
- wrote a bunch of pending tests to think though and plan
* [esArchiver] make log a stream that writes to itself
* [esArchiver] fill in stats and archive format tests
* [esArchiver] splitup action logic
* [esArchiver/cli] fix cli --help output and comment
* [esArchiver] remove type-based param coercion
* [esArchiver/log] use strings for log levels
* [esArchvier] remove unused var
* [esArchiver/indexDocRecordsStream] add tests
* [esArchive] fill in remaining tests
* [esArchiver] fix dem tests
* [eslint] remove unused vars
* [esArchiver/loadIfNeeded] fix call to load()
* [esArchiver] remove loadDumpData helpers
* Start at view/edit mode 4
* Revert back to save panel
- Get rid of `clone`
- Get rid of rename
* Move order of top nav component around so no chance of hitting Edit -> Cancel
* Update "lose changes" confirmation dialog
- Change the string and button text
- Set default focus on the cancel button.
* Remove DashboardViewMode
It was previously used when viewMode wasn’t stored in appState, in
order to keep an unsaved dashboard, that was just saved, in Edit mode.
This is unnecessary in the latest iteration.
* Pull time filter out of dashboard_state
* Fix edit controls bug, add more tests, make other tests more stable.
* Remove unnecessary logic, unapplied query bug fix, code clean up
* Fix bug on filter reloading, add tests & clean up
* Fix issue with move and remove icons showing up in expanded panel mode
and add tests to catch it.
* Fix issue with lose changes not resetting panel state
and add tests.
* General Clean Up
- Merge function only used in one spot inline.
Add comments
* address code review comments
* Stop using static + class to namespace functions
Instead, export each function individually.
* Show dashed border on maximized panels in edit mode.
* Be more methodical about ensuring the modal dialog hides before continuing.
* abide by new no unused vars rule
* Add a dropdown to filter indexed fields by type
Added tests and test subjects for index pattern filters
Use UI Framework components
Change index field filter to use kuiFieldGroup, move filters below tabs
* Dynamically load indexed type filter based on existing field types
* Iterate over fields once to get types / languages
* Only check scripted flag for checking scripted lang fields, all other
fields should have their type added to type filter
We always run the build task now in jenkins jobs rather than only in the
core builds. This ensures that the build task runs in PR builds even
though the build artifacts are not used for anything.
Ideally all the selenium tests would run against this build rather than
it just being something that gets ran and forgotten about, but this is a
first step.
* Initial import
* updating the editor width to match the new specs
* Adding tribe node support
* Adding tests for server libs
* removing bluebird
* removing extra cruft
* Fixing the font sizes
* Fixed the updating code
* Adding brushing
* Fixing linting issues
* Adding global filters
* Adding missing packages
* Default gauge style to half circle
* Fixing the markdown css bug
* Adding tests for the get_vis_data api
* Adding time offset
* Adding time offset to each type
* fixing bugs from time offset
* adding index pattern option to series
* Adding index pattern overrides
* Adding index pattern overrides
* Fixing tests
* Fixing brushing in the vis editor
* Changing the label
* Change the behavior of selecting a pipeline agg when only one exists.
* Refactoring series a bit
* Changing series options to just options
* Making sure we honor the toaster container height
* Adding first tests
* renaming vis_config to panel_config
* renaming vis_config to panel_config
* Adding more tests
* adding more tests
* removing api subdirectory
* refactoring get_vis_data (breaking it up and removing unused imports)
* reorganizing the visualization directory
* Re-organizing directory layouts and moving things to more logical places
* Refactoring React compontents to use ES6 syntax and adding propTypes for each. Also refactored out splats as much as possible.
* Adding serial differencing
* Refactored gauge to use 2 components instead of 4
* Finishing react refactor on visualizations. Consolidated legned funtionality
* Refactoring series config and removing a bunch of duplicate code
* fixing series config name
* Fixing numbers and strings (doesnt matter which it is); Fixing classname
* Changing the way the dark theme works
* Adding new vis into list for test
* Adding empty bucket check
* Fixing the index patterns in the aggs
* Fixing typo
* Refactoring vis_data
* Fixing std_metric
* Fixing refresh-hack
* Adding tests for get_splits, get_last_metric, map_bucket
* Fixing the error handing
* removing restrictions
* Sometimes values are strings or numbers... it doesn't matter
* Adding new color options for splits
* Fixing colors
* fixing size
* Adding support for fitlers agg
* Fixing tests
* Fixing splits for filters
* Fixing Top N to work better with fitlers
* Adding annotation editor
* initial work for annotations
* Finalizing annotations
* Fixing label
* making it expandable
* Fixing hacks fixed by #10175
* Fixing bars to use the same stacking options as lines
* Getting rid of align by colons
* removing unused depends
* removing unused depends
* Changing to readable lodash function
* Adding missing parens
* refactoring custom color picker
* Removing string refs and converting uncontrolled components
* Fixing the controlled components where value maybe null; converting error to css
* refactoring styles from components
* fixing the refresh behavoir borked by fullEditor
* Adding the executor service
* Fixing the test directories
* fixing save
* Adding filter ratios
* Fixing controlled components
* Trying to fix the weird typing
* Fixing offset bug with days
* Adding percentile rank
* Fixing yaxis updates; fixing percentile rank layout; adding steps to line chart
* removing unused depends
* Fixed a bug with the index patterns updating; fixed bug with charts rendering too much
* Fixing tests
* Commenting out React tests because the ENV must have change and they are no longer working
* Moving bucket transform
* moving calculate auto
* Moving calculate_indices
* moving extended_stats_types && get_agg_value
* moving get_buckets_path
* moving get_sibling_agg_value
* moving parse_settings
* moving series_agg
* Moving unit_to_seconds
* Fixing tests
* Fixing per PR
* Renaming vars to make it more clear what's happening
* Changing the way testible functions are exported
* fixing tests
* removing unused imports; fixing typos; fixing package name
* Name has to match the plugin path
* Fixing typos; removing unused imports
* fixing tests
* rearanging and removing unused imports
* Fixing a bug with unque names for radio buttons on the same form
* Fixing filter ratio to use a metric instead of just count
* fixing a bug with the new filter ratios
* Fixing the file path from the #8
* Fixing renderComplete trigger; Fixing embedded mode; Changing names for Timelion and Time Series Visual Builder
* Fixing name
* Fixing docs
* Fixing a typo for the field select for terms splits
* Fixing tests
Calling `.findTestSubject().click()` seems to be particularly error prone. This helper combines to the two actions and wraps them in a retry so we don't have to keep scattering `PageObject.common.try()` calls throughout the tests.
* Warn if the title is a duplicate
* warn when copyOnSave is checked. add a test
* update message
* fix tests
* Fix issues with substring matching
add more tests.
* make case insensitive and return matching title
* Fix bug caused by subtle difference between this.type and type
Add a comment and rename one of the variables to make the distinction
clearer.
* add debug messages.
* fix tests again
* uncomment out tests
* more debug messages
* save more screenshots
* Need to wait till save finishes or the page may redirect the url after the page has navigated away
* address code review comments
This adds a link to the detail view of discover rows to switch to a view of the documents immediately before and after the selected document. Since that view uses the timestamp field of the index pattern, it is only available for time-based indices.
See #9198 for detailed screenshots.
* Adding attributes to be used by sharing
* Moving the shared-item tags for dashboard panels
* Switching from shared-item-title/description to just title/description
* Removing move noise
* Fixing typo
* Adding data- prefix before attributes, began writing tests
Adding shared-item title tests
Switching up the panel tests
Adding description tests
Fixing linting
Adding dashboard timefilter test
Adding visualization shared-item tests
Adding shared-timefilter tests
Adding discover shared-item tests
* Fixing shared-items-count on dashboard
* Fixing functional test data for discover and visualize
* adding vislib chart grid
* updating vislib to correctly render all new features
* adding new options to kibana visualizations
* update vis icon on save
* updating documentation
* fixing unit tests
* cleaning up
* updating based on UI review
* adding visualize editor unit tests
* selenium tests
* additional option tabs
* some more changes to the tabs/options [thanks CJ]
* going back from Category/Value axis to X/Y axis
* fixing unselected dropdown options
* updating based on last UI review
* updating based on last review
* updating based on last review
* fixing issue with axis titles
* allowing to specify only upper or only lower data bound
* updating based on brandons review
* fixing horizontal bar chart labels
* fixing test
* adding backward compatibility
* updating based on last review
* fixing selenium tests
* Stabilize tests involving absolute timepicker
The asynchronous nature of angular's digest cycle and the page rendering
in the browser can lead to situations in which
`isGlobalLoadingIndicatorHidden()` returns true because the loading
triggered by the previous action has not yet started. In this case
subsequent actions incorrectly assume the loading has already been
completed. This is probably responsible for the flakiness described in #10302.
The newly introduced `waitUntilLoadingHasFinished` first waits for a
duration up to `defaultTimeout` for the loading indicator to appear
before waiting for it to be hidden again. In the best case this will
reduce the false positive rate of `setAbsoluteTimerange()`. In the worst
case the function will wait `defaultTimeout` longer than when just using
`isGlobalLoadingIndicatorHidden`.
fixes#10302
* [npm] upgrade babel
The upgrade to babel 6 requires an upgrade to all of the associated modules, which meant that a few other things changed at the same time. The most notable is the way that we handle our babel-options, which is now done with an npm module and includes using the babel-loader's "presets" query string param.
This meant changes to the babel_options.js module and extending it to help setting up the "babel-register" module, which was previously copy-pasted in several places.
* [mtodules] upgrade to support babel6 module semantics
* [eslint] fix lint errors
* [babel] ignoer massive fixture files
* [cli/errors] use Object.setPrototypeOf since subclassing Error is broken
* [babel] Upgrading core babel libraries
[babel] Use WIP babel-6-fix branch of babel-preset-kibana
* Fix broken test
* [babel] Reverse unnecessary module.exports changes
* Fix notifier
* Use babel presets and plugins directly
* [babel/options] resolve preset/plugins paths for better plugin compatibility
* [babel/options] use babel-preset-env for correct node settings
* [babel] cache babel compilation in webpack like we thought we were
* Add a sleep to Header page object's clickTimepicker method, to wait for the page to render on Jenkins.
* Add a sleep to Visualize page object's clickNewSearch method, to wait for the page to render on Jenkins.
* Wait for loading indicator to disappear to signify completion of clickNewSearch() in Visualize page object.
* Wrapper Header page object's clickTimepicker method in a try block.
* Refactor Visualize Wizard to use explicit controller names, instead of defining them dynamically.
* Add landing page with table to Visualize app.
* Update Visualize wizard UI.
* Add kuiIcon--basic and support icons in Table component. Display icons in Visualize landing page.
* Refactor Visualize Wizard templates to use import syntax.
* Set kuiViewContent width to 100% to avoid it shrink wrapping its content.
* Move ToolBar buttons to the right side. Remove labels and add tooltips.
* Remove unused Visualize load menu template.
* Disable timepicker in Visualization listing.
* Change Visualize route names. Add omitPages attribute to breadcrumbs directive. Make Visualize breadcrumbs into links.
* Remove Open and New menu buttons from Visualize.
* Add ConfirmationModal for deleting visualizations.
* Implement sorting for name and type columns in Visualize listing.
* Refactor Visualize routes into VisualizeConstants file. Fix functional tests.
* Add pager_controls directive and pager service. Add pagination to Dashboard and Visualize landing pages. Change Dashboard listing to use hrefs for each dashboard.
* Use ng-if instead of ng-hide to hide/reveal Table action buttons in Dashboard listing.
* Redirect from old Visualize wizard routes to new ones.
* Use ViewContent and Title components in Visualize wizard.
* Fix Visualize and Dashboard listing table logic so that selection only applies to the current page of items.
* Paging clears the selection.
* Searching clears the selection.
* Sorting clears the selection.
* Use consistent "Create" terminology in both Visualize and Dashboard for creating new items.
* Use NoItems and PromptForItems components in Visualize listing view.
* Use $injector to inject dependencies in Visualize and Dashboard listing.
Rather than wrapping two discrete webdriver requests in a single try()
block, we do each request in its own block to help prevent inconsistent
failures.
* Introduce dashboard landing page
Still TODO:
- Add clickable breadcrumbs
- Remove New and Open top nav options
* use clickable breadcrumbs instead of 'New' and 'Open' nav items
* code cleanup
improve tests
* Add new empty dashboard styling
* Fix selenium tests
* Address code review comments
- rename bread_crumb_url => bread_crumb_urls
- fix reporting link in dash (separate PR)
- Use NoItems instead of PromptForItems when searching
- Style fixes
* Use a constant for the landing page url
* Fix tests
* Use better confirm button text. rename safe confirm.
Use confirm_modal_promise only when it’s easier than using
confirm_modal directly.
change all native confirmations to the new dialog
* address code review comments
* Be consistent with the confirm button text pattern
Address other code review comments
* remove default option for confirmButtonText
Require onConfirm and confirmButtonText for confirmModal
* fix tests for no longer using alertText
* address code review comments Round 2
* Restructure dashboard files and folders
* Try to stay DRY
avoid duplicate ‘dashboard’ naming when unnecessary
* rename index => dashboard and add an index.js with imports
rename style
* un-dig
* Close timepicker when a filter/interval is selected
* Copy absolute variables before sending
* Use & instead of = for directive binding
* Fix timepicker tests
* Fix timepicker tests and remove tests that no longer apply
This modifies the way Kibana reads out metadata about the TMS service used in the Tilemap Visualization.
- Kibana now uses an external service that exposes a 'manifest'. This contains metadata about one or more available TMS services
- Kibana continues to respect the configuration of the kibana.yml file. If a custom TMS service is set here, the manifest will not be consulted
- This also adds an API extension point for other plugins to add additional query parameters to the requests to the manifest service and for the individual tile requests to the TMS.
* adding UI styles (should extract)
* adding heatmap vislib type
* adding heatmap visualization
* adding documentation
* renaming heatmap options
* fixing options issues
* fixing color selection
* fixing / adding tests
* adding more color schemas
* adding more options
* adding cell labels
* fixing selenium test
* only allow to rotate labels by 90 degrees
* converting color number slider to number input
* hide labels if they don't fit
* fixing small issues
* improved range options
* fixing based on Thomas' review
* rebasing on master and fixing linting issues
* adding selenium tests
* fixing alerts
* fixing padding
* fixing based on review
* fixing math
* fixing custom range options
* removing $timeout
* notification in case labels were hidden
* fixing tests
* fixing based on last review
* fixing based on thomas' review
* [WIP] new scripted field tests
* Final improvements on 12 new tests for 1 expression and 2 painless scripted fields
* Add try loops around testing first Discover doc
* Set timezone to UTC and adjusted data accordingly
* Added boolean and date Painless scripted field types
* Remove unused (non-working) methods
* Fix lint error
* Added several data-test-subj attributes and used them in the tests
* Reverting previous change to getBarChartData
* upgrade eslint, all related deps, and config files
* replace gruntify-eslint with basic eslint-cli wrapper
* arrow-IIFEs must be invoked outside of the parens
* move import statements before their use
* reindent to satisfy new indentation check algorithm
* place missing semicolon
* ignore copy-pasted decode geohash code
* [grunt/eslint] fix argument spacing
* [gurnt/eslint] add comment about contents of report
* [grunt/tasks] use `export default`
Multiple changes to the Vislib point series charts. Before each of the chart (bar/area/line) would be an independent unit responsible for drawing all of its parts (axes, titles). This change splits things up so we can have greater control and better code reuse.
converting to ES6
moving axes out of each chart
joining both axes types (x and y) into a common axis type
allowing multiple axes
allowing top/bottom/left/right axis positioning
introducing new chart type 'point_series' which can combine bar/line/area series
making each of the series (bar/line/area) direction independent (vertical/horizontal charts)
A tag cloud visualization is a visual representation of text data, typically used to visualize free form text. Tags are usually single words. The font size of word corresponds with its importance.
* Update PageObjects for Visualize, Dashboard, and Discover to use data-test-subj selectors for menu items.
* Run checkPlugins task as part of test:ui:runner task.
* added source filtering
* ditched the new 'retrieved fields' tab and added checkbox to exclude a field in the field control
* disable field exclusion checkbox if field is a metafield
* [indexPattern] copy excluded field property when refreshing fields
* [indexPattern/field] move isMetaField consideration into Field
* [indexPattern/edit] invert the "retreived" column, for accuracy
* [indexPattern/field] touchup the field.exclude message
* Fix typo
* [indexPattern] handle index patterns without fields
* [courier/searchSource] auto add source filter for index pattern
* [docTable] remove irrelevant test about source filtering
* [settings/indices] cleanup imports
* [settings/indexPattern/fields] add "field filters" tab
* [imports] fix old testUtils import
* [ui/fieldWildcard] add lib to match names based on field-style wildcards
* [settings/fieldFilters] list filter matches, remove excluded fields from fieldata_fields
* [fieldWildcard] properly escape regexp control chars
* [settings/indexPatterns] mark fields excluded if they match an exclude pattern
* [fieldWildcard] properly bind the regexp to the ends
* [indexPattern] remove unneeded lodash chain
* [settings/indices] use settings-indices- prefix for tab direcives
* corrected rebase on master
* Do not match exclusion on meta/scripted fields. Disable filter bar when on 'Filter fields' tab. Removed exclusion checkbox in the field controls page. Corrected typos. Improved documentation phrasing.
* corrected error in merge with _index_pattern
* removed unused code
* added missing fieldFilters to test dumps
* corrected merge with master
* removed default empty array in the index pattern schema, and check if fieldFilters exists
* restricts the source with the exclusion patterns set for that index pattern
* renamed field filters to source filters and explicitely retrieve the source in the doc controller
* renamed variables/moved files from field filters to source filters
* Renamed _field_types.js to _edit_sections.js to better reflect what it is for. Corrected editting typo. Renamed exclude column name to excluded. Corrected HTML styling. Removed unused config parameters in field_wildcard.
* Removed lines that were specifying the _source field since they were made unnecessary by https://github.com/elastic/kibana/pull/7402/files#diff-d1695ba2026ff89878f9e4f4de683758R50
* moved fielddata_fields source filtering to where it is initialized
* two-column layout for the source filters indices section
* corrected tests
* use the same table layout as in the other index sections.
Filter input correctly restricts source filters.
Do not match .keyword fields.
* Filter out .raw suffix from possible matches.
Removed unused HTML file.
Corrected bug that allowed to save an empty source filter.
* exclude is deprecated, should be excludes
* improved description
* changed as per code review
* removed filtering logic for keyword and raw fields
* Fix bug where the loading indicator was wider than the screen, allowing you to drag a dashboard panel very wide and break the UI.
* Refactor kbnLoadingIndicator to be a standalone component.
* Make loadingIndicator fixed position so it doesn't disrupt the layout when it appears and disappears.
* Uncouple from .spinner styles.
* Set a max-width on it.
* Rename Common PageObject getSpinnerDone method to isGlobalLoadingIndicatorHidden.