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
bd60a4ed
Commit
bd60a4ed
authored
Oct 30, 2012
by
Riyad Preukschas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make notes JS know which notes are new in a request
parent
ae067ee3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
32 additions
and
22 deletions
+32
-22
array.js
app/assets/javascripts/extensions/array.js
+8
-0
notes.js
app/assets/javascripts/notes.js
+20
-19
index.js.haml
app/views/notes/index.js.haml
+4
-3
No files found.
app/assets/javascripts/extensions/array.js
0 → 100644
View file @
bd60a4ed
Array
.
prototype
.
first
=
function
()
{
return
this
[
0
];
}
Array
.
prototype
.
last
=
function
()
{
return
this
[
this
.
length
-
1
];
}
\ No newline at end of file
app/assets/javascripts/notes.js
View file @
bd60a4ed
...
...
@@ -89,12 +89,12 @@ var NoteList = {
getContent
:
function
()
{
$
.
ajax
({
type
:
"GET"
,
url
:
this
.
notes_path
,
data
:
this
.
target_params
,
complete
:
function
(){
$
(
'.notes-status'
).
removeClass
(
"loading"
)
},
beforeSend
:
function
()
{
$
(
'.notes-status'
).
addClass
(
"loading"
)
},
dataType
:
"script"
});
url
:
this
.
notes_path
,
data
:
this
.
target_params
,
complete
:
function
(){
$
(
'.notes-status'
).
removeClass
(
"loading"
)}
,
beforeSend
:
function
()
{
$
(
'.notes-status'
).
addClass
(
"loading"
)
},
dataType
:
"script"
});
},
/**
...
...
@@ -102,9 +102,9 @@ var NoteList = {
* Replaces the content of #notes-list with the given html.
*/
setContent
:
function
(
first_id
,
last_id
,
html
)
{
this
.
top_id
=
first_id
;
this
.
bottom_id
=
last_id
;
function
(
newNoteIds
,
html
)
{
this
.
top_id
=
newNoteIds
.
first
()
;
this
.
bottom_id
=
newNoteIds
.
last
()
;
$
(
"#notes-list"
).
html
(
html
);
// init infinite scrolling
...
...
@@ -151,12 +151,12 @@ var NoteList = {
// only load more notes if there are no "new" notes
$
(
'.loading'
).
show
();
$
.
ajax
({
type
:
"GET"
,
url
:
this
.
notes_path
,
data
:
this
.
target_params
+
"&loading_more=1&"
+
(
this
.
reversed
?
"before_id"
:
"after_id"
)
+
"="
+
this
.
bottom_id
,
complete
:
function
(){
$
(
'.notes-status'
).
removeClass
(
"loading"
)},
beforeSend
:
function
()
{
$
(
'.notes-status'
).
addClass
(
"loading"
)
},
dataType
:
"script"
});
dataType
:
"script"
});
},
/**
...
...
@@ -164,9 +164,10 @@ var NoteList = {
* Append notes to #notes-list.
*/
appendMoreNotes
:
function
(
id
,
html
)
{
if
(
id
!=
this
.
bottom_id
)
{
this
.
bottom_id
=
id
;
function
(
newNoteIds
,
html
)
{
var
lastNewNoteId
=
newNoteIds
.
last
();
if
(
lastNewNoteId
!=
this
.
bottom_id
)
{
this
.
bottom_id
=
lastNewNoteId
;
$
(
"#notes-list"
).
append
(
html
);
}
},
...
...
@@ -212,10 +213,10 @@ var NoteList = {
getNew
:
function
()
{
$
.
ajax
({
type
:
"GET"
,
url
:
this
.
notes_path
,
data
:
this
.
target_params
+
"&loading_new=1&after_id="
+
(
this
.
reversed
?
this
.
top_id
:
this
.
bottom_id
),
dataType
:
"script"
});
url
:
this
.
notes_path
,
data
:
this
.
target_params
+
"&loading_new=1&after_id="
+
(
this
.
reversed
?
this
.
top_id
:
this
.
bottom_id
)
,
dataType
:
"script"
});
},
/**
...
...
@@ -223,7 +224,7 @@ var NoteList = {
* Replaces the content of #new-notes-list with the given html.
*/
replaceNewNotes
:
function
(
html
)
{
function
(
newNoteIds
,
html
)
{
$
(
"#new-notes-list"
).
html
(
html
);
this
.
updateVotes
();
},
...
...
app/views/notes/index.js.haml
View file @
bd60a4ed
-
unless
@notes
.
blank?
-
new_note_ids
=
@notes
.
map
(
&
:id
)
-
if
loading_more_notes?
:plain
NoteList.appendMoreNotes(
#{
@notes
.
last
.
id
}
, "
#{
escape_javascript
(
render
'notes/notes'
)
}
");
NoteList.appendMoreNotes(
#{
new_note_ids
}
, "
#{
escape_javascript
(
render
'notes/notes'
)
}
");
-
elsif
loading_new_notes?
:plain
NoteList.replaceNewNotes("
#{
escape_javascript
(
render
'notes/notes'
)
}
");
NoteList.replaceNewNotes(
#{
new_note_ids
}
,
"
#{
escape_javascript
(
render
'notes/notes'
)
}
");
-
else
:plain
NoteList.setContent(
#{
@notes
.
first
.
id
}
,
#{
@notes
.
last
.
id
}
, "
#{
escape_javascript
(
render
'notes/notes'
)
}
");
NoteList.setContent(
#{
new_note_ids
}
, "
#{
escape_javascript
(
render
'notes/notes'
)
}
");
-
else
-
if
loading_more_notes?
...
...
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