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
0
Merge Requests
0
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
Jérome Perrin
gitlab-ce
Commits
37e579ce
Commit
37e579ce
authored
Oct 09, 2012
by
Riyad Preukschas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Redo the auto-completion JS for notes
parent
3adfbe3e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
8 deletions
+42
-8
app/views/notes/_common_form.html.haml
app/views/notes/_common_form.html.haml
+42
-8
No files found.
app/views/notes/_common_form.html.haml
View file @
37e579ce
...
...
@@ -39,12 +39,46 @@
:javascript
$
(
function
(){
var
names
=
#{
@project
.
users
.
pluck
(
:name
)
}
,
emoji
=
[
'
+1
'
,
'
-1
'
];
var
emoji
=
$
.
map
(
emoji
,
function
(
value
,
i
)
{
return
{
key
:
value
+
'
:
'
,
name
:
value
}});
$
(
'
#note_note, .per_line_form .line-note-text
'
).
atWho
(
'
@
'
,
{
data
:
names
}).
atWho
(
'
:
'
,
{
data
:
emoji
,
tpl
:
"
<li data-value='${key}'>${name}
#{
escape_javascript
image_tag
(
'
emoji
/
$
{
name
}.
png
', :size => '
20
x20
'
)
}
</li>
"
});
// init auto-completion of team members
var
membersUrl
=
"
#{
root_url
}
/api/v2/projects/
#{
@project
.
code
}
/members
"
;
var
membersParams
=
{
private_token
:
"
#{
current_user
.
authentication_token
}
"
,
page
:
1
,
};
var
membersData
=
[];
$
(
'
.gfm-input
'
).
atWho
(
'
@
'
,
function
(
query
,
callback
)
{
(
function
getMoreMembers
()
{
$
.
getJSON
(
membersUrl
,
membersParams
).
success
(
function
(
members
)
{
// pick the data we need
var
newMembersData
=
$
.
map
(
members
,
function
(
member
)
{
return
member
.
name
});
// add the new page of data to the rest
$
.
merge
(
membersData
,
newMembersData
);
// show the pop-up with a copy of the current data
callback
(
membersData
.
slice
(
0
));
// are we past the last page?
if
(
newMembersData
.
length
==
0
)
{
// set static data and stop callbacks
$
(
'
.gfm-input
'
).
atWho
(
'
@
'
,
{
data
:
membersData
,
callback
:
null
});
}
else
{
// get next page
getMoreMembers
();
}
});
// next request will get the next page
membersParams
.
page
+=
1
;
})();
});
// init auto-completion of emoji
var
emoji
=
#{
emoji_for_completion
}
;
// convert the list so that the items have the right format for completion
emoji
=
$
.
map
(
emoji
,
function
(
value
)
{
return
{
key
:
value
+
'
:
'
,
name
:
value
}});
$
(
'
.gfm-input
'
).
atWho
(
'
:
'
,
{
data
:
emoji
,
tpl
:
"
<li data-value='${key}'>${name}
#{
escape_javascript
image_tag
(
'
emoji
/
$
{
name
}.
png
', :size => '
20
x20
'
)
}
</li>
"
});
});
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