BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
eaf2f48d
Unverified
Commit
eaf2f48d
authored
Dec 15, 2017
by
Phil Hughes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Export and use Notes ES module
parent
d2f313dc
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
25 additions
and
24 deletions
+25
-24
diff_note_avatars.js
...ts/javascripts/diff_notes/components/diff_note_avatars.js
+2
-2
init_notes.js
app/assets/javascripts/init_notes.js
+4
-2
main.js
app/assets/javascripts/main.js
+0
-2
merge_request_tabs.js
app/assets/javascripts/merge_request_tabs.js
+2
-2
notes.js
app/assets/javascripts/notes.js
+6
-0
merge_request_notes_spec.js
spec/javascripts/merge_request_notes_spec.js
+1
-3
merge_request_tabs_spec.js
spec/javascripts/merge_request_tabs_spec.js
+9
-10
notes_spec.js
spec/javascripts/notes_spec.js
+1
-3
No files found.
app/assets/javascripts/diff_notes/components/diff_note_avatars.js
View file @
eaf2f48d
/* global CommentsStore */
/* global notes */
import
Vue
from
'vue'
;
import
collapseIcon
from
'../icons/collapse_icon.svg'
;
import
Notes
from
'../../notes'
;
import
userAvatarImage
from
'../../vue_shared/components/user_avatar/user_avatar_image.vue'
;
const
DiffNoteAvatars
=
Vue
.
extend
({
...
...
@@ -129,7 +129,7 @@ const DiffNoteAvatars = Vue.extend({
},
methods
:
{
clickedAvatar
(
e
)
{
notes
.
onAddDiffNote
(
e
);
Notes
.
instance
.
onAddDiffNote
(
e
);
// Toggle the active state of the toggle all button
this
.
toggleDiscussionsToggleState
();
...
...
app/assets/javascripts/init_notes.js
View file @
eaf2f48d
/* global Notes */
import
Notes
from
'./notes'
;
export
default
()
=>
{
const
dataEl
=
document
.
querySelector
(
'.js-notes-data'
);
...
...
@@ -10,5 +10,7 @@ export default () => {
autocomplete
,
}
=
JSON
.
parse
(
dataEl
.
innerHTML
);
window
.
notes
=
new
Notes
(
notesUrl
,
notesIds
,
now
,
diffView
,
autocomplete
);
// Create a singleton so that we don't need to assign
// into the window object, we can just access the current isntance with Notes.instance
Notes
.
initialize
(
notesUrl
,
notesIds
,
now
,
diffView
,
autocomplete
);
};
app/assets/javascripts/main.js
View file @
eaf2f48d
...
...
@@ -46,9 +46,7 @@ import LazyLoader from './lazy_loader';
import
'./line_highlighter'
;
import
initLogoAnimation
from
'./logo'
;
import
'./merge_request'
;
import
'./merge_request_tabs'
;
import
'./milestone_select'
;
import
'./notes'
;
import
'./preview_markdown'
;
import
'./projects_dropdown'
;
import
'./render_gfm'
;
...
...
app/assets/javascripts/merge_request_tabs.js
View file @
eaf2f48d
/* eslint-disable no-new, class-methods-use-this */
/* global notes */
import
Cookies
from
'js-cookie'
;
import
Flash
from
'./flash'
;
...
...
@@ -16,6 +15,7 @@ import initDiscussionTab from './image_diff/init_discussion_tab';
import
Diff
from
'./diff'
;
import
{
localTimeAgo
}
from
'./lib/utils/datetime_utility'
;
import
syntaxHighlight
from
'./syntax_highlight'
;
import
Notes
from
'./notes'
;
/* eslint-disable max-len */
// MergeRequestTabs
...
...
@@ -324,7 +324,7 @@ export default class MergeRequestTabs {
if
(
anchor
&&
anchor
.
length
>
0
)
{
const
notesContent
=
anchor
.
closest
(
'.notes_content'
);
const
lineType
=
notesContent
.
hasClass
(
'new'
)
?
'new'
:
'old'
;
notes
.
toggleDiffNote
({
Notes
.
instance
.
toggleDiffNote
({
target
:
anchor
,
lineType
,
forceShow
:
true
,
...
...
app/assets/javascripts/notes.js
View file @
eaf2f48d
...
...
@@ -37,6 +37,12 @@ const MAX_VISIBLE_COMMIT_LIST_COUNT = 3;
const
REGEX_QUICK_ACTIONS
=
/^
\/\w
+.*$/gm
;
export
default
class
Notes
{
static
initialize
(
notes_url
,
note_ids
,
last_fetched_at
,
view
,
enableGFM
=
true
)
{
if
(
!
this
.
instance
)
{
this
.
instance
=
new
Notes
(
notes_url
,
note_ids
,
last_fetched_at
,
view
,
enableGFM
);
}
}
constructor
(
notes_url
,
note_ids
,
last_fetched_at
,
view
,
enableGFM
=
true
)
{
this
.
updateTargetButtons
=
this
.
updateTargetButtons
.
bind
(
this
);
this
.
updateComment
=
this
.
updateComment
.
bind
(
this
);
...
...
spec/javascripts/merge_request_notes_spec.js
View file @
eaf2f48d
/* global Notes */
import
'autosize'
;
import
'~/gl_form'
;
import
'~/lib/utils/text_utility'
;
import
'~/render_gfm'
;
import
'~/render_math'
;
import
'~/notes'
;
import
Notes
from
'~/notes'
;
const
upArrowKeyCode
=
38
;
...
...
spec/javascripts/merge_request_tabs_spec.js
View file @
eaf2f48d
/* eslint-disable no-var, comma-dangle, object-shorthand */
/* global Notes */
import
*
as
urlUtils
from
'~/lib/utils/url_utility'
;
import
MergeRequestTabs
from
'~/merge_request_tabs'
;
...
...
@@ -7,7 +6,7 @@ import '~/commit/pipelines/pipelines_bundle';
import
'~/breakpoints'
;
import
'~/lib/utils/common_utils'
;
import
Diff
from
'~/diff'
;
import
'~/notes'
;
import
Notes
from
'~/notes'
;
import
'vendor/jquery.scrollTo'
;
(
function
()
{
...
...
@@ -279,8 +278,8 @@ import 'vendor/jquery.scrollTo';
loadFixtures
(
'merge_requests/diff_comment.html.raw'
);
$
(
'body'
).
attr
(
'data-page'
,
'projects:merge_requests:show'
);
window
.
gl
.
ImageFile
=
()
=>
{};
window
.
notes
=
new
Notes
(
''
,
[]);
spyOn
(
window
.
notes
,
'toggleDiffNote'
).
and
.
callThrough
();
Notes
.
initialize
(
''
,
[]);
spyOn
(
Notes
.
instance
,
'toggleDiffNote'
).
and
.
callThrough
();
});
afterEach
(()
=>
{
...
...
@@ -338,7 +337,7 @@ import 'vendor/jquery.scrollTo';
this
.
class
.
loadDiff
(
'/foo/bar/merge_requests/1/diffs'
);
expect
(
noteId
.
length
).
toBeGreaterThan
(
0
);
expect
(
window
.
notes
.
toggleDiffNote
).
toHaveBeenCalledWith
({
expect
(
Notes
.
instance
.
toggleDiffNote
).
toHaveBeenCalledWith
({
target
:
jasmine
.
any
(
Object
),
lineType
:
'old'
,
forceShow
:
true
,
...
...
@@ -349,7 +348,7 @@ import 'vendor/jquery.scrollTo';
spyOn
(
urlUtils
,
'getLocationHash'
).
and
.
returnValue
(
'note_something-that-does-not-exist'
);
this
.
class
.
loadDiff
(
'/foo/bar/merge_requests/1/diffs'
);
expect
(
window
.
notes
.
toggleDiffNote
).
not
.
toHaveBeenCalled
();
expect
(
Notes
.
instance
.
toggleDiffNote
).
not
.
toHaveBeenCalled
();
});
});
...
...
@@ -359,7 +358,7 @@ import 'vendor/jquery.scrollTo';
this
.
class
.
loadDiff
(
'/foo/bar/merge_requests/1/diffs'
);
expect
(
noteLineNumId
.
length
).
toBeGreaterThan
(
0
);
expect
(
window
.
notes
.
toggleDiffNote
).
not
.
toHaveBeenCalled
();
expect
(
Notes
.
instance
.
toggleDiffNote
).
not
.
toHaveBeenCalled
();
});
});
});
...
...
@@ -393,7 +392,7 @@ import 'vendor/jquery.scrollTo';
this
.
class
.
loadDiff
(
'/foo/bar/merge_requests/1/diffs'
);
expect
(
noteId
.
length
).
toBeGreaterThan
(
0
);
expect
(
window
.
notes
.
toggleDiffNote
).
toHaveBeenCalledWith
({
expect
(
Notes
.
instance
.
toggleDiffNote
).
toHaveBeenCalledWith
({
target
:
jasmine
.
any
(
Object
),
lineType
:
'new'
,
forceShow
:
true
,
...
...
@@ -404,7 +403,7 @@ import 'vendor/jquery.scrollTo';
spyOn
(
urlUtils
,
'getLocationHash'
).
and
.
returnValue
(
'note_something-that-does-not-exist'
);
this
.
class
.
loadDiff
(
'/foo/bar/merge_requests/1/diffs'
);
expect
(
window
.
notes
.
toggleDiffNote
).
not
.
toHaveBeenCalled
();
expect
(
Notes
.
instance
.
toggleDiffNote
).
not
.
toHaveBeenCalled
();
});
});
...
...
@@ -414,7 +413,7 @@ import 'vendor/jquery.scrollTo';
this
.
class
.
loadDiff
(
'/foo/bar/merge_requests/1/diffs'
);
expect
(
noteLineNumId
.
length
).
toBeGreaterThan
(
0
);
expect
(
window
.
notes
.
toggleDiffNote
).
not
.
toHaveBeenCalled
();
expect
(
Notes
.
instance
.
toggleDiffNote
).
not
.
toHaveBeenCalled
();
});
});
});
...
...
spec/javascripts/notes_spec.js
View file @
eaf2f48d
/* eslint-disable space-before-function-paren, no-unused-expressions, no-var, object-shorthand, comma-dangle, max-len */
/* global Notes */
import
*
as
urlUtils
from
'~/lib/utils/url_utility'
;
import
'autosize'
;
import
'~/gl_form'
;
import
'~/lib/utils/text_utility'
;
import
'~/render_gfm'
;
import
'~/notes'
;
import
Notes
from
'~/notes'
;
(
function
()
{
window
.
gon
||
(
window
.
gon
=
{});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment