ajax_pagination 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +12 -0
- data/README.md +25 -270
- data/Rakefile +7 -0
- data/lib/ajax_pagination/helper_additions.rb +14 -22
- data/lib/ajax_pagination/version.rb +1 -1
- data/lib/assets/javascripts/ajax_pagination.js.erb +242 -93
- data/lib/assets/stylesheets/ajax_pagination.css.erb +24 -0
- data/spec/SLOWPORT +1 -0
- data/spec/ajax_pagination/integration/ajaxpaginate_spec.rb +117 -55
- data/spec/ajax_pagination/integration/disabled_spec.rb +18 -0
- data/spec/ajax_pagination/integration/paginate_spec.rb +2 -1
- data/spec/ajax_pagination/integration/warnings_spec.rb +47 -0
- data/spec/rails_app/Gemfile +1 -1
- data/spec/rails_app/app/assets/stylesheets/application.css +1 -0
- data/spec/rails_app/app/controllers/application_controller.rb +4 -2
- data/spec/rails_app/app/controllers/pages_controller.rb +7 -0
- data/spec/rails_app/app/views/changelog/index.html.erb +1 -1
- data/spec/rails_app/app/views/layouts/application.html.erb +13 -0
- data/spec/rails_app/app/views/pages/warnings.html.erb +43 -0
- data/spec/rails_app/app/views/posts/index.html.erb +1 -1
- data/spec/rails_app/config/environment.rb +1 -0
- data/spec/rails_app/config/initializers/ajax_pagination.rb +1 -1
- data/spec/rails_app/config/routes.rb +1 -0
- data/spec/rails_app/db/development.sqlite3 +0 -0
- data/spec/spec_helper.rb +1 -2
- metadata +133 -91
data/spec/SLOWPORT
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3002
|
@@ -1,92 +1,142 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'paginating with javascript on', :js => true do
|
4
|
+
def ajaxCount
|
5
|
+
page.evaluate_script("document.getElementById('countajaxloading').innerHTML").to_i # using javascript to get content because selenium cannot get content of non-visible elements
|
6
|
+
end
|
7
|
+
|
4
8
|
it 'displays a loading image' do
|
5
9
|
# following 3 lines to warm up loading image
|
6
|
-
visit("http://localhost:#{
|
7
|
-
|
8
|
-
|
10
|
+
visit("http://localhost:#{SERVERSLOWPORT}") # goes to welcome page
|
11
|
+
sleep(3)
|
12
|
+
click_link 'Changelog'
|
13
|
+
sleep(3)
|
9
14
|
|
10
|
-
visit("http://localhost:#{
|
11
|
-
page.should have_no_selector('.
|
12
|
-
sleep(1)
|
15
|
+
visit("http://localhost:#{SERVERSLOWPORT}") # goes to welcome page
|
16
|
+
page.should have_no_selector('.ajaxpagination-loader')
|
17
|
+
sleep(1.5)
|
13
18
|
click_link 'About'
|
14
|
-
page.should have_selector('.
|
15
|
-
sleep(1)
|
16
|
-
page.should have_no_selector('.
|
19
|
+
page.should have_selector('.ajaxpagination-loader')
|
20
|
+
sleep(1.5)
|
21
|
+
page.should have_no_selector('.ajaxpagination-loader')
|
17
22
|
click_link 'Readme'
|
18
|
-
page.should have_selector('.
|
19
|
-
sleep(1)
|
20
|
-
page.should have_no_selector('.
|
23
|
+
page.should have_selector('.ajaxpagination-loader')
|
24
|
+
sleep(1.5)
|
25
|
+
page.should have_no_selector('.ajaxpagination-loader')
|
21
26
|
end
|
22
27
|
it 'displays a loading image with nested and multiple paginated sections' do
|
23
|
-
visit("http://localhost:#{
|
28
|
+
visit("http://localhost:#{SERVERSLOWPORT}/changelog")
|
29
|
+
sleep(2)
|
30
|
+
page.should have_selector('#changelogpagetitle')
|
24
31
|
find('#_paginated_section').find('.next_page').click
|
25
|
-
page.should have_selector('.
|
26
|
-
sleep(1)
|
27
|
-
page.should have_no_selector('.
|
32
|
+
page.should have_selector('.ajaxpagination-loader')
|
33
|
+
sleep(1.5)
|
34
|
+
page.should have_no_selector('.ajaxpagination-loader')
|
28
35
|
find('#signin').click
|
29
|
-
visit("http://localhost:#{SERVERPORT}/posts")
|
30
36
|
sleep(2)
|
37
|
+
visit("http://localhost:#{SERVERSLOWPORT}/posts")
|
38
|
+
sleep(2)
|
39
|
+
page.should have_selector('#postspagetitle')
|
31
40
|
find('#page_paginated_section').find('.next_page').click
|
32
|
-
page.should have_selector('.
|
33
|
-
sleep(1)
|
34
|
-
page.should have_no_selector('.
|
41
|
+
page.should have_selector('.ajaxpagination-loader')
|
42
|
+
sleep(1.5)
|
43
|
+
page.should have_no_selector('.ajaxpagination-loader')
|
35
44
|
find('#upcomingpage_paginated_section').find('.next_page').click
|
36
|
-
page.should have_selector('.
|
37
|
-
sleep(1)
|
38
|
-
page.should have_no_selector('.
|
45
|
+
page.should have_selector('.ajaxpagination-loader')
|
46
|
+
sleep(1.5)
|
47
|
+
page.should have_no_selector('.ajaxpagination-loader')
|
39
48
|
end
|
40
49
|
it 'shows the configured loading image' do
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
sleep(
|
45
|
-
visit("http://localhost:#{
|
46
|
-
find('#
|
47
|
-
|
50
|
+
# warmup images
|
51
|
+
visit("http://localhost:#{SERVERSLOWPORT}/changelog")
|
52
|
+
find('#page_paginated_section').find('.next_page').click
|
53
|
+
sleep(3)
|
54
|
+
visit("http://localhost:#{SERVERSLOWPORT}/posts")
|
55
|
+
find('#page_paginated_section').find('.next_page').click
|
56
|
+
sleep(3)
|
57
|
+
|
58
|
+
|
59
|
+
visit("http://localhost:#{SERVERSLOWPORT}/changelog")
|
60
|
+
find('#page_paginated_section').find('.next_page').click
|
61
|
+
page.should have_xpath("//img[@class='ajaxpagination-loader' and @src = '/assets/myajax-loader.gif']")
|
62
|
+
sleep(1.5)
|
63
|
+
visit("http://localhost:#{SERVERSLOWPORT}/posts")
|
64
|
+
find('#page_paginated_section').find('.next_page').click
|
65
|
+
page.should have_xpath("//img[@class='ajaxpagination-loader' and @src = '/assets/ajax-loader.gif']")
|
48
66
|
end
|
49
67
|
it 'works with browser back and forward buttons' do
|
68
|
+
visit("http://localhost:#{SERVERPORT}/pages/about") # warmup serverport
|
69
|
+
sleep(3)
|
70
|
+
page.should have_selector('#aboutpagetitle')
|
71
|
+
|
72
|
+
# actual test
|
50
73
|
visit("http://localhost:#{SERVERPORT}/changelog")
|
51
|
-
find('#_paginated_section').find('.next_page').click
|
52
74
|
sleep(1)
|
75
|
+
page.should have_selector('#changelogpagetitle')
|
53
76
|
click_link 'About'
|
54
77
|
sleep(1)
|
78
|
+
page.should have_selector('#aboutpagetitle')
|
55
79
|
click_link 'Readme'
|
56
|
-
sleep(
|
57
|
-
page.should have_no_selector('.ajaxloader')
|
80
|
+
sleep(1)
|
58
81
|
page.should have_selector('#readmepagetitle')
|
82
|
+
count = ajaxCount
|
59
83
|
page.evaluate_script('window.history.back();') # back to About
|
60
|
-
page.should have_selector('.ajaxloader')
|
61
|
-
sleep(1)
|
62
|
-
page.should have_no_selector('.ajaxloader')
|
63
84
|
page.should have_selector('#aboutpagetitle')
|
85
|
+
ajaxCount.should == count + 1
|
64
86
|
page.evaluate_script('window.history.forward();') # forward to readme
|
65
|
-
sleep(1)
|
66
87
|
page.should have_selector('#readmepagetitle')
|
67
|
-
page.evaluate_script('window.history.go(-2);') # back to changelog
|
68
|
-
sleep(1)
|
88
|
+
page.evaluate_script('window.history.go(-2);') # back to changelog
|
69
89
|
page.should have_no_selector('#aboutpagetitle')
|
70
90
|
page.evaluate_script('window.history.forward();') # forward to about
|
91
|
+
page.should have_selector('#aboutpagetitle')
|
92
|
+
end
|
93
|
+
it 'has correct reload behaviour on history' do
|
94
|
+
visit("http://localhost:#{SERVERPORT}/pages/about")
|
95
|
+
sleep(3) # rbx has long warmup time
|
96
|
+
page.should have_selector('#aboutpagetitle')
|
97
|
+
click_link 'Readme' # History will have [about,readme]
|
71
98
|
sleep(1)
|
99
|
+
page.should have_selector('#readmepagetitle')
|
100
|
+
click_link 'Readme' # should not add readme to history again - behaviour should be like a page refresh
|
101
|
+
sleep(0.5)
|
102
|
+
page.should have_no_selector('.ajaxpagination-loader')
|
103
|
+
page.evaluate_script('window.history.back();') # back to About (if readme not added to history twice)
|
72
104
|
page.should have_selector('#aboutpagetitle')
|
73
105
|
end
|
106
|
+
it 'has correct reload behaviour when jumping between history with the same url' do
|
107
|
+
visit("http://localhost:#{SERVERPORT}/pages/about")
|
108
|
+
sleep(3) # allow warmup time (zzz... rbx)
|
109
|
+
page.should have_selector('#aboutpagetitle')
|
110
|
+
click_link 'Readme' # History will have [about,readme]
|
111
|
+
sleep(1)
|
112
|
+
page.should have_selector('#readmepagetitle')
|
113
|
+
click_link 'About' # History will have [about,readme,about]
|
114
|
+
sleep(1)
|
115
|
+
page.should have_selector('#aboutpagetitle')
|
116
|
+
find("#aboutpagetitle").text.should_not == "ReloadReferenceToken"
|
117
|
+
page.evaluate_script('document.getElementById("aboutpagetitle").innerHTML = "ReloadReferenceToken";') # allows us to tell if it got reloaded
|
118
|
+
find("#aboutpagetitle").text.should == "ReloadReferenceToken"
|
119
|
+
page.evaluate_script('window.history.go(-2);') # back from about page to about page again
|
120
|
+
|
121
|
+
sleep(1)
|
122
|
+
find("#aboutpagetitle").text.should == "ReloadReferenceToken" # hasn't reloaded if token is still there
|
123
|
+
end
|
74
124
|
it 'displays error pages within div' do
|
75
125
|
visit("http://localhost:#{SERVERPORT}") # goes to welcome page
|
126
|
+
sleep(1)
|
76
127
|
click_link("AJAX Pagination Example Application")
|
77
|
-
sleep(2)
|
78
128
|
page.current_url.should == "http://localhost:#{SERVERPORT}/broken%20link"
|
79
129
|
page.should have_content("AJAX Pagination Example Application")
|
80
130
|
page.should have_content("No route matches")
|
81
131
|
end
|
82
132
|
it 'changes url to match redirection' do
|
83
133
|
visit("http://localhost:#{SERVERPORT}")
|
134
|
+
sleep(1)
|
84
135
|
click_link("Posts")
|
85
136
|
sleep(1)
|
86
137
|
page.should have_content("New Post")
|
87
138
|
myurl = page.current_url # to get the canonical url
|
88
139
|
click_link("New Post")
|
89
|
-
sleep(2)
|
90
140
|
page.should have_content("Access Denied")
|
91
141
|
page.current_url.should == myurl
|
92
142
|
end
|
@@ -94,7 +144,6 @@ describe 'paginating with javascript on', :js => true do
|
|
94
144
|
visit("http://localhost:#{SERVERPORT}/pages/about")
|
95
145
|
count = page.find("#submits").html.to_i
|
96
146
|
click_button("Submit")
|
97
|
-
sleep(1)
|
98
147
|
page.should have_content("#{count+1} submit")
|
99
148
|
page.should have_selector('#aboutpagetitle') # ensures loading was via AJAX Pagination
|
100
149
|
end
|
@@ -103,11 +152,10 @@ describe 'paginating with javascript on', :js => true do
|
|
103
152
|
myurl = page.current_url # to get the canonical url
|
104
153
|
count = page.find("#submits").html.to_i
|
105
154
|
click_button("Submit")
|
106
|
-
sleep(1)
|
107
155
|
page.should have_content("#{count+1} submit")
|
108
156
|
page.current_url.should == myurl # url remains the same (so history has not changed)
|
109
157
|
end
|
110
|
-
it 'submits ajax_form_for form via POST and
|
158
|
+
it 'submits ajax_form_for form via POST and DELETE link' do
|
111
159
|
visit("http://localhost:#{SERVERPORT}")
|
112
160
|
find('#signin').click
|
113
161
|
click_link("Posts")
|
@@ -115,34 +163,48 @@ describe 'paginating with javascript on', :js => true do
|
|
115
163
|
page.should have_content("New Post")
|
116
164
|
myurl = page.current_url # to get the canonical url
|
117
165
|
visit("http://localhost:#{SERVERPORT}/posts/new")
|
166
|
+
sleep(1)
|
118
167
|
within("#new_post") do
|
119
168
|
fill_in 'Title', :with => 'very unique title for test'
|
120
169
|
fill_in 'Content', :with => 'my supercontent'
|
121
170
|
end
|
171
|
+
count = ajaxCount
|
122
172
|
click_button("Create Post");
|
123
|
-
page.should have_selector('.ajaxloader')
|
124
173
|
sleep(2)
|
125
174
|
page.should have_content("Post was successfully created.")
|
175
|
+
ajaxCount.should == count + 1
|
126
176
|
page.current_url.should_not == myurl # means we have gotten redirected
|
127
|
-
|
128
|
-
|
129
|
-
fill_in 'Content', :with => 'my supercontent again'
|
130
|
-
end
|
131
|
-
click_button("Update Post");
|
132
|
-
page.should have_selector('.ajaxloader')
|
133
|
-
sleep(2)
|
134
|
-
page.should have_content("my supercontent again")
|
177
|
+
|
178
|
+
count = ajaxCount
|
135
179
|
click_link("Destroy");
|
136
180
|
page.driver.browser.switch_to.alert.accept
|
137
|
-
page.should have_selector('.ajaxloader')
|
138
181
|
sleep(2)
|
139
182
|
page.should have_content("Post destroyed.")
|
183
|
+
ajaxCount.should == count + 1
|
140
184
|
end
|
185
|
+
## This spec does not work in rbx on travis.
|
186
|
+
## Tested to work in rbx-1.2.4 on local machine. Also works using MRI ruby on travis.
|
187
|
+
#it 'submits ajax_form_for form via PUT link' do
|
188
|
+
# visit("http://localhost:#{SERVERPORT}")
|
189
|
+
# find('#signin').click
|
190
|
+
# sleep(2)
|
191
|
+
# visit("http://localhost:#{SERVERPORT}/posts/2")
|
192
|
+
# click_link("Edit");
|
193
|
+
# sleep(2)
|
194
|
+
# within(".edit_post") do
|
195
|
+
# fill_in 'Content', :with => 'some supercontent'
|
196
|
+
# end
|
197
|
+
# count = ajaxCount
|
198
|
+
# click_button("Update Post");
|
199
|
+
# sleep(3)
|
200
|
+
# # page.should have_content("Post was successfully updated.") # does not work in rbx on travis (????)
|
201
|
+
# page.should have_content("some supercontent")
|
202
|
+
# ajaxCount.should == count + 1
|
203
|
+
#end
|
141
204
|
it 'changes title' do
|
142
205
|
visit("http://localhost:#{SERVERPORT}")
|
143
206
|
title = page.evaluate_script("document.title") # because what is between the <title> tags and what is shown in the window title can differ (document.title gets set by javascript)
|
144
207
|
click_link("About");
|
145
|
-
sleep(1)
|
146
208
|
page.should have_selector('#aboutpagetitle') # ensures loading was via AJAX Pagination
|
147
209
|
page.evaluate_script("document.title").should_not == title
|
148
210
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'disabled with javascript', :js => true do
|
4
|
+
before :each do
|
5
|
+
visit("http://localhost:#{SERVERPORT}/pages/warnings")
|
6
|
+
find("#disablehistoryjslink").click
|
7
|
+
page.driver.browser.switch_to.alert.accept
|
8
|
+
end
|
9
|
+
it 'link within action still works' do
|
10
|
+
find("#fullpagelink").click
|
11
|
+
page.should have_content("You are on page 2")
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'site navigation still works' do
|
15
|
+
click_link("Readme")
|
16
|
+
page.should have_selector('#readmepagetitle')
|
17
|
+
end
|
18
|
+
end
|
@@ -20,10 +20,11 @@ describe 'paginating with javascript on', :type => :request, :driver => :seleniu
|
|
20
20
|
visit("http://localhost:#{SERVERPORT}/posts")
|
21
21
|
page.should have_selector('#page_paginated_section .previous_page.disabled')
|
22
22
|
find('#page_paginated_section').find('.next_page').click
|
23
|
+
sleep(1)
|
23
24
|
page.should have_no_selector('#page_paginated_section .previous_page.disabled')
|
24
25
|
page.should have_selector('#upcomingpage_paginated_section .previous_page.disabled')
|
25
26
|
find('#upcomingpage_paginated_section').find('.next_page').click
|
26
|
-
sleep(
|
27
|
+
sleep(1)
|
27
28
|
page.should have_no_selector('#upcomingpage_paginated_section .previous_page.disabled')
|
28
29
|
page.should have_no_selector('#page_paginated_section .previous_page.disabled')
|
29
30
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'javascript warnings', :js => true do
|
4
|
+
it 'warns about excess page content' do
|
5
|
+
visit("http://localhost:#{SERVERPORT}/pages/warnings")
|
6
|
+
find("#fullpagelink").click
|
7
|
+
sleep(0.5)
|
8
|
+
alertmsg = page.driver.browser.switch_to.alert.text
|
9
|
+
alertmsg.should include("EXTRA_CONTENT_DISCARDED")
|
10
|
+
page.driver.browser.switch_to.alert.accept
|
11
|
+
page.should have_content("You are on page 2")
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'warns about missing dependencies' do
|
15
|
+
visit("http://localhost:#{SERVERPORT}/pages/warnings")
|
16
|
+
find("#disablehistoryjslink").click
|
17
|
+
sleep(0.5)
|
18
|
+
alertmsg = page.driver.browser.switch_to.alert.text
|
19
|
+
alertmsg.should include("MISSING_DEPENDENCIES")
|
20
|
+
page.driver.browser.switch_to.alert.accept
|
21
|
+
page.should have_content("Disabled")
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'warns about missing reference' do
|
25
|
+
visit("http://localhost:#{SERVERPORT}/pages/warnings")
|
26
|
+
find("#missingreferencelink").click
|
27
|
+
alertmsg = page.driver.browser.switch_to.alert.text
|
28
|
+
alertmsg.should include("MISSING_REFERENCE")
|
29
|
+
page.driver.browser.switch_to.alert.accept
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'warns about reference to more than one section of same id' do
|
33
|
+
visit("http://localhost:#{SERVERPORT}/pages/warnings")
|
34
|
+
find("#doublesectionlink").click
|
35
|
+
alertmsg = page.driver.browser.switch_to.alert.text
|
36
|
+
alertmsg.should include("UNIQUE_SECTION_NOT_FOUND")
|
37
|
+
page.driver.browser.switch_to.alert.accept
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'warns about reference to section which does not exist' do
|
41
|
+
visit("http://localhost:#{SERVERPORT}/pages/warnings")
|
42
|
+
find("#nosectionlink").click
|
43
|
+
alertmsg = page.driver.browser.switch_to.alert.text
|
44
|
+
alertmsg.should include("UNIQUE_SECTION_NOT_FOUND")
|
45
|
+
page.driver.browser.switch_to.alert.accept
|
46
|
+
end
|
47
|
+
end
|
data/spec/rails_app/Gemfile
CHANGED
@@ -3,8 +3,10 @@ class ApplicationController < ActionController::Base
|
|
3
3
|
before_filter :slowajaxload
|
4
4
|
ajax_pagination :pagination => "", :render => { :layout => "ajax" }
|
5
5
|
def slowajaxload
|
6
|
-
if params[:pagination] && Rails.env == "test"
|
7
|
-
|
6
|
+
if (request.GET[:pagination] || params[:pagination]) && Rails.env == "test"
|
7
|
+
delay = 0
|
8
|
+
delay = ENV['AJAX_DELAY'] if ENV['AJAX_DELAY']
|
9
|
+
sleep(delay.to_f)
|
8
10
|
end
|
9
11
|
end
|
10
12
|
|
@@ -18,4 +18,11 @@ class PagesController < ApplicationController
|
|
18
18
|
ajax_pagination format, :pagination => "", :render => { :layout => "ajax" }
|
19
19
|
end
|
20
20
|
end
|
21
|
+
|
22
|
+
def warnings
|
23
|
+
respond_to do |format|
|
24
|
+
format.html
|
25
|
+
ajax_pagination format, :pagination => "disable", :render => { :layout => "ajax" }
|
26
|
+
end
|
27
|
+
end
|
21
28
|
end
|
@@ -7,6 +7,18 @@
|
|
7
7
|
<%= csrf_meta_tags %>
|
8
8
|
</head>
|
9
9
|
<body>
|
10
|
+
<div id="countajaxloading" style="display: none;">0</div>
|
11
|
+
<script type="text/javascript">
|
12
|
+
$(document).ready(function () {
|
13
|
+
$(document).on("ajaxp:loading", function() { // increment hidden div every time something loads
|
14
|
+
$("#countajaxloading").text((parseInt($("#countajaxloading").text(),10) + 1).toString());
|
15
|
+
});
|
16
|
+
});
|
17
|
+
/*jQuery(document).ready(function () {
|
18
|
+
alert($.ajax_pagination.version);
|
19
|
+
$.ajax_pagination("").get("http://localhost:3000/pages/about");
|
20
|
+
});*/
|
21
|
+
</script>
|
10
22
|
<div style="float: right;">
|
11
23
|
<% if session[:admin] %>
|
12
24
|
<%= link_to "Sign out", sessions_signout_url, :id => "signout" %>
|
@@ -26,6 +38,7 @@
|
|
26
38
|
<li><%= link_to "Posts", posts_url %></li>
|
27
39
|
<li><%= link_to "Changelog", changelog_url %></li>
|
28
40
|
<li><%= link_to "Readme", pages_readme_url %></li>
|
41
|
+
<li><%= link_to "Warnings", pages_warnings_url %></li>
|
29
42
|
<li><%= link_to "About", pages_about_url %></li>
|
30
43
|
</ul>
|
31
44
|
</div>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
|
2
|
+
This page gives examples of the warnings that may be given, from AJAX Pagination, when some configuration or otherwise is suboptimal, or prevents proper functioning of the gem.
|
3
|
+
|
4
|
+
<%= content_tag :div, :style => "display: inline-block; width: 300px; height: 100px; border: 1px solid black; margin: 10px; padding: 10px; vertical-align: middle;" do %>
|
5
|
+
<%= ajax_pagination do %>
|
6
|
+
<p>You are on page <%= params[:page] ||= 1 %>.</p>
|
7
|
+
|
8
|
+
<p><%= ajax_link_to "Reload whole page just to refresh this content", pages_warnings_path(:page => (params[:page].to_i+1)), :pagination => "page", :id => "fullpagelink" %></p>
|
9
|
+
<% end %>
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<%= content_tag :div, :style => "display: inline-block; width: 300px; height: 100px; border: 1px solid black; margin: 10px; padding: 10px; vertical-align: middle;" do %>
|
13
|
+
<p>AJAX Pagination Status: <%= raw (params[:disable] ||= false)?"<span style=\"color:red;\">Disabled":"<span style=\"color:green;\">Enabled" %></span></p>
|
14
|
+
<% if params[:disable] %>
|
15
|
+
<script type="text/javascript">History = null;</script>
|
16
|
+
<p><%= link_to "Enable History.js", pages_warnings_path %></p>
|
17
|
+
<% else %>
|
18
|
+
<p><%= link_to "Disable History.js", pages_warnings_path(:disable => true), :id => "disablehistoryjslink" %></p>
|
19
|
+
<% end %>
|
20
|
+
<p><i>Note: History.js is an AJAX Pagination dependency.</i></p>
|
21
|
+
<% end %>
|
22
|
+
|
23
|
+
<%= content_tag :div, :style => "display: inline-block; width: 300px; height: 100px; border: 1px solid black; margin: 10px; padding: 10px; vertical-align: middle;" do %>
|
24
|
+
<p>AJAX Links need to reference a valid pagination section, otherwise AJAX Pagination doesn't know where the new content should go.</p>
|
25
|
+
<p><%= ajax_link_to "Link without valid AJAX Pagination section", pages_warnings_path, :pagination => "RANDOM", :id => "nosectionlink" %></p>
|
26
|
+
<% end %>
|
27
|
+
|
28
|
+
<%= content_tag :div, :style => "display: inline-block; width: 300px; height: 100px; border: 1px solid black; margin: 10px; padding: 10px; vertical-align: middle;" do %>
|
29
|
+
<%= content_tag :div, :style => "border: 1px solid black; margin: 10px;" do %>
|
30
|
+
<%= ajax_pagination :pagination => "double" do %>My section name is "double".<% end %>
|
31
|
+
<% end %>
|
32
|
+
<%= content_tag :div, :style => "border: 1px solid black; margin: 10px;" do %>
|
33
|
+
<%= ajax_pagination :pagination => "double" do %>My section name is "double".<% end %>
|
34
|
+
<% end %>
|
35
|
+
<p><%= ajax_link_to "Load stuff in section named \"double\"", pages_warnings_path, :pagination => "double", :id => "doublesectionlink" %></p>
|
36
|
+
<% end %>
|
37
|
+
|
38
|
+
<%= content_tag :div, :class => "paginated_section", :style => "display: inline-block; width: 300px; height: 100px; border: 1px solid black; margin: 10px; padding: 10px; vertical-align: middle;" do %>
|
39
|
+
<%= content_tag :div, :class => "ajaxpagination" do %>
|
40
|
+
<p>If a link does not reference a section into which content can be loaded, AJAX will be cancelled, and the link will load in the whole window.</p>
|
41
|
+
<p><%= link_to "Link without reference to any section", pages_warnings_path, :id => "missingreferencelink" %></p>
|
42
|
+
<% end %>
|
43
|
+
<% end %>
|