hyrax 2.0.0.beta1 → 2.0.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -2
- data/app/actors/hyrax/actors/file_set_actor.rb +12 -15
- data/app/assets/javascripts/hyrax.js +6 -5
- data/app/assets/javascripts/hyrax/{app.js → app.js.erb} +12 -8
- data/app/assets/javascripts/hyrax/channels/notifications.js +0 -0
- data/app/assets/javascripts/hyrax/notification.es6 +19 -31
- data/app/channels/hyrax/application_cable/channel.rb +6 -0
- data/app/channels/hyrax/application_cable/connection.rb +30 -0
- data/app/channels/hyrax/notifications_channel.rb +15 -0
- data/app/controllers/hyrax/depositors_controller.rb +2 -2
- data/app/controllers/hyrax/notifications_controller.rb +2 -0
- data/app/controllers/hyrax/users_controller.rb +0 -7
- data/app/helpers/hyrax/hyrax_helper_behavior.rb +27 -0
- data/app/jobs/import_url_job.rb +3 -1
- data/app/jobs/stream_notifications_job.rb +10 -0
- data/app/models/proxy_deposit_request.rb +2 -2
- data/app/models/user_mailbox.rb +19 -0
- data/app/services/hyrax/{message_user_service.rb → abstract_message_service.rb} +7 -4
- data/app/services/hyrax/batch_create_failure_service.rb +1 -1
- data/app/services/hyrax/batch_create_success_service.rb +1 -1
- data/app/services/hyrax/fixity_check_failure_service.rb +1 -1
- data/app/services/hyrax/import_url_failure_service.rb +1 -1
- data/app/services/hyrax/messenger_service.rb +8 -0
- data/app/services/hyrax/workflow/abstract_notification.rb +1 -1
- data/app/views/_user_util_links.html.erb +1 -1
- data/app/views/hyrax/homepage/index.html.erb +1 -1
- data/config/locales/hyrax.de.yml +5 -2
- data/config/locales/hyrax.en.yml +4 -1
- data/config/locales/hyrax.es.yml +4 -1
- data/config/locales/hyrax.fr.yml +5 -2
- data/config/locales/hyrax.it.yml +4 -1
- data/config/locales/hyrax.pt-BR.yml +5 -2
- data/config/locales/hyrax.zh.yml +5 -2
- data/config/routes.rb +4 -2
- data/db/migrate/20170905135339_add_preferred_locale_to_users.rb +5 -0
- data/lib/generators/hyrax/templates/config/authorities/licenses.yml +28 -10
- data/lib/generators/hyrax/templates/config/hyrax.rb +0 -3
- data/lib/hyrax/configuration.rb +0 -5
- data/lib/hyrax/engine.rb +5 -0
- data/lib/hyrax/version.rb +1 -1
- data/spec/actors/hyrax/actors/file_set_actor_spec.rb +74 -0
- data/spec/channels/hyrax/application_cable/channel_spec.rb +14 -0
- data/spec/channels/hyrax/application_cable/connection_spec.rb +31 -0
- data/spec/channels/hyrax/notifications_channel_spec.rb +45 -0
- data/spec/controllers/hyrax/notifications_controller_spec.rb +1 -0
- data/spec/helpers/blacklight_helper_spec.rb +4 -2
- data/spec/helpers/hyrax_helper_spec.rb +34 -4
- data/spec/jobs/import_url_job_spec.rb +1 -1
- data/spec/jobs/stream_notifications_job_spec.rb +30 -0
- data/spec/models/collection_spec.rb +13 -19
- data/spec/models/proxy_deposit_request_spec.rb +2 -1
- data/spec/models/user_mailbox_spec.rb +73 -0
- data/spec/services/hyrax/abstract_message_service_spec.rb +25 -0
- data/spec/services/hyrax/messenger_service_spec.rb +15 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +6 -0
- data/spec/views/_user_util_links.html.erb_spec.rb +3 -2
- data/spec/views/hyrax/homepage/index.html.erb_spec.rb +4 -0
- data/template.rb +1 -1
- metadata +23 -14
- data/app/assets/javascripts/hyrax/notifications.es6 +0 -63
- data/app/views/hyrax/users/_notify_number.html.erb +0 -8
- data/app/views/hyrax/users/notifications_number.json.jbuilder +0 -1
- data/app/views/kaminari/blacklight/_first_page.html.erb +0 -9
- data/app/views/kaminari/blacklight/_gap.html.erb +0 -8
- data/app/views/kaminari/blacklight/_last_page.html.erb +0 -9
- data/app/views/kaminari/blacklight/_next_page.html.erb +0 -9
- data/app/views/kaminari/blacklight/_page.html.erb +0 -10
- data/app/views/kaminari/blacklight/_paginator.html.erb +0 -19
- data/app/views/kaminari/blacklight/_prev_page.html.erb +0 -9
@@ -1,3 +1,5 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
1
3
|
RSpec.describe '/_user_util_links.html.erb', type: :view do
|
2
4
|
let(:join_date) { 5.days.ago }
|
3
5
|
let(:can_create_file) { true }
|
@@ -6,7 +8,6 @@ RSpec.describe '/_user_util_links.html.erb', type: :view do
|
|
6
8
|
allow(view).to receive(:user_signed_in?).and_return(true)
|
7
9
|
allow(view).to receive(:current_user).and_return(stub_model(User, user_key: 'userX'))
|
8
10
|
allow(view).to receive(:can?).with(:create, GenericWork).and_return(can_create_file)
|
9
|
-
assign :notify_number, 8
|
10
11
|
end
|
11
12
|
|
12
13
|
it 'has dropdown list of links' do
|
@@ -19,7 +20,7 @@ RSpec.describe '/_user_util_links.html.erb', type: :view do
|
|
19
20
|
it 'shows the number of outstanding messages' do
|
20
21
|
render
|
21
22
|
expect(rendered).to have_selector "a[aria-label='You have no unread notifications'][href='#{hyrax.notifications_path}']"
|
22
|
-
expect(rendered).to have_selector 'a.notify-number span.label-
|
23
|
+
expect(rendered).to have_selector 'a.notify-number span.label-default.invisible', text: '0'
|
23
24
|
end
|
24
25
|
|
25
26
|
describe 'translations' do
|
@@ -25,6 +25,10 @@ RSpec.describe "hyrax/homepage/index.html.erb", type: :view do
|
|
25
25
|
it "displays" do
|
26
26
|
expect(rendered).to have_content t("hyrax.share_button")
|
27
27
|
end
|
28
|
+
|
29
|
+
it 'links to the my works path' do
|
30
|
+
expect(rendered).to have_selector('a[href="/dashboard/my/works"]')
|
31
|
+
end
|
28
32
|
end
|
29
33
|
context "when the button displays for users with rights" do
|
30
34
|
let(:display_share_button) { false }
|
data/template.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyrax
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.beta2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Coyne
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2017-09-
|
17
|
+
date: 2017-09-14 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: rails
|
@@ -1000,7 +1000,7 @@ files:
|
|
1000
1000
|
- app/assets/javascripts/hyrax/admin/admin_set/visibility.es6
|
1001
1001
|
- app/assets/javascripts/hyrax/admin/admin_set_controls.es6
|
1002
1002
|
- app/assets/javascripts/hyrax/admin/graphs.es6
|
1003
|
-
- app/assets/javascripts/hyrax/app.js
|
1003
|
+
- app/assets/javascripts/hyrax/app.js.erb
|
1004
1004
|
- app/assets/javascripts/hyrax/authority_select.es6
|
1005
1005
|
- app/assets/javascripts/hyrax/autocomplete.es6
|
1006
1006
|
- app/assets/javascripts/hyrax/autocomplete/default.es6
|
@@ -1011,6 +1011,7 @@ files:
|
|
1011
1011
|
- app/assets/javascripts/hyrax/batch_select.es6
|
1012
1012
|
- app/assets/javascripts/hyrax/batch_select_all.js
|
1013
1013
|
- app/assets/javascripts/hyrax/browse_everything.js
|
1014
|
+
- app/assets/javascripts/hyrax/channels/notifications.js
|
1014
1015
|
- app/assets/javascripts/hyrax/collections.js
|
1015
1016
|
- app/assets/javascripts/hyrax/collections/editor.es6
|
1016
1017
|
- app/assets/javascripts/hyrax/config.js.erb
|
@@ -1031,7 +1032,6 @@ files:
|
|
1031
1032
|
- app/assets/javascripts/hyrax/initialize.js
|
1032
1033
|
- app/assets/javascripts/hyrax/monkey_patch_turbolinks.js.coffee
|
1033
1034
|
- app/assets/javascripts/hyrax/notification.es6
|
1034
|
-
- app/assets/javascripts/hyrax/notifications.es6
|
1035
1035
|
- app/assets/javascripts/hyrax/per_page.es6
|
1036
1036
|
- app/assets/javascripts/hyrax/permissions.js
|
1037
1037
|
- app/assets/javascripts/hyrax/permissions/control.es6
|
@@ -1108,6 +1108,9 @@ files:
|
|
1108
1108
|
- app/authorities/qa/authorities/find_works.rb
|
1109
1109
|
- app/builders/hyrax/bootstrap_breadcrumbs_builder.rb
|
1110
1110
|
- app/builders/hyrax/form_builder.rb
|
1111
|
+
- app/channels/hyrax/application_cable/channel.rb
|
1112
|
+
- app/channels/hyrax/application_cable/connection.rb
|
1113
|
+
- app/channels/hyrax/notifications_channel.rb
|
1111
1114
|
- app/connections/hyrax/clean_connection.rb
|
1112
1115
|
- app/controlled_vocabularies/hyrax/controlled_vocabularies/location.rb
|
1113
1116
|
- app/controllers/concerns/hyrax/admin/stats_behavior.rb
|
@@ -1268,6 +1271,7 @@ files:
|
|
1268
1271
|
- app/jobs/ingest_local_file_job.rb
|
1269
1272
|
- app/jobs/inherit_permissions_job.rb
|
1270
1273
|
- app/jobs/resolrize_job.rb
|
1274
|
+
- app/jobs/stream_notifications_job.rb
|
1271
1275
|
- app/jobs/user_edit_profile_event_job.rb
|
1272
1276
|
- app/jobs/visibility_copy_job.rb
|
1273
1277
|
- app/mailers/hyrax/contact_mailer.rb
|
@@ -1442,6 +1446,7 @@ files:
|
|
1442
1446
|
- app/search_builders/hyrax/work_relation.rb
|
1443
1447
|
- app/search_builders/hyrax/work_search_builder.rb
|
1444
1448
|
- app/search_builders/hyrax/works_search_builder.rb
|
1449
|
+
- app/services/hyrax/abstract_message_service.rb
|
1445
1450
|
- app/services/hyrax/admin_set_create_service.rb
|
1446
1451
|
- app/services/hyrax/admin_set_service.rb
|
1447
1452
|
- app/services/hyrax/analytics.rb
|
@@ -1474,7 +1479,7 @@ files:
|
|
1474
1479
|
- app/services/hyrax/local_file_service.rb
|
1475
1480
|
- app/services/hyrax/lock_manager.rb
|
1476
1481
|
- app/services/hyrax/lockable.rb
|
1477
|
-
- app/services/hyrax/
|
1482
|
+
- app/services/hyrax/messenger_service.rb
|
1478
1483
|
- app/services/hyrax/microdata.rb
|
1479
1484
|
- app/services/hyrax/noid.rb
|
1480
1485
|
- app/services/hyrax/parent_service.rb
|
@@ -1832,7 +1837,6 @@ files:
|
|
1832
1837
|
- app/views/hyrax/users/_activity_log.html.erb
|
1833
1838
|
- app/views/hyrax/users/_contributions.html.erb
|
1834
1839
|
- app/views/hyrax/users/_left_sidebar.html.erb
|
1835
|
-
- app/views/hyrax/users/_notify_number.html.erb
|
1836
1840
|
- app/views/hyrax/users/_profile_tabs.html.erb
|
1837
1841
|
- app/views/hyrax/users/_proxies.html.erb
|
1838
1842
|
- app/views/hyrax/users/_search_form.html.erb
|
@@ -1843,15 +1847,7 @@ files:
|
|
1843
1847
|
- app/views/hyrax/users/_vitals.html.erb
|
1844
1848
|
- app/views/hyrax/users/index.html.erb
|
1845
1849
|
- app/views/hyrax/users/index.json.jbuilder
|
1846
|
-
- app/views/hyrax/users/notifications_number.json.jbuilder
|
1847
1850
|
- app/views/hyrax/users/show.html.erb
|
1848
|
-
- app/views/kaminari/blacklight/_first_page.html.erb
|
1849
|
-
- app/views/kaminari/blacklight/_gap.html.erb
|
1850
|
-
- app/views/kaminari/blacklight/_last_page.html.erb
|
1851
|
-
- app/views/kaminari/blacklight/_next_page.html.erb
|
1852
|
-
- app/views/kaminari/blacklight/_page.html.erb
|
1853
|
-
- app/views/kaminari/blacklight/_paginator.html.erb
|
1854
|
-
- app/views/kaminari/blacklight/_prev_page.html.erb
|
1855
1851
|
- app/views/kaminari/blacklight_compact/_paginator.html.erb
|
1856
1852
|
- app/views/layouts/_head_tag_content.html.erb
|
1857
1853
|
- app/views/layouts/dashboard.html.erb
|
@@ -1948,6 +1944,7 @@ files:
|
|
1948
1944
|
- db/migrate/20170308175556_add_allows_access_grant_to_workflow.rb
|
1949
1945
|
- db/migrate/20170504192714_change_checksum_audit_log.rb
|
1950
1946
|
- db/migrate/20170621201939_create_job_io_wrappers.rb
|
1947
|
+
- db/migrate/20170905135339_add_preferred_locale_to_users.rb
|
1951
1948
|
- hyrax.gemspec
|
1952
1949
|
- lib/generators/hyrax/arkivo_api_generator.rb
|
1953
1950
|
- lib/generators/hyrax/assets_generator.rb
|
@@ -2101,6 +2098,9 @@ files:
|
|
2101
2098
|
- spec/actors/hyrax/actors/optimistic_lock_validator_spec.rb
|
2102
2099
|
- spec/actors/hyrax/actors/transactional_request_spec.rb
|
2103
2100
|
- spec/authorities/qa/authorities/find_works_spec.rb
|
2101
|
+
- spec/channels/hyrax/application_cable/channel_spec.rb
|
2102
|
+
- spec/channels/hyrax/application_cable/connection_spec.rb
|
2103
|
+
- spec/channels/hyrax/notifications_channel_spec.rb
|
2104
2104
|
- spec/config/hyrax_events_spec.rb
|
2105
2105
|
- spec/controllers/catalog_controller_spec.rb
|
2106
2106
|
- spec/controllers/hyrax/accepts_batches_controller_spec.rb
|
@@ -2322,6 +2322,7 @@ files:
|
|
2322
2322
|
- spec/jobs/import_url_job_spec.rb
|
2323
2323
|
- spec/jobs/ingest_local_file_job_spec.rb
|
2324
2324
|
- spec/jobs/inherit_permissions_job_spec.rb
|
2325
|
+
- spec/jobs/stream_notifications_job_spec.rb
|
2325
2326
|
- spec/jobs/user_edit_profile_event_job_spec.rb
|
2326
2327
|
- spec/jobs/visibility_copy_job_spec.rb
|
2327
2328
|
- spec/lib/hyrax/analytics_spec.rb
|
@@ -2459,6 +2460,7 @@ files:
|
|
2459
2460
|
- spec/search_builders/hyrax/work_relation_spec.rb
|
2460
2461
|
- spec/search_builders/hyrax/work_search_builder_spec.rb
|
2461
2462
|
- spec/search_builders/hyrax/works_search_builder_spec.rb
|
2463
|
+
- spec/services/hyrax/abstract_message_service_spec.rb
|
2462
2464
|
- spec/services/hyrax/admin_set_create_service_spec.rb
|
2463
2465
|
- spec/services/hyrax/admin_set_service_spec.rb
|
2464
2466
|
- spec/services/hyrax/batch_create_failure_service_spec.rb
|
@@ -2481,6 +2483,7 @@ files:
|
|
2481
2483
|
- spec/services/hyrax/lease_service_spec.rb
|
2482
2484
|
- spec/services/hyrax/license_service_spec.rb
|
2483
2485
|
- spec/services/hyrax/lock_manager_spec.rb
|
2486
|
+
- spec/services/hyrax/messenger_service_spec.rb
|
2484
2487
|
- spec/services/hyrax/microdata_spec.rb
|
2485
2488
|
- spec/services/hyrax/noid_spec.rb
|
2486
2489
|
- spec/services/hyrax/parent_service_spec.rb
|
@@ -2729,6 +2732,9 @@ test_files:
|
|
2729
2732
|
- spec/actors/hyrax/actors/optimistic_lock_validator_spec.rb
|
2730
2733
|
- spec/actors/hyrax/actors/transactional_request_spec.rb
|
2731
2734
|
- spec/authorities/qa/authorities/find_works_spec.rb
|
2735
|
+
- spec/channels/hyrax/application_cable/channel_spec.rb
|
2736
|
+
- spec/channels/hyrax/application_cable/connection_spec.rb
|
2737
|
+
- spec/channels/hyrax/notifications_channel_spec.rb
|
2732
2738
|
- spec/config/hyrax_events_spec.rb
|
2733
2739
|
- spec/controllers/catalog_controller_spec.rb
|
2734
2740
|
- spec/controllers/hyrax/accepts_batches_controller_spec.rb
|
@@ -2950,6 +2956,7 @@ test_files:
|
|
2950
2956
|
- spec/jobs/import_url_job_spec.rb
|
2951
2957
|
- spec/jobs/ingest_local_file_job_spec.rb
|
2952
2958
|
- spec/jobs/inherit_permissions_job_spec.rb
|
2959
|
+
- spec/jobs/stream_notifications_job_spec.rb
|
2953
2960
|
- spec/jobs/user_edit_profile_event_job_spec.rb
|
2954
2961
|
- spec/jobs/visibility_copy_job_spec.rb
|
2955
2962
|
- spec/lib/hyrax/analytics_spec.rb
|
@@ -3087,6 +3094,7 @@ test_files:
|
|
3087
3094
|
- spec/search_builders/hyrax/work_relation_spec.rb
|
3088
3095
|
- spec/search_builders/hyrax/work_search_builder_spec.rb
|
3089
3096
|
- spec/search_builders/hyrax/works_search_builder_spec.rb
|
3097
|
+
- spec/services/hyrax/abstract_message_service_spec.rb
|
3090
3098
|
- spec/services/hyrax/admin_set_create_service_spec.rb
|
3091
3099
|
- spec/services/hyrax/admin_set_service_spec.rb
|
3092
3100
|
- spec/services/hyrax/batch_create_failure_service_spec.rb
|
@@ -3109,6 +3117,7 @@ test_files:
|
|
3109
3117
|
- spec/services/hyrax/lease_service_spec.rb
|
3110
3118
|
- spec/services/hyrax/license_service_spec.rb
|
3111
3119
|
- spec/services/hyrax/lock_manager_spec.rb
|
3120
|
+
- spec/services/hyrax/messenger_service_spec.rb
|
3112
3121
|
- spec/services/hyrax/microdata_spec.rb
|
3113
3122
|
- spec/services/hyrax/noid_spec.rb
|
3114
3123
|
- spec/services/hyrax/parent_service_spec.rb
|
@@ -1,63 +0,0 @@
|
|
1
|
-
import Notification from './notification';
|
2
|
-
|
3
|
-
export default class {
|
4
|
-
// If URL is not provided, do nothing.
|
5
|
-
// If there is a query parameter named "notification_seconds", it will
|
6
|
-
// use it's value as the interval in seconds to poll.
|
7
|
-
// Otherwise it will use the default interval passed as a parmeter
|
8
|
-
constructor(url, default_interval) {
|
9
|
-
if (!url)
|
10
|
-
return;
|
11
|
-
// First call happens immediately
|
12
|
-
this.fetchUpdates(url)
|
13
|
-
let interval = this.getIntervalSeconds(default_interval) * 1000
|
14
|
-
this.poller(interval, url)
|
15
|
-
this.notification_widget = new Notification($('.notify-number'))
|
16
|
-
}
|
17
|
-
|
18
|
-
poller(interval, url) {
|
19
|
-
setInterval(() => { this.fetchUpdates(url) }, interval);
|
20
|
-
}
|
21
|
-
|
22
|
-
fetchUpdates(url) {
|
23
|
-
$.getJSON( url, (data) => this.updatePage(data))
|
24
|
-
}
|
25
|
-
|
26
|
-
updatePage(data) {
|
27
|
-
this.notification_widget.setCount(data.notify_number)
|
28
|
-
}
|
29
|
-
|
30
|
-
getIntervalSeconds(default_interval) {
|
31
|
-
var seconds = parseInt(this.queryStringParam("notification_seconds"), 10);
|
32
|
-
return seconds || default_interval;
|
33
|
-
}
|
34
|
-
|
35
|
-
// During development allow the frequency of the notifications check to
|
36
|
-
// be overwritten via query string parameter notification_seconds to
|
37
|
-
// prevent cluttering the terminal with (mostly) meaninless messages.
|
38
|
-
queryStringParam(key) {
|
39
|
-
var queryString, pairs, i;
|
40
|
-
var value = null;
|
41
|
-
try {
|
42
|
-
queryString = document.location.search.substring(1);
|
43
|
-
if (queryString === "") {
|
44
|
-
return value; // nothing to do
|
45
|
-
}
|
46
|
-
pairs = queryString.split("&").map(function(el) {
|
47
|
-
var pair = el.split("=");
|
48
|
-
return {key: pair[0], value: pair[1]};
|
49
|
-
});
|
50
|
-
for(i = 0; i < pairs.length; i++) {
|
51
|
-
if (pairs[i].key === key) {
|
52
|
-
value = pairs[i].value;
|
53
|
-
break;
|
54
|
-
}
|
55
|
-
}
|
56
|
-
}
|
57
|
-
catch(e) {
|
58
|
-
// assume it's a malformed query string.
|
59
|
-
value = null;
|
60
|
-
}
|
61
|
-
return value;
|
62
|
-
}
|
63
|
-
}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
<%= link_to hyrax.notifications_path,
|
2
|
-
'aria-label' => t("hyrax.toolbar.notifications"),
|
3
|
-
class: "notify-number",
|
4
|
-
data: { 'update-poll-url' => hyrax.user_notify_path,
|
5
|
-
'update-poll-interval' => Hyrax.config.notifications_update_poll_interval } do %>
|
6
|
-
<span class="fa fa-bell"></span>
|
7
|
-
<span class="count invisible label label-danger">0</span>
|
8
|
-
<% end %>
|
@@ -1 +0,0 @@
|
|
1
|
-
json.notify_number @notify_number
|
@@ -1,9 +0,0 @@
|
|
1
|
-
<%# Link to the "First" page
|
2
|
-
- available local variables
|
3
|
-
url: url to the first page
|
4
|
-
current_page: a page object for the currently displayed page
|
5
|
-
num_pages: total number of pages
|
6
|
-
per_page: number of items to fetch per page
|
7
|
-
remote: data-remote
|
8
|
-
-%>
|
9
|
-
<%= link_to raw(t 'views.pagination.first'), url, remote: remote, class: current_page.first? ? 'disabled' : nil %>
|
@@ -1,8 +0,0 @@
|
|
1
|
-
<%# Non-link tag that stands for skipped pages...
|
2
|
-
- available local variables
|
3
|
-
current_page: a page object for the currently displayed page
|
4
|
-
num_pages: total number of pages
|
5
|
-
per_page: number of items to fetch per page
|
6
|
-
remote: data-remote
|
7
|
-
-%>
|
8
|
-
<%= raw(t 'views.pagination.truncate') %>
|
@@ -1,9 +0,0 @@
|
|
1
|
-
<%# Link to the "Last" page
|
2
|
-
- available local variables
|
3
|
-
url: url to the last page
|
4
|
-
current_page: a page object for the currently displayed page
|
5
|
-
num_pages: total number of pages
|
6
|
-
per_page: number of items to fetch per page
|
7
|
-
remote: data-remote
|
8
|
-
-%>
|
9
|
-
<%= link_to raw(t 'views.pagination.last'), url, {remote: remote, class: current_page.last? ? 'disabled' : nil} %>
|
@@ -1,9 +0,0 @@
|
|
1
|
-
<%# Link to the "Next" page
|
2
|
-
- available local variables
|
3
|
-
url: url to the next page
|
4
|
-
current_page: a page object for the currently displayed page
|
5
|
-
num_pages: total number of pages
|
6
|
-
per_page: number of items to fetch per page
|
7
|
-
remote: data-remote
|
8
|
-
-%>
|
9
|
-
<%= link_to raw(t 'views.pagination.next'), url, rel: 'next', remote: remote, class: current_page.last? ? 'disabled' : nil %>
|
@@ -1,10 +0,0 @@
|
|
1
|
-
<%# Link showing page number
|
2
|
-
- available local variables
|
3
|
-
page: a page object for "this" page
|
4
|
-
url: url to this page
|
5
|
-
current_page: a page object for the currently displayed page
|
6
|
-
num_pages: total number of pages
|
7
|
-
per_page: number of items to fetch per page
|
8
|
-
remote: data-remote
|
9
|
-
-%>
|
10
|
-
<%= link_to number_with_delimiter(page.to_s), url, opts = {remote: remote, rel: page.next? ? 'next' : page.prev? ? 'prev' : nil, class: page.current? ? 'disabled' : nil} %>
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<%# The container tag
|
2
|
-
- available local variables
|
3
|
-
current_page: a page object for the currently displayed page
|
4
|
-
num_pages: total number of pages
|
5
|
-
per_page: number of items to fetch per page
|
6
|
-
remote: data-remote
|
7
|
-
paginator: the paginator that renders the pagination tags inside
|
8
|
-
-%>
|
9
|
-
<%= paginator.render do -%>
|
10
|
-
<%= prev_page_tag %>
|
11
|
-
<% each_relevant_page do |page| -%>
|
12
|
-
<% if page.left_outer? || page.right_outer? || page.inside_window? -%>
|
13
|
-
<%= page_tag page %>
|
14
|
-
<% elsif !page.was_truncated? -%>
|
15
|
-
<%= gap_tag %>
|
16
|
-
<% end -%>
|
17
|
-
<% end -%>
|
18
|
-
<%= next_page_tag %>
|
19
|
-
<% end -%>
|
@@ -1,9 +0,0 @@
|
|
1
|
-
<%# Link to the "Previous" page
|
2
|
-
- available local variables
|
3
|
-
url: url to the previous page
|
4
|
-
current_page: a page object for the currently displayed page
|
5
|
-
num_pages: total number of pages
|
6
|
-
per_page: number of items to fetch per page
|
7
|
-
remote: data-remote
|
8
|
-
-%>
|
9
|
-
<%= link_to raw(t 'views.pagination.previous'), url, rel: 'prev', remote: remote, class: current_page.first? ? 'disabled' : nil %>
|