Merge branch 'dispatcher-projects-efi' into 'master'
dynamic imports for projects:e/f/i See merge request gitlab-org/gitlab-ce!16417
This commit is contained in:
commit
cedbf9c8b4
10 changed files with 114 additions and 37 deletions
|
@ -1,7 +1,6 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, no-var, prefer-arrow-callback, wrap-iife, no-shadow, consistent-return, one-var, one-var-declaration-per-line, camelcase, default-case, no-new, quotes, no-duplicate-case, no-case-declarations, no-fallthrough, max-len */
|
||||
import { s__ } from './locale';
|
||||
import projectSelect from './project_select';
|
||||
import IssuableIndex from './issuable_index';
|
||||
import Milestone from './milestone';
|
||||
import IssuableForm from './issuable_form';
|
||||
import LabelsSelect from './labels_select';
|
||||
|
@ -17,21 +16,17 @@ import projectAvatar from './project_avatar';
|
|||
import MergeRequest from './merge_request';
|
||||
import Compare from './compare';
|
||||
import initCompareAutocomplete from './compare_autocomplete';
|
||||
import ProjectFindFile from './project_find_file';
|
||||
import ProjectNew from './project_new';
|
||||
import projectImport from './project_import';
|
||||
import Labels from './labels';
|
||||
import LabelManager from './label_manager';
|
||||
import Sidebar from './right_sidebar';
|
||||
import IssuableTemplateSelectors from './templates/issuable_template_selectors';
|
||||
import Flash from './flash';
|
||||
import CommitsList from './commits';
|
||||
import Issue from './issue';
|
||||
import BindInOut from './behaviors/bind_in_out';
|
||||
import SecretValues from './behaviors/secret_values';
|
||||
import Group from './group';
|
||||
import ProjectsList from './projects_list';
|
||||
import setupProjectEdit from './project_edit';
|
||||
import MiniPipelineGraph from './mini_pipeline_graph_dropdown';
|
||||
import UserCallout from './user_callout';
|
||||
import ShortcutsWiki from './shortcuts_wiki';
|
||||
|
@ -57,7 +52,6 @@ import GlFieldErrors from './gl_field_errors';
|
|||
import GLForm from './gl_form';
|
||||
import Shortcuts from './shortcuts';
|
||||
import ShortcutsNavigation from './shortcuts_navigation';
|
||||
import ShortcutsFindFile from './shortcuts_find_file';
|
||||
import ShortcutsIssuable from './shortcuts_issuable';
|
||||
import U2FAuthenticate from './u2f/authenticate';
|
||||
import Members from './members';
|
||||
|
@ -127,21 +121,16 @@ import { fetchCommitMergeRequests } from './commit_merge_requests';
|
|||
shortcut_handler = true;
|
||||
break;
|
||||
case 'projects:issues:index':
|
||||
if (filteredSearchEnabled) {
|
||||
const filteredSearchManager = new gl.FilteredSearchManager(page === 'projects:issues:index' ? 'issues' : 'merge_requests');
|
||||
filteredSearchManager.setup();
|
||||
}
|
||||
const pagePrefix = page === 'projects:merge_requests:index' ? 'merge_request_' : 'issue_';
|
||||
new IssuableIndex(pagePrefix);
|
||||
|
||||
shortcut_handler = new ShortcutsNavigation();
|
||||
new UsersSelect();
|
||||
import('./pages/projects/issues/index')
|
||||
.then(callDefault)
|
||||
.catch(fail);
|
||||
shortcut_handler = true;
|
||||
break;
|
||||
case 'projects:issues:show':
|
||||
new Issue();
|
||||
shortcut_handler = new ShortcutsIssuable();
|
||||
new ZenMode();
|
||||
initIssuableSidebar();
|
||||
import('./pages/projects/issues/show')
|
||||
.then(callDefault)
|
||||
.catch(fail);
|
||||
shortcut_handler = true;
|
||||
break;
|
||||
case 'dashboard:milestones:index':
|
||||
import('./pages/dashboard/milestones/index')
|
||||
|
@ -232,13 +221,16 @@ import { fetchCommitMergeRequests } from './commit_merge_requests';
|
|||
.catch(fail);
|
||||
break;
|
||||
case 'projects:issues:new':
|
||||
import('./pages/projects/issues/new')
|
||||
.then(callDefault)
|
||||
.catch(fail);
|
||||
shortcut_handler = true;
|
||||
break;
|
||||
case 'projects:issues:edit':
|
||||
shortcut_handler = new ShortcutsNavigation();
|
||||
new GLForm($('.issue-form'), true);
|
||||
new IssuableForm($('.issue-form'));
|
||||
new LabelsSelect();
|
||||
new MilestoneSelect();
|
||||
new IssuableTemplateSelectors();
|
||||
import('./pages/projects/issues/edit')
|
||||
.then(callDefault)
|
||||
.catch(fail);
|
||||
shortcut_handler = true;
|
||||
break;
|
||||
case 'projects:merge_requests:creations:new':
|
||||
const mrNewCompareNode = document.querySelector('.js-merge-request-new-compare');
|
||||
|
@ -370,12 +362,14 @@ import { fetchCommitMergeRequests } from './commit_merge_requests';
|
|||
});
|
||||
break;
|
||||
case 'projects:edit':
|
||||
setupProjectEdit();
|
||||
// Initialize expandable settings panels
|
||||
initSettingsPanels();
|
||||
import('./pages/projects/edit')
|
||||
.then(callDefault)
|
||||
.catch(fail);
|
||||
break;
|
||||
case 'projects:imports:show':
|
||||
projectImport();
|
||||
import('./pages/projects/imports/show')
|
||||
.then(callDefault)
|
||||
.catch(fail);
|
||||
break;
|
||||
case 'projects:pipelines:new':
|
||||
case 'projects:pipelines:create':
|
||||
|
@ -444,13 +438,9 @@ import { fetchCommitMergeRequests } from './commit_merge_requests';
|
|||
});
|
||||
break;
|
||||
case 'projects:find_file:show':
|
||||
const findElement = document.querySelector('.js-file-finder');
|
||||
const projectFindFile = new ProjectFindFile($(".file-finder-holder"), {
|
||||
url: findElement.dataset.fileFindUrl,
|
||||
treeUrl: findElement.dataset.findTreeUrl,
|
||||
blobUrlTemplate: findElement.dataset.blobUrlTemplate,
|
||||
});
|
||||
new ShortcutsFindFile(projectFindFile);
|
||||
import('./pages/projects/find_file/show')
|
||||
.then(callDefault)
|
||||
.catch(fail);
|
||||
shortcut_handler = true;
|
||||
break;
|
||||
case 'projects:blob:show':
|
||||
|
@ -504,7 +494,7 @@ import { fetchCommitMergeRequests } from './commit_merge_requests';
|
|||
shortcut_handler = true;
|
||||
break;
|
||||
case 'projects:forks:new':
|
||||
import(/* webpackChunkName: 'project_fork' */ './project_fork')
|
||||
import('./pages/projects/forks/new')
|
||||
.then(callDefault)
|
||||
.catch(fail);
|
||||
break;
|
||||
|
|
8
app/assets/javascripts/pages/projects/edit/index.js
Normal file
8
app/assets/javascripts/pages/projects/edit/index.js
Normal file
|
@ -0,0 +1,8 @@
|
|||
import initSettingsPanels from '~/settings_panels';
|
||||
import setupProjectEdit from '~/project_edit';
|
||||
|
||||
export default () => {
|
||||
setupProjectEdit();
|
||||
// Initialize expandable settings panels
|
||||
initSettingsPanels();
|
||||
};
|
|
@ -0,0 +1,12 @@
|
|||
import ProjectFindFile from '~/project_find_file';
|
||||
import ShortcutsFindFile from '~/shortcuts_find_file';
|
||||
|
||||
export default () => {
|
||||
const findElement = document.querySelector('.js-file-finder');
|
||||
const projectFindFile = new ProjectFindFile($('.file-finder-holder'), {
|
||||
url: findElement.dataset.fileFindUrl,
|
||||
treeUrl: findElement.dataset.findTreeUrl,
|
||||
blobUrlTemplate: findElement.dataset.blobUrlTemplate,
|
||||
});
|
||||
new ShortcutsFindFile(projectFindFile); // eslint-disable-line no-new
|
||||
};
|
5
app/assets/javascripts/pages/projects/forks/new/index.js
Normal file
5
app/assets/javascripts/pages/projects/forks/new/index.js
Normal file
|
@ -0,0 +1,5 @@
|
|||
import ProjectFork from '~/project_fork';
|
||||
|
||||
export default () => {
|
||||
new ProjectFork(); // eslint-disable-line no-new
|
||||
};
|
|
@ -0,0 +1,5 @@
|
|||
import ProjectImport from '~/project_import';
|
||||
|
||||
export default () => {
|
||||
new ProjectImport(); // eslint-disable-line no-new
|
||||
};
|
|
@ -0,0 +1,5 @@
|
|||
import initForm from '../form';
|
||||
|
||||
export default () => {
|
||||
initForm();
|
||||
};
|
16
app/assets/javascripts/pages/projects/issues/form.js
Normal file
16
app/assets/javascripts/pages/projects/issues/form.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
/* eslint-disable no-new */
|
||||
import GLForm from '~/gl_form';
|
||||
import IssuableForm from '~/issuable_form';
|
||||
import LabelsSelect from '~/labels_select';
|
||||
import MilestoneSelect from '~/milestone_select';
|
||||
import ShortcutsNavigation from '~/shortcuts_navigation';
|
||||
import IssuableTemplateSelectors from '~/templates/issuable_template_selectors';
|
||||
|
||||
export default () => {
|
||||
new ShortcutsNavigation();
|
||||
new GLForm($('.issue-form'), true);
|
||||
new IssuableForm($('.issue-form'));
|
||||
new LabelsSelect();
|
||||
new MilestoneSelect();
|
||||
new IssuableTemplateSelectors();
|
||||
};
|
18
app/assets/javascripts/pages/projects/issues/index/index.js
Normal file
18
app/assets/javascripts/pages/projects/issues/index/index.js
Normal file
|
@ -0,0 +1,18 @@
|
|||
|
||||
/* eslint-disable no-new */
|
||||
|
||||
import IssuableIndex from '~/issuable_index';
|
||||
import ShortcutsNavigation from '~/shortcuts_navigation';
|
||||
import UsersSelect from '~/users_select';
|
||||
|
||||
export default () => {
|
||||
const filteredSearchEnabled = gl.FilteredSearchManager && document.querySelector('.filtered-search');
|
||||
if (filteredSearchEnabled) {
|
||||
const filteredSearchManager = new gl.FilteredSearchManager('issues');
|
||||
filteredSearchManager.setup();
|
||||
}
|
||||
new IssuableIndex('issue_');
|
||||
|
||||
new ShortcutsNavigation();
|
||||
new UsersSelect();
|
||||
};
|
|
@ -0,0 +1,5 @@
|
|||
import initForm from '../form';
|
||||
|
||||
export default () => {
|
||||
initForm();
|
||||
};
|
13
app/assets/javascripts/pages/projects/issues/show/index.js
Normal file
13
app/assets/javascripts/pages/projects/issues/show/index.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
|
||||
/* eslint-disable no-new */
|
||||
import initIssuableSidebar from '~/init_issuable_sidebar';
|
||||
import Issue from '~/issue';
|
||||
import ShortcutsIssuable from '~/shortcuts_issuable';
|
||||
import ZenMode from '~/zen_mode';
|
||||
|
||||
export default () => {
|
||||
new Issue();
|
||||
new ShortcutsIssuable();
|
||||
new ZenMode();
|
||||
initIssuableSidebar();
|
||||
};
|
Loading…
Reference in a new issue