summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/blob/template_selectors/ci_yaml_selector.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/blob/template_selectors/ci_yaml_selector.js')
-rw-r--r--app/assets/javascripts/blob/template_selectors/ci_yaml_selector.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/app/assets/javascripts/blob/template_selectors/ci_yaml_selector.js b/app/assets/javascripts/blob/template_selectors/ci_yaml_selector.js
new file mode 100644
index 00000000000..9c41e429c8d
--- /dev/null
+++ b/app/assets/javascripts/blob/template_selectors/ci_yaml_selector.js
@@ -0,0 +1,32 @@
+import Api from '../../api';
+
+import FileTemplateSelector from '../file_template_selector';
+
+export default class BlobCiYamlSelector extends FileTemplateSelector {
+ constructor({ mediator }) {
+ super(mediator);
+ this.config = {
+ key: 'gitlab-ci-yaml',
+ name: '.gitlab-ci.yml',
+ pattern: /(.gitlab-ci.yml)/,
+ endpoint: Api.gitlabCiYml,
+ dropdown: '.js-gitlab-ci-yml-selector',
+ wrapper: '.js-gitlab-ci-yml-selector-wrap',
+ };
+ }
+
+ initDropdown() {
+ // maybe move to super class as well
+ this.$dropdown.glDropdown({
+ data: this.$dropdown.data('data'),
+ filterable: true,
+ selectable: true,
+ toggleLabel: item => item.name,
+ search: {
+ fields: ['name'],
+ },
+ clicked: options => this.reportSelectionName(options),
+ text: item => item.name,
+ });
+ }
+}