From 571de11eb6467ff3234235444fded7abecb29fbf Mon Sep 17 00:00:00 2001
From: Mike Greiling <mike@pixelcog.com>
Date: Thu, 6 Jul 2017 12:57:01 -0500
Subject: [PATCH] refactor Todos class to ES module syntax

---
 app/assets/javascripts/dispatcher.js | 3 ++-
 app/assets/javascripts/main.js       | 1 -
 app/assets/javascripts/todos.js      | 5 +----
 spec/javascripts/todos_spec.js       | 4 ++--
 4 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js
index 7a6165c7714..b0c1bf2b5be 100644
--- a/app/assets/javascripts/dispatcher.js
+++ b/app/assets/javascripts/dispatcher.js
@@ -51,6 +51,7 @@ import UsersSelect from './users_select';
 import RefSelectDropdown from './ref_select_dropdown';
 import GfmAutoComplete from './gfm_auto_complete';
 import ShortcutsBlob from './shortcuts_blob';
+import Todos from './todos';
 import TreeView from './tree';
 import UsagePing from './usage_ping';
 import UsernameValidator from './username_validator';
@@ -166,7 +167,7 @@ import OAuthRememberMe from './oauth_remember_me';
           new UsersSelect();
           break;
         case 'dashboard:todos:index':
-          new gl.Todos();
+          new Todos();
           break;
         case 'dashboard:projects:index':
         case 'dashboard:projects:starred':
diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js
index 246ab65d54f..9dc827c8f9f 100644
--- a/app/assets/javascripts/main.js
+++ b/app/assets/javascripts/main.js
@@ -152,7 +152,6 @@ import './subscription';
 import './subscription_select';
 import './syntax_highlight';
 import './task_list';
-import './todos';
 import './user';
 
 // eslint-disable-next-line global-require, import/no-commonjs
diff --git a/app/assets/javascripts/todos.js b/app/assets/javascripts/todos.js
index 7230946b484..cd305631c10 100644
--- a/app/assets/javascripts/todos.js
+++ b/app/assets/javascripts/todos.js
@@ -2,7 +2,7 @@
 
 import UsersSelect from './users_select';
 
-class Todos {
+export default class Todos {
   constructor() {
     this.initFilters();
     this.bindEvents();
@@ -159,6 +159,3 @@ class Todos {
     }
   }
 }
-
-window.gl = window.gl || {};
-gl.Todos = Todos;
diff --git a/spec/javascripts/todos_spec.js b/spec/javascripts/todos_spec.js
index cd74aba4a4e..fd492159081 100644
--- a/spec/javascripts/todos_spec.js
+++ b/spec/javascripts/todos_spec.js
@@ -1,4 +1,4 @@
-import '~/todos';
+import Todos from '~/todos';
 import '~/lib/utils/common_utils';
 
 describe('Todos', () => {
@@ -9,7 +9,7 @@ describe('Todos', () => {
     loadFixtures('todos/todos.html.raw');
     todoItem = document.querySelector('.todos-list .todo');
 
-    return new gl.Todos();
+    return new Todos();
   });
 
   describe('goToTodoUrl', () => {
-- 
GitLab