Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
16459fdd
Commit
16459fdd
authored
8 years ago
by
Alfredo Sumaran
Committed by
Jacob Schatz
8 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixes multiple ajax request and incorrect data being set for the current issuable
parent
ad48ecac
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
16 deletions
+47
-16
app/assets/javascripts/gfm_auto_complete.js.coffee
app/assets/javascripts/gfm_auto_complete.js.coffee
+47
-16
No files found.
app/assets/javascripts/gfm_auto_complete.js.coffee
View file @
16459fdd
...
...
@@ -2,6 +2,8 @@
window
.
GitLab
?=
{}
GitLab
.
GfmAutoComplete
=
dataLoading
:
false
dataSource
:
''
# Emoji
...
...
@@ -17,17 +19,41 @@ GitLab.GfmAutoComplete =
template
:
'<li><small>${id}</small> ${title}</li>'
# Add GFM auto-completion to all input fields, that accept GFM input.
setup
:
->
input
=
$
(
'.js-gfm-input'
)
setup
:
(
wrap
)
->
@
input
=
$
(
'.js-gfm-input'
)
# destroy previous instances
@
destroyAtWho
()
# set up instances
@
setupAtWho
()
if
@
dataSource
if
!
@
dataLoading
@
dataLoading
=
true
# We should wait until initializations are done
# and only trigger the last .setup since
# The previous .dataSource belongs to the previous issuable
# and the last one will have the **proper** .dataSource property
# TODO: Make this a singleton and turn off events when moving to another page
setTimeout
(
=>
fetch
=
@
fetchData
(
@
dataSource
)
fetch
.
done
(
data
)
=>
@
dataLoading
=
false
@
loadData
(
data
)
,
1000
)
setupAtWho
:
->
# Emoji
input
.
atwho
@
input
.
atwho
at
:
':'
displayTpl
:
@
Emoji
.
template
insertTpl
:
':${name}:'
# Team Members
input
.
atwho
@
input
.
atwho
at
:
'@'
displayTpl
:
@
Members
.
template
insertTpl
:
'${atwho-at}${username}'
...
...
@@ -42,7 +68,7 @@ GitLab.GfmAutoComplete =
title
:
sanitize
(
title
)
search
:
sanitize
(
"
#{
m
.
username
}
#{
m
.
name
}
"
)
input
.
atwho
@
input
.
atwho
at
:
'#'
alias
:
'issues'
searchKey
:
'search'
...
...
@@ -55,7 +81,7 @@ GitLab.GfmAutoComplete =
title
:
sanitize
(
i
.
title
)
search
:
"
#{
i
.
iid
}
#{
i
.
title
}
"
input
.
atwho
@
input
.
atwho
at
:
'!'
alias
:
'mergerequests'
searchKey
:
'search'
...
...
@@ -68,13 +94,18 @@ GitLab.GfmAutoComplete =
title
:
sanitize
(
m
.
title
)
search
:
"
#{
m
.
iid
}
#{
m
.
title
}
"
if
@
dataSource
$
.
getJSON
(
@
dataSource
).
done
(
data
)
->
destroyAtWho
:
->
@
input
.
atwho
(
'destroy'
)
fetchData
:
(
dataSource
)
->
$
.
getJSON
(
dataSource
)
loadData
:
(
data
)
->
# load members
input
.
atwho
'load'
,
'@'
,
data
.
members
@
input
.
atwho
'load'
,
'@'
,
data
.
members
# load issues
input
.
atwho
'load'
,
'issues'
,
data
.
issues
@
input
.
atwho
'load'
,
'issues'
,
data
.
issues
# load merge requests
input
.
atwho
'load'
,
'mergerequests'
,
data
.
mergerequests
@
input
.
atwho
'load'
,
'mergerequests'
,
data
.
mergerequests
# load emojis
input
.
atwho
'load'
,
':'
,
data
.
emojis
@
input
.
atwho
'load'
,
':'
,
data
.
emojis
This diff is collapsed.
Click to expand it.
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