sufia 4.0.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +31 -4
- data/SUFIA_VERSION +1 -1
- data/app/assets/javascripts/sufia.js +1 -9
- data/app/assets/javascripts/sufia/batch_edit.js +3 -3
- data/app/assets/javascripts/sufia/multiForm.js +4 -2
- data/app/assets/javascripts/sufia/{single_use_link.js → single_use_link.js.erb} +1 -1
- data/app/assets/javascripts/sufia/tagcloud.js +12 -0
- data/app/assets/stylesheets/sufia.css.scss +3 -12
- data/app/assets/stylesheets/{batch-edit.css.scss → sufia/_batch-edit.scss} +0 -0
- data/app/assets/stylesheets/sufia/_buttons.scss +8 -0
- data/app/assets/stylesheets/{catalog.css.scss → sufia/_catalog.scss} +0 -0
- data/app/assets/stylesheets/{collections.css.scss → sufia/_collections.scss} +0 -0
- data/app/assets/stylesheets/sufia/_dashboard.scss +112 -0
- data/app/assets/stylesheets/{featured.css.scss → sufia/_featured.scss} +0 -0
- data/app/assets/stylesheets/{file-listing.css.scss → sufia/_file-listing.scss} +0 -0
- data/app/assets/stylesheets/{header.css.scss → sufia/_header.scss} +0 -0
- data/app/assets/stylesheets/{home-page.css.scss → sufia/_home-page.scss} +0 -0
- data/app/assets/stylesheets/sufia/_settings.scss +37 -0
- data/app/assets/stylesheets/{styles.css.scss → sufia/_styles.scss} +1 -1
- data/app/assets/stylesheets/{tagcloud.css → sufia/_tagcloud.scss} +0 -0
- data/app/assets/stylesheets/{usage-stats.css → sufia/_usage-stats.scss} +0 -0
- data/app/controllers/concerns/sufia/controller.rb +1 -1
- data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +1 -1
- data/app/helpers/sufia/records_helper_behavior.rb +13 -7
- data/app/views/batch/_metadata.html.erb +3 -3
- data/app/views/collections/_form_for_select_collection.html.erb +7 -7
- data/app/views/dashboard/_index_partials/_contents.html.erb +10 -6
- data/app/views/dashboard/_index_partials/_heading_actions.html.erb +16 -8
- data/app/views/dashboard/_index_partials/_heading_greetings.html.erb +3 -3
- data/app/views/dashboard/_index_partials/_stats.html.erb +22 -20
- data/app/views/dashboard/_index_partials/_user_info.html.erb +15 -15
- data/app/views/dashboard/index.html.erb +6 -10
- data/app/views/error/401.html.erb +1 -1
- data/app/views/error/404.html.erb +1 -1
- data/app/views/error/single_use_error.html.erb +1 -1
- data/app/views/generic_files/_permission_form.html.erb +2 -2
- data/app/views/homepage/_home_content.html.erb +3 -3
- data/app/views/layouts/error.html.erb +1 -1
- data/app/views/layouts/homepage.html.erb +1 -1
- data/app/views/layouts/sufia-dashboard.html.erb +9 -11
- data/app/views/layouts/sufia-one-column.html.erb +1 -1
- data/app/views/layouts/sufia-two-column.html.erb +1 -1
- data/app/views/mailbox/_notifications.html.erb +5 -4
- data/app/views/my/_facets.html.erb +1 -1
- data/config/locales/sufia.en.yml +24 -1
- data/fedora_conf/conf/development/fedora.fcfg +1 -1
- data/fedora_conf/conf/test/fedora.fcfg +1 -1
- data/lib/sufia.rb +4 -0
- data/lib/sufia/version.rb +1 -1
- data/spec/controllers/downloads_controller_spec.rb +1 -1
- data/spec/controllers/my/files_controller_spec.rb +26 -5
- data/spec/helpers/records_helper_spec.rb +2 -2
- data/spec/jobs/import_url_job_spec.rb +5 -2
- data/spec/models/file_usage_spec.rb +53 -1
- data/spec/views/dashboard/index_spec.rb +8 -8
- data/sufia-models/app/actors/sufia/generic_file/actor.rb +8 -1
- data/sufia-models/app/jobs/import_url_job.rb +1 -1
- data/sufia-models/app/models/concerns/sufia/generic_file/audit.rb +16 -12
- data/sufia-models/app/models/file_usage.rb +4 -2
- data/sufia-models/lib/generators/sufia/models/install_generator.rb +1 -0
- data/sufia-models/lib/generators/sufia/models/templates/config/resque-pool.yml +1 -0
- data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +8 -0
- data/sufia-models/lib/sufia/models/engine.rb +4 -0
- data/sufia-models/lib/sufia/models/version.rb +1 -1
- data/tasks/sufia-dev.rake +1 -0
- metadata +20 -16
- data/app/assets/stylesheets/settings.css.scss +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 94cde4a9af3ac74adc4d40c93d00ac09089e722a
|
|
4
|
+
data.tar.gz: b7e76559cbb876f120f28298fa5c5da6066d7f45
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 48198ddc422d252123001f9298356fcd40a73c9417edc4df8852cfc1fa3beafb12c16422a5e7958e9918f9977e85fd1b00418864d585dda20337fb12ed8a84ad
|
|
7
|
+
data.tar.gz: b9c83e7291e8a25a7621d884bb69ae3b8efd849b21a9318c292e43fc6d13b30c4d3c0a8c368670a1b0f9e4d8a23e62557c621f78eb4dc107f06fff2db6bebacb
|
data/README.md
CHANGED
|
@@ -57,16 +57,19 @@ We'd love to accept your contributions. Please see our guide to [contributing t
|
|
|
57
57
|
If you have questions or need help, please email [the Hydra community development list](mailto:hydra-tech@googlegroups.com).
|
|
58
58
|
|
|
59
59
|
## Creating an application
|
|
60
|
+
|
|
60
61
|
### Generate base Rails install
|
|
62
|
+
|
|
61
63
|
```rails new my_app```
|
|
64
|
+
|
|
62
65
|
### Add gems to Gemfile
|
|
66
|
+
|
|
63
67
|
```
|
|
64
|
-
gem 'sufia'
|
|
68
|
+
gem 'sufia', '~> 4.0.0'
|
|
65
69
|
gem 'kaminari', github: 'harai/kaminari', branch: 'route_prefix_prototype' # required to handle pagination properly in dashboard. See https://github.com/amatsuda/kaminari/pull/322
|
|
66
70
|
```
|
|
67
|
-
Then `bundle install`
|
|
68
71
|
|
|
69
|
-
|
|
72
|
+
Then `bundle install`
|
|
70
73
|
|
|
71
74
|
### Run the sufia generator
|
|
72
75
|
```
|
|
@@ -112,6 +115,30 @@ Add this line at the bottom of the file:
|
|
|
112
115
|
|
|
113
116
|
Turbolinks does not mix well with Blacklight.
|
|
114
117
|
|
|
118
|
+
### Install Notes
|
|
119
|
+
|
|
120
|
+
#### Kaminari
|
|
121
|
+
|
|
122
|
+
The line with kaminari listed as a dependency in Gemfile is a temporary fix to address a
|
|
123
|
+
[problem](https://github.com/amatsuda/kaminari/pull/322) in the current release of kaminari.
|
|
124
|
+
Technically you should not have to list kaminari, which is a dependency of blacklight and sufia.
|
|
125
|
+
|
|
126
|
+
#### Bundler
|
|
127
|
+
|
|
128
|
+
Users have reported problems with the initial `bundle install` command, seeing an error such as:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
Bundler could not find compatible versions for gem "bootstrap-sass":
|
|
132
|
+
In Gemfile:
|
|
133
|
+
sufia (~> 4.0.0) ruby depends on
|
|
134
|
+
bootstrap-sass (< 3.2) ruby
|
|
135
|
+
|
|
136
|
+
sufia (~> 4.0.0) ruby depends on
|
|
137
|
+
bootstrap-sass (3.2.0.2)
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
The solution is to update your bundler gem to the latest version.
|
|
141
|
+
|
|
115
142
|
### Analytics
|
|
116
143
|
|
|
117
144
|
Sufia provides support for capturing usage information via Google Analytics and for displaying usage stats in the UI.
|
|
@@ -184,7 +211,7 @@ config.browse_everything = BrowseEverything.config
|
|
|
184
211
|
* OR
|
|
185
212
|
1. By adding/changing config/initializers/sufia.rb to point to your fits location: `config.fits_path = "/<your full path>/fits.sh"`
|
|
186
213
|
1. You may additionally need to chmod the fits.sh (chmod a+x fits.sh)
|
|
187
|
-
1. You may need to restart your shell to pick up the changes to
|
|
214
|
+
1. You may need to restart your shell to pick up the changes to your path
|
|
188
215
|
1. You should be able to run "fits.sh" from the command line and see a help message
|
|
189
216
|
|
|
190
217
|
### Start background workers
|
data/SUFIA_VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.0.
|
|
1
|
+
4.0.1
|
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
//= require hydra_collections
|
|
49
49
|
//= require browse_everything
|
|
50
50
|
//= require jquery.blacklightTagCloud
|
|
51
|
+
//= require sufia/tagcloud
|
|
51
52
|
//= require nestable
|
|
52
53
|
|
|
53
54
|
// this needs to be after batch_select so that the form ids get setup correctly
|
|
@@ -100,15 +101,6 @@ Blacklight.onLoad(function() {
|
|
|
100
101
|
|
|
101
102
|
$("a[rel=popover]").click(function() { return false;});
|
|
102
103
|
|
|
103
|
-
/*
|
|
104
|
-
* Tag cloud(s)
|
|
105
|
-
*/
|
|
106
|
-
$(".tagcloud").blacklightTagCloud({
|
|
107
|
-
size: {start: 0.9, end: 2.5, unit: 'em'},
|
|
108
|
-
cssHooks: {granularity: 15},
|
|
109
|
-
color: {start: '#0F0', end: '#F00'}
|
|
110
|
-
});
|
|
111
|
-
|
|
112
104
|
|
|
113
105
|
/*
|
|
114
106
|
* facets lists
|
|
@@ -39,7 +39,7 @@ function batch_edit_init () {
|
|
|
39
39
|
requests.splice($.inArray(opt, requests), 1);
|
|
40
40
|
},
|
|
41
41
|
runNow: function () {
|
|
42
|
-
clearTimeout(
|
|
42
|
+
clearTimeout(this.tid);
|
|
43
43
|
if (!running) {
|
|
44
44
|
this.run();
|
|
45
45
|
}
|
|
@@ -104,7 +104,7 @@ function batch_edit_init () {
|
|
|
104
104
|
function after_ajax(form_id) {
|
|
105
105
|
var key = form_id.replace("form_", "");
|
|
106
106
|
var save_button = "#" + key + "_save";
|
|
107
|
-
var outer_div = "#
|
|
107
|
+
var outer_div = "#detail_" + key;
|
|
108
108
|
$("#status_" + key).html("Changes Saved");
|
|
109
109
|
$(save_button).removeAttr("disabled");
|
|
110
110
|
$(outer_div).removeClass("loading");
|
|
@@ -114,7 +114,7 @@ function batch_edit_init () {
|
|
|
114
114
|
function before_ajax(form_id) {
|
|
115
115
|
var key = form_id.replace("form_", "");
|
|
116
116
|
var save_button = "#" + key + "_save";
|
|
117
|
-
var outer_div = "#
|
|
117
|
+
var outer_div = "#detail_" + key;
|
|
118
118
|
$(save_button).attr("disabled", "disabled");
|
|
119
119
|
$(outer_div).addClass("loading");
|
|
120
120
|
$('#' + form_id).children([".form-group"]).addClass('hidden')
|
|
@@ -12,13 +12,15 @@
|
|
|
12
12
|
var cloneElem = $('#'+cloneId).clone();
|
|
13
13
|
// change the add button to a remove button
|
|
14
14
|
var plusbttn = cloneElem.find('#'+this.id);
|
|
15
|
-
|
|
15
|
+
var sr_hidden = '<span aria-hidden="true"><i class="glyphicon glyphicon-remove"></i></span>';
|
|
16
|
+
var sr_only = '<span class="sr-only">remove this ' + this.name.replace("_", " ") + '</span>';
|
|
17
|
+
var remove_button = sr_hidden + sr_only;
|
|
18
|
+
plusbttn.html(remove_button);
|
|
16
19
|
plusbttn.on('click',removeField);
|
|
17
20
|
|
|
18
21
|
|
|
19
22
|
// remove the help tag on subsequent added fields
|
|
20
23
|
cloneElem.find('.formHelp').remove();
|
|
21
|
-
cloneElem.find('i').remove();
|
|
22
24
|
cloneElem.find('.modal-div').remove();
|
|
23
25
|
|
|
24
26
|
//clear out the value for the element being appended
|
|
@@ -10,7 +10,7 @@ function getSingleUse(id) {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
Blacklight.onLoad(function() {
|
|
13
|
-
ZeroClipboard.setDefaults({ moviePath: "
|
|
13
|
+
ZeroClipboard.setDefaults({ moviePath: "<%= asset_path 'ZeroClipboard.swf' %>" });
|
|
14
14
|
$.each($(".copypaste"), function(idx, item) {
|
|
15
15
|
var clip = new ZeroClipboard();
|
|
16
16
|
clip.on("dataRequested", function(client, args) {
|
|
@@ -4,12 +4,7 @@
|
|
|
4
4
|
*= require video-js
|
|
5
5
|
*= require jquery-ui
|
|
6
6
|
*= require sufia-audio-overrides
|
|
7
|
-
*= require home-page
|
|
8
|
-
*= require tagcloud
|
|
9
|
-
*= require featured
|
|
10
|
-
*= require usage-stats
|
|
11
7
|
*= require nestable
|
|
12
|
-
*= require catalog
|
|
13
8
|
*/
|
|
14
9
|
|
|
15
10
|
@import 'bootstrap';
|
|
@@ -18,12 +13,8 @@
|
|
|
18
13
|
|
|
19
14
|
// Use import here instead of require so we can use the Sass variables defined in Bootstrap and Blacklight
|
|
20
15
|
// TODO: Probably should use import throughout and move all of Sufia's stylesheets into a single named directory.
|
|
21
|
-
@import 'settings'
|
|
22
|
-
|
|
23
|
-
@import 'styles';
|
|
24
|
-
@import 'file-listing';
|
|
25
|
-
@import 'collections';
|
|
26
|
-
@import 'batch-edit';
|
|
16
|
+
@import 'sufia/settings','sufia/header','sufia/styles','sufia/file-listing','sufia/collections','sufia/batch-edit',
|
|
17
|
+
'sufia/dashboard','sufia/home-page','sufia/featured','sufia/tagcloud','sufia/usage-stats','sufia/catalog','sufia/buttons';
|
|
27
18
|
|
|
28
19
|
#browse-everything {
|
|
29
20
|
top:10%;
|
|
@@ -57,4 +48,4 @@
|
|
|
57
48
|
|
|
58
49
|
.button_to-inline {
|
|
59
50
|
display: inline-block;
|
|
60
|
-
}
|
|
51
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
.dashboard {
|
|
2
|
+
background-color: $content-wrapper-background-color;
|
|
3
|
+
padding-bottom: 2em;
|
|
4
|
+
#content-header {
|
|
5
|
+
padding-top: 0;
|
|
6
|
+
}
|
|
7
|
+
#content {
|
|
8
|
+
padding-top: 1em;
|
|
9
|
+
}
|
|
10
|
+
h1 {
|
|
11
|
+
font-size: 1.65em;
|
|
12
|
+
}
|
|
13
|
+
h2 {
|
|
14
|
+
font-size: 1.35em;
|
|
15
|
+
padding-top: .15em;
|
|
16
|
+
}
|
|
17
|
+
.badge {
|
|
18
|
+
background-color: $badge-background-color;
|
|
19
|
+
color: $badge-font-color;
|
|
20
|
+
}
|
|
21
|
+
.panel-default > .panel-heading {
|
|
22
|
+
background-color: $panel-background-color;
|
|
23
|
+
}
|
|
24
|
+
.panel-default > .dashboard-panel {
|
|
25
|
+
background-color: $panel-dashboard-background-color;
|
|
26
|
+
color: $panel-dashboard-font-color;
|
|
27
|
+
}
|
|
28
|
+
.user-info {
|
|
29
|
+
padding-left: 0;
|
|
30
|
+
word-break: break-word;
|
|
31
|
+
}
|
|
32
|
+
.sort-toggle, #documents, .batch-toggle {
|
|
33
|
+
border-left: 1px solid $dashboard-border-color;
|
|
34
|
+
border-right: 1px solid $dashboard-border-color;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.heading-tile {
|
|
39
|
+
border: none;
|
|
40
|
+
}
|
|
41
|
+
.heading-row {
|
|
42
|
+
border: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
#content-header .heading-row:nth-child(2) {
|
|
46
|
+
padding-top: .5em;
|
|
47
|
+
a:link, a:visited {
|
|
48
|
+
color: $icon-link-color;
|
|
49
|
+
}
|
|
50
|
+
a:hover {
|
|
51
|
+
color: $icon-link-hover-color;
|
|
52
|
+
text-decoration: none;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
div.heading-tile .glyphicon {
|
|
57
|
+
background: $icon-background-color;
|
|
58
|
+
color: $icon-font-color;
|
|
59
|
+
display: block;
|
|
60
|
+
width: 2em;
|
|
61
|
+
height: 2em;
|
|
62
|
+
line-height: 1.75em;
|
|
63
|
+
margin: 0 auto;
|
|
64
|
+
border-radius: 50%;
|
|
65
|
+
border: 2px solid $icon-border-color;
|
|
66
|
+
overflow: hidden;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.proxy-search h3 {
|
|
70
|
+
margin-bottom: 20px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.batch-info, #documents {
|
|
74
|
+
background-color: $dashboard-background-color;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
#my_nav {
|
|
78
|
+
margin-bottom: 0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.sort-toggle, .batch-toggle {
|
|
82
|
+
padding: 1.5em 0 1.5em 1em;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
#footer {
|
|
86
|
+
margin-top: 0;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.transfer_link {
|
|
90
|
+
margin-top: 8px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// making sure the tables that still exist in the system do not overflow thier bounds
|
|
94
|
+
#notifications_table {
|
|
95
|
+
table-layout:fixed;
|
|
96
|
+
column-width: auto;
|
|
97
|
+
word-wrap:break-word
|
|
98
|
+
}
|
|
99
|
+
#notifications_table th:nth-child(1){
|
|
100
|
+
width: 10%
|
|
101
|
+
}
|
|
102
|
+
#notifications_table th:nth-child(2){
|
|
103
|
+
width: 20%
|
|
104
|
+
}
|
|
105
|
+
#notifications_table th:nth-child(3){
|
|
106
|
+
width: 60%
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
#activity .panel-body{
|
|
110
|
+
overflow: scroll;
|
|
111
|
+
max-height: 20em;
|
|
112
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Settings
|
|
2
|
+
//
|
|
3
|
+
// Variables, colors, etc. that are used in Sufia.
|
|
4
|
+
// Some are unique or override other variables from Bootstrap.
|
|
5
|
+
|
|
6
|
+
$basic-black: #000;
|
|
7
|
+
$blue-dark: #036;
|
|
8
|
+
$blue-medium: #1C5798;
|
|
9
|
+
$blue-medium-bright: #2674CA;
|
|
10
|
+
$brown-dark: #7D5D55;
|
|
11
|
+
$brown-medium-dark: #A78352;
|
|
12
|
+
$brown-medium: #B89972;
|
|
13
|
+
$brown-light: #D2B48C;
|
|
14
|
+
$classic-white: #FFF;
|
|
15
|
+
$cream-light: #FCFBF7;
|
|
16
|
+
$gray-dark: #333;
|
|
17
|
+
$gray-medium: #CECDCD;
|
|
18
|
+
$gray-light: #DDD;
|
|
19
|
+
$gray-lighter: #E1E1E1;
|
|
20
|
+
$gray-lightish: #bbb;
|
|
21
|
+
$highlight-yellow: #F0CA00;
|
|
22
|
+
$teal: #2CAEB7;
|
|
23
|
+
$vermilion: #F30;
|
|
24
|
+
|
|
25
|
+
$badge-background-color: $highlight-yellow;
|
|
26
|
+
$badge-font-color: $classic-white;
|
|
27
|
+
$content-wrapper-background-color: $cream-light;
|
|
28
|
+
$dashboard-background-color: $classic-white;
|
|
29
|
+
$dashboard-border-color: $gray-light;
|
|
30
|
+
$icon-background-color: $vermilion;
|
|
31
|
+
$icon-border-color: $classic-white;
|
|
32
|
+
$icon-font-color: $classic-white;
|
|
33
|
+
$icon-link-color: $basic-black;
|
|
34
|
+
$icon-link-hover-color: $blue-medium-bright;
|
|
35
|
+
$panel-background-color: $classic-white;
|
|
36
|
+
$panel-dashboard-background-color: $teal;
|
|
37
|
+
$panel-dashboard-font-color: $classic-white;
|
|
File without changes
|
|
File without changes
|
|
@@ -37,7 +37,7 @@ module Sufia::Controller
|
|
|
37
37
|
return if action_name == "index" && controller_name == "mailbox"
|
|
38
38
|
if user_signed_in?
|
|
39
39
|
@notify_number = current_user.mailbox.inbox(unread: true).count
|
|
40
|
-
@batches = current_user.mailbox.inbox.map { |msg| msg.last_message.body[/<span
|
|
40
|
+
@batches = current_user.mailbox.inbox.map { |msg| msg.last_message.body[/<span id="(.*)"><a (href=|data-content=)(.*)/,1] }.select{ |val| !val.blank? }
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
|
|
@@ -32,7 +32,7 @@ module Sufia
|
|
|
32
32
|
# in your dashboard view. You'll need to alter dashboard/index.html.erb accordingly.
|
|
33
33
|
def gather_dashboard_information
|
|
34
34
|
@user = current_user
|
|
35
|
-
@activity = current_user.get_all_user_activity(params[:since].blank? ? DateTime.now.to_i -
|
|
35
|
+
@activity = current_user.get_all_user_activity(params[:since].blank? ? DateTime.now.to_i - Sufia.config.activity_to_show_default_seconds_since_now : params[:since].to_i)
|
|
36
36
|
@notifications = current_user.mailbox.inbox
|
|
37
37
|
end
|
|
38
38
|
|
|
@@ -41,16 +41,22 @@ module Sufia
|
|
|
41
41
|
private
|
|
42
42
|
|
|
43
43
|
def more_or_less_button(key, html_class, symbol)
|
|
44
|
-
|
|
45
|
-
content_tag
|
|
46
|
-
|
|
47
|
-
"add another #{key.to_s}"
|
|
48
|
-
end).html_safe
|
|
44
|
+
icon = (symbol == "-") ? "remove" : "plus"
|
|
45
|
+
content_tag "button", class: "#{html_class} btn", id: "additional_#{key}_submit", name: "additional_#{key}" do
|
|
46
|
+
sr_hidden(icon) + sr_only(key.to_s)
|
|
49
47
|
end
|
|
50
48
|
end
|
|
51
49
|
|
|
52
|
-
def sr_hidden
|
|
53
|
-
content_tag
|
|
50
|
+
def sr_hidden icon
|
|
51
|
+
content_tag "span", "aria-hidden" => true do
|
|
52
|
+
content_tag "i", "", class: "glyphicon glyphicon-#{icon}"
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def sr_only text
|
|
57
|
+
content_tag "span", class: "sr-only" do
|
|
58
|
+
"add another #{text}"
|
|
59
|
+
end
|
|
54
60
|
end
|
|
55
61
|
|
|
56
62
|
def default_aria_label text
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<%= help_icon(:tag) %>
|
|
40
40
|
<div id="additional_tag_clone">
|
|
41
41
|
<%= f.text_field :tag, name: "generic_file[tag][]", value: "", required: true %>
|
|
42
|
-
<button class="adder btn" name="additional_tag" id="additional_tag_submit"><span aria-hidden="true"
|
|
42
|
+
<button class="adder btn" name="additional_tag" id="additional_tag_submit"><span aria-hidden="true"><i class="glyphicon glyphicon-plus"></i></span><span class="sr-only"><%= t('sufia.batch.metadata.add_another_keyword') %></span></button>
|
|
43
43
|
</div>
|
|
44
44
|
<div id="additional_tag_elements"></div>
|
|
45
45
|
</div>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
<%= help_icon(:creator) %>
|
|
50
50
|
<div id="additional_creator_clone">
|
|
51
51
|
<%= f.text_field :creator, name: "generic_file[creator][]", value: "", required: true %>
|
|
52
|
-
<button class="adder btn" name="additional_creator" id="additional_creator_submit"><span aria-hidden="true"
|
|
52
|
+
<button class="adder btn" name="additional_creator" id="additional_creator_submit"><span aria-hidden="true"><i class="glyphicon glyphicon-plus"></i></span><span class="sr-only"><%= t('sufia.batch.metadata.add_another_creator') %></span></button>
|
|
53
53
|
</div>
|
|
54
54
|
<div id="additional_creator_elements"></div>
|
|
55
55
|
</div>
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
<%= help_icon_modal('rightsModal') %>
|
|
60
60
|
<div id="additional_rights_clone">
|
|
61
61
|
<%= f.select "rights", options_for_select(Sufia::Engine::config.cc_licenses, 'http://creativecommons.org/licenses/by-nc-nd/3.0/us/'), required: true %>
|
|
62
|
-
<button class="adder btn" name="additional_rights" id="additional_rights_submit"><span aria-hidden="true"
|
|
62
|
+
<button class="adder btn" name="additional_rights" id="additional_rights_submit"><span aria-hidden="true"><i class="glyphicon glyphicon-plus"></i></span><span class="sr-only"><%= t('sufia.batch.metadata.add_another_rights') %></span></button>
|
|
63
63
|
<%= render partial: "generic_files/rights_modal" %>
|
|
64
64
|
</div>
|
|
65
65
|
<div id="additional_rights_elements"></div>
|