Skip to content

Refactor remnants of CoffeeScript destructured opts and super into ES6

username-removed-408230 requested to merge desplacturing into master

What does this MR do?

Gets rid of some CoffeeScript remnants that are difficult to work with, and updates them to use ES6 syntax/constructs. I updated nearby code to ES6, but these updates usually just included using the es6 class syntax and scoped variable keywords.

Important: For the most part, I tried to avoid refactoring the design of the existing code. If I attempted that, this would've taken much much longer and it would've been out of this issue's scope.

Why was this MR needed?

The compiled coffeescript for destructured default params is very difficult to work in.

These changes makes some of these rough patches more maintainable:

e.g. Screen_Shot_2016-09-19_at_4.43.08_PM

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Meta Issue: https://gitlab.com/gitlab-org/gitlab-ce/issues/21887

Child Issues:

https://gitlab.com/gitlab-org/gitlab-ce/issues/21942

https://gitlab.com/gitlab-org/gitlab-ce/issues/21941

https://gitlab.com/gitlab-org/gitlab-ce/issues/21943

To Test Manually:

app/assets/javascripts/LabelManager.js.es6 -> diff

  • Navigate to Labels and click around (toggle label priority, add new labels, subcribe, edit, delete)

app/assets/javascripts/blob/blob_ci_yaml.js.es6 -> diff

  • Create new file and give it the name .gitlab-ci.yml, then attempt to select a template

app/assets/javascripts/blob/blob_license_selectors.js.es6 -> diff

  • Create new file and give it the name license, then attempt to select a template

app/assets/javascripts/blob/template_selector.js.es6 -> diff

  • This class is extended by the two previously mentioned files. As long as they work, this should work.

app/assets/javascripts/issues-bulk-assignment.js.es6 -> diff

  • Visit issues, assign multiple issues a new label or milestone and update.

app/assets/javascripts/profile/gl_crop.js.es6 -> diff

app/assets/javascripts/profile/profile.js.es6 > diff

app/assets/javascripts/todos.js.es6 -> diff

  • Visit an issue and Add Todo, then visit Todos. Try out the sorting features, making sure everything looks right. Mark the Todo done.

app/assets/javascripts/user.js.es6 -> diff

app/assets/javascripts/user_tabs.js.es6 -> diff

  • Same as previous.

cc: @jschatz1

Merge request reports