diff --git a/app/assets/javascripts/prometheus_metrics/prometheus_metrics.js b/app/assets/javascripts/prometheus_metrics/prometheus_metrics.js index 8380cfb6c594dc4c312b9c0da7b0c7fabba07c27..8d779e046738571bc974199b8bccb11cb3980d28 100644 --- a/app/assets/javascripts/prometheus_metrics/prometheus_metrics.js +++ b/app/assets/javascripts/prometheus_metrics/prometheus_metrics.js @@ -1,5 +1,5 @@ import $ from 'jquery'; -import _ from 'underscore'; +import { escape } from 'lodash'; import { s__, n__, sprintf } from '~/locale'; import axios from '../lib/utils/axios_utils'; import PANEL_STATE from './constants'; @@ -69,13 +69,13 @@ export default class PrometheusMetrics { if (metric.active_metrics > 0) { totalExporters += 1; this.$monitoredMetricsList.append( - `<li>${_.escape(metric.group)}<span class="badge">${_.escape( + `<li>${escape(metric.group)}<span class="badge">${escape( metric.active_metrics, )}</span></li>`, ); totalMonitoredMetrics += metric.active_metrics; if (metric.metrics_missing_requirements > 0) { - this.$missingEnvVarMetricsList.append(`<li>${_.escape(metric.group)}</li>`); + this.$missingEnvVarMetricsList.append(`<li>${escape(metric.group)}</li>`); totalMissingEnvVarMetrics += 1; } } diff --git a/ee/app/assets/javascripts/prometheus_metrics/prometheus_metrics.js b/ee/app/assets/javascripts/prometheus_metrics/prometheus_metrics.js index 607b90a1f1bb4bd48f8d0ff3c328f6124963e2ee..28913ed42eab54d37d57f39c9190a973472c9a8f 100644 --- a/ee/app/assets/javascripts/prometheus_metrics/prometheus_metrics.js +++ b/ee/app/assets/javascripts/prometheus_metrics/prometheus_metrics.js @@ -1,5 +1,5 @@ import $ from 'jquery'; -import _ from 'underscore'; +import { escape, sortBy } from 'lodash'; import PrometheusMetrics from '~/prometheus_metrics/prometheus_metrics'; import PANEL_STATE from './constants'; import axios from '~/lib/utils/axios_utils'; @@ -61,7 +61,7 @@ export default class EEPrometheusMetrics extends PrometheusMetrics { } setVisible(...els) { - this.setHidden(_.difference(this.$els, els)); + this.setHidden(this.$els.filter(el => !els.includes(el))); els.forEach(el => el.removeClass('hidden')); } @@ -90,12 +90,12 @@ export default class EEPrometheusMetrics extends PrometheusMetrics { } populateCustomMetrics() { - const sortedMetrics = _(this.customMetrics) - .chain() - .map(metric => ({ ...metric, group: capitalizeFirstCharacter(metric.group) })) - .sortBy('title') - .sortBy('group') - .value(); + const capitalizeGroup = metric => ({ + ...metric, + group: capitalizeFirstCharacter(metric.group), + }); + + const sortedMetrics = sortBy(this.customMetrics.map(capitalizeGroup), ['group', 'title']); sortedMetrics.forEach(metric => { this.$monitoredCustomMetricsList.append(EEPrometheusMetrics.customMetricTemplate(metric)); @@ -146,8 +146,8 @@ export default class EEPrometheusMetrics extends PrometheusMetrics { static customMetricTemplate(metric) { return ` <li class="custom-metric"> - <a href="${_.escape(metric.edit_path)}" class="custom-metric-link-bold"> - ${_.escape(metric.group)} / ${_.escape(metric.title)} (${_.escape(metric.unit)}) + <a href="${escape(metric.edit_path)}" class="custom-metric-link-bold"> + ${escape(metric.group)} / ${escape(metric.title)} (${escape(metric.unit)}) </a> </li> `;