From d08610c3a654177b3e5b90a2e5f9b2f74bc8d002 Mon Sep 17 00:00:00 2001 From: Jacob Schatz Date: Thu, 11 Jan 2018 08:23:25 -0500 Subject: Refactor projects:l* --- app/assets/javascripts/dispatcher.js | 14 ++++++++++++-- .../javascripts/pages/projects/labels/edit/index.js | 5 +++++ .../javascripts/pages/projects/labels/index/index.js | 19 +++++++++++++++++++ .../javascripts/pages/projects/labels/new/index.js | 5 +++++ 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 app/assets/javascripts/pages/projects/labels/edit/index.js create mode 100644 app/assets/javascripts/pages/projects/labels/index/index.js create mode 100644 app/assets/javascripts/pages/projects/labels/new/index.js diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js index e35f53081ec..0794edd5f69 100644 --- a/app/assets/javascripts/dispatcher.js +++ b/app/assets/javascripts/dispatcher.js @@ -483,11 +483,21 @@ import Activities from './activities'; case 'groups:labels:new': case 'groups:labels:edit': case 'projects:labels:new': + import('./pages/projects/labels/new') + .then(callDefault) + .catch(fail); + break; case 'projects:labels:edit': - new Labels(); + import('./pages/projects/labels/new') + .then(callDefault) + .catch(fail); break; - case 'groups:labels:index': case 'projects:labels:index': + import('./pages/projects/labels/index') + .then(callDefault) + .catch(fail); + break; + case 'groups:labels:index': if ($('.prioritized-labels').length) { new LabelManager(); } diff --git a/app/assets/javascripts/pages/projects/labels/edit/index.js b/app/assets/javascripts/pages/projects/labels/edit/index.js new file mode 100644 index 00000000000..75dc1ef1859 --- /dev/null +++ b/app/assets/javascripts/pages/projects/labels/edit/index.js @@ -0,0 +1,5 @@ +import Labels from '~/labels'; + +export default function () { + new Labels(); // eslint-disable-line no-new +} diff --git a/app/assets/javascripts/pages/projects/labels/index/index.js b/app/assets/javascripts/pages/projects/labels/index/index.js new file mode 100644 index 00000000000..c258be4f908 --- /dev/null +++ b/app/assets/javascripts/pages/projects/labels/index/index.js @@ -0,0 +1,19 @@ +/* eslint-disable no-new */ +import LabelManager from '~/label_manager'; +import GroupLabelSubscription from '~/group_label_subscription'; +import ProjectLabelSubscription from '~/project_label_subscription'; + +export default () => { + if ($('.prioritized-labels').length) { + new LabelManager(); + } + $('.label-subscription').each((i, el) => { + const $el = $(el); + + if ($el.find('.dropdown-group-label').length) { + new GroupLabelSubscription($el); + } else { + new ProjectLabelSubscription($el); + } + }); +}; diff --git a/app/assets/javascripts/pages/projects/labels/new/index.js b/app/assets/javascripts/pages/projects/labels/new/index.js new file mode 100644 index 00000000000..75dc1ef1859 --- /dev/null +++ b/app/assets/javascripts/pages/projects/labels/new/index.js @@ -0,0 +1,5 @@ +import Labels from '~/labels'; + +export default function () { + new Labels(); // eslint-disable-line no-new +} -- cgit v1.2.1 From f716049998ec41d8f26caedd65ebd1a247179926 Mon Sep 17 00:00:00 2001 From: Clement Ho Date: Thu, 11 Jan 2018 11:39:54 -0600 Subject: Code improvements --- app/assets/javascripts/dispatcher.js | 4 +++- app/assets/javascripts/pages/projects/labels/edit/index.js | 4 +--- app/assets/javascripts/pages/projects/labels/index/index.js | 7 +++---- app/assets/javascripts/pages/projects/labels/new/index.js | 4 +--- 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js index 0794edd5f69..e8ec6daf687 100644 --- a/app/assets/javascripts/dispatcher.js +++ b/app/assets/javascripts/dispatcher.js @@ -482,13 +482,15 @@ import Activities from './activities'; break; case 'groups:labels:new': case 'groups:labels:edit': + new Labels(); + break; case 'projects:labels:new': import('./pages/projects/labels/new') .then(callDefault) .catch(fail); break; case 'projects:labels:edit': - import('./pages/projects/labels/new') + import('./pages/projects/labels/edit') .then(callDefault) .catch(fail); break; diff --git a/app/assets/javascripts/pages/projects/labels/edit/index.js b/app/assets/javascripts/pages/projects/labels/edit/index.js index 75dc1ef1859..72c5e4744ac 100644 --- a/app/assets/javascripts/pages/projects/labels/edit/index.js +++ b/app/assets/javascripts/pages/projects/labels/edit/index.js @@ -1,5 +1,3 @@ import Labels from '~/labels'; -export default function () { - new Labels(); // eslint-disable-line no-new -} +export default () => new Labels(); diff --git a/app/assets/javascripts/pages/projects/labels/index/index.js b/app/assets/javascripts/pages/projects/labels/index/index.js index c258be4f908..82a5b4d0760 100644 --- a/app/assets/javascripts/pages/projects/labels/index/index.js +++ b/app/assets/javascripts/pages/projects/labels/index/index.js @@ -1,19 +1,18 @@ -/* eslint-disable no-new */ import LabelManager from '~/label_manager'; import GroupLabelSubscription from '~/group_label_subscription'; import ProjectLabelSubscription from '~/project_label_subscription'; export default () => { if ($('.prioritized-labels').length) { - new LabelManager(); + new LabelManager(); // eslint-disable-line no-new } $('.label-subscription').each((i, el) => { const $el = $(el); if ($el.find('.dropdown-group-label').length) { - new GroupLabelSubscription($el); + new GroupLabelSubscription($el); // eslint-disable-line no-new } else { - new ProjectLabelSubscription($el); + new ProjectLabelSubscription($el); // eslint-disable-line no-new } }); }; diff --git a/app/assets/javascripts/pages/projects/labels/new/index.js b/app/assets/javascripts/pages/projects/labels/new/index.js index 75dc1ef1859..72c5e4744ac 100644 --- a/app/assets/javascripts/pages/projects/labels/new/index.js +++ b/app/assets/javascripts/pages/projects/labels/new/index.js @@ -1,5 +1,3 @@ import Labels from '~/labels'; -export default function () { - new Labels(); // eslint-disable-line no-new -} +export default () => new Labels(); -- cgit v1.2.1 From d85f72b10bfbaf202ae3329509b45b82362f2ec6 Mon Sep 17 00:00:00 2001 From: Clement Ho Date: Fri, 12 Jan 2018 12:48:28 -0600 Subject: Refactor into init_labels --- app/assets/javascripts/init_labels.js | 18 ++++++++++++++++++ .../javascripts/pages/projects/labels/index/index.js | 19 ++----------------- 2 files changed, 20 insertions(+), 17 deletions(-) create mode 100644 app/assets/javascripts/init_labels.js diff --git a/app/assets/javascripts/init_labels.js b/app/assets/javascripts/init_labels.js new file mode 100644 index 00000000000..5f20055510f --- /dev/null +++ b/app/assets/javascripts/init_labels.js @@ -0,0 +1,18 @@ +import LabelManager from './label_manager'; +import GroupLabelSubscription from './group_label_subscription'; +import ProjectLabelSubscription from './project_label_subscription'; + +export default () => { + if ($('.prioritized-labels').length) { + new LabelManager(); // eslint-disable-line no-new + } + $('.label-subscription').each((i, el) => { + const $el = $(el); + + if ($el.find('.dropdown-group-label').length) { + new GroupLabelSubscription($el); // eslint-disable-line no-new + } else { + new ProjectLabelSubscription($el); // eslint-disable-line no-new + } + }); +}; diff --git a/app/assets/javascripts/pages/projects/labels/index/index.js b/app/assets/javascripts/pages/projects/labels/index/index.js index 82a5b4d0760..018345fa112 100644 --- a/app/assets/javascripts/pages/projects/labels/index/index.js +++ b/app/assets/javascripts/pages/projects/labels/index/index.js @@ -1,18 +1,3 @@ -import LabelManager from '~/label_manager'; -import GroupLabelSubscription from '~/group_label_subscription'; -import ProjectLabelSubscription from '~/project_label_subscription'; +import initLabels from '~/init_labels'; -export default () => { - if ($('.prioritized-labels').length) { - new LabelManager(); // eslint-disable-line no-new - } - $('.label-subscription').each((i, el) => { - const $el = $(el); - - if ($el.find('.dropdown-group-label').length) { - new GroupLabelSubscription($el); // eslint-disable-line no-new - } else { - new ProjectLabelSubscription($el); // eslint-disable-line no-new - } - }); -}; +export default initLabels; -- cgit v1.2.1