summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/blob/template_selectors/dockerfile_selector.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/blob/template_selectors/dockerfile_selector.js')
-rw-r--r--app/assets/javascripts/blob/template_selectors/dockerfile_selector.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/app/assets/javascripts/blob/template_selectors/dockerfile_selector.js b/app/assets/javascripts/blob/template_selectors/dockerfile_selector.js
new file mode 100644
index 00000000000..b4b4d09c315
--- /dev/null
+++ b/app/assets/javascripts/blob/template_selectors/dockerfile_selector.js
@@ -0,0 +1,32 @@
+/* global Api */
+
+import FileTemplateSelector from '../file_template_selector';
+
+export default class DockerfileSelector extends FileTemplateSelector {
+ constructor({ mediator }) {
+ super(mediator);
+ this.config = {
+ key: 'dockerfile',
+ name: 'Dockerfile',
+ pattern: /(Dockerfile)/,
+ endpoint: Api.dockerfileYml,
+ dropdown: '.js-dockerfile-selector',
+ wrapper: '.js-dockerfile-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: (query, el, e) => this.reportSelection(query.name, el, e),
+ text: item => item.name,
+ });
+ }
+}