summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/blob/template_selectors/metrics_dashboard_selector.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/blob/template_selectors/metrics_dashboard_selector.js')
-rw-r--r--app/assets/javascripts/blob/template_selectors/metrics_dashboard_selector.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/app/assets/javascripts/blob/template_selectors/metrics_dashboard_selector.js b/app/assets/javascripts/blob/template_selectors/metrics_dashboard_selector.js
new file mode 100644
index 00000000000..b4accaadfa3
--- /dev/null
+++ b/app/assets/javascripts/blob/template_selectors/metrics_dashboard_selector.js
@@ -0,0 +1,28 @@
+import FileTemplateSelector from '../file_template_selector';
+
+export default class MetricsDashboardSelector extends FileTemplateSelector {
+ constructor({ mediator }) {
+ super(mediator);
+ this.config = {
+ key: 'metrics-dashboard-yaml',
+ name: '.metrics-dashboard.yml',
+ pattern: /(.metrics-dashboard.yml)/,
+ type: 'metrics_dashboard_ymls',
+ dropdown: '.js-metrics-dashboard-selector',
+ wrapper: '.js-metrics-dashboard-selector-wrap',
+ };
+ }
+
+ initDropdown() {
+ this.$dropdown.glDropdown({
+ data: this.$dropdown.data('data'),
+ filterable: true,
+ selectable: true,
+ search: {
+ fields: ['name'],
+ },
+ clicked: options => this.reportSelectionName(options),
+ text: item => item.name,
+ });
+ }
+}