From 77abc021e30fd6e7045d64eaeb4a72aff5b7c07e Mon Sep 17 00:00:00 2001 From: Alexandr Ogarkov Date: Thu, 1 Nov 2018 13:39:59 +0300 Subject: [PATCH 1/4] Translate monitoring -> summary_status, table, main.html in directives --- .../summary_status/summary_status.js | 24 ++- .../public/components/table/footer.js | 11 +- .../public/components/table/table.js | 24 ++- .../public/components/table/toolbar.js | 9 +- .../public/directives/alerts/index.js | 19 ++- .../public/directives/beats/listing/index.js | 37 ++--- .../directives/cluster/listing/index.js | 29 ++-- .../elasticsearch/ml_job_listing/index.js | 31 ++-- .../public/directives/kibana/listing/index.js | 29 ++-- .../directives/logstash/listing/index.js | 29 ++-- .../logstash/pipeline_listing/index.js | 29 ++-- .../public/directives/main/index.html | 137 +++++++++++++++--- .../public/views/apm/instances/index.js | 23 +-- .../views/elasticsearch/indices/index.js | 15 +- .../public/views/elasticsearch/nodes/index.js | 13 +- .../elasticsearch/overview/controller.js | 19 ++- 16 files changed, 324 insertions(+), 154 deletions(-) diff --git a/x-pack/plugins/monitoring/public/components/summary_status/summary_status.js b/x-pack/plugins/monitoring/public/components/summary_status/summary_status.js index 0466d1cff9749..742e978b70406 100644 --- a/x-pack/plugins/monitoring/public/components/summary_status/summary_status.js +++ b/x-pack/plugins/monitoring/public/components/summary_status/summary_status.js @@ -9,6 +9,7 @@ import PropTypes from 'prop-types'; import { isEmpty, capitalize } from 'lodash'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { StatusIcon } from '../status_icon/index.js'; +import { FormattedMessage, injectI18n } from '@kbn/i18n/react'; const wrapChild = ({ label, value, dataTestSubj }, index) => ( ( ); -const DefaultIconComponent = ({ status }) => ( +const DefaultIconComponent = injectI18n(({ status, intl }) => ( - Status: {( - - )} + + ) + }} + /> -); +)); const StatusIndicator = ({ status, isOnline, IconComponent }) => { if (isEmpty(status)) { diff --git a/x-pack/plugins/monitoring/public/components/table/footer.js b/x-pack/plugins/monitoring/public/components/table/footer.js index 19584c1bc6b12..8a54a3782c2b3 100644 --- a/x-pack/plugins/monitoring/public/components/table/footer.js +++ b/x-pack/plugins/monitoring/public/components/table/footer.js @@ -10,13 +10,22 @@ import { KuiToolBarFooterSection, KuiToolBarText } from '@kbn/ui-framework/components'; +import { FormattedMessage } from '@kbn/i18n/react'; export function MonitoringTableFooter({ pageIndexFirstRow, pageIndexLastRow, rowsFiltered, paginationControls }) { return ( - { pageIndexFirstRow } – { pageIndexLastRow } of { rowsFiltered } + { paginationControls } diff --git a/x-pack/plugins/monitoring/public/components/table/table.js b/x-pack/plugins/monitoring/public/components/table/table.js index 5f90ce3a7f044..ca33fa30401d1 100644 --- a/x-pack/plugins/monitoring/public/components/table/table.js +++ b/x-pack/plugins/monitoring/public/components/table/table.js @@ -22,6 +22,7 @@ import { MonitoringTableToolBar } from './toolbar'; import { MonitoringTableNoData } from './no_data'; import { MonitoringTableFooter } from './footer'; import classNames from 'classnames'; +import { FormattedMessage, injectI18n } from '@kbn/i18n/react'; /* * State and data management for Monitoring Tables @@ -46,7 +47,7 @@ import classNames from 'classnames'; * } * ]; */ -export class MonitoringTable extends React.Component { +class MonitoringTableUI extends React.Component { constructor(props) { super(props); @@ -121,7 +122,13 @@ export class MonitoringTable extends React.Component { this.resetPaging(); break; default: - throw new Error(`Unknown table action type ${action}! This shouldn't happen!`); + throw new Error( + this.props.intl.formatMessage({ + id: 'xpack.monitoring.table.unknownTableActionTypeErrorMessage', + defaultMessage: 'Unknown table action type {action}! This shouldn\'t happen!' }, { + action + }) + ); } } @@ -403,7 +410,14 @@ export class MonitoringTable extends React.Component { if (this.state.rows === null) { // rows are null, show loading message - table = ; + table = ( + )} + />); } else if (numVisibleRows > 0) { // data has some rows, show them const RowComponent = this.props.rowComponent; @@ -450,10 +464,12 @@ const defaultGetNoDataMessage = filterText => { return DEFAULT_NO_DATA_MESSAGE; }; -MonitoringTable.defaultProps = { +MonitoringTableUI.defaultProps = { rows: [], filterFields: [], getNoDataMessage: defaultGetNoDataMessage, alwaysShowPageControls: false, rowsPerPage: 20 }; + +export const MonitoringTable = injectI18n(MonitoringTableUI); diff --git a/x-pack/plugins/monitoring/public/components/table/toolbar.js b/x-pack/plugins/monitoring/public/components/table/toolbar.js index 82b5403599db9..5f75a1898f1f0 100644 --- a/x-pack/plugins/monitoring/public/components/table/toolbar.js +++ b/x-pack/plugins/monitoring/public/components/table/toolbar.js @@ -12,6 +12,7 @@ import { KuiToolBarSection, KuiToolBarText } from '@kbn/ui-framework/components'; +import { FormattedMessage } from '@kbn/i18n/react'; export function MonitoringTableToolBar(props) { const searchBox = props.showSearchBox @@ -40,7 +41,13 @@ export function MonitoringTableToolBar(props) { const totalRows = Boolean(props.showTotalRows) ? (

- {props.totalRows} in total +

) : null; diff --git a/x-pack/plugins/monitoring/public/directives/alerts/index.js b/x-pack/plugins/monitoring/public/directives/alerts/index.js index c099fc7d6d029..22efffd61dcfc 100644 --- a/x-pack/plugins/monitoring/public/directives/alerts/index.js +++ b/x-pack/plugins/monitoring/public/directives/alerts/index.js @@ -17,6 +17,7 @@ import { FormattedAlert } from 'plugins/monitoring/components/alerts/formatted_a import { mapSeverity } from 'plugins/monitoring/components/alerts/map_severity'; import { formatTimestampToDuration } from '../../../common/format_timestamp_to_duration'; import { formatDateTimeLocal } from '../../../common/formatting'; +import { I18nProvider } from '@kbn/i18n/react'; const linkToCategories = { 'elasticsearch/nodes': 'Elasticsearch Nodes', @@ -96,14 +97,16 @@ uiModule.directive('monitoringClusterAlertsListing', kbnUrl => { scope.$watch('alerts', (alerts = []) => { const alertsTable = ( - + + + ); render(alertsTable, $el[0]); }); diff --git a/x-pack/plugins/monitoring/public/directives/beats/listing/index.js b/x-pack/plugins/monitoring/public/directives/beats/listing/index.js index 795c1066401ce..f3a49d417e5df 100644 --- a/x-pack/plugins/monitoring/public/directives/beats/listing/index.js +++ b/x-pack/plugins/monitoring/public/directives/beats/listing/index.js @@ -23,6 +23,7 @@ import { MonitoringTable } from 'plugins/monitoring/components/table'; import { EuiLink, } from '@elastic/eui'; +import { I18nProvider } from '@kbn/i18n/react'; const filterFields = [ 'name', 'type', 'version', 'output' ]; const columns = [ @@ -108,24 +109,26 @@ uiModule.directive('monitoringBeatsListing', (kbnUrl) => { scope.$watch('data', (data = {}) => { render(( -
- -
- + +
+ +
+ +
-
+ ), $el[0]); }); diff --git a/x-pack/plugins/monitoring/public/directives/cluster/listing/index.js b/x-pack/plugins/monitoring/public/directives/cluster/listing/index.js index 30f88eb553f20..15e6921ae6a82 100644 --- a/x-pack/plugins/monitoring/public/directives/cluster/listing/index.js +++ b/x-pack/plugins/monitoring/public/directives/cluster/listing/index.js @@ -24,6 +24,7 @@ import { MonitoringTable } from 'plugins/monitoring/components/table'; import { Tooltip } from 'plugins/monitoring/components/tooltip'; import { AlertsIndicator } from 'plugins/monitoring/components/cluster/listing/alerts_indicator'; import { SORT_ASCENDING } from '../../../../common/constants'; +import { I18nProvider } from '@kbn/i18n/react'; const filterFields = [ 'cluster_name', 'status', 'license.type' ]; const columns = [ @@ -285,19 +286,21 @@ uiModule.directive('monitoringClusterListing', ($injector) => { scope.$watch('clusters', (clusters = []) => { const clusterTable = ( - + + + ); render(clusterTable, $el[0]); }); diff --git a/x-pack/plugins/monitoring/public/directives/elasticsearch/ml_job_listing/index.js b/x-pack/plugins/monitoring/public/directives/elasticsearch/ml_job_listing/index.js index 0bfd05102cbbc..1de1861b52bfc 100644 --- a/x-pack/plugins/monitoring/public/directives/elasticsearch/ml_job_listing/index.js +++ b/x-pack/plugins/monitoring/public/directives/elasticsearch/ml_job_listing/index.js @@ -20,6 +20,7 @@ import { LARGE_ABBREVIATED, LARGE_BYTES } from '../../../../common/formatting'; import { EuiLink, } from '@elastic/eui'; +import { I18nProvider } from '@kbn/i18n/react'; const filterFields = [ 'job_id', 'state', 'node.name' ]; const columns = [ @@ -92,20 +93,22 @@ Try changing the filter or time range.` scope.$watch('jobs', (jobs = []) => { const mlTable = ( - + + + ); render(mlTable, $el[0]); }); diff --git a/x-pack/plugins/monitoring/public/directives/kibana/listing/index.js b/x-pack/plugins/monitoring/public/directives/kibana/listing/index.js index bb38b04a8ca88..62e1f9acc33dd 100644 --- a/x-pack/plugins/monitoring/public/directives/kibana/listing/index.js +++ b/x-pack/plugins/monitoring/public/directives/kibana/listing/index.js @@ -22,6 +22,7 @@ import { import { EuiLink, } from '@elastic/eui'; +import { I18nProvider } from '@kbn/i18n/react'; const filterFields = [ 'kibana.name', 'kibana.host', 'kibana.status', 'kibana.transport_address' ]; const columns = [ @@ -103,19 +104,21 @@ uiModule.directive('monitoringKibanaListing', kbnUrl => { scope.$watch('instances', (instances = []) => { const kibanasTable = ( - + + + ); render(kibanasTable, $el[0]); }); diff --git a/x-pack/plugins/monitoring/public/directives/logstash/listing/index.js b/x-pack/plugins/monitoring/public/directives/logstash/listing/index.js index b00adec468c7b..10a6e6069f739 100644 --- a/x-pack/plugins/monitoring/public/directives/logstash/listing/index.js +++ b/x-pack/plugins/monitoring/public/directives/logstash/listing/index.js @@ -21,6 +21,7 @@ import { formatNumber, formatPercentageUsage } from '../../../lib/format_number'; +import { I18nProvider } from '@kbn/i18n/react'; const filterFields = [ 'logstash.name', 'logstash.host', 'logstash.http_address' ]; const columns = [ @@ -102,19 +103,21 @@ uiModule.directive('monitoringLogstashNodeListing', kbnUrl => { scope.$watch('nodes', (nodes = []) => { const nodesTable = ( - + + + ); render(nodesTable, $el[0]); }); diff --git a/x-pack/plugins/monitoring/public/directives/logstash/pipeline_listing/index.js b/x-pack/plugins/monitoring/public/directives/logstash/pipeline_listing/index.js index 0df57bff80de1..17a51e9c88852 100644 --- a/x-pack/plugins/monitoring/public/directives/logstash/pipeline_listing/index.js +++ b/x-pack/plugins/monitoring/public/directives/logstash/pipeline_listing/index.js @@ -24,6 +24,7 @@ import { Sparkline } from 'plugins/monitoring/components/sparkline'; import { SORT_ASCENDING } from '../../../../common/constants'; import { formatMetric } from '../../../lib/format_number'; import { timefilter } from 'ui/timefilter'; +import { I18nProvider } from '@kbn/i18n/react'; const filterFields = [ 'id' ]; const columns = [ @@ -151,19 +152,21 @@ uiModule.directive('monitoringLogstashPipelineListing', ($injector) => { } const pipelinesTable = ( - + + + ); render(pipelinesTable, $el[0]); }); diff --git a/x-pack/plugins/monitoring/public/directives/main/index.html b/x-pack/plugins/monitoring/public/directives/main/index.html index 9a1333a3dd57e..c3b1f04e1f4f9 100644 --- a/x-pack/plugins/monitoring/public/directives/main/index.html +++ b/x-pack/plugins/monitoring/public/directives/main/index.html @@ -31,11 +31,46 @@
@@ -105,16 +175,18 @@ kbn-href="#/logstash" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.isActiveTab('overview')}" + i18n-id="xpack.monitoring.main.logstashNavigation.overviewLinkText" + i18n-default-message="Overview" > - Overview - Nodes - Pipelines + - Overview - Pipelines + - Advanced
{{ monitoringMain.pipelineId }}
@@ -175,11 +257,20 @@

{{ monitoringMain.pipelineId }}

diff --git a/x-pack/plugins/monitoring/public/views/apm/instances/index.js b/x-pack/plugins/monitoring/public/views/apm/instances/index.js index e928289db61eb..9d91d64d2fbec 100644 --- a/x-pack/plugins/monitoring/public/views/apm/instances/index.js +++ b/x-pack/plugins/monitoring/public/views/apm/instances/index.js @@ -11,6 +11,7 @@ import { routeInitProvider } from 'plugins/monitoring/lib/route_init'; import template from './index.html'; import { ApmServerInstances } from '../../../components/apm/instances'; import { MonitoringViewBaseTableController } from '../../base_table_controller'; +import { I18nProvider } from '@kbn/i18n/react'; uiRoutes.when('/apm/instances', { template, @@ -53,16 +54,18 @@ uiRoutes.when('/apm/instances', { } = this; const component = ( - + + + ); super.renderReact(component); } diff --git a/x-pack/plugins/monitoring/public/views/elasticsearch/indices/index.js b/x-pack/plugins/monitoring/public/views/elasticsearch/indices/index.js index b71b8f43814f6..07b291dbe020d 100644 --- a/x-pack/plugins/monitoring/public/views/elasticsearch/indices/index.js +++ b/x-pack/plugins/monitoring/public/views/elasticsearch/indices/index.js @@ -11,6 +11,7 @@ import { routeInitProvider } from 'plugins/monitoring/lib/route_init'; import { MonitoringViewBaseTableController } from '../../'; import { ElasticsearchIndices } from '../../../components'; import template from './index.html'; +import { I18nProvider } from '@kbn/i18n/react'; uiRoutes.when('/elasticsearch/indices', { template, @@ -60,12 +61,14 @@ uiRoutes.when('/elasticsearch/indices', { this.renderReact = ({ clusterStatus, indices }) => { super.renderReact( - + + + ); }; } diff --git a/x-pack/plugins/monitoring/public/views/elasticsearch/nodes/index.js b/x-pack/plugins/monitoring/public/views/elasticsearch/nodes/index.js index 295ad6d1d36a8..20e339aa52b87 100644 --- a/x-pack/plugins/monitoring/public/views/elasticsearch/nodes/index.js +++ b/x-pack/plugins/monitoring/public/views/elasticsearch/nodes/index.js @@ -11,6 +11,7 @@ import template from './index.html'; import { routeInitProvider } from 'plugins/monitoring/lib/route_init'; import { MonitoringViewBaseTableController } from '../../'; import { ElasticsearchNodes } from '../../../components'; +import { I18nProvider } from '@kbn/i18n/react'; uiRoutes.when('/elasticsearch/nodes', { template, @@ -47,11 +48,13 @@ uiRoutes.when('/elasticsearch/nodes', { this.renderReact = ({ clusterStatus, nodes }) => { super.renderReact( - + + + ); }; } diff --git a/x-pack/plugins/monitoring/public/views/elasticsearch/overview/controller.js b/x-pack/plugins/monitoring/public/views/elasticsearch/overview/controller.js index 908a2461d6dd8..6eee4e4cec09d 100644 --- a/x-pack/plugins/monitoring/public/views/elasticsearch/overview/controller.js +++ b/x-pack/plugins/monitoring/public/views/elasticsearch/overview/controller.js @@ -8,6 +8,7 @@ import React from 'react'; import { find } from 'lodash'; import { MonitoringViewBaseController } from '../../'; import { ElasticsearchOverview } from 'plugins/monitoring/components'; +import { I18nProvider } from '@kbn/i18n/react'; export class ElasticsearchOverviewController extends MonitoringViewBaseController { constructor($injector, $scope) { @@ -70,14 +71,16 @@ export class ElasticsearchOverviewController extends MonitoringViewBaseControlle const { clusterStatus, metrics, shardActivity } = data; const shardActivityData = shardActivity && this.filterShardActivityData(shardActivity); // no filter on data = null const component = ( - + + + ); super.renderReact(component); From d3a497b31f0202c76c6978af225de23fbf76d072 Mon Sep 17 00:00:00 2001 From: Alexandr Ogarkov Date: Thu, 1 Nov 2018 18:10:39 +0300 Subject: [PATCH 2/4] Fix issues --- .../public/components/table/table.js | 2 +- .../public/directives/main/index.html | 46 +++++++++---------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/x-pack/plugins/monitoring/public/components/table/table.js b/x-pack/plugins/monitoring/public/components/table/table.js index ca33fa30401d1..1265cf8c487f2 100644 --- a/x-pack/plugins/monitoring/public/components/table/table.js +++ b/x-pack/plugins/monitoring/public/components/table/table.js @@ -125,7 +125,7 @@ class MonitoringTableUI extends React.Component { throw new Error( this.props.intl.formatMessage({ id: 'xpack.monitoring.table.unknownTableActionTypeErrorMessage', - defaultMessage: 'Unknown table action type {action}! This shouldn\'t happen!' }, { + defaultMessage: `Unknown table action type {action}! This shouldn't happen!` }, { action }) ); diff --git a/x-pack/plugins/monitoring/public/directives/main/index.html b/x-pack/plugins/monitoring/public/directives/main/index.html index c3b1f04e1f4f9..d21c9cfba59a2 100644 --- a/x-pack/plugins/monitoring/public/directives/main/index.html +++ b/x-pack/plugins/monitoring/public/directives/main/index.html @@ -36,7 +36,7 @@ kbn-href="#/elasticsearch" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.isActiveTab('overview')}" - i18n-id="xpack.monitoring.main.esNavigation.overviewLinkText" + i18n-id="xpack.monitoring.esNavigation.overviewLinkText" i18n-default-message="Overview" > @@ -88,7 +88,7 @@ kbn-href="#/elasticsearch/{{ monitoringMain.name }}/{{ monitoringMain.resolver }}/advanced" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.page === 'advanced'}" - i18n-id="xpack.monitoring.main.esNavigation.instance.advancedLinkText" + i18n-id="xpack.monitoring.esNavigation.instance.advancedLinkText" i18n-default-message="Advanced" > @@ -104,7 +104,7 @@ kbn-href="#/kibana" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.isActiveTab('overview')}" - i18n-id="xpack.monitoring.main.kibanaNavigation.overviewLinkText" + i18n-id="xpack.monitoring.kibanaNavigation.overviewLinkText" i18n-default-message="Overview" > {{ monitoringMain.instance }} @@ -124,7 +124,7 @@ kbn-href="#/apm" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.isActiveTab('overview')}" - i18n-id="xpack.monitoring.main.apmNavigation.overviewLinkText" + i18n-id="xpack.monitoring.apmNavigation.overviewLinkText" i18n-default-message="Overview" > {{ monitoringMain.instance }} @@ -145,7 +145,7 @@ class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.isActiveTab('overview')}" - i18n-id="xpack.monitoring.main.beatsNavigation.overviewLinkText" + i18n-id="xpack.monitoring.beatsNavigation.overviewLinkText" i18n-default-message="Overview" > @@ -154,7 +154,7 @@ kbn-href="#/beats/beats" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.isActiveTab('beats')}" - i18n-id="xpack.monitoring.main.beatsNavigation.instancesLinkText" + i18n-id="xpack.monitoring.beatsNavigation.instancesLinkText" i18n-default-message="Instances" > @@ -163,7 +163,7 @@ kbn-href="#/beats/beat/{{ monitoringMain.resolver }}" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.page === 'overview'}" - i18n-id="xpack.monitoring.main.beatsNavigation.instance.overviewLinkText" + i18n-id="xpack.monitoring.beatsNavigation.instance.overviewLinkText" i18n-default-message="Overview" > @@ -175,7 +175,7 @@ kbn-href="#/logstash" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.isActiveTab('overview')}" - i18n-id="xpack.monitoring.main.logstashNavigation.overviewLinkText" + i18n-id="xpack.monitoring.logstashNavigation.overviewLinkText" i18n-default-message="Overview" > @@ -184,7 +184,7 @@ kbn-href="#/logstash/nodes" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.isActiveTab('nodes')}" - i18n-id="xpack.monitoring.main.logstashNavigation.nodesLinkText" + i18n-id="xpack.monitoring.logstashNavigation.nodesLinkText" i18n-default-message="Nodes" > @@ -196,7 +196,7 @@ > @@ -205,7 +205,7 @@ kbn-href="#/logstash/node/{{ monitoringMain.resolver }}" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.page === 'overview'}" - i18n-id="xpack.monitoring.main.logstashNavigation.instance.overviewLinkText" + i18n-id="xpack.monitoring.logstashNavigation.instance.overviewLinkText" i18n-default-message="Overview" > @@ -217,7 +217,7 @@ > @@ -226,7 +226,7 @@ kbn-href="#/logstash/node/{{ monitoringMain.resolver }}/advanced" class="kuiLocalTab" ng-class="{'kuiLocalTab-isSelected': monitoringMain.page === 'advanced'}" - i18n-id="xpack.monitoring.main.logstashNavigation.instance.AdvancedLinkText" + i18n-id="xpack.monitoring.logstashNavigation.instance.advancedLinkText" i18n-default-message="Advanced" > @@ -243,7 +243,7 @@

{{ monitoringMain.pipelineId }}