-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
(cherry picked from commit 853ba49) Fix field format issue, update to new release (cherry picked from commit 6faea74) (cherry picked from commit dc06ba9)
- Loading branch information
Pierre Padovani
committed
May 6, 2018
1 parent
752bfae
commit 5b7bba4
Showing
16 changed files
with
241 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,3 +3,4 @@ node_modules | |
/build/ | ||
.idea | ||
.DS_Store | ||
.project |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,10 @@ | ||
import './agg_type'; | ||
import './param_types/field'; | ||
import './metrics/metric_agg_type'; | ||
import './metrics/percentiles'; | ||
import './metrics/percentile_ranks'; | ||
import './metrics/std_deviation'; | ||
import './metrics/top_hit'; | ||
import './buckets/terms'; | ||
import './buckets/filters'; | ||
import './buckets/create_filter/date_histogram'; |
17 changes: 17 additions & 0 deletions
17
public/nested_support/agg_types/metrics/percentile_ranks.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import valuesEditor from 'ui/agg_types/controls/percentile_ranks.html'; | ||
import 'ui/number_list'; | ||
import { AggTypesMetricsMetricAggTypeProvider } from 'ui/agg_types/metrics/metric_agg_type'; | ||
import { AggTypesMetricsGetResponseAggConfigClassProvider } from 'ui/agg_types/metrics/get_response_agg_config_class'; | ||
import { RegistryFieldFormatsProvider } from 'ui/registry/field_formats'; | ||
import { getPercentileValue } from './percentiles_get_value'; | ||
import { uiModules } from 'ui/modules'; | ||
import { AggTypesMetricsPercentileRanksProvider } from 'ui/agg_types/metrics/percentile_ranks'; | ||
|
||
let app = uiModules.get('kibana/courier'); | ||
|
||
app.run(function(config, Private) { | ||
const PercentileRanksAggType = Private(AggTypesMetricsPercentileRanksProvider); | ||
PercentileRanksAggType.getValue = function (agg, bucket) { | ||
return getPercentileValue(agg, bucket) / 100; | ||
} | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import { ordinalSuffix } from 'ui/utils/ordinal_suffix'; | ||
import percentsEditor from 'ui/agg_types/controls/percentiles.html'; | ||
import 'ui/number_list'; | ||
import { AggTypesMetricsMetricAggTypeProvider } from 'ui/agg_types/metrics/metric_agg_type'; | ||
import { AggTypesMetricsGetResponseAggConfigClassProvider } from 'ui/agg_types/metrics/get_response_agg_config_class'; | ||
import { getPercentileValue } from './percentiles_get_value'; | ||
import { uiModules } from 'ui/modules'; | ||
import { AggTypesMetricsPercentilesProvider } from 'ui/agg_types/metrics/percentiles'; | ||
|
||
let app = uiModules.get('kibana/courier'); | ||
|
||
app.run(function(config, Private) { | ||
const PercentilesAggType = Private(AggTypesMetricsPercentilesProvider); | ||
PercentilesAggType.getValue = getPercentileValue; | ||
}); |
11 changes: 11 additions & 0 deletions
11
public/nested_support/agg_types/metrics/percentiles_get_value.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import { find } from 'lodash'; | ||
|
||
export function getPercentileValue(agg, bucket) { | ||
let valueBucket = bucket; | ||
if (bucket['nested_' + agg.parentId]) { | ||
valueBucket = bucket['nested_' + agg.parentId]; | ||
} | ||
const values = valueBucket[agg.parentId] && valueBucket[agg.parentId].values; | ||
const percentile = find(values, value => agg.key === value.key); | ||
return percentile ? percentile.value : NaN; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import _ from 'lodash'; | ||
import { AggTypesMetricsMetricAggTypeProvider } from 'ui/agg_types/metrics/metric_agg_type'; | ||
import { AggTypesMetricsGetResponseAggConfigClassProvider } from 'ui/agg_types/metrics/get_response_agg_config_class'; | ||
import { uiModules } from 'ui/modules'; | ||
import { AggTypesMetricsStdDeviationProvider } from 'ui/agg_types/metrics/std_deviation'; | ||
|
||
let app = uiModules.get('kibana/courier'); | ||
|
||
app.run(function(config, Private) { | ||
const StdDeviationAggType = Private(AggTypesMetricsStdDeviationProvider); | ||
StdDeviationAggType.getValue = function (agg, bucket) { | ||
let valueBucket = bucket; | ||
if (bucket['nested_' + agg.parentId]) { | ||
valueBucket = bucket['nested_' + agg.parentId]; | ||
} | ||
return _.get(valueBucket[agg.parentId], agg.valProp()); | ||
}; | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
import _ from 'lodash'; | ||
import { AggTypesMetricsMetricAggTypeProvider } from 'ui/agg_types/metrics/metric_agg_type'; | ||
import topSortEditor from 'ui/agg_types/controls/top_sort.html'; | ||
import aggregateAndSizeEditor from 'ui/agg_types/controls/top_aggregate_and_size.html'; | ||
import { uiModules } from 'ui/modules'; | ||
import { AggTypesMetricsTopHitProvider } from 'ui/agg_types/metrics/top_hit'; | ||
|
||
let app = uiModules.get('kibana/courier'); | ||
|
||
app.run(function(config, Private) { | ||
const TopHitType = Private(AggTypesMetricsTopHitProvider); | ||
TopHitType.getValue = function (agg, bucket) { | ||
let valueBucket = bucket; | ||
if (bucket['nested_' + agg.parentId]) { | ||
valueBucket = bucket['nested_' + agg.parentId]; | ||
} | ||
const hits = _.get(valueBucket, `${agg.id}.hits.hits`); | ||
if (!hits || !hits.length) { | ||
return null; | ||
} | ||
const path = agg.params.field.name; | ||
|
||
let values = _(hits).map(hit => { | ||
return path === '_source' ? hit._source : agg.vis.indexPattern.flattenHit(hit, true)[path]; | ||
}) | ||
.flatten() | ||
.value(); | ||
|
||
if (values.length === 1) { | ||
values = values[0]; | ||
} | ||
|
||
if (_.isArray(values)) { | ||
if (!_.compact(values).length) { | ||
return null; | ||
} | ||
switch (agg.params.aggregate.val) { | ||
case 'max': | ||
return _.max(values); | ||
case 'min': | ||
return _.min(values); | ||
case 'sum': | ||
return _.sum(values); | ||
case 'average': | ||
return _.sum(values) / values.length; | ||
} | ||
} | ||
return values; | ||
} | ||
}); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,88 +1,80 @@ | ||
import _ from 'lodash'; | ||
import {DocViewsRegistryProvider} from 'ui/registry/doc_views'; | ||
import { uiModules } from 'ui/modules'; | ||
|
||
import tableHtml from './structure.html'; | ||
|
||
DocViewsRegistryProvider.register(function () { | ||
return { | ||
title: 'Structure', | ||
order: 5, | ||
directive: { | ||
template: tableHtml, | ||
scope: { | ||
hit: '=', | ||
indexPattern: '=', | ||
filter: '=', | ||
columns: '=', | ||
onAddColumn: '=', | ||
onRemoveColumn: '=' | ||
}, | ||
controller: function ($scope) { | ||
$scope.mapping = $scope.indexPattern.fields.byName; | ||
$scope.flattened = $scope.indexPattern.flattenHit($scope.hit); | ||
$scope.formatted = $scope.indexPattern.formatHit($scope.hit, true); | ||
$scope.fields = _.keys($scope.flattened).sort(); | ||
$scope.visible = {}; | ||
|
||
$scope.canToggleColumns = function canToggleColumn() { | ||
return ( | ||
_.isFunction($scope.onAddColumn) | ||
&& _.isFunction($scope.onRemoveColumn) | ||
); | ||
}; | ||
uiModules.get('kibana') | ||
.run(function (config, Private) { | ||
const docViews = Private(DocViewsRegistryProvider); | ||
docViews.byName.Table.directive.template = tableHtml; | ||
docViews.byName.Table.directive.controller = structureController; | ||
}); | ||
|
||
$scope.toggleColumn = function toggleColumn(columnName) { | ||
if ($scope.columns.includes(columnName)) { | ||
$scope.onRemoveColumn(columnName); | ||
} else { | ||
$scope.onAddColumn(columnName); | ||
} | ||
}; | ||
function structureController($scope) { | ||
$scope.mapping = $scope.indexPattern.fields.byName; | ||
$scope.flattened = $scope.indexPattern.flattenHit($scope.hit, false); | ||
$scope.formatted = $scope.indexPattern.formatHit($scope.hit, true); | ||
$scope.fields = _.keys($scope.flattened).sort(); | ||
$scope.visible = {}; | ||
|
||
$scope.visible = function (field, pos) { | ||
let key = field; | ||
if (pos !== undefined) { | ||
key += pos; | ||
} | ||
return $scope.visible[key]; | ||
}; | ||
$scope.canToggleColumns = function canToggleColumn() { | ||
return ( | ||
_.isFunction($scope.onAddColumn) | ||
&& _.isFunction($scope.onRemoveColumn) | ||
); | ||
}; | ||
|
||
$scope.toggleVisible = function (field, pos) { | ||
let key = field; | ||
if (pos !== undefined) { | ||
key += pos; | ||
} | ||
if ($scope.visible[key] === undefined) { | ||
$scope.visible[key] = key; | ||
} else { | ||
$scope.visible[key] = undefined; | ||
} | ||
}; | ||
$scope.toggleColumn = function toggleColumn(columnName) { | ||
if ($scope.columns.includes(columnName)) { | ||
$scope.onRemoveColumn(columnName); | ||
} else { | ||
$scope.onAddColumn(columnName); | ||
} | ||
}; | ||
|
||
$scope.showArrayInObjectsWarning = function (row, field) { | ||
let value = $scope.flattened[field]; | ||
if (row !== undefined) { | ||
value = row[field]; | ||
} | ||
return _.isArray(value) && typeof value[0] === 'object'; | ||
}; | ||
$scope.visible = function (field, pos) { | ||
let key = field; | ||
if (pos !== undefined) { | ||
key += pos; | ||
} | ||
return $scope.visible[key]; | ||
}; | ||
|
||
$scope.rowSummary = function (row, fieldName, pos) { | ||
const partials = $scope.hit.$$_partialFormatted; | ||
let key = fieldName; | ||
let text = ''; | ||
if (pos !== undefined) { | ||
key += pos; | ||
} | ||
if (partials && partials[key] != null) { | ||
text = partials[key]; | ||
} else { | ||
text = partials[key] = $scope.indexPattern._legacyFormatField($scope.hit, fieldName); | ||
} | ||
$scope.toggleVisible = function (field, pos) { | ||
let key = field; | ||
if (pos !== undefined) { | ||
key += pos; | ||
} | ||
if ($scope.visible[key] === undefined) { | ||
$scope.visible[key] = key; | ||
} else { | ||
$scope.visible[key] = undefined; | ||
} | ||
}; | ||
|
||
$scope.showArrayInObjectsWarning = function (row, field) { | ||
let value = $scope.flattened[field]; | ||
if (row !== undefined) { | ||
value = row[field]; | ||
} | ||
return _.isArray(value) && typeof value[0] === 'object'; | ||
}; | ||
|
||
return _.trunc(text, {'length': 200}); | ||
}; | ||
} | ||
$scope.rowSummary = function (row, fieldName, pos) { | ||
const partials = $scope.hit.$$_partialFormatted; | ||
let key = fieldName; | ||
let text = ''; | ||
if (pos !== undefined) { | ||
key += pos; | ||
} | ||
if (partials && partials[key] != null) { | ||
text = partials[key]; | ||
} else { | ||
text = partials[key] = $scope.indexPattern.formatField($scope.hit, fieldName); | ||
} | ||
|
||
return _.trunc(text, {'length': 200}); | ||
}; | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
import './filter_manager'; | ||
import './lib/phrase'; | ||
import './lib/range'; | ||
import './lib/range'; | ||
import './lib/exists'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
import * as existsLib from 'ui/filter_manager/lib/exists'; | ||
|
||
existsLib.buildExistsFilter = function(field, indexPattern) { | ||
if (field.nestedPath) { | ||
return { | ||
meta: { | ||
index: indexPattern.id | ||
}, | ||
nested: { | ||
path: field.nestedPath, | ||
query: { | ||
exists: { | ||
field: field.name | ||
} | ||
} | ||
} | ||
}; | ||
} | ||
return { | ||
meta: { | ||
index: indexPattern.id | ||
}, | ||
exists: { | ||
field: field.name | ||
} | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.