summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFatih Acet <acetfatih@gmail.com>2018-01-10 23:05:20 +0000
committerFatih Acet <acetfatih@gmail.com>2018-01-10 23:05:20 +0000
commit63553bb1a6776c5edc89d245384031b8aeb0f01a (patch)
tree0d4cb777c2c3dc123c2f8322efbeee6d0092e22d
parentfe7443ef01e40654691768a142af0a39c336076e (diff)
parentefb0ed167f03edc8ff5a97fcb8cadcfd00a2f2e1 (diff)
downloadgitlab-ce-63553bb1a6776c5edc89d245384031b8aeb0f01a.tar.gz
Merge branch 'explore-dispatcher-refactor' into 'master'
Refactors the dispatcher for `explore:*`. See merge request gitlab-org/gitlab-ce!16296
-rw-r--r--app/assets/javascripts/dispatcher.js26
-rw-r--r--app/assets/javascripts/pages/explore/groups/index.js14
-rw-r--r--app/assets/javascripts/pages/explore/projects/index.js3
3 files changed, 28 insertions, 15 deletions
diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js
index 60662fe1a1f..212b6082e37 100644
--- a/app/assets/javascripts/dispatcher.js
+++ b/app/assets/javascripts/dispatcher.js
@@ -36,12 +36,10 @@ import BindInOut from './behaviors/bind_in_out';
import SecretValues from './behaviors/secret_values';
import DeleteModal from './branches/branches_delete_modal';
import Group from './group';
-import GroupsList from './groups_list';
import ProjectsList from './projects_list';
import setupProjectEdit from './project_edit';
import MiniPipelineGraph from './mini_pipeline_graph_dropdown';
import BlobLinePermalinkUpdater from './blob/blob_line_permalink_updater';
-import Landing from './landing';
import BlobForkSuggestion from './blob/blob_fork_suggestion';
import UserCallout from './user_callout';
import ShortcutsWiki from './shortcuts_wiki';
@@ -231,19 +229,17 @@ import Activities from './activities';
case 'explore:projects:index':
case 'explore:projects:trending':
case 'explore:projects:starred':
+ import('./pages/explore/projects')
+ .then(callDefault)
+ .catch(fail);
+ break;
case 'admin:projects:index':
new ProjectsList();
break;
case 'explore:groups:index':
- new GroupsList();
- const landingElement = document.querySelector('.js-explore-groups-landing');
- if (!landingElement) break;
- const exploreGroupsLanding = new Landing(
- landingElement,
- landingElement.querySelector('.dismiss-button'),
- 'explore_groups_landing_dismissed',
- );
- exploreGroupsLanding.toggle();
+ import('./pages/explore/groups')
+ .then(callDefault)
+ .catch(fail);
break;
case 'projects:milestones:new':
case 'projects:milestones:edit':
@@ -514,8 +510,8 @@ import Activities from './activities';
break;
case 'projects:forks:new':
import(/* webpackChunkName: 'project_fork' */ './project_fork')
- .then(fork => fork.default())
- .catch(() => {});
+ .then(callDefault)
+ .catch(fail);
break;
case 'projects:artifacts:browse':
import('./pages/projects/artifacts/browse')
@@ -652,8 +648,8 @@ import Activities from './activities';
shortcut_handler = new ShortcutsNavigation();
new ProjectNew();
import(/* webpackChunkName: 'project_permissions' */ './projects/permissions')
- .then(permissions => permissions.default())
- .catch(() => {});
+ .then(callDefault)
+ .catch(fail);
break;
case 'new':
new ProjectNew();
diff --git a/app/assets/javascripts/pages/explore/groups/index.js b/app/assets/javascripts/pages/explore/groups/index.js
new file mode 100644
index 00000000000..859b073f1cb
--- /dev/null
+++ b/app/assets/javascripts/pages/explore/groups/index.js
@@ -0,0 +1,14 @@
+import GroupsList from '~/groups_list';
+import Landing from '~/landing';
+
+export default function () {
+ new GroupsList(); // eslint-disable-line no-new
+ const landingElement = document.querySelector('.js-explore-groups-landing');
+ if (!landingElement) return;
+ const exploreGroupsLanding = new Landing(
+ landingElement,
+ landingElement.querySelector('.dismiss-button'),
+ 'explore_groups_landing_dismissed',
+ );
+ exploreGroupsLanding.toggle();
+}
diff --git a/app/assets/javascripts/pages/explore/projects/index.js b/app/assets/javascripts/pages/explore/projects/index.js
new file mode 100644
index 00000000000..c88cbf1a6ba
--- /dev/null
+++ b/app/assets/javascripts/pages/explore/projects/index.js
@@ -0,0 +1,3 @@
+import ProjectsList from '~/projects_list';
+
+export default () => new ProjectsList();