* 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
* Fix CheckBox alignment by applying box-sizing: border-box to all before and after pseudo-elements.
* Fix ToolBarSearchBox height and icon alignment.
* Make Table examples consistently use the cell liner.
* 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
* updating agg_config to allow adding parent aggregations
* derivative metric aggregation
* disable on metric and tagcloud
* fixing point series to correctly handle missing y values
* adding unit tests
* fix broken ui
* removing percentile ranks
* updating based on review
* fixing bug and adding make_nested_label tests
* fixing error
* fixing test
* fixing based on last review
* fixing based on thomas review
* allow nested aggs
* prevent sorting on derivative metric
* updating based on last review
* adding error message when histogram is not the last bucket
* fixing test
* updating error message
It was already possible to sort, aggregate, and filter on _type in ES but we didn't allow it in Kibana because Elasticsearch's APIs pre-5.0 didn't report mapping information for meta fields. Now that field stats returns searchable and aggregatable (including meta fields) we can safely determine if any field is filterable, sortable, or aggregatable without looking at the mappings. This PR simply includes the searchable and aggregatable information in the calculations that determine filterable and sortable status of a field.
Fixes#5684
* [utils/streams] implement some generic stream helpers
While working on pr 9853 I have needed to deal with streams in several different ways and along the way ended up with a core set of stream helpers. Since these helpers are not browser or server specific, and are used across components, and tested with generic use in mind I put them in src/utils.
* [utils/streams] address kim's feedback
* [utils/stream/list] move default value into arg list
* Resolving unused settings bug when plugin is disabled
* Revert "Resolving unused settings bug when plugin is disabled"
This reverts commit c829139732.
* Replacing a disabled plugin's config with a simple schema/config with enabled set to false
* yaxis tick formatters
* fixing custom format
* adding information to currency help text
* fixing based on @rashidkpc review
* updating based on rashids comments
* adding some tests
* fixing broken yaxis
* fixing broken currency mode
* adding tick formatters tests
* throw error if currency is not three letter code
* adding server side tests
* fixing bytes mode
* rebasing on master and fixing linting
* fixing custom formatter behaviour.
* [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
* defer loading visualization saved objects so they can be loaded in a single _mget
* Don't request field stats more than once for the same index pattern
* [ui/courier] batch fetch requests for all searches and docs
* [ui/courier] remove remaining mentions of req.isFetchRequested()
* [courier/fetch/request] remove unneceessary !!
* 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.
* add architecture styleguide
* be clearer about application architecture
* define as plugin architecture
and downplay the webpack alias and shims that are available
* fix typo, simplify server description
* Avoid mget calls for every visualization after panel collapse
This will still cause the data to refresh (an msearch call).
* use ng-hide check, not width check
* Add all_fields to highlight query to improve highlighting
* Refactor highlighting and move out of _flatten
* Make changes as per @bargs' requests
* Add documentation about highlightAll setting
* Fix docs typo
* Remove unused function
* Remove unused code
* Fix an empty data table visualization scenario
In ui/agg_response/ we parse the ES response. For each value we create
an AggConfigResult object, and its quite normal to pass nulls as a value
into it.
It is a bit harder to cause in a data table visualization, but it is
possible with a large data set and many metric and bucket aggregations.
If an aggregation result is a null, it broke the data table
visualization, because Angular didn't know how to handle it for sorting.
* undo changes to AggConfigResult initialization
* fix AggConfigResult null value in paginated table valueGetter
* Adding initial autocomplete rules for Ingest APIs
* Fixing append processor autocomplete rules
* Adding autocomplete rules for Convert processor
* Adding autocomplete rules for the Date processor
* Adding references to docs
* Adding autocomplete rules for Date Index Name processor
* AAdding autocomplete rules for the Fail processor
* Adding autocomplete rules for Foreach processor
* Adding autocomplete rules for Grok processor
* Adding autocomplete rules for gsub processor
* Fixing autocomplete rules for Gsub processor
* Adding autocomplete rules for the Join processor
* Adding autocomplete rules for JSON processor
* Adding autocomplete rules for the KV processor
* Adding autocomplete rules for Lowercase processor
* Adding autocomplete rules for the Remove processor
* Adding autocomplete rules for the Rename processor
* Adding autocomplete rules for the Script processor
* Adding autocomplete rules for the Set processor
* Adding autocomplete rules for the Split processor
* Adding autcomplete rules for the Sort processor
* Fixing definition of Sort processor
* Adding autocomplete rules for the Trim processor
* Adding autocomplete rules for the Uppercase processor
* Adding autocomplete rules for Dot Expander processor
* Fixing autocomplete rules for Dot Expander processor
* Fixing forward reference problem
* Removing TODO note
* Enable (recursive) autocomplete on foreach processor's "processor" field
* Dashboard clean up
- Stop storing the grid element on the panel which caused a circular
reference and required special code to make it serializable.
- Call state.save directly rather than broadcasting change:vis
This is in prep for possibly making grid scope isolate and view/edit
mode implementation.
* Make dashboard grid scope isolate
This will help prepare for state changes for view/edit mode in
dashboard.js
* Remove unnecessary uses of findPanelByPanelIndex
can just use the panelElement directly
* Only need the panelIndex stored on the inner element
* Remove memory leak
Clean up panelElementMapping
Adds + and - icons on hover in the doc table and data table, allowing users to drill down with more options and fewer clicks. Previously in the doc table a user had to expand the row in order to filter on a document value. In the data table a user could filter simply by clicking a cell, but there was no way to create a negative filter. This commit brings feature parity between the data table and doc table.
The custom debounce implementation uses Angular's `$timeout`, which
interacts unfavourably with the unconditional `$watch` handler used in
the `fixed-scroll` directive. It results in an infinite digest being
triggered about every 100ms. To avoid that, this commit uses the
`invokeApply` option of `$timeout` and instead calls `$scope.$apply`
conditionally.