Export code as ES6 modules
This commit is contained in:
parent
2b594daf9a
commit
030de8b328
|
@ -1,7 +1,6 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, prefer-arrow-callback, no-var, quotes, vars-on-top, no-unused-vars, no-new, max-len */
|
||||
/* global EditBlob */
|
||||
/* global NewCommitForm */
|
||||
|
||||
import NewCommitForm from '../new_commit_form';
|
||||
import EditBlob from './edit_blob';
|
||||
import BlobFileDropzone from '../blob/blob_file_dropzone';
|
||||
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
import { s__ } from './locale';
|
||||
import projectSelect from './project_select';
|
||||
import IssuableIndex from './issuable_index';
|
||||
/* global Milestone */
|
||||
import Milestone from './milestone';
|
||||
import IssuableForm from './issuable_form';
|
||||
import LabelsSelect from './labels_select';
|
||||
/* global MilestoneSelect */
|
||||
/* global NewBranchForm */
|
||||
import NewBranchForm from './new_branch_form';
|
||||
/* global NotificationsForm */
|
||||
/* global NotificationsDropdown */
|
||||
import groupAvatar from './group_avatar';
|
||||
|
@ -18,8 +18,7 @@ import groupsSelect from './groups_select';
|
|||
/* global Search */
|
||||
/* global Admin */
|
||||
import NamespaceSelect from './namespace_select';
|
||||
/* global NewCommitForm */
|
||||
/* global NewBranchForm */
|
||||
import NewCommitForm from './new_commit_form';
|
||||
import Project from './project';
|
||||
import projectAvatar from './project_avatar';
|
||||
/* global MergeRequest */
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
/* eslint-disable no-new */
|
||||
import LabelsSelect from './labels_select';
|
||||
/* global MilestoneSelect */
|
||||
/* global SubscriptionSelect */
|
||||
|
||||
import subscriptionSelect from './subscription_select';
|
||||
import UsersSelect from './users_select';
|
||||
import issueStatusSelect from './issue_status_select';
|
||||
|
||||
|
@ -11,5 +10,5 @@ export default () => {
|
|||
new LabelsSelect();
|
||||
new MilestoneSelect();
|
||||
issueStatusSelect();
|
||||
new SubscriptionSelect();
|
||||
subscriptionSelect();
|
||||
};
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
/* eslint-disable class-methods-use-this, no-new */
|
||||
/* global MilestoneSelect */
|
||||
/* global SubscriptionSelect */
|
||||
|
||||
import IssuableBulkUpdateActions from './issuable_bulk_update_actions';
|
||||
import './milestone_select';
|
||||
import issueStatusSelect from './issue_status_select';
|
||||
import './subscription_select';
|
||||
import subscriptionSelect from './subscription_select';
|
||||
import LabelsSelect from './labels_select';
|
||||
|
||||
const HIDDEN_CLASS = 'hidden';
|
||||
|
@ -48,7 +47,7 @@ export default class IssuableBulkUpdateSidebar {
|
|||
new LabelsSelect();
|
||||
new MilestoneSelect();
|
||||
issueStatusSelect();
|
||||
new SubscriptionSelect();
|
||||
subscriptionSelect();
|
||||
}
|
||||
|
||||
setupBulkUpdateActions() {
|
||||
|
|
|
@ -58,11 +58,7 @@ import './line_highlighter';
|
|||
import initLogoAnimation from './logo';
|
||||
import './merge_request';
|
||||
import './merge_request_tabs';
|
||||
import './milestone';
|
||||
import './milestone_select';
|
||||
import './namespace_select';
|
||||
import './new_branch_form';
|
||||
import './new_commit_form';
|
||||
import './notes';
|
||||
import './notifications_dropdown';
|
||||
import './notifications_form';
|
||||
|
@ -78,8 +74,6 @@ import './render_gfm';
|
|||
import './right_sidebar';
|
||||
import './search';
|
||||
import './search_autocomplete';
|
||||
import './smart_interval';
|
||||
import './subscription_select';
|
||||
import initBreadcrumbs from './breadcrumb';
|
||||
|
||||
import './dispatcher';
|
||||
|
|
|
@ -1,54 +1,49 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, wrap-iife, no-use-before-define, camelcase, quotes, object-shorthand, no-shadow, no-unused-vars, comma-dangle, no-var, prefer-template, no-underscore-dangle, consistent-return, one-var, one-var-declaration-per-line, default-case, prefer-arrow-callback, max-len */
|
||||
/* global Sortable */
|
||||
|
||||
import Flash from './flash';
|
||||
|
||||
(function() {
|
||||
this.Milestone = (function() {
|
||||
function Milestone() {
|
||||
this.bindTabsSwitching();
|
||||
export default class Milestone {
|
||||
constructor() {
|
||||
this.bindTabsSwitching();
|
||||
|
||||
// Load merge request tab if it is active
|
||||
// merge request tab is active based on different conditions in the backend
|
||||
this.loadTab($('.js-milestone-tabs .active a'));
|
||||
// Load merge request tab if it is active
|
||||
// merge request tab is active based on different conditions in the backend
|
||||
this.loadTab($('.js-milestone-tabs .active a'));
|
||||
|
||||
this.loadInitialTab();
|
||||
this.loadInitialTab();
|
||||
}
|
||||
|
||||
bindTabsSwitching() {
|
||||
return $('a[data-toggle="tab"]').on('show.bs.tab', (e) => {
|
||||
const $target = $(e.target);
|
||||
|
||||
location.hash = $target.attr('href');
|
||||
this.loadTab($target);
|
||||
});
|
||||
}
|
||||
// eslint-disable-next-line class-methods-use-this
|
||||
loadInitialTab() {
|
||||
const $target = $(`.js-milestone-tabs a[href="${location.hash}"]`);
|
||||
|
||||
if ($target.length) {
|
||||
$target.tab('show');
|
||||
}
|
||||
}
|
||||
// eslint-disable-next-line class-methods-use-this
|
||||
loadTab($target) {
|
||||
const endpoint = $target.data('endpoint');
|
||||
const tabElId = $target.attr('href');
|
||||
|
||||
Milestone.prototype.bindTabsSwitching = function() {
|
||||
return $('a[data-toggle="tab"]').on('show.bs.tab', (e) => {
|
||||
const $target = $(e.target);
|
||||
|
||||
location.hash = $target.attr('href');
|
||||
this.loadTab($target);
|
||||
if (endpoint && !$target.hasClass('is-loaded')) {
|
||||
$.ajax({
|
||||
url: endpoint,
|
||||
dataType: 'JSON',
|
||||
})
|
||||
.fail(() => new Flash('Error loading milestone tab'))
|
||||
.done((data) => {
|
||||
$(tabElId).html(data.html);
|
||||
$target.addClass('is-loaded');
|
||||
});
|
||||
};
|
||||
|
||||
Milestone.prototype.loadInitialTab = function() {
|
||||
const $target = $(`.js-milestone-tabs a[href="${location.hash}"]`);
|
||||
|
||||
if ($target.length) {
|
||||
$target.tab('show');
|
||||
}
|
||||
};
|
||||
|
||||
Milestone.prototype.loadTab = function($target) {
|
||||
const endpoint = $target.data('endpoint');
|
||||
const tabElId = $target.attr('href');
|
||||
|
||||
if (endpoint && !$target.hasClass('is-loaded')) {
|
||||
$.ajax({
|
||||
url: endpoint,
|
||||
dataType: 'JSON',
|
||||
})
|
||||
.fail(() => new Flash('Error loading milestone tab'))
|
||||
.done((data) => {
|
||||
$(tabElId).html(data.html);
|
||||
$target.addClass('is-loaded');
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
return Milestone;
|
||||
})();
|
||||
}).call(window);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,97 +1,93 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, no-var, one-var, prefer-rest-params, max-len, vars-on-top, wrap-iife, consistent-return, comma-dangle, one-var-declaration-per-line, quotes, no-return-assign, prefer-arrow-callback, prefer-template, no-shadow, no-else-return, max-len, object-shorthand */
|
||||
import RefSelectDropdown from '~/ref_select_dropdown';
|
||||
import RefSelectDropdown from './ref_select_dropdown';
|
||||
|
||||
(function() {
|
||||
this.NewBranchForm = (function() {
|
||||
function NewBranchForm(form, availableRefs) {
|
||||
this.validate = this.validate.bind(this);
|
||||
this.branchNameError = form.find('.js-branch-name-error');
|
||||
this.name = form.find('.js-branch-name');
|
||||
this.ref = form.find('#ref');
|
||||
new RefSelectDropdown($('.js-branch-select'), availableRefs); // eslint-disable-line no-new
|
||||
this.setupRestrictions();
|
||||
this.addBinding();
|
||||
this.init();
|
||||
export default class NewBranchForm {
|
||||
constructor(form, availableRefs) {
|
||||
this.validate = this.validate.bind(this);
|
||||
this.branchNameError = form.find('.js-branch-name-error');
|
||||
this.name = form.find('.js-branch-name');
|
||||
this.ref = form.find('#ref');
|
||||
new RefSelectDropdown($('.js-branch-select'), availableRefs); // eslint-disable-line no-new
|
||||
this.setupRestrictions();
|
||||
this.addBinding();
|
||||
this.init();
|
||||
}
|
||||
|
||||
addBinding() {
|
||||
return this.name.on('blur', this.validate);
|
||||
}
|
||||
|
||||
init() {
|
||||
if (this.name.length && this.name.val().length > 0) {
|
||||
return this.name.trigger('blur');
|
||||
}
|
||||
}
|
||||
|
||||
NewBranchForm.prototype.addBinding = function() {
|
||||
return this.name.on('blur', this.validate);
|
||||
setupRestrictions() {
|
||||
var endsWith, invalid, single, startsWith;
|
||||
startsWith = {
|
||||
pattern: /^(\/|\.)/g,
|
||||
prefix: "can't start with",
|
||||
conjunction: "or"
|
||||
};
|
||||
endsWith = {
|
||||
pattern: /(\/|\.|\.lock)$/g,
|
||||
prefix: "can't end in",
|
||||
conjunction: "or"
|
||||
};
|
||||
invalid = {
|
||||
pattern: /(\s|~|\^|:|\?|\*|\[|\\|\.\.|@\{|\/{2,}){1}/g,
|
||||
prefix: "can't contain",
|
||||
conjunction: ", "
|
||||
};
|
||||
single = {
|
||||
pattern: /^@+$/g,
|
||||
prefix: "can't be",
|
||||
conjunction: "or"
|
||||
};
|
||||
return this.restrictions = [startsWith, invalid, endsWith, single];
|
||||
}
|
||||
|
||||
NewBranchForm.prototype.init = function() {
|
||||
if (this.name.length && this.name.val().length > 0) {
|
||||
return this.name.trigger('blur');
|
||||
validate() {
|
||||
var errorMessage, errors, formatter, unique, validator;
|
||||
const indexOf = [].indexOf;
|
||||
|
||||
this.branchNameError.empty();
|
||||
unique = function(values, value) {
|
||||
if (indexOf.call(values, value) === -1) {
|
||||
values.push(value);
|
||||
}
|
||||
return values;
|
||||
};
|
||||
|
||||
NewBranchForm.prototype.setupRestrictions = function() {
|
||||
var endsWith, invalid, single, startsWith;
|
||||
startsWith = {
|
||||
pattern: /^(\/|\.)/g,
|
||||
prefix: "can't start with",
|
||||
conjunction: "or"
|
||||
};
|
||||
endsWith = {
|
||||
pattern: /(\/|\.|\.lock)$/g,
|
||||
prefix: "can't end in",
|
||||
conjunction: "or"
|
||||
};
|
||||
invalid = {
|
||||
pattern: /(\s|~|\^|:|\?|\*|\[|\\|\.\.|@\{|\/{2,}){1}/g,
|
||||
prefix: "can't contain",
|
||||
conjunction: ", "
|
||||
};
|
||||
single = {
|
||||
pattern: /^@+$/g,
|
||||
prefix: "can't be",
|
||||
conjunction: "or"
|
||||
};
|
||||
return this.restrictions = [startsWith, invalid, endsWith, single];
|
||||
};
|
||||
|
||||
NewBranchForm.prototype.validate = function() {
|
||||
var errorMessage, errors, formatter, unique, validator;
|
||||
const indexOf = [].indexOf;
|
||||
|
||||
this.branchNameError.empty();
|
||||
unique = function(values, value) {
|
||||
if (indexOf.call(values, value) === -1) {
|
||||
values.push(value);
|
||||
formatter = function(values, restriction) {
|
||||
var formatted;
|
||||
formatted = values.map(function(value) {
|
||||
switch (false) {
|
||||
case !/\s/.test(value):
|
||||
return 'spaces';
|
||||
case !/\/{2,}/g.test(value):
|
||||
return 'consecutive slashes';
|
||||
default:
|
||||
return "'" + value + "'";
|
||||
}
|
||||
return values;
|
||||
};
|
||||
formatter = function(values, restriction) {
|
||||
var formatted;
|
||||
formatted = values.map(function(value) {
|
||||
switch (false) {
|
||||
case !/\s/.test(value):
|
||||
return 'spaces';
|
||||
case !/\/{2,}/g.test(value):
|
||||
return 'consecutive slashes';
|
||||
default:
|
||||
return "'" + value + "'";
|
||||
}
|
||||
});
|
||||
return restriction.prefix + " " + (formatted.join(restriction.conjunction));
|
||||
};
|
||||
validator = (function(_this) {
|
||||
return function(errors, restriction) {
|
||||
var matched;
|
||||
matched = _this.name.val().match(restriction.pattern);
|
||||
if (matched) {
|
||||
return errors.concat(formatter(matched.reduce(unique, []), restriction));
|
||||
} else {
|
||||
return errors;
|
||||
}
|
||||
};
|
||||
})(this);
|
||||
errors = this.restrictions.reduce(validator, []);
|
||||
if (errors.length > 0) {
|
||||
errorMessage = $("<span/>").text(errors.join(', '));
|
||||
return this.branchNameError.append(errorMessage);
|
||||
}
|
||||
});
|
||||
return restriction.prefix + " " + (formatted.join(restriction.conjunction));
|
||||
};
|
||||
|
||||
return NewBranchForm;
|
||||
})();
|
||||
}).call(window);
|
||||
validator = (function(_this) {
|
||||
return function(errors, restriction) {
|
||||
var matched;
|
||||
matched = _this.name.val().match(restriction.pattern);
|
||||
if (matched) {
|
||||
return errors.concat(formatter(matched.reduce(unique, []), restriction));
|
||||
} else {
|
||||
return errors;
|
||||
}
|
||||
};
|
||||
})(this);
|
||||
errors = this.restrictions.reduce(validator, []);
|
||||
if (errors.length > 0) {
|
||||
errorMessage = $("<span/>").text(errors.join(', '));
|
||||
return this.branchNameError.append(errorMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,32 +1,28 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, no-var, prefer-rest-params, wrap-iife, no-return-assign, max-len */
|
||||
(function() {
|
||||
this.NewCommitForm = (function() {
|
||||
function NewCommitForm(form) {
|
||||
this.form = form;
|
||||
this.renderDestination = this.renderDestination.bind(this);
|
||||
this.branchName = form.find('.js-branch-name');
|
||||
this.originalBranch = form.find('.js-original-branch');
|
||||
this.createMergeRequest = form.find('.js-create-merge-request');
|
||||
this.createMergeRequestContainer = form.find('.js-create-merge-request-container');
|
||||
this.branchName.keyup(this.renderDestination);
|
||||
this.renderDestination();
|
||||
}
|
||||
export default class NewCommitForm {
|
||||
constructor(form) {
|
||||
this.form = form;
|
||||
this.renderDestination = this.renderDestination.bind(this);
|
||||
this.branchName = form.find('.js-branch-name');
|
||||
this.originalBranch = form.find('.js-original-branch');
|
||||
this.createMergeRequest = form.find('.js-create-merge-request');
|
||||
this.createMergeRequestContainer = form.find('.js-create-merge-request-container');
|
||||
this.branchName.keyup(this.renderDestination);
|
||||
this.renderDestination();
|
||||
}
|
||||
|
||||
NewCommitForm.prototype.renderDestination = function() {
|
||||
var different;
|
||||
different = this.branchName.val() !== this.originalBranch.val();
|
||||
if (different) {
|
||||
this.createMergeRequestContainer.show();
|
||||
if (!this.wasDifferent) {
|
||||
this.createMergeRequest.prop('checked', true);
|
||||
}
|
||||
} else {
|
||||
this.createMergeRequestContainer.hide();
|
||||
this.createMergeRequest.prop('checked', false);
|
||||
renderDestination() {
|
||||
var different;
|
||||
different = this.branchName.val() !== this.originalBranch.val();
|
||||
if (different) {
|
||||
this.createMergeRequestContainer.show();
|
||||
if (!this.wasDifferent) {
|
||||
this.createMergeRequest.prop('checked', true);
|
||||
}
|
||||
return this.wasDifferent = different;
|
||||
};
|
||||
|
||||
return NewCommitForm;
|
||||
})();
|
||||
}).call(window);
|
||||
} else {
|
||||
this.createMergeRequestContainer.hide();
|
||||
this.createMergeRequest.prop('checked', false);
|
||||
}
|
||||
return this.wasDifferent = different;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,33 +1,24 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, wrap-iife, no-var, quotes, object-shorthand, no-unused-vars, no-shadow, one-var, one-var-declaration-per-line, comma-dangle, max-len */
|
||||
export default function subscriptionSelect() {
|
||||
$('.js-subscription-event').each((i, element) => {
|
||||
const fieldName = $(element).data('field-name');
|
||||
|
||||
class SubscriptionSelect {
|
||||
constructor() {
|
||||
$('.js-subscription-event').each(function(i, el) {
|
||||
var fieldName;
|
||||
fieldName = $(el).data("field-name");
|
||||
return $(el).glDropdown({
|
||||
selectable: true,
|
||||
fieldName: fieldName,
|
||||
toggleLabel: (function(_this) {
|
||||
return function(selected, el, instance) {
|
||||
var $item, label;
|
||||
label = 'Subscription';
|
||||
$item = instance.dropdown.find('.is-active');
|
||||
if ($item.length) {
|
||||
label = $item.text();
|
||||
}
|
||||
return label;
|
||||
};
|
||||
})(this),
|
||||
clicked: function(options) {
|
||||
return options.e.preventDefault();
|
||||
},
|
||||
id: function(obj, el) {
|
||||
return $(el).data("id");
|
||||
return $(element).glDropdown({
|
||||
selectable: true,
|
||||
fieldName,
|
||||
toggleLabel(selected, el, instance) {
|
||||
let label = 'Subscription';
|
||||
const $item = instance.dropdown.find('.is-active');
|
||||
if ($item.length) {
|
||||
label = $item.text();
|
||||
}
|
||||
});
|
||||
return label;
|
||||
},
|
||||
clicked(options) {
|
||||
return options.e.preventDefault();
|
||||
},
|
||||
id(obj, el) {
|
||||
return $(el).data('id');
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
window.SubscriptionSelect = SubscriptionSelect;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/* eslint-disable space-before-function-paren, one-var, no-var, one-var-declaration-per-line, no-return-assign, quotes, max-len */
|
||||
/* global NewBranchForm */
|
||||
|
||||
import '~/new_branch_form';
|
||||
import NewBranchForm from '~/new_branch_form';
|
||||
|
||||
(function() {
|
||||
describe('Branch', function() {
|
||||
|
|
Loading…
Reference in New Issue