diff options
author | Bryce Johnson <bryce@gitlab.com> | 2016-09-08 13:20:55 +0300 |
---|---|---|
committer | Bryce Johnson <bryce@gitlab.com> | 2016-10-05 12:25:00 +0300 |
commit | 2dc40f3c8061951624c1e922661311af650f2ef2 (patch) | |
tree | 1b1987bf61e4beb6b433e6ba190f0ed728b5b663 /app/assets/javascripts/blob | |
parent | 4dc61dc7128608ce5eca4b0911d7174a1ab2aea4 (diff) |
Refactor BlobCiYamlSelector and BlobCiYamlSelectors to ES6.
(Removes opts destructuring and inheritance boilerplate)
Diffstat (limited to 'app/assets/javascripts/blob')
-rw-r--r-- | app/assets/javascripts/blob/blob_ci_yaml.js | 46 | ||||
-rw-r--r-- | app/assets/javascripts/blob/blob_ci_yaml.js.es6 | 32 |
2 files changed, 32 insertions, 46 deletions
diff --git a/app/assets/javascripts/blob/blob_ci_yaml.js b/app/assets/javascripts/blob/blob_ci_yaml.js deleted file mode 100644 index 68758574967..00000000000 --- a/app/assets/javascripts/blob/blob_ci_yaml.js +++ /dev/null @@ -1,46 +0,0 @@ - -/*= require blob/template_selector */ - -(function() { - var extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, - hasProp = {}.hasOwnProperty; - - this.BlobCiYamlSelector = (function(superClass) { - extend(BlobCiYamlSelector, superClass); - - function BlobCiYamlSelector() { - return BlobCiYamlSelector.__super__.constructor.apply(this, arguments); - } - - BlobCiYamlSelector.prototype.requestFile = function(query) { - return Api.gitlabCiYml(query.name, this.requestFileSuccess.bind(this)); - }; - - return BlobCiYamlSelector; - - })(TemplateSelector); - - this.BlobCiYamlSelectors = (function() { - function BlobCiYamlSelectors(opts) { - var ref; - this.$dropdowns = (ref = opts.$dropdowns) != null ? ref : $('.js-gitlab-ci-yml-selector'), this.editor = opts.editor; - this.$dropdowns.each((function(_this) { - return function(i, dropdown) { - var $dropdown; - $dropdown = $(dropdown); - return new BlobCiYamlSelector({ - pattern: /(.gitlab-ci.yml)/, - data: $dropdown.data('data'), - wrapper: $dropdown.closest('.js-gitlab-ci-yml-selector-wrap'), - dropdown: $dropdown, - editor: _this.editor - }); - }; - })(this)); - } - - return BlobCiYamlSelectors; - - })(); - -}).call(this); diff --git a/app/assets/javascripts/blob/blob_ci_yaml.js.es6 b/app/assets/javascripts/blob/blob_ci_yaml.js.es6 new file mode 100644 index 00000000000..9f219cecc23 --- /dev/null +++ b/app/assets/javascripts/blob/blob_ci_yaml.js.es6 @@ -0,0 +1,32 @@ +/*= require blob/template_selector */ + +class BlobCiYamlSelector extends TemplateSelector { + constructor(...args) { + super(...args); + } + + requestFile(query) { + return Api.gitlabCiYml(query.name, this.requestFileSuccess.bind(this)); + }; +}; + +class BlobCiYamlSelectors { + constructor(opts) { + this.$dropdowns = opts.$dropdowns || $('.js-gitlab-ci-yml-selector'); + this.editor = opts.editor; + this.initSelectors(); + } + + initSelectors() { + this.$dropdowns.each((i, dropdown) => { + const $dropdown = $(dropdown); + return new BlobCiYamlSelector({ + pattern: /(.gitlab-ci.yml)/, + data: $dropdown.data('data'), + wrapper: $dropdown.closest('.js-gitlab-ci-yml-selector-wrap'), + dropdown: $dropdown, + editor: this.editor + }); + }); + } +} |