summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/projects/project_new.js
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2018-01-11 12:38:30 +0000
committerPhil Hughes <me@iamphill.com>2018-01-16 16:45:33 +0000
commitb69d7ac3c9de7b0ba3e60ede70f1de630a53dfe6 (patch)
treed6169abee8bc535276d3118665b9d15ab649dc43 /app/assets/javascripts/projects/project_new.js
parentf084525fe4cceee1c6c3d86d5bd3150fa6334e42 (diff)
downloadgitlab-ce-b69d7ac3c9de7b0ba3e60ede70f1de630a53dfe6.tar.gz
Added dispatcher imports for some project routes
Diffstat (limited to 'app/assets/javascripts/projects/project_new.js')
-rw-r--r--app/assets/javascripts/projects/project_new.js108
1 files changed, 0 insertions, 108 deletions
diff --git a/app/assets/javascripts/projects/project_new.js b/app/assets/javascripts/projects/project_new.js
deleted file mode 100644
index 4710e70d619..00000000000
--- a/app/assets/javascripts/projects/project_new.js
+++ /dev/null
@@ -1,108 +0,0 @@
-let hasUserDefinedProjectPath = false;
-
-const deriveProjectPathFromUrl = ($projectImportUrl) => {
- const $currentProjectPath = $projectImportUrl.parents('.toggle-import-form').find('#project_path');
- if (hasUserDefinedProjectPath) {
- return;
- }
-
- let importUrl = $projectImportUrl.val().trim();
- if (importUrl.length === 0) {
- return;
- }
-
- /*
- \/?: remove trailing slash
- (\.git\/?)?: remove trailing .git (with optional trailing slash)
- (\?.*)?: remove query string
- (#.*)?: remove fragment identifier
- */
- importUrl = importUrl.replace(/\/?(\.git\/?)?(\?.*)?(#.*)?$/, '');
-
- // extract everything after the last slash
- const pathMatch = /\/([^/]+)$/.exec(importUrl);
- if (pathMatch) {
- $currentProjectPath.val(pathMatch[1]);
- }
-};
-
-const bindEvents = () => {
- const $newProjectForm = $('#new_project');
- const $projectImportUrl = $('#project_import_url');
- const $projectPath = $('#project_path');
- const $useTemplateBtn = $('.template-button > input');
- const $projectFieldsForm = $('.project-fields-form');
- const $selectedTemplateText = $('.selected-template');
- const $changeTemplateBtn = $('.change-template');
- const $selectedIcon = $('.selected-icon svg');
- const $templateProjectNameInput = $('#template-project-name #project_path');
-
- if ($newProjectForm.length !== 1) {
- return;
- }
-
- $('.how_to_import_link').on('click', (e) => {
- e.preventDefault();
- $(e.currentTarget).next('.modal').show();
- });
-
- $('.modal-header .close').on('click', () => {
- $('.modal').hide();
- });
-
- $('.btn_import_gitlab_project').on('click', () => {
- const importHref = $('a.btn_import_gitlab_project').attr('href');
- $('.btn_import_gitlab_project').attr('href', `${importHref}?namespace_id=${$('#project_namespace_id').val()}&path=${$projectPath.val()}`);
- });
-
- function chooseTemplate() {
- $('.template-option').hide();
- $projectFieldsForm.addClass('selected');
- $selectedIcon.removeClass('active');
- const value = $(this).val();
- const templates = {
- rails: {
- text: 'Ruby on Rails',
- icon: '.selected-icon .icon-rails',
- },
- express: {
- text: 'NodeJS Express',
- icon: '.selected-icon .icon-node-express',
- },
- spring: {
- text: 'Spring',
- icon: '.selected-icon .icon-java-spring',
- },
- };
-
- const selectedTemplate = templates[value];
- $selectedTemplateText.text(selectedTemplate.text);
- $(selectedTemplate.icon).addClass('active');
- $templateProjectNameInput.focus();
- }
-
- $useTemplateBtn.on('change', chooseTemplate);
-
- $changeTemplateBtn.on('click', () => {
- $('.template-option').show();
- $projectFieldsForm.removeClass('selected');
- $useTemplateBtn.prop('checked', false);
- });
-
- $newProjectForm.on('submit', () => {
- $projectPath.val($projectPath.val().trim());
- });
-
- $projectPath.on('keyup', () => {
- hasUserDefinedProjectPath = $projectPath.val().trim().length > 0;
- });
-
- $projectImportUrl.keyup(() => deriveProjectPathFromUrl($projectImportUrl));
-};
-
-document.addEventListener('DOMContentLoaded', bindEvents);
-
-export default {
- bindEvents,
- deriveProjectPathFromUrl,
-};