resolve all indent eslint violations
This commit is contained in:
parent
b857b21f9b
commit
96931b1748
21 changed files with 312 additions and 307 deletions
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, quotes, object-shorthand, camelcase, no-var, comma-dangle, prefer-arrow-callback, indent, object-curly-spacing, quote-props, no-param-reassign, max-len */
|
||||
/* eslint-disable func-names, space-before-function-paren, quotes, object-shorthand, camelcase, no-var, comma-dangle, prefer-arrow-callback, object-curly-spacing, quote-props, no-param-reassign, max-len */
|
||||
|
||||
(function() {
|
||||
var Api = {
|
||||
|
@ -29,9 +29,9 @@
|
|||
return $.ajax({
|
||||
url: url,
|
||||
data: $.extend({
|
||||
search: query,
|
||||
per_page: 20
|
||||
}, options),
|
||||
search: query,
|
||||
per_page: 20
|
||||
}, options),
|
||||
dataType: "json"
|
||||
}).done(function(groups) {
|
||||
return callback(groups);
|
||||
|
|
|
@ -1,101 +1,101 @@
|
|||
/* eslint-disable indent, comma-dangle, object-shorthand, func-names, space-before-function-paren, arrow-parens, no-unused-vars, class-methods-use-this, no-var, consistent-return, prefer-const, no-param-reassign, space-in-parens, max-len */
|
||||
/* eslint-disable comma-dangle, object-shorthand, func-names, space-before-function-paren, arrow-parens, no-unused-vars, class-methods-use-this, no-var, consistent-return, prefer-const, no-param-reassign, space-in-parens, max-len */
|
||||
|
||||
((global) => {
|
||||
class TemplateSelector {
|
||||
constructor({ dropdown, data, pattern, wrapper, editor, fileEndpoint, $input } = {}) {
|
||||
this.onClick = this.onClick.bind(this);
|
||||
this.dropdown = dropdown;
|
||||
this.data = data;
|
||||
this.pattern = pattern;
|
||||
this.wrapper = wrapper;
|
||||
this.editor = editor;
|
||||
this.fileEndpoint = fileEndpoint;
|
||||
this.$input = $input || $('#file_name');
|
||||
this.dropdownIcon = $('.fa-chevron-down', this.dropdown);
|
||||
this.buildDropdown();
|
||||
this.bindEvents();
|
||||
this.onFilenameUpdate();
|
||||
class TemplateSelector {
|
||||
constructor({ dropdown, data, pattern, wrapper, editor, fileEndpoint, $input } = {}) {
|
||||
this.onClick = this.onClick.bind(this);
|
||||
this.dropdown = dropdown;
|
||||
this.data = data;
|
||||
this.pattern = pattern;
|
||||
this.wrapper = wrapper;
|
||||
this.editor = editor;
|
||||
this.fileEndpoint = fileEndpoint;
|
||||
this.$input = $input || $('#file_name');
|
||||
this.dropdownIcon = $('.fa-chevron-down', this.dropdown);
|
||||
this.buildDropdown();
|
||||
this.bindEvents();
|
||||
this.onFilenameUpdate();
|
||||
|
||||
this.autosizeUpdateEvent = document.createEvent('Event');
|
||||
this.autosizeUpdateEvent.initEvent('autosize:update', true, false);
|
||||
}
|
||||
this.autosizeUpdateEvent = document.createEvent('Event');
|
||||
this.autosizeUpdateEvent.initEvent('autosize:update', true, false);
|
||||
}
|
||||
|
||||
buildDropdown() {
|
||||
return this.dropdown.glDropdown({
|
||||
data: this.data,
|
||||
filterable: true,
|
||||
selectable: true,
|
||||
toggleLabel: this.toggleLabel,
|
||||
search: {
|
||||
fields: ['name']
|
||||
},
|
||||
clicked: this.onClick,
|
||||
text: function(item) {
|
||||
return item.name;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
bindEvents() {
|
||||
return this.$input.on('keyup blur', (e) => this.onFilenameUpdate());
|
||||
}
|
||||
|
||||
toggleLabel(item) {
|
||||
return item.name;
|
||||
}
|
||||
|
||||
onFilenameUpdate() {
|
||||
var filenameMatches;
|
||||
if (!this.$input.length) {
|
||||
return;
|
||||
buildDropdown() {
|
||||
return this.dropdown.glDropdown({
|
||||
data: this.data,
|
||||
filterable: true,
|
||||
selectable: true,
|
||||
toggleLabel: this.toggleLabel,
|
||||
search: {
|
||||
fields: ['name']
|
||||
},
|
||||
clicked: this.onClick,
|
||||
text: function(item) {
|
||||
return item.name;
|
||||
}
|
||||
filenameMatches = this.pattern.test(this.$input.val().trim());
|
||||
if (!filenameMatches) {
|
||||
this.wrapper.addClass('hidden');
|
||||
return;
|
||||
}
|
||||
return this.wrapper.removeClass('hidden');
|
||||
});
|
||||
}
|
||||
|
||||
bindEvents() {
|
||||
return this.$input.on('keyup blur', (e) => this.onFilenameUpdate());
|
||||
}
|
||||
|
||||
toggleLabel(item) {
|
||||
return item.name;
|
||||
}
|
||||
|
||||
onFilenameUpdate() {
|
||||
var filenameMatches;
|
||||
if (!this.$input.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
onClick(item, el, e) {
|
||||
e.preventDefault();
|
||||
return this.requestFile(item);
|
||||
filenameMatches = this.pattern.test(this.$input.val().trim());
|
||||
if (!filenameMatches) {
|
||||
this.wrapper.addClass('hidden');
|
||||
return;
|
||||
}
|
||||
return this.wrapper.removeClass('hidden');
|
||||
}
|
||||
|
||||
requestFile(item) {
|
||||
// This `requestFile` method is an abstract method that should
|
||||
// be added by all subclasses.
|
||||
}
|
||||
onClick(item, el, e) {
|
||||
e.preventDefault();
|
||||
return this.requestFile(item);
|
||||
}
|
||||
|
||||
// To be implemented on the extending class
|
||||
// e.g.
|
||||
// Api.gitignoreText item.name, @requestFileSuccess.bind(@)
|
||||
requestFileSuccess(file, { skipFocus } = {}) {
|
||||
if (!file) return;
|
||||
requestFile(item) {
|
||||
// This `requestFile` method is an abstract method that should
|
||||
// be added by all subclasses.
|
||||
}
|
||||
|
||||
const oldValue = this.editor.getValue();
|
||||
let newValue = file.content;
|
||||
// To be implemented on the extending class
|
||||
// e.g.
|
||||
// Api.gitignoreText item.name, @requestFileSuccess.bind(@)
|
||||
requestFileSuccess(file, { skipFocus } = {}) {
|
||||
if (!file) return;
|
||||
|
||||
this.editor.setValue(newValue, 1);
|
||||
if (!skipFocus) this.editor.focus();
|
||||
const oldValue = this.editor.getValue();
|
||||
let newValue = file.content;
|
||||
|
||||
if (this.editor instanceof jQuery) {
|
||||
this.editor.get(0).dispatchEvent(this.autosizeUpdateEvent);
|
||||
}
|
||||
}
|
||||
this.editor.setValue(newValue, 1);
|
||||
if (!skipFocus) this.editor.focus();
|
||||
|
||||
startLoadingSpinner() {
|
||||
this.dropdownIcon
|
||||
.addClass('fa-spinner fa-spin')
|
||||
.removeClass('fa-chevron-down');
|
||||
}
|
||||
|
||||
stopLoadingSpinner() {
|
||||
this.dropdownIcon
|
||||
.addClass('fa-chevron-down')
|
||||
.removeClass('fa-spinner fa-spin');
|
||||
if (this.editor instanceof jQuery) {
|
||||
this.editor.get(0).dispatchEvent(this.autosizeUpdateEvent);
|
||||
}
|
||||
}
|
||||
|
||||
global.TemplateSelector = TemplateSelector;
|
||||
})(window.gl || ( window.gl = {}));
|
||||
startLoadingSpinner() {
|
||||
this.dropdownIcon
|
||||
.addClass('fa-spinner fa-spin')
|
||||
.removeClass('fa-chevron-down');
|
||||
}
|
||||
|
||||
stopLoadingSpinner() {
|
||||
this.dropdownIcon
|
||||
.addClass('fa-chevron-down')
|
||||
.removeClass('fa-spinner fa-spin');
|
||||
}
|
||||
}
|
||||
|
||||
global.TemplateSelector = TemplateSelector;
|
||||
})(window.gl || ( window.gl = {}));
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable one-var, indent, quote-props, comma-dangle, space-before-function-paren */
|
||||
/* eslint-disable one-var, quote-props, comma-dangle, space-before-function-paren */
|
||||
/* global Vue */
|
||||
/* global BoardService */
|
||||
|
||||
|
@ -16,8 +16,8 @@
|
|||
//= require ./vue_resource_interceptor
|
||||
|
||||
$(() => {
|
||||
const $boardApp = document.getElementById('board-app'),
|
||||
Store = gl.issueBoards.BoardsStore;
|
||||
const $boardApp = document.getElementById('board-app');
|
||||
const Store = gl.issueBoards.BoardsStore;
|
||||
|
||||
window.gl = window.gl || {};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable comma-dangle, space-before-function-paren, one-var, indent, radix */
|
||||
/* eslint-disable comma-dangle, space-before-function-paren, one-var, radix */
|
||||
/* global Vue */
|
||||
/* global Sortable */
|
||||
|
||||
|
@ -88,8 +88,8 @@
|
|||
gl.issueBoards.onEnd();
|
||||
|
||||
if (e.newIndex !== undefined && e.oldIndex !== e.newIndex) {
|
||||
const order = this.sortable.toArray(),
|
||||
list = Store.findList('id', parseInt(e.item.dataset.id));
|
||||
const order = this.sortable.toArray();
|
||||
const list = Store.findList('id', parseInt(e.item.dataset.id));
|
||||
|
||||
this.$nextTick(() => {
|
||||
Store.moveList(list, order);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable comma-dangle, func-names, no-new, space-before-function-paren, one-var, indent */
|
||||
/* eslint-disable comma-dangle, func-names, no-new, space-before-function-paren, one-var */
|
||||
|
||||
(() => {
|
||||
window.gl = window.gl || {};
|
||||
|
@ -32,17 +32,17 @@
|
|||
});
|
||||
},
|
||||
renderRow (label) {
|
||||
const active = Store.findList('title', label.title),
|
||||
$li = $('<li />'),
|
||||
$a = $('<a />', {
|
||||
class: (active ? `is-active js-board-list-${active.id}` : ''),
|
||||
text: label.title,
|
||||
href: '#'
|
||||
}),
|
||||
$labelColor = $('<span />', {
|
||||
class: 'dropdown-label-box',
|
||||
style: `background-color: ${label.color}`
|
||||
});
|
||||
const active = Store.findList('title', label.title);
|
||||
const $li = $('<li />');
|
||||
const $a = $('<a />', {
|
||||
class: (active ? `is-active js-board-list-${active.id}` : ''),
|
||||
text: label.title,
|
||||
href: '#'
|
||||
});
|
||||
const $labelColor = $('<span />', {
|
||||
class: 'dropdown-label-box',
|
||||
style: `background-color: ${label.color}`
|
||||
});
|
||||
|
||||
return $li.append($a.prepend($labelColor));
|
||||
},
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable comma-dangle, space-before-function-paren, one-var, indent, space-in-parens, no-shadow, radix, dot-notation, max-len */
|
||||
/* eslint-disable comma-dangle, space-before-function-paren, one-var, space-in-parens, no-shadow, radix, dot-notation, max-len */
|
||||
/* global Cookies */
|
||||
/* global List */
|
||||
|
||||
|
@ -33,8 +33,8 @@
|
|||
return list;
|
||||
},
|
||||
new (listObj) {
|
||||
const list = this.addList(listObj),
|
||||
backlogList = this.findList('type', 'backlog', 'backlog');
|
||||
const list = this.addList(listObj);
|
||||
const backlogList = this.findList('type', 'backlog', 'backlog');
|
||||
|
||||
list
|
||||
.save()
|
||||
|
@ -93,9 +93,9 @@
|
|||
listFrom.update();
|
||||
},
|
||||
moveIssueToList (listFrom, listTo, issue, newIndex) {
|
||||
const issueTo = listTo.findIssue(issue.id),
|
||||
issueLists = issue.getLists(),
|
||||
listLabels = issueLists.map( listIssue => listIssue.label );
|
||||
const issueTo = listTo.findIssue(issue.id);
|
||||
const issueLists = issue.getLists();
|
||||
const listLabels = issueLists.map( listIssue => listIssue.label );
|
||||
|
||||
// Add to new lists issues if it doesn't already exist
|
||||
if (!issueTo) {
|
||||
|
|
|
@ -1,120 +1,119 @@
|
|||
/* eslint-disable wrap-iife, func-names, strict, indent, no-tabs, no-var, vars-on-top, no-param-reassign, object-shorthand, no-shadow, comma-dangle, prefer-template, consistent-return, no-mixed-operators, no-unused-vars, object-curly-spacing, no-unused-expressions, prefer-arrow-callback, max-len */
|
||||
/* eslint-disable wrap-iife, func-names, strict, no-var, vars-on-top, no-param-reassign, object-shorthand, no-shadow, comma-dangle, prefer-template, consistent-return, no-mixed-operators, no-unused-vars, object-curly-spacing, no-unused-expressions, prefer-arrow-callback, max-len */
|
||||
(function () {
|
||||
'use strict';
|
||||
'use strict';
|
||||
|
||||
function simulateEvent(el, type, options) {
|
||||
var event;
|
||||
if (!el) return;
|
||||
var ownerDocument = el.ownerDocument;
|
||||
function simulateEvent(el, type, options) {
|
||||
var event;
|
||||
if (!el) return;
|
||||
var ownerDocument = el.ownerDocument;
|
||||
|
||||
options = options || {};
|
||||
options = options || {};
|
||||
|
||||
if (/^mouse/.test(type)) {
|
||||
event = ownerDocument.createEvent('MouseEvents');
|
||||
event.initMouseEvent(type, true, true, ownerDocument.defaultView,
|
||||
options.button, options.screenX, options.screenY, options.clientX, options.clientY,
|
||||
options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, el);
|
||||
} else {
|
||||
event = ownerDocument.createEvent('CustomEvent');
|
||||
if (/^mouse/.test(type)) {
|
||||
event = ownerDocument.createEvent('MouseEvents');
|
||||
event.initMouseEvent(type, true, true, ownerDocument.defaultView,
|
||||
options.button, options.screenX, options.screenY, options.clientX, options.clientY,
|
||||
options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, el);
|
||||
} else {
|
||||
event = ownerDocument.createEvent('CustomEvent');
|
||||
|
||||
event.initCustomEvent(type, true, true, ownerDocument.defaultView,
|
||||
options.button, options.screenX, options.screenY, options.clientX, options.clientY,
|
||||
options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, el);
|
||||
event.initCustomEvent(type, true, true, ownerDocument.defaultView,
|
||||
options.button, options.screenX, options.screenY, options.clientX, options.clientY,
|
||||
options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, options.button, el);
|
||||
|
||||
event.dataTransfer = {
|
||||
data: {},
|
||||
event.dataTransfer = {
|
||||
data: {},
|
||||
|
||||
setData: function (type, val) {
|
||||
this.data[type] = val;
|
||||
},
|
||||
setData: function (type, val) {
|
||||
this.data[type] = val;
|
||||
},
|
||||
|
||||
getData: function (type) {
|
||||
return this.data[type];
|
||||
}
|
||||
};
|
||||
}
|
||||
getData: function (type) {
|
||||
return this.data[type];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
if (el.dispatchEvent) {
|
||||
el.dispatchEvent(event);
|
||||
} else if (el.fireEvent) {
|
||||
el.fireEvent('on' + type, event);
|
||||
}
|
||||
if (el.dispatchEvent) {
|
||||
el.dispatchEvent(event);
|
||||
} else if (el.fireEvent) {
|
||||
el.fireEvent('on' + type, event);
|
||||
}
|
||||
|
||||
return event;
|
||||
}
|
||||
return event;
|
||||
}
|
||||
|
||||
function getTraget(target) {
|
||||
var el = typeof target.el === 'string' ? document.getElementById(target.el.substr(1)) : target.el;
|
||||
var children = el.children;
|
||||
function getTraget(target) {
|
||||
var el = typeof target.el === 'string' ? document.getElementById(target.el.substr(1)) : target.el;
|
||||
var children = el.children;
|
||||
|
||||
return (
|
||||
children[target.index] ||
|
||||
children[target.index === 'first' ? 0 : -1] ||
|
||||
children[target.index === 'last' ? children.length - 1 : -1]
|
||||
);
|
||||
}
|
||||
return (
|
||||
children[target.index] ||
|
||||
children[target.index === 'first' ? 0 : -1] ||
|
||||
children[target.index === 'last' ? children.length - 1 : -1]
|
||||
);
|
||||
}
|
||||
|
||||
function getRect(el) {
|
||||
var rect = el.getBoundingClientRect();
|
||||
var width = rect.right - rect.left;
|
||||
var height = rect.bottom - rect.top;
|
||||
function getRect(el) {
|
||||
var rect = el.getBoundingClientRect();
|
||||
var width = rect.right - rect.left;
|
||||
var height = rect.bottom - rect.top;
|
||||
|
||||
return {
|
||||
x: rect.left,
|
||||
y: rect.top,
|
||||
cx: rect.left + width / 2,
|
||||
cy: rect.top + height / 2,
|
||||
w: width,
|
||||
h: height,
|
||||
hw: width / 2,
|
||||
wh: height / 2
|
||||
};
|
||||
}
|
||||
return {
|
||||
x: rect.left,
|
||||
y: rect.top,
|
||||
cx: rect.left + width / 2,
|
||||
cy: rect.top + height / 2,
|
||||
w: width,
|
||||
h: height,
|
||||
hw: width / 2,
|
||||
wh: height / 2
|
||||
};
|
||||
}
|
||||
|
||||
function simulateDrag(options, callback) {
|
||||
options.to.el = options.to.el || options.from.el;
|
||||
function simulateDrag(options, callback) {
|
||||
options.to.el = options.to.el || options.from.el;
|
||||
|
||||
var fromEl = getTraget(options.from);
|
||||
var toEl = getTraget(options.to);
|
||||
var fromEl = getTraget(options.from);
|
||||
var toEl = getTraget(options.to);
|
||||
var scrollable = options.scrollable;
|
||||
|
||||
var fromRect = getRect(fromEl);
|
||||
var toRect = getRect(toEl);
|
||||
var fromRect = getRect(fromEl);
|
||||
var toRect = getRect(toEl);
|
||||
|
||||
var startTime = new Date().getTime();
|
||||
var duration = options.duration || 1000;
|
||||
simulateEvent(fromEl, 'mousedown', {button: 0});
|
||||
options.ontap && options.ontap();
|
||||
window.SIMULATE_DRAG_ACTIVE = 1;
|
||||
var startTime = new Date().getTime();
|
||||
var duration = options.duration || 1000;
|
||||
simulateEvent(fromEl, 'mousedown', {button: 0});
|
||||
options.ontap && options.ontap();
|
||||
window.SIMULATE_DRAG_ACTIVE = 1;
|
||||
|
||||
var dragInterval = setInterval(function loop() {
|
||||
var progress = (new Date().getTime() - startTime) / duration;
|
||||
var x = (fromRect.cx + (toRect.cx - fromRect.cx) * progress) - scrollable.scrollLeft;
|
||||
var y = (fromRect.cy + (toRect.cy - fromRect.cy) * progress) - scrollable.scrollTop;
|
||||
var overEl = fromEl.ownerDocument.elementFromPoint(x, y);
|
||||
var dragInterval = setInterval(function loop() {
|
||||
var progress = (new Date().getTime() - startTime) / duration;
|
||||
var x = (fromRect.cx + (toRect.cx - fromRect.cx) * progress) - scrollable.scrollLeft;
|
||||
var y = (fromRect.cy + (toRect.cy - fromRect.cy) * progress) - scrollable.scrollTop;
|
||||
var overEl = fromEl.ownerDocument.elementFromPoint(x, y);
|
||||
|
||||
simulateEvent(overEl, 'mousemove', {
|
||||
clientX: x,
|
||||
clientY: y
|
||||
});
|
||||
simulateEvent(overEl, 'mousemove', {
|
||||
clientX: x,
|
||||
clientY: y
|
||||
});
|
||||
|
||||
if (progress >= 1) {
|
||||
options.ondragend && options.ondragend();
|
||||
simulateEvent(toEl, 'mouseup');
|
||||
clearInterval(dragInterval);
|
||||
window.SIMULATE_DRAG_ACTIVE = 0;
|
||||
}
|
||||
}, 100);
|
||||
if (progress >= 1) {
|
||||
options.ondragend && options.ondragend();
|
||||
simulateEvent(toEl, 'mouseup');
|
||||
clearInterval(dragInterval);
|
||||
window.SIMULATE_DRAG_ACTIVE = 0;
|
||||
}
|
||||
}, 100);
|
||||
|
||||
return {
|
||||
target: fromEl,
|
||||
fromList: fromEl.parentNode,
|
||||
toList: toEl.parentNode
|
||||
};
|
||||
}
|
||||
return {
|
||||
target: fromEl,
|
||||
fromList: fromEl.parentNode,
|
||||
toList: toEl.parentNode
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
// Export
|
||||
window.simulateEvent = simulateEvent;
|
||||
window.simulateDrag = simulateDrag;
|
||||
// Export
|
||||
window.simulateEvent = simulateEvent;
|
||||
window.simulateDrag = simulateDrag;
|
||||
})();
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable comma-dangle, object-shorthand, func-names, no-else-return, guard-for-in, no-restricted-syntax, one-var, indent, space-before-function-paren, no-lonely-if, no-continue, brace-style, max-len, quotes */
|
||||
/* eslint-disable comma-dangle, object-shorthand, func-names, no-else-return, guard-for-in, no-restricted-syntax, one-var, space-before-function-paren, no-lonely-if, no-continue, brace-style, max-len, quotes */
|
||||
/* global Vue */
|
||||
/* global DiscussionMixins */
|
||||
/* global CommentsStore */
|
||||
|
@ -46,13 +46,13 @@
|
|||
},
|
||||
methods: {
|
||||
jumpToNextUnresolvedDiscussion: function () {
|
||||
let discussionsSelector,
|
||||
discussionIdsInScope,
|
||||
firstUnresolvedDiscussionId,
|
||||
nextUnresolvedDiscussionId,
|
||||
activeTab = window.mrTabs.currentAction,
|
||||
hasDiscussionsToJumpTo = true,
|
||||
jumpToFirstDiscussion = !this.discussionId;
|
||||
let discussionsSelector;
|
||||
let discussionIdsInScope;
|
||||
let firstUnresolvedDiscussionId;
|
||||
let nextUnresolvedDiscussionId;
|
||||
let activeTab = window.mrTabs.currentAction;
|
||||
let hasDiscussionsToJumpTo = true;
|
||||
let jumpToFirstDiscussion = !this.discussionId;
|
||||
|
||||
const discussionIdsForElements = function(elements) {
|
||||
return elements.map(function() {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable class-methods-use-this, one-var, indent, camelcase, no-new, comma-dangle, no-param-reassign, max-len */
|
||||
/* eslint-disable class-methods-use-this, one-var, camelcase, no-new, comma-dangle, no-param-reassign, max-len */
|
||||
/* global Vue */
|
||||
/* global Flash */
|
||||
/* global CommentsStore */
|
||||
|
@ -32,8 +32,8 @@
|
|||
}
|
||||
|
||||
toggleResolveForDiscussion(projectPath, mergeRequestId, discussionId) {
|
||||
const discussion = CommentsStore.state[discussionId],
|
||||
isResolved = discussion.isResolved();
|
||||
const discussion = CommentsStore.state[discussionId];
|
||||
const isResolved = discussion.isResolved();
|
||||
let promise;
|
||||
|
||||
if (isResolved) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, no-template-curly-in-string, comma-dangle, object-shorthand, quotes, dot-notation, no-else-return, one-var, no-var, no-underscore-dangle, one-var-declaration-per-line, no-param-reassign, no-useless-escape, prefer-template, consistent-return, wrap-iife, prefer-arrow-callback, camelcase, no-unused-vars, no-useless-return, vars-on-top, indent, no-multi-spaces, max-len */
|
||||
/* eslint-disable func-names, space-before-function-paren, no-template-curly-in-string, comma-dangle, object-shorthand, quotes, dot-notation, no-else-return, one-var, no-var, no-underscore-dangle, one-var-declaration-per-line, no-param-reassign, no-useless-escape, prefer-template, consistent-return, wrap-iife, prefer-arrow-callback, camelcase, no-unused-vars, no-useless-return, vars-on-top, no-multi-spaces, max-len */
|
||||
|
||||
// Creates the variables for setting up GFM auto-completion
|
||||
(function() {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, no-var, prefer-arrow-callback, no-unused-vars, one-var, one-var-declaration-per-line, indent, vars-on-top, max-len */
|
||||
/* eslint-disable func-names, space-before-function-paren, no-var, prefer-arrow-callback, no-unused-vars, one-var, one-var-declaration-per-line, vars-on-top, max-len */
|
||||
|
||||
(function() {
|
||||
var hideEndFade;
|
||||
|
||||
|
@ -27,10 +28,10 @@
|
|||
});
|
||||
|
||||
$scrollingTabs.each(function () {
|
||||
var $this = $(this),
|
||||
scrollingTabWidth = $this.width(),
|
||||
$active = $this.find('.active'),
|
||||
activeWidth = $active.width();
|
||||
var $this = $(this);
|
||||
var scrollingTabWidth = $this.width();
|
||||
var $active = $this.find('.active');
|
||||
var activeWidth = $active.width();
|
||||
|
||||
if ($active.length) {
|
||||
var offset = $active.offset().left + activeWidth;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable no-restricted-properties, func-names, space-before-function-paren, no-var, space-before-blocks, prefer-rest-params, wrap-iife, no-use-before-define, camelcase, no-unused-expressions, quotes, max-len, one-var, one-var-declaration-per-line, default-case, prefer-template, consistent-return, no-alert, no-return-assign, no-param-reassign, prefer-arrow-callback, no-else-return, comma-dangle, no-new, brace-style, no-lonely-if, vars-on-top, no-unused-vars, indent, no-sequences, no-shadow, newline-per-chained-call, no-useless-escape, radix */
|
||||
/* eslint-disable no-restricted-properties, func-names, space-before-function-paren, no-var, space-before-blocks, prefer-rest-params, wrap-iife, no-use-before-define, camelcase, no-unused-expressions, quotes, max-len, one-var, one-var-declaration-per-line, default-case, prefer-template, consistent-return, no-alert, no-return-assign, no-param-reassign, prefer-arrow-callback, no-else-return, comma-dangle, no-new, brace-style, no-lonely-if, vars-on-top, no-unused-vars, no-sequences, no-shadow, newline-per-chained-call, no-useless-escape, radix */
|
||||
/* global Flash */
|
||||
/* global GLForm */
|
||||
/* global Autosave */
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, wrap-iife, no-var, quotes, consistent-return, no-new, prefer-arrow-callback, no-return-assign, one-var, one-var-declaration-per-line, object-shorthand, comma-dangle, no-else-return, newline-per-chained-call, no-shadow, vars-on-top, indent, prefer-template, max-len */
|
||||
/* eslint-disable func-names, space-before-function-paren, wrap-iife, no-var, quotes, consistent-return, no-new, prefer-arrow-callback, no-return-assign, one-var, one-var-declaration-per-line, object-shorthand, comma-dangle, no-else-return, newline-per-chained-call, no-shadow, vars-on-top, prefer-template, max-len */
|
||||
/* global Cookies */
|
||||
/* global Turbolinks */
|
||||
/* global ProjectSelect */
|
||||
|
@ -96,9 +96,9 @@
|
|||
clicked: function(selected, $el, e) {
|
||||
e.preventDefault();
|
||||
if ($('input[name="ref"]').length) {
|
||||
var $form = $dropdown.closest('form'),
|
||||
action = $form.attr('action'),
|
||||
divider = action.indexOf('?') < 0 ? '?' : '&';
|
||||
var $form = $dropdown.closest('form');
|
||||
var action = $form.attr('action');
|
||||
var divider = action.indexOf('?') < 0 ? '?' : '&';
|
||||
Turbolinks.visit(action + '' + divider + '' + $form.serialize());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
/* eslint-disable func-names, space-before-function-paren, no-var, space-before-blocks, prefer-rest-params, wrap-iife, no-unused-vars, one-var, indent, no-underscore-dangle, prefer-template, no-else-return, prefer-arrow-callback, radix, max-len */
|
||||
/* eslint-disable func-names, space-before-function-paren, no-var, space-before-blocks, prefer-rest-params, wrap-iife, no-unused-vars, one-var, no-underscore-dangle, prefer-template, no-else-return, prefer-arrow-callback, radix, max-len */
|
||||
|
||||
(function() {
|
||||
var bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
||||
|
||||
|
@ -23,9 +24,10 @@
|
|||
var self = this;
|
||||
|
||||
this.$selects.each(function () {
|
||||
var $select = $(this),
|
||||
className = $select.data('field').replace(/_/g, '-')
|
||||
.replace('access-level', 'feature');
|
||||
var $select = $(this);
|
||||
var className = $select.data('field')
|
||||
.replace(/_/g, '-')
|
||||
.replace('access-level', 'feature');
|
||||
self._showOrHide($select, '.' + className);
|
||||
});
|
||||
};
|
||||
|
@ -45,9 +47,9 @@
|
|||
};
|
||||
|
||||
ProjectNew.prototype.toggleRepoVisibility = function () {
|
||||
var $repoAccessLevel = $('.js-repo-access-level select'),
|
||||
containerRegistry = document.querySelectorAll('.js-container-registry')[0],
|
||||
containerRegistryCheckbox = document.getElementById('project_container_registry_enabled');
|
||||
var $repoAccessLevel = $('.js-repo-access-level select');
|
||||
var containerRegistry = document.querySelectorAll('.js-container-registry')[0];
|
||||
var containerRegistryCheckbox = document.getElementById('project_container_registry_enabled');
|
||||
|
||||
this.$repoSelects.find("option[value='" + $repoAccessLevel.val() + "']")
|
||||
.nextAll()
|
||||
|
@ -58,8 +60,8 @@
|
|||
var selectedVal = parseInt($repoAccessLevel.val());
|
||||
|
||||
this.$repoSelects.each(function () {
|
||||
var $this = $(this),
|
||||
repoSelectVal = parseInt($this.val());
|
||||
var $this = $(this);
|
||||
var repoSelectVal = parseInt($this.val());
|
||||
|
||||
$this.find('option').show();
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable comma-dangle, no-return-assign, one-var, no-var, no-underscore-dangle, one-var-declaration-per-line, no-unused-vars, no-cond-assign, consistent-return, object-shorthand, prefer-arrow-callback, func-names, space-before-function-paren, prefer-template, quotes, class-methods-use-this, no-unused-expressions, no-sequences, wrap-iife, no-lonely-if, no-else-return, no-param-reassign, vars-on-top, indent, max-len */
|
||||
/* eslint-disable comma-dangle, no-return-assign, one-var, no-var, no-underscore-dangle, one-var-declaration-per-line, no-unused-vars, no-cond-assign, consistent-return, object-shorthand, prefer-arrow-callback, func-names, space-before-function-paren, prefer-template, quotes, class-methods-use-this, no-unused-expressions, no-sequences, wrap-iife, no-lonely-if, no-else-return, no-param-reassign, vars-on-top, max-len */
|
||||
|
||||
((global) => {
|
||||
const KEYCODE = {
|
||||
|
@ -279,12 +279,12 @@
|
|||
return this.searchInput.val();
|
||||
}
|
||||
|
||||
onClearInputClick(e) {
|
||||
onClearInputClick(e) {
|
||||
e.preventDefault();
|
||||
return this.searchInput.val('').focus();
|
||||
}
|
||||
|
||||
onSearchInputBlur(e) {
|
||||
onSearchInputBlur(e) {
|
||||
this.isFocused = false;
|
||||
this.wrap.removeClass('search-active');
|
||||
// If input is blank then restore state
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable comma-dangle, one-var, no-unused-vars, indent */
|
||||
/* eslint-disable comma-dangle, one-var, no-unused-vars */
|
||||
/* global Vue */
|
||||
/* global BoardService */
|
||||
/* global boardsMockInterceptor */
|
||||
|
@ -146,8 +146,8 @@ describe('Store', () => {
|
|||
});
|
||||
|
||||
it('moves the position of lists', () => {
|
||||
const listOne = gl.issueBoards.BoardsStore.addList(listObj),
|
||||
listTwo = gl.issueBoards.BoardsStore.addList(listObjDuplicate);
|
||||
const listOne = gl.issueBoards.BoardsStore.addList(listObj);
|
||||
const listTwo = gl.issueBoards.BoardsStore.addList(listObjDuplicate);
|
||||
|
||||
expect(gl.issueBoards.BoardsStore.state.lists.length).toBe(2);
|
||||
|
||||
|
@ -157,8 +157,8 @@ describe('Store', () => {
|
|||
});
|
||||
|
||||
it('moves an issue from one list to another', (done) => {
|
||||
const listOne = gl.issueBoards.BoardsStore.addList(listObj),
|
||||
listTwo = gl.issueBoards.BoardsStore.addList(listObjDuplicate);
|
||||
const listOne = gl.issueBoards.BoardsStore.addList(listObj);
|
||||
const listTwo = gl.issueBoards.BoardsStore.addList(listObjDuplicate);
|
||||
|
||||
expect(gl.issueBoards.BoardsStore.state.lists.length).toBe(2);
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable space-before-function-paren, arrow-body-style, indent */
|
||||
/* eslint-disable space-before-function-paren, arrow-body-style */
|
||||
|
||||
//= require jquery
|
||||
//= require gl_field_errors
|
||||
|
@ -28,7 +28,7 @@
|
|||
expect(customErrorElem.length).toBe(1);
|
||||
|
||||
const customErrors = this.fieldErrors.state.inputs.filter((input) => {
|
||||
return input.inputElement.hasClass(customErrorFlag);
|
||||
return input.inputElement.hasClass(customErrorFlag);
|
||||
});
|
||||
expect(customErrors.length).toBe(0);
|
||||
});
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable quotes, indent, object-curly-spacing, jasmine/no-suite-dupes, vars-on-top, no-var, spaced-comment, max-len */
|
||||
/* eslint-disable quotes, object-curly-spacing, jasmine/no-suite-dupes, vars-on-top, no-var, spaced-comment, max-len */
|
||||
/* global d3 */
|
||||
/* global ContributorsGraph */
|
||||
/* global ContributorsMasterGraph */
|
||||
|
@ -8,10 +8,10 @@
|
|||
describe("ContributorsGraph", function () {
|
||||
describe("#set_x_domain", function () {
|
||||
it("set the x_domain", function () {
|
||||
ContributorsGraph.set_x_domain(20);
|
||||
expect(ContributorsGraph.prototype.x_domain).toEqual(20);
|
||||
});
|
||||
});
|
||||
ContributorsGraph.set_x_domain(20);
|
||||
expect(ContributorsGraph.prototype.x_domain).toEqual(20);
|
||||
});
|
||||
});
|
||||
|
||||
describe("#set_y_domain", function () {
|
||||
it("sets the y_domain", function () {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable quotes, no-var, camelcase, object-curly-spacing, indent, object-property-newline, comma-dangle, comma-spacing, spaced-comment, max-len, key-spacing, vars-on-top, quote-props, no-multi-spaces */
|
||||
/* eslint-disable quotes, no-var, camelcase, object-curly-spacing, object-property-newline, comma-dangle, comma-spacing, spaced-comment, max-len, key-spacing, vars-on-top, quote-props, no-multi-spaces */
|
||||
/* global ContributorsStatGraphUtil */
|
||||
|
||||
//= require graphs/stat_graph_contributors_util
|
||||
|
@ -18,14 +18,14 @@ describe("ContributorsStatGraphUtil", function () {
|
|||
{date: "2013-05-08", additions: 54, deletions: 7, commits: 3}],
|
||||
by_author:
|
||||
[
|
||||
{
|
||||
author_name: "Karlo Soriano", author_email: "karlo@email.com",
|
||||
"2013-05-09": {date: "2013-05-09", additions: 471, deletions: 0, commits: 1}
|
||||
},
|
||||
{
|
||||
author_name: "Dmitriy Zaporozhets",author_email: "dzaporozhets@email.com",
|
||||
"2013-05-08": {date: "2013-05-08", additions: 54, deletions: 7, commits: 3}
|
||||
}
|
||||
{
|
||||
author_name: "Karlo Soriano", author_email: "karlo@email.com",
|
||||
"2013-05-09": {date: "2013-05-09", additions: 471, deletions: 0, commits: 1}
|
||||
},
|
||||
{
|
||||
author_name: "Dmitriy Zaporozhets",author_email: "dzaporozhets@email.com",
|
||||
"2013-05-08": {date: "2013-05-08", additions: 54, deletions: 7, commits: 3}
|
||||
}
|
||||
]
|
||||
};
|
||||
expect(ContributorsStatGraphUtil.parse_log(fake_log)).toEqual(correct_parsed_log);
|
||||
|
@ -129,18 +129,21 @@ describe("ContributorsStatGraphUtil", function () {
|
|||
describe("#get_total_data", function () {
|
||||
it("returns the collection sorted via specified field", function () {
|
||||
var fake_parsed_log = {
|
||||
total: [{date: "2013-05-09", additions: 471, deletions: 0, commits: 1},
|
||||
{date: "2013-05-08", additions: 54, deletions: 7, commits: 3}],
|
||||
by_author:[
|
||||
{
|
||||
author: "Karlo Soriano",
|
||||
"2013-05-09": {date: "2013-05-09", additions: 471, deletions: 0, commits: 1}
|
||||
},
|
||||
{
|
||||
author: "Dmitriy Zaporozhets",
|
||||
"2013-05-08": {date: "2013-05-08", additions: 54, deletions: 7, commits: 3}
|
||||
}
|
||||
]};
|
||||
total: [
|
||||
{date: "2013-05-09", additions: 471, deletions: 0, commits: 1},
|
||||
{date: "2013-05-08", additions: 54, deletions: 7, commits: 3}
|
||||
],
|
||||
by_author:[
|
||||
{
|
||||
author: "Karlo Soriano",
|
||||
"2013-05-09": {date: "2013-05-09", additions: 471, deletions: 0, commits: 1}
|
||||
},
|
||||
{
|
||||
author: "Dmitriy Zaporozhets",
|
||||
"2013-05-08": {date: "2013-05-08", additions: 54, deletions: 7, commits: 3}
|
||||
}
|
||||
]
|
||||
};
|
||||
var correct_total_data = [{date: "2013-05-08", commits: 3},
|
||||
{date: "2013-05-09", commits: 1}];
|
||||
expect(ContributorsStatGraphUtil.get_total_data(fake_parsed_log, "commits")).toEqual(correct_total_data);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable space-before-function-paren, no-var, one-var, one-var-declaration-per-line, no-use-before-define, indent, comma-dangle, max-len */
|
||||
/* eslint-disable space-before-function-paren, no-var, one-var, one-var-declaration-per-line, no-use-before-define, comma-dangle, max-len */
|
||||
/* global Issue */
|
||||
|
||||
/*= require lib/utils/text_utility */
|
||||
|
@ -42,21 +42,21 @@
|
|||
}
|
||||
|
||||
function findElements() {
|
||||
$boxClosed = $('div.status-box-closed');
|
||||
expect($boxClosed).toExist();
|
||||
expect($boxClosed).toHaveText('Closed');
|
||||
$boxClosed = $('div.status-box-closed');
|
||||
expect($boxClosed).toExist();
|
||||
expect($boxClosed).toHaveText('Closed');
|
||||
|
||||
$boxOpen = $('div.status-box-open');
|
||||
expect($boxOpen).toExist();
|
||||
expect($boxOpen).toHaveText('Open');
|
||||
$boxOpen = $('div.status-box-open');
|
||||
expect($boxOpen).toExist();
|
||||
expect($boxOpen).toHaveText('Open');
|
||||
|
||||
$btnClose = $('.btn-close.btn-grouped');
|
||||
expect($btnClose).toExist();
|
||||
expect($btnClose).toHaveText('Close issue');
|
||||
$btnClose = $('.btn-close.btn-grouped');
|
||||
expect($btnClose).toExist();
|
||||
expect($btnClose).toHaveText('Close issue');
|
||||
|
||||
$btnReopen = $('.btn-reopen.btn-grouped');
|
||||
expect($btnReopen).toExist();
|
||||
expect($btnReopen).toHaveText('Reopen issue');
|
||||
$btnReopen = $('.btn-reopen.btn-grouped');
|
||||
expect($btnReopen).toExist();
|
||||
expect($btnReopen).toHaveText('Reopen issue');
|
||||
}
|
||||
|
||||
describe('Issue', function() {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* eslint-disable space-before-function-paren, quotes, comma-dangle, dot-notation, indent, quote-props, no-var, max-len */
|
||||
/* eslint-disable space-before-function-paren, quotes, comma-dangle, dot-notation, quote-props, no-var, max-len */
|
||||
|
||||
/*= require merge_request_widget */
|
||||
/*= require lib/utils/datetime_utility */
|
||||
|
@ -42,17 +42,17 @@
|
|||
});
|
||||
|
||||
it('should call renderEnvironments when the environments property is set', function() {
|
||||
const spy = spyOn(this.class, 'renderEnvironments').and.stub();
|
||||
this.class.getCIEnvironmentsStatus();
|
||||
expect(spy).toHaveBeenCalledWith(this.ciEnvironmentsStatusData);
|
||||
});
|
||||
const spy = spyOn(this.class, 'renderEnvironments').and.stub();
|
||||
this.class.getCIEnvironmentsStatus();
|
||||
expect(spy).toHaveBeenCalledWith(this.ciEnvironmentsStatusData);
|
||||
});
|
||||
|
||||
it('should not call renderEnvironments when the environments property is not set', function() {
|
||||
this.ciEnvironmentsStatusData = null;
|
||||
const spy = spyOn(this.class, 'renderEnvironments').and.stub();
|
||||
this.class.getCIEnvironmentsStatus();
|
||||
expect(spy).not.toHaveBeenCalled();
|
||||
});
|
||||
it('should not call renderEnvironments when the environments property is not set', function() {
|
||||
this.ciEnvironmentsStatusData = null;
|
||||
const spy = spyOn(this.class, 'renderEnvironments').and.stub();
|
||||
this.class.getCIEnvironmentsStatus();
|
||||
expect(spy).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
describe('renderEnvironments', function() {
|
||||
|
@ -107,16 +107,16 @@
|
|||
});
|
||||
|
||||
describe('mergeInProgress', function() {
|
||||
it('should display error with h4 tag', function() {
|
||||
spyOn(this.class.$widgetBody, 'html').and.callFake(function(html) {
|
||||
expect(html).toBe('<h4>Sorry, something went wrong.</h4>');
|
||||
});
|
||||
spyOn($, 'ajax').and.callFake(function(e) {
|
||||
e.success({ merge_error: 'Sorry, something went wrong.' });
|
||||
});
|
||||
this.class.mergeInProgress(null);
|
||||
it('should display error with h4 tag', function() {
|
||||
spyOn(this.class.$widgetBody, 'html').and.callFake(function(html) {
|
||||
expect(html).toBe('<h4>Sorry, something went wrong.</h4>');
|
||||
});
|
||||
spyOn($, 'ajax').and.callFake(function(e) {
|
||||
e.success({ merge_error: 'Sorry, something went wrong.' });
|
||||
});
|
||||
this.class.mergeInProgress(null);
|
||||
});
|
||||
});
|
||||
|
||||
return describe('getCIStatus', function() {
|
||||
beforeEach(function() {
|
||||
|
|
Loading…
Reference in a new issue