Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
96931b17
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
96931b17
编写于
1月 11, 2017
作者:
M
Mike Greiling
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
resolve all indent eslint violations
上级
b857b21f
变更
21
隐藏空白更改
内联
并排
Showing
21 changed file
with
331 addition
and
326 deletion
+331
-326
app/assets/javascripts/api.js
app/assets/javascripts/api.js
+4
-4
app/assets/javascripts/blob/template_selector.js.es6
app/assets/javascripts/blob/template_selector.js.es6
+82
-82
app/assets/javascripts/boards/boards_bundle.js.es6
app/assets/javascripts/boards/boards_bundle.js.es6
+3
-3
app/assets/javascripts/boards/components/board.js.es6
app/assets/javascripts/boards/components/board.js.es6
+3
-3
app/assets/javascripts/boards/components/new_list_dropdown.js.es6
...ts/javascripts/boards/components/new_list_dropdown.js.es6
+12
-12
app/assets/javascripts/boards/stores/boards_store.js.es6
app/assets/javascripts/boards/stores/boards_store.js.es6
+6
-6
app/assets/javascripts/boards/test_utils/simulate_drag.js
app/assets/javascripts/boards/test_utils/simulate_drag.js
+115
-116
app/assets/javascripts/diff_notes/components/jump_to_discussion.js.es6
...vascripts/diff_notes/components/jump_to_discussion.js.es6
+8
-8
app/assets/javascripts/diff_notes/services/resolve.js.es6
app/assets/javascripts/diff_notes/services/resolve.js.es6
+3
-3
app/assets/javascripts/gfm_auto_complete.js.es6
app/assets/javascripts/gfm_auto_complete.js.es6
+1
-1
app/assets/javascripts/layout_nav.js
app/assets/javascripts/layout_nav.js
+6
-5
app/assets/javascripts/notes.js
app/assets/javascripts/notes.js
+1
-1
app/assets/javascripts/project.js
app/assets/javascripts/project.js
+4
-4
app/assets/javascripts/project_new.js
app/assets/javascripts/project_new.js
+11
-9
app/assets/javascripts/search_autocomplete.js.es6
app/assets/javascripts/search_autocomplete.js.es6
+3
-3
spec/javascripts/boards/boards_store_spec.js.es6
spec/javascripts/boards/boards_store_spec.js.es6
+5
-5
spec/javascripts/gl_field_errors_spec.js.es6
spec/javascripts/gl_field_errors_spec.js.es6
+2
-2
spec/javascripts/graphs/stat_graph_contributors_graph_spec.js
.../javascripts/graphs/stat_graph_contributors_graph_spec.js
+5
-5
spec/javascripts/graphs/stat_graph_contributors_util_spec.js
spec/javascripts/graphs/stat_graph_contributors_util_spec.js
+24
-21
spec/javascripts/issue_spec.js
spec/javascripts/issue_spec.js
+13
-13
spec/javascripts/merge_request_widget_spec.js
spec/javascripts/merge_request_widget_spec.js
+20
-20
未找到文件。
app/assets/javascripts/api.js
浏览文件 @
96931b17
/* 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
);
...
...
app/assets/javascripts/blob/template_selector.js.es6
浏览文件 @
96931b17
/* 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;
}
});
}
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());
}
bindEvents() {
return this.$input.on('keyup blur', (e) => this.onFilenameUpdate());
}
toggleLabel(item) {
return item.name;
}
toggleLabel(item) {
return item.name;
}
onFilenameUpdate() {
var filenameMatches;
if (!this.$input.length) {
return;
}
filenameMatches = this.pattern.test(this.$input.val().trim());
if (!filenameMatches) {
this.wrapper.addClass('hidden');
return;
}
return this.wrapper.removeClass('hidden');
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');
if (this.editor instanceof jQuery) {
this.editor.get(0).dispatchEvent(this.autosizeUpdateEvent);
}
}
stopLoadingSpinner() {
this.dropdownIcon
.addClass('fa-chevron-down')
.removeClass('fa-spinner fa-spin');
}
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 = {}));
global.TemplateSelector = TemplateSelector;
})(window.gl || ( window.gl = {}));
app/assets/javascripts/boards/boards_bundle.js.es6
浏览文件 @
96931b17
/* 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 || {};
...
...
app/assets/javascripts/boards/components/board.js.es6
浏览文件 @
96931b17
/* 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);
...
...
app/assets/javascripts/boards/components/new_list_dropdown.js.es6
浏览文件 @
96931b17
/* 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));
},
...
...
app/assets/javascripts/boards/stores/boards_store.js.es6
浏览文件 @
96931b17
/* 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) {
...
...
app/assets/javascripts/boards/test_utils/simulate_drag.js
浏览文件 @
96931b17
/* 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
'
;
function
simulateEvent
(
el
,
type
,
options
)
{
var
event
;
if
(
!
el
)
return
;
var
ownerDocument
=
el
.
ownerDocument
;
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
'
);
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
:
{},
setData
:
function
(
type
,
val
)
{
this
.
data
[
type
]
=
val
;
},
getData
:
function
(
type
)
{
return
this
.
data
[
type
];
}
};
}
if
(
el
.
dispatchEvent
)
{
el
.
dispatchEvent
(
event
);
}
else
if
(
el
.
fireEvent
)
{
el
.
fireEvent
(
'
on
'
+
type
,
event
);
}
return
event
;
}
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
]
);
}
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
};
}
function
simulateDrag
(
options
,
callback
)
{
options
.
to
.
el
=
options
.
to
.
el
||
options
.
from
.
el
;
var
fromEl
=
getTraget
(
options
.
from
);
var
toEl
=
getTraget
(
options
.
to
);
'
use strict
'
;
function
simulateEvent
(
el
,
type
,
options
)
{
var
event
;
if
(
!
el
)
return
;
var
ownerDocument
=
el
.
ownerDocument
;
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
'
);
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
:
{},
setData
:
function
(
type
,
val
)
{
this
.
data
[
type
]
=
val
;
},
getData
:
function
(
type
)
{
return
this
.
data
[
type
];
}
};
}
if
(
el
.
dispatchEvent
)
{
el
.
dispatchEvent
(
event
);
}
else
if
(
el
.
fireEvent
)
{
el
.
fireEvent
(
'
on
'
+
type
,
event
);
}
return
event
;
}
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
]
);
}
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
};
}
function
simulateDrag
(
options
,
callback
)
{
options
.
to
.
el
=
options
.
to
.
el
||
options
.
from
.
el
;
var
fromEl
=
getTraget
(
options
.
from
);
var
toEl
=
getTraget
(
options
.
to
);
var
scrollable
=
options
.
scrollable
;
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
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
});
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
};
}
// Export
window
.
simulateEvent
=
simulateEvent
;
window
.
simulateDrag
=
simulateDrag
;
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
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
});
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
};
}
// Export
window
.
simulateEvent
=
simulateEvent
;
window
.
simulateDrag
=
simulateDrag
;
})();
app/assets/javascripts/diff_notes/components/jump_to_discussion.js.es6
浏览文件 @
96931b17
/* 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() {
...
...
app/assets/javascripts/diff_notes/services/resolve.js.es6
浏览文件 @
96931b17
/* 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) {
...
...
app/assets/javascripts/gfm_auto_complete.js.es6
浏览文件 @
96931b17
/* 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() {
...
...
app/assets/javascripts/layout_nav.js
浏览文件 @
96931b17
/* 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
;
...
...
app/assets/javascripts/notes.js
浏览文件 @
96931b17
/* 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 */
...
...
app/assets/javascripts/project.js
浏览文件 @
96931b17
/* 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
());
}
}
...
...
app/assets/javascripts/project_new.js
浏览文件 @
96931b17
/* 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
();
...
...
app/assets/javascripts/search_autocomplete.js.es6
浏览文件 @
96931b17
/* 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
...
...
spec/javascripts/boards/boards_store_spec.js.es6
浏览文件 @
96931b17
/* 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);
...
...
spec/javascripts/gl_field_errors_spec.js.es6
浏览文件 @
96931b17
/* 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);
});
...
...
spec/javascripts/graphs/stat_graph_contributors_graph_spec.js
浏览文件 @
96931b17
/* 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
()
{
...
...
spec/javascripts/graphs/stat_graph_contributors_util_spec.js
浏览文件 @
96931b17
/* 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
);
...
...
spec/javascripts/issue_spec.js
浏览文件 @
96931b17
/* 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
()
{
...
...
spec/javascripts/merge_request_widget_spec.js
浏览文件 @
96931b17
/* 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
);
});
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
();
});
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
();
});
});
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
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录