Skip to content

Commit

Permalink
Merge branch 'master' of github.com:elastic/kibana into update_indent…
Browse files Browse the repository at this point in the history
…ation_behaviour

* 'master' of github.com:elastic/kibana: (24 commits)
  [Console] SQL template with triple quote in completion (elastic#45248)
  [ML] Data Frames: Cards as links (elastic#45254)
  fix(code/frontend): should show updating instead of cloning when updating (elastic#45238)
  fix(code/frontend): fix document search result from (elastic#45236)
  disable another flaky suite (elastic#45323) (elastic#45330)
  disable flaky suite (elastic#45105)
  skip flaky suite (elastic#43069)
  skip flaky suite (elastic#45089)
  disable jest suite that has no enabled tests (elastic#44250)
  disable flaky test (elastic#45317)
  disable flaky test (elastic#45315)
  [DOCS] Creates developer folder (elastic#45280)
  [SIEM] Changes ML conditional links to use tabs, fixes a small bug with null filterQuery   (elastic#45218)
  [skip-ci][Maps] Update search docs (elastic#45307)
  Revert "[skip ci][Maps] Update search document section with ne… (elastic#45301)
  Prep visualizations plugin for NP migration. (elastic#44839)
  Replace Discover chart with elastic-charts (elastic#43788)
  [skip ci][Maps] Update search document section with new features (elastic#44819)
  Revert "Revert "[ci] compress jobs for CI stability" (elastic#44584)"
  add src/plugins to the list of plugin dirs to watch (elastic#45033)
  ...

# Conflicts:
#	src/legacy/core_plugins/console/public/src/utils.js
#	src/legacy/core_plugins/console/public/tests/src/utils_string_expanding.txt
  • Loading branch information
jloleysens committed Sep 11, 2019
2 parents e543d6f + 00b30e4 commit 3cac7f4
Show file tree
Hide file tree
Showing 189 changed files with 1,832 additions and 1,181 deletions.
21 changes: 4 additions & 17 deletions .ci/jobs.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,21 @@
JOB:
- kibana-intake
- x-pack-intake
- kibana-firefoxSmoke
- intake
- firefoxSmoke
- kibana-ciGroup1
- kibana-ciGroup2
- kibana-ciGroup3
- kibana-ciGroup4
- kibana-ciGroup5
- kibana-ciGroup6
- kibana-ciGroup7
- kibana-ciGroup8
- kibana-ciGroup9
- kibana-ciGroup10
- kibana-ciGroup11
- kibana-ciGroup12
- kibana-visualRegression
# - kibana-visualRegression

# make sure all x-pack-ciGroups are listed in test/scripts/jenkins_xpack_ci_group.sh
- x-pack-firefoxSmoke
- x-pack-ciGroup1
- x-pack-ciGroup2
- x-pack-ciGroup3
- x-pack-ciGroup4
- x-pack-ciGroup5
- x-pack-ciGroup6
- x-pack-ciGroup7
- x-pack-ciGroup8
- x-pack-ciGroup9
- x-pack-ciGroup10
- x-pack-visualRegression
# - x-pack-visualRegression

# `~` is yaml for `null`
exclude: ~
10 changes: 2 additions & 8 deletions .ci/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ source src/dev/ci_setup/setup.sh
source src/dev/ci_setup/checkout_sibling_es.sh

case "$JOB" in
kibana-intake)
intake)
./test/scripts/jenkins_unit.sh
;;
kibana-ciGroup*)
Expand All @@ -21,22 +21,16 @@ kibana-ciGroup*)
kibana-visualRegression*)
./test/scripts/jenkins_visual_regression.sh
;;
kibana-firefoxSmoke*)
firefoxSmoke*)
./test/scripts/jenkins_firefox_smoke.sh
;;
x-pack-intake)
./test/scripts/jenkins_xpack.sh
;;
x-pack-ciGroup*)
export CI_GROUP="${JOB##x-pack-ciGroup}"
./test/scripts/jenkins_xpack_ci_group.sh
;;
x-pack-visualRegression*)
./test/scripts/jenkins_xpack_visual_regression.sh
;;
x-pack-firefoxSmoke*)
./test/scripts/jenkins_xpack_firefox_smoke.sh
;;
*)
echo "JOB '$JOB' is not implemented."
exit 1
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
25 changes: 0 additions & 25 deletions docs/development.asciidoc

This file was deleted.

2 changes: 1 addition & 1 deletion docs/index.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,6 @@ include::migration.asciidoc[]

include::CHANGELOG.asciidoc[]

include::development/index.asciidoc[]
include::developer/index.asciidoc[]

include::redirects.asciidoc[]
Binary file added docs/maps/images/create_phrase_filter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/maps/images/create_spatial_filter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/maps/images/filter_icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/maps/images/global_search_bar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/maps/images/global_search_multiple_indices_query1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/maps/images/global_search_multiple_indices_query2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/maps/images/tools_icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 53 additions & 2 deletions docs/maps/search.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
[[maps-search]]
== Searching your data

**Elastic Maps** embeds the query bar for real-time ad hoc search.
**Elastic Maps** embeds the search bar for real-time search.
Only layers requesting data from {es} are filtered when you submit a search request.
Layers narrowed by the search context contain the filter icon image:maps/images/filter_icon.png[] to the right of layer name in the legend.

You can create a layer that requests data from {es} from the following:

Expand All @@ -13,13 +14,51 @@ You can create a layer that requests data from {es} from the following:

** Grid aggregation source

** <<terms-join>>
** <<terms-join>>. The search context is applied to both the terms join and the vector source when the vector source is provided by Elasticsearch documents.

* <<heatmap-layer>> with Grid aggregation source

[role="screenshot"]
image::maps/images/global_search_bar.png[]

[role="xpack"]
[[maps-create-filter-from-map]]
=== Creating filters from your map

You can create two types of filters by interacting with your map:

* <<maps-spatial-filters, Spatial filters>>
* <<maps-phrase-filter, Phrase filters>>

[float]
[[maps-spatial-filters]]
==== Spatial filters

A spatial filter narrow searchs results to documents that either intersect with, are within, or do not intersect with the specified geometry.

You can create spatial filters in two ways:

* Click the tool icon image:maps/images/tools_icon.png[], and then draw a polygon or bounding box on the map to define the spatial filter.
* Click *Filter by geometry* in a tooltip, and then use the feature's geometry for the spatial filter.
+
[role="screenshot"]
image::maps/images/create_spatial_filter.png[]

Spatial filters have the following properties:

* *Geometry label* enables you to provide a meaningful name for your spatial filter.
* *Spatial field* specifies the geo_point or geo_shape field used to determine if a document matches the spatial relation with the specified geometry.
* *Spatial relation* determines the {ref}/query-dsl-geo-shape-query.html#_spatial_relations[spatial relation operator] to use at search time. Only available when *Spatial field* is set to geo_shape.

[float]
[[maps-phrase-filter]]
==== Phrase filters

A phrase filter narrows search results to documents that contain the specified text.
You can create a phrase filter by clicking the plus icon image:maps/images/gs_plus_icon.png[] in a feature tooltip.

[role="screenshot"]
image::maps/images/create_phrase_filter.png[]

[role="xpack"]
[[maps-layer-based-filtering]]
Expand All @@ -43,6 +82,18 @@ This can also occur with a single layer with an {es} source and a <<terms-join>>

Searching across multiple indices might sometimes result in empty layers.
The most common cause for empty layers are searches for a field that exists in one index, but does not exist in other indices.

[float]
[[maps-disable-search-for-layer]]
==== Disable search for layer

To prevent the global search bar from applying search context to a layer, clear the *Apply global filter to layer* checkbox in Layer settings.
Disabling the search context applies to the layer source and all <<terms-join, term joins>> configured for the layer.

[float]
[[maps-add-index-search]]
==== Use _index in your search

Add {ref}/mapping-index-field.html[_index] to your search to include documents from indices that do not contain a search field.

For example, suppose you have a vector layer showing the `kibana_sample_data_logs` documents
Expand Down
12 changes: 10 additions & 2 deletions src/cli/cluster/cluster_manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import opn from 'opn';
import { debounce, invoke, bindAll, once, uniq } from 'lodash';
import * as Rx from 'rxjs';
import { first, mapTo, filter, map, take } from 'rxjs/operators';
import { REPO_ROOT } from '@kbn/dev-utils';

import Log from '../log';
import Worker from './worker';
Expand Down Expand Up @@ -102,8 +103,15 @@ export default class ClusterManager {

if (opts.watch) {
const pluginPaths = config.get('plugins.paths');
const scanDirs = config.get('plugins.scanDirs');
const extraPaths = [...pluginPaths, ...scanDirs];
const scanDirs = [
...config.get('plugins.scanDirs'),
resolve(REPO_ROOT, 'src/plugins'),
resolve(REPO_ROOT, 'x-pack/plugins'),
];
const extraPaths = [
...pluginPaths,
...scanDirs,
];

const extraIgnores = scanDirs
.map(scanDir => resolve(scanDir, '*'))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,9 @@ const getIndexPatternTitle = async (

// Takes in stateful runtime dependencies and pre-wires them to the component
export function createIndexPatternSelect(savedObjectsClient: SavedObjectsClientContract) {
return (props: any) => <IndexPatternSelect savedObjectsClient={savedObjectsClient} {...props} />;
return (props: Omit<IndexPatternSelectProps, 'savedObjectsClient'>) => (
<IndexPatternSelect {...props} savedObjectsClient={savedObjectsClient} />
);
}

export class IndexPatternSelect extends Component<IndexPatternSelectProps> {
Expand Down
4 changes: 1 addition & 3 deletions src/legacy/core_plugins/kibana/public/context/NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,9 @@ query status and results.
**query_parameters**: Exports the actions, reducers and selectors related to
the parameters used to construct the query.

**components/loading_button**: Defines the `<context-loading-button>`
**components/action_bar**: Defines the `<context-action-bar>`
directive including its respective styles.

**components/size_picker**: Defines the `<context-size-picker>`
directive including its respective styles.

**api/anchor.js**: Exports `fetchAnchor()` that creates and executes the
query for the anchor document.
Expand Down
2 changes: 1 addition & 1 deletion src/legacy/core_plugins/kibana/public/context/_index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
// cxtChart__legend--small
// cxtChart__legend-isLoading

@import 'components/size_picker/index';
@import 'components/action_bar/index';
103 changes: 22 additions & 81 deletions src/legacy/core_plugins/kibana/public/context/app.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,48 +62,19 @@
ng-if="contextApp.state.loadingStatus.anchor.status !== contextApp.constants.LOADING_STATUS.FAILED"
>
<!-- Controls -->
<div class="kuiBar kuiVerticalRhythm">
<div class="kuiBarSection">
<context-loading-button
data-test-subj="predecessorLoadMoreButton"
is-disabled="![
contextApp.constants.LOADING_STATUS.LOADED,
contextApp.constants.LOADING_STATUS.FAILED,
].includes(contextApp.state.loadingStatus.predecessors.status)"
icon="'fa-chevron-up'"
ng-click="contextApp.actions.fetchMorePredecessorRows()"
>
<span
i18n-id="kbn.context.loadMoreDescription"
i18n-default-message="Load {defaultStepSize} more"
i18n-values="{
defaultStepSize: contextApp.state.queryParameters.defaultStepSize
}"
></span>
</context-loading-button>
<context-size-picker
count="contextApp.state.queryParameters.predecessorCount"
data-test-subj="predecessorCountPicker"
<context-action-bar
default-step-size="contextApp.state.queryParameters.defaultStepSize"
doc-count="contextApp.state.queryParameters.predecessorCount"
doc-count-available="contextApp.state.rows.predecessors.length"
is-disabled="contextApp.state.loadingStatus.anchor.status !== contextApp.constants.LOADING_STATUS.LOADED"
is-loading="![
contextApp.constants.LOADING_STATUS.LOADED,
contextApp.constants.LOADING_STATUS.FAILED,
].includes(contextApp.state.loadingStatus.predecessors.status)"
on-change-count="contextApp.actions.fetchGivenPredecessorRows"
></context-size-picker>
<span
i18n-id="kbn.context.newerDocumentsDescription"
i18n-default-message="newer documents"
></span>
<span
class="kuiStatusText kuiStatusText--warning"
ng-if="(contextApp.state.loadingStatus.predecessors.status === contextApp.constants.LOADING_STATUS.LOADED)
&& (contextApp.state.queryParameters.predecessorCount > contextApp.state.rows.predecessors.length)"
>
<span class="kuiStatusText__icon kuiIcon fa-bolt"></span>
<span ng-bind-template="Only {{ contextApp.state.rows.predecessors.length }} documents newer than the anchor could be found."></span>
</span>
</div>
type="'predecessors'"
></context-action-bar>

<div class="kuiBarSection">
</div>
</div>

<!-- Loading feedback -->
<div
Expand Down Expand Up @@ -139,46 +110,16 @@
</div>

<!-- Controls -->
<div class="kuiBar kuiVerticalRhythm">
<div class="kuiBarSection">
<context-loading-button
data-test-subj="successorLoadMoreButton"
is-disabled="![
contextApp.constants.LOADING_STATUS.LOADED,
contextApp.constants.LOADING_STATUS.FAILED,
].includes(contextApp.state.loadingStatus.successors.status)"
icon="'fa-chevron-down'"
ng-click="contextApp.actions.fetchMoreSuccessorRows()"
>
<span
i18n-id="kbn.context.loadMoreDescription"
i18n-default-message="Load {defaultStepSize} more"
i18n-values="{
defaultStepSize: contextApp.state.queryParameters.defaultStepSize
}"
></span>
</context-loading-button>
<context-size-picker
count="contextApp.state.queryParameters.successorCount"
data-test-subj="successorCountPicker"
is-disabled="contextApp.state.loadingStatus.anchor.status !== contextApp.constants.LOADING_STATUS.LOADED"
on-change-count="contextApp.actions.fetchGivenSuccessorRows"
></context-size-picker>
<div
i18n-id="kbn.context.olderDocumentsDescription"
i18n-default-message="older documents"
></div>
<span
class="kuiStatusText kuiStatusText--warning"
ng-if="(contextApp.state.loadingStatus.successors.status === contextApp.constants.LOADING_STATUS.LOADED)
&& (contextApp.state.queryParameters.successorCount > contextApp.state.rows.successors.length)"
>
<span class="kuiStatusText__icon kuiIcon fa-bolt"></span>
<span ng-bind-template="Only {{ contextApp.state.rows.successors.length }} documents older than the anchor could be found."></span>
</span>
</div>

<div class="kuiBarSection">
</div>
</div>
<context-action-bar
default-step-size="contextApp.state.queryParameters.defaultStepSize"
doc-count="contextApp.state.queryParameters.successorCount"
doc-count-available="contextApp.state.rows.successors.length"
is-disabled="contextApp.state.loadingStatus.anchor.status !== contextApp.constants.LOADING_STATUS.LOADED"
is-loading="![
contextApp.constants.LOADING_STATUS.LOADED,
contextApp.constants.LOADING_STATUS.FAILED,
].includes(contextApp.state.loadingStatus.successors.status)"
on-change-count="contextApp.actions.fetchGivenSuccessorRows"
type="'successors'"
></context-action-bar>
</main>
3 changes: 1 addition & 2 deletions src/legacy/core_plugins/kibana/public/context/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@ import _ from 'lodash';
import { callAfterBindingsWorkaround } from 'ui/compat';
import { uiModules } from 'ui/modules';
import contextAppTemplate from './app.html';
import './components/loading_button';
import './components/size_picker/size_picker';
import './components/action_bar';
import { getFirstSortableField } from './api/utils/sorting';
import {
createInitialQueryParametersState,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.cxtSizePicker {
text-align: center;
width: $euiSize * 5;

&::-webkit-outer-spin-button,
&::-webkit-inner-spin-button {
appearance: none; // Hide increment and decrement buttons for type="number" input.
margin: 0;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@import './action_bar';
Loading

0 comments on commit 3cac7f4

Please sign in to comment.