Merge changeset <ol>s on Load more
This commit is contained in:
parent
3d0b94abda
commit
34a8d08209
2 changed files with 58 additions and 3 deletions
|
@ -43,6 +43,18 @@ OSM.History = function (map) {
|
||||||
$("#changeset_" + id).find("a.changeset_id").simulate("click", e);
|
$("#changeset_" + id).find("a.changeset_id").simulate("click", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function displayFirstChangesets(html) {
|
||||||
|
$("#sidebar_content .changesets").html(html);
|
||||||
|
}
|
||||||
|
|
||||||
|
function displayMoreChangesets(html) {
|
||||||
|
$("#sidebar_content .changeset_more").replaceWith(html);
|
||||||
|
var oldList = $("#sidebar_content .changesets ol").first();
|
||||||
|
var newList = oldList.next("ol");
|
||||||
|
newList.children().appendTo(oldList);
|
||||||
|
newList.remove();
|
||||||
|
}
|
||||||
|
|
||||||
function update() {
|
function update() {
|
||||||
var data = { list: "1" };
|
var data = { list: "1" };
|
||||||
|
|
||||||
|
@ -58,7 +70,7 @@ OSM.History = function (map) {
|
||||||
method: "GET",
|
method: "GET",
|
||||||
data: data,
|
data: data,
|
||||||
success: function (html) {
|
success: function (html) {
|
||||||
$("#sidebar_content .changesets").html(html);
|
displayFirstChangesets(html);
|
||||||
updateMap();
|
updateMap();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -73,8 +85,8 @@ OSM.History = function (map) {
|
||||||
$(this).hide();
|
$(this).hide();
|
||||||
div.find(".loader").show();
|
div.find(".loader").show();
|
||||||
|
|
||||||
$.get($(this).attr("href"), function (data) {
|
$.get($(this).attr("href"), function (html) {
|
||||||
div.replaceWith(data);
|
displayMoreChangesets(html);
|
||||||
updateMap();
|
updateMap();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
require "application_system_test_case"
|
require "application_system_test_case"
|
||||||
|
|
||||||
class HistoryTest < ApplicationSystemTestCase
|
class HistoryTest < ApplicationSystemTestCase
|
||||||
|
PAGE_SIZE = 20
|
||||||
|
|
||||||
test "atom link on user's history is not modified" do
|
test "atom link on user's history is not modified" do
|
||||||
user = create(:user)
|
user = create(:user)
|
||||||
create(:changeset, :user => user, :num_changes => 1) do |changeset|
|
create(:changeset, :user => user, :num_changes => 1) do |changeset|
|
||||||
|
@ -13,4 +15,45 @@ class HistoryTest < ApplicationSystemTestCase
|
||||||
|
|
||||||
assert_css "link[type='application/atom+xml'][href$='#{user_path(user)}/history/feed']", :visible => false
|
assert_css "link[type='application/atom+xml'][href$='#{user_path(user)}/history/feed']", :visible => false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "have only one list element on user's changesets page" do
|
||||||
|
user = create(:user)
|
||||||
|
create_visible_changeset(user, "first-changeset-in-history")
|
||||||
|
create_visible_changeset(user, "bottom-changeset-in-batch-2")
|
||||||
|
(PAGE_SIZE - 1).times do
|
||||||
|
create_visible_changeset(user, "next-changeset")
|
||||||
|
end
|
||||||
|
create_visible_changeset(user, "bottom-changeset-in-batch-1")
|
||||||
|
(PAGE_SIZE - 1).times do
|
||||||
|
create_visible_changeset(user, "next-changeset")
|
||||||
|
end
|
||||||
|
|
||||||
|
visit "#{user_path(user)}/history"
|
||||||
|
changesets = find "div.changesets"
|
||||||
|
changesets.assert_text "bottom-changeset-in-batch-1"
|
||||||
|
changesets.assert_no_text "bottom-changeset-in-batch-2"
|
||||||
|
changesets.assert_no_text "first-changeset-in-history"
|
||||||
|
changesets.assert_selector "ol", :count => 1
|
||||||
|
changesets.assert_selector "li", :count => PAGE_SIZE
|
||||||
|
|
||||||
|
changesets.find(".changeset_more a.btn").click
|
||||||
|
changesets.assert_text "bottom-changeset-in-batch-1"
|
||||||
|
changesets.assert_text "bottom-changeset-in-batch-2"
|
||||||
|
changesets.assert_no_text "first-changeset-in-history"
|
||||||
|
changesets.assert_selector "ol", :count => 1
|
||||||
|
changesets.assert_selector "li", :count => 2 * PAGE_SIZE
|
||||||
|
|
||||||
|
changesets.find(".changeset_more a.btn").click
|
||||||
|
changesets.assert_text "bottom-changeset-in-batch-1"
|
||||||
|
changesets.assert_text "bottom-changeset-in-batch-2"
|
||||||
|
changesets.assert_text "first-changeset-in-history"
|
||||||
|
changesets.assert_selector "ol", :count => 1
|
||||||
|
changesets.assert_selector "li", :count => (2 * PAGE_SIZE) + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
def create_visible_changeset(user, comment)
|
||||||
|
create(:changeset, :user => user, :num_changes => 1) do |changeset|
|
||||||
|
create(:changeset_tag, :changeset => changeset, :k => "comment", :v => comment)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue