diff --git a/.node-version b/.node-version
index f77856a6f1af..cc2fbe89b6c7 100644
--- a/.node-version
+++ b/.node-version
@@ -1 +1 @@
-4.3.1
+4.3.2
diff --git a/package.json b/package.json
index 222446e3b872..c4e6ba5202e2 100644
--- a/package.json
+++ b/package.json
@@ -146,7 +146,7 @@
"angular-mocks": "1.4.7",
"auto-release-sinon": "1.0.3",
"babel-eslint": "4.1.8",
- "chokidar": "1.0.5",
+ "chokidar": "1.4.3",
"eslint": "1.10.3",
"eslint-plugin-mocha": "1.1.0",
"expect.js": "0.3.1",
@@ -189,7 +189,7 @@
"supertest-as-promised": "2.0.2"
},
"engines": {
- "node": "4.3.1",
- "npm": "2.14.21"
+ "node": "4.3.2",
+ "npm": "2.14.22"
}
}
diff --git a/src/cli/cluster/cluster_manager.js b/src/cli/cluster/cluster_manager.js
index a80423be3104..ca9227912404 100644
--- a/src/cli/cluster/cluster_manager.js
+++ b/src/cli/cluster/cluster_manager.js
@@ -1,8 +1,8 @@
import cluster from 'cluster';
-const { join } = require('path');
+const { join, resolve } = require('path');
const { format: formatUrl } = require('url');
import Hapi from 'hapi';
-const { debounce, compact, get, invoke, bindAll, once, sample } = require('lodash');
+const { debounce, compact, get, invoke, bindAll, once, sample, uniq } = require('lodash');
import Log from '../Log';
import Worker from './worker';
@@ -85,14 +85,19 @@ module.exports = class ClusterManager {
const chokidar = require('chokidar');
const fromRoot = require('../../utils/fromRoot');
- this.watcher = chokidar.watch([
- 'src/plugins',
- 'src/server',
- 'src/ui',
- 'src/utils',
- 'config',
- ...extraPaths
- ], {
+ const watchPaths = uniq(
+ [
+ fromRoot('src/plugins'),
+ fromRoot('src/server'),
+ fromRoot('src/ui'),
+ fromRoot('src/utils'),
+ fromRoot('config'),
+ ...extraPaths
+ ]
+ .map(path => resolve(path))
+ );
+
+ this.watcher = chokidar.watch(watchPaths, {
cwd: fromRoot('.'),
ignored: /[\\\/](\..*|node_modules|bower_components|public|__tests__)[\\\/]/
});
diff --git a/src/plugins/elasticsearch/lib/__tests__/routes.js b/src/plugins/elasticsearch/lib/__tests__/routes.js
index b5f94d8f3e82..c4bacca30d55 100644
--- a/src/plugins/elasticsearch/lib/__tests__/routes.js
+++ b/src/plugins/elasticsearch/lib/__tests__/routes.js
@@ -11,7 +11,7 @@ describe('plugins/elasticsearch', function () {
let kbnServer;
before(function () {
- this.timeout(15000); // sometimes waiting for server takes longer than 10
+ this.timeout(60000); // sometimes waiting for server takes longer than 10
kbnServer = kbnTestServer.createServer();
return kbnServer.ready()
diff --git a/src/plugins/kibana/public/discover/controllers/discover.js b/src/plugins/kibana/public/discover/controllers/discover.js
index a7b17b5afd22..c89b823fc8f8 100644
--- a/src/plugins/kibana/public/discover/controllers/discover.js
+++ b/src/plugins/kibana/public/discover/controllers/discover.js
@@ -126,7 +126,7 @@ app.controller('discover', function ($scope, config, courier, $route, $window, N
return {
query: $scope.searchSource.get('query') || '',
sort: getSort.array(savedSearch.sort, $scope.indexPattern),
- columns: savedSearch.columns || ['_source'],
+ columns: savedSearch.columns.length > 0 ? savedSearch.columns : config.get('defaultColumns'),
index: $scope.indexPattern.id,
interval: 'auto',
filters: _.cloneDeep($scope.searchSource.getOwn('filter'))
diff --git a/src/plugins/kibana/public/settings/sections/advanced/index.html b/src/plugins/kibana/public/settings/sections/advanced/index.html
index a2894631dc86..13f85f7c8819 100644
--- a/src/plugins/kibana/public/settings/sections/advanced/index.html
+++ b/src/plugins/kibana/public/settings/sections/advanced/index.html
@@ -3,7 +3,7 @@
Caution: You can break stuff here
Be careful in here, these settings are for very advanced users only.
- Tweaks you make here can break large portionsof Kibana. Some of these
+ Tweaks you make here can break large portions of Kibana. Some of these
settings may be undocumented, unsupported or experimental. If a field has
a default value, blanking the field will reset it to its default which
may be unacceptable given other configuration directives. Deleting a
diff --git a/src/plugins/kibana/server/lib/create_mappings_from_pattern_fields.js b/src/plugins/kibana/server/lib/create_mappings_from_pattern_fields.js
index db8891fb98ec..d05e65099161 100644
--- a/src/plugins/kibana/server/lib/create_mappings_from_pattern_fields.js
+++ b/src/plugins/kibana/server/lib/create_mappings_from_pattern_fields.js
@@ -15,8 +15,6 @@ module.exports = function createMappingsFromPatternFields(fields) {
mapping = {
type: 'string',
index: 'analyzed',
- omit_norms: true,
- fielddata: {format: 'disabled'},
fields: {
raw: {type: 'string', index: 'not_analyzed', doc_values: true, ignore_above: 256}
}
diff --git a/src/plugins/kibana/server/routes/api/ingest/register_post.js b/src/plugins/kibana/server/routes/api/ingest/register_post.js
index ec4a811c9da4..9ff7281db541 100644
--- a/src/plugins/kibana/server/routes/api/ingest/register_post.js
+++ b/src/plugins/kibana/server/routes/api/ingest/register_post.js
@@ -102,8 +102,6 @@ module.exports = function registerPost(server) {
mapping: {
type: 'string',
index: 'analyzed',
- omit_norms: true,
- fielddata: {format: 'disabled'},
fields: {
raw: {type: 'string', index: 'not_analyzed', doc_values: true, ignore_above: 256}
}
diff --git a/src/ui/public/config/defaults.js b/src/ui/public/config/defaults.js
index c167e814bf3e..ef56c170dad7 100644
--- a/src/ui/public/config/defaults.js
+++ b/src/ui/public/config/defaults.js
@@ -50,6 +50,10 @@ export default function configDefaultsProvider() {
value: null,
description: 'The index to access if no index is set',
},
+ 'defaultColumns': {
+ value: ['_source'],
+ description: 'Columns displayed by default in the Discovery tab',
+ },
'metaFields': {
value: ['_source', '_id', '_type', '_index', '_score'],
description: 'Fields that exist outside of _source to merge into our document when displaying it',
diff --git a/src/ui/public/vislib/lib/dispatch.js b/src/ui/public/vislib/lib/dispatch.js
index 1e3dc82711d0..dfc476054103 100644
--- a/src/ui/public/vislib/lib/dispatch.js
+++ b/src/ui/public/vislib/lib/dispatch.js
@@ -106,6 +106,9 @@ export default function DispatchClass(Private) {
var isClickable = this.listenerCount('click') > 0;
var addEvent = this.addEvent;
var $el = this.handler.el;
+ if(!this.handler.highlight) {
+ this.handler.highlight = self.highlight;
+ }
function hover(d, i) {
// Add pointer if item is clickable
@@ -113,7 +116,7 @@ export default function DispatchClass(Private) {
self.addMousePointer.call(this, arguments);
}
- self.highlightLegend.call(this, $el);
+ self.handler.highlight.call(this, $el);
self.emit('hover', self.eventResponse(d, i));
}
@@ -129,9 +132,12 @@ export default function DispatchClass(Private) {
var self = this;
var addEvent = this.addEvent;
var $el = this.handler.el;
+ if(!this.handler.unHighlight) {
+ this.handler.unHighlight = self.unHighlight;
+ }
function mouseout() {
- self.unHighlightLegend.call(this, $el);
+ self.handler.unHighlight.call(this, $el);
}
return addEvent('mouseout', mouseout);
@@ -225,21 +231,24 @@ export default function DispatchClass(Private) {
* Mouseover Behavior
*
* @param element {D3.Selection}
- * @method highlightLegend
+ * @method highlight
*/
- Dispatch.prototype.highlightLegend = function (element) {
+ Dispatch.prototype.highlight = function (element) {
var label = this.getAttribute('data-label');
if (!label) return;
- $('[data-label]', element.parentNode).not(function (els, el) { return $(el).data('label') !== label;}).css('opacity', 0.5);
+ //Opacity 1 is needed to avoid the css application
+ $('[data-label]', element.parentNode).css('opacity', 1).not(
+ function (els, el) { return `${$(el).data('label')}` === label;}
+ ).css('opacity', 0.5);
};
/**
* Mouseout Behavior
*
* @param element {D3.Selection}
- * @method unHighlightLegend
+ * @method unHighlight
*/
- Dispatch.prototype.unHighlightLegend = function (element) {
+ Dispatch.prototype.unHighlight = function (element) {
$('[data-label]', element.parentNode).css('opacity', 1);
};
diff --git a/src/ui/public/vislib/visualizations/area_chart.js b/src/ui/public/vislib/visualizations/area_chart.js
index a132b52ad6b8..63afcdd28226 100644
--- a/src/ui/public/vislib/visualizations/area_chart.js
+++ b/src/ui/public/vislib/visualizations/area_chart.js
@@ -33,7 +33,25 @@ export default function AreaChartFactory(Private) {
if (this.isOverlapping) {
// Default opacity should return to 0.6 on mouseout
- handler._attr.defaultOpacity = 0.6;
+ var defaultOpacity = 0.6;
+ handler._attr.defaultOpacity = defaultOpacity;
+ handler.highlight = function (element) {
+ var label = this.getAttribute('data-label');
+ if (!label) return;
+
+ var highlightOpacity = 0.8;
+ var highlightElements = $('[data-label]', element.parentNode).filter(
+ function (els, el) { return `${$(el).data('label')}` === label;
+ });
+ $('[data-label]', element.parentNode).not(highlightElements).css('opacity', defaultOpacity / 2); // half of the default opacity
+ highlightElements.css('opacity', highlightOpacity);
+ };
+ handler.unHighlight = function (element) {
+ $('[data-label]', element).css('opacity', defaultOpacity);
+
+ //The legend should keep max opacity
+ $('[data-label]', $(element).siblings()).css('opacity', 1);
+ };
}
this.checkIfEnoughData();
diff --git a/src/ui/public/visualize/visualize_legend.html b/src/ui/public/visualize/visualize_legend.html
index 568541d530af..3f8e2b4a09b3 100644
--- a/src/ui/public/visualize/visualize_legend.html
+++ b/src/ui/public/visualize/visualize_legend.html
@@ -6,8 +6,8 @@
@@ -38,4 +38,4 @@
-
\ No newline at end of file
+
diff --git a/src/ui/public/visualize/visualize_legend.js b/src/ui/public/visualize/visualize_legend.js
index b1a32bdc5d81..1924e4e97cc0 100644
--- a/src/ui/public/visualize/visualize_legend.js
+++ b/src/ui/public/visualize/visualize_legend.js
@@ -29,12 +29,18 @@ uiModules.get('kibana')
refresh();
});
- $scope.highlightSeries = function (label) {
- $('[data-label]', $elem.siblings()).not(function (els, el) { return $(el).data('label') !== label;}).css('opacity', 0.5);
+ $scope.highlight = function (event) {
+ var el = event.currentTarget;
+ var handler = $scope.renderbot.vislibVis.handler;
+ if(!handler) return;
+ handler.highlight.call(el, handler.el);
};
- $scope.unhighlightSeries = function () {
- $('[data-label]', $elem.siblings()).css('opacity', 1);
+ $scope.unhighlight = function (event) {
+ var el = event.currentTarget;
+ var handler = $scope.renderbot.vislibVis.handler;
+ if(!handler) return;
+ handler.unHighlight.call(el, handler.el);
};
$scope.setColor = function (label, color) {
diff --git a/test/fixtures/scenarios/logstashFunctional/makelogsIndexDefinition.js b/test/fixtures/scenarios/logstashFunctional/makelogsIndexDefinition.js
index 67ecf94ca301..95b416ea852f 100644
--- a/test/fixtures/scenarios/logstashFunctional/makelogsIndexDefinition.js
+++ b/test/fixtures/scenarios/logstashFunctional/makelogsIndexDefinition.js
@@ -21,7 +21,6 @@ module.exports = {
'mapping': {
'type': 'string',
'index': 'analyzed',
- 'omit_norms': true,
'fields': {
'raw': {
'index': 'not_analyzed',
diff --git a/test/fixtures/scenarios/makelogs/makelogsIndexDefinition.js b/test/fixtures/scenarios/makelogs/makelogsIndexDefinition.js
index 67ecf94ca301..95b416ea852f 100644
--- a/test/fixtures/scenarios/makelogs/makelogsIndexDefinition.js
+++ b/test/fixtures/scenarios/makelogs/makelogsIndexDefinition.js
@@ -21,7 +21,6 @@ module.exports = {
'mapping': {
'type': 'string',
'index': 'analyzed',
- 'omit_norms': true,
'fields': {
'raw': {
'index': 'not_analyzed',