umlaut 3.0.0alpha5 → 3.0.0alpha6
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/javascripts/umlaut/update_html.js +21 -0
- data/app/assets/javascripts/umlaut_ui.js +15 -0
- data/app/helpers/resolve_helper.rb +14 -4
- data/app/views/resolve/api.xml.builder +10 -14
- data/lib/#Untitled-1# +14 -0
- data/lib/umlaut/routes.rb +14 -1
- data/lib/umlaut/version.rb +1 -1
- data/lib/umlaut.rb +12 -9
- data/test/dummy/tmp/cache/assets/C5F/340/sprockets%2F99692920160b7a279b86a80415b79db7 +0 -0
- data/test/dummy/tmp/cache/assets/C70/4D0/sprockets%2F034ad2036e623081bd352800786dfe80 +0 -0
- data/test/dummy/tmp/cache/assets/CBB/9C0/sprockets%2F706f28923fb754cad04b9107c89986a1 +31 -0
- data/test/dummy/tmp/cache/assets/CBF/B60/sprockets%2F08ca89671549936265dcb673bf02e36f +0 -0
- data/test/dummy/tmp/cache/assets/CC9/9F0/sprockets%2F306166316e2cafd13c15e62b51a2339d +0 -0
- data/test/dummy/tmp/cache/assets/CF7/2B0/sprockets%2F25a7c73655bd3598173b39d9f98bcd46 +880 -0
- data/test/dummy/tmp/cache/assets/CFE/080/sprockets%2F37fe9f4255baddbd549a659914929398 +0 -0
- data/test/dummy/tmp/cache/assets/D0B/E10/sprockets%2F1444763abc4444a8e129efdb9a43235f +378 -0
- data/test/dummy/tmp/cache/assets/D1F/830/sprockets%2Fe6a7a907a8e9b43780a80fe69a92913d +11773 -0
- data/test/dummy/tmp/cache/assets/D22/060/sprockets%2F9aec77b768e91a802d284271c58e2f7e +21361 -0
- data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/D33/6D0/sprockets%2F500129c57f1146e556ec3aacd6cd38c1 +158 -0
- data/test/dummy/tmp/cache/assets/D50/7B0/sprockets%2F6df95fb9a4189df351c1c88546c84a1d +394 -0
- data/test/dummy/tmp/cache/assets/D54/ED0/sprockets%2F71c9fa01091d432b131da3bb73faf3d4 +877 -0
- data/test/dummy/tmp/cache/assets/D69/820/sprockets%2F55a4f1a7c4918d71c0d4fb5b7dd4c055 +9272 -0
- data/test/dummy/tmp/cache/assets/D71/6B0/sprockets%2Fde558b71b494cf09b1bf055c8dff0353 +53 -0
- data/test/dummy/tmp/cache/assets/D72/610/sprockets%2Fa8c708eeb30ef93de34d755d4f45d023 +864 -0
- data/test/dummy/tmp/cache/assets/D76/AD0/sprockets%2Fe2158cde93188cf5ab6457bc6d6602ec +41 -0
- data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +21744 -0
- data/test/dummy/tmp/cache/assets/D9B/770/sprockets%2F8aacf02eb7dbb0949704b28f27b87e0b +39 -0
- data/test/dummy/tmp/cache/assets/DD0/140/sprockets%2F1656d1d8f4c13fe42aff6553c6cdcda7 +11789 -0
- data/test/dummy/tmp/cache/assets/DE8/790/sprockets%2Fd1333bde2b9aafcc712d11dd09ab35d8 +0 -0
- data/test/dummy/tmp/cache/assets/DF1/AA0/sprockets%2Fedd37b0fdb6157fccb2297a8a10acc90 +9288 -0
- data/test/dummy/tmp/cache/assets/E03/570/sprockets%2F493bdc0ac14cd4f57fdfe4253f992bde +14 -0
- data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/E5F/960/sprockets%2Fdc007b6cad5c7ef08e33ec28cfff0ef6 +0 -0
- metadata +200 -98
- data/test/dummy/config/database-jhu.yml +0 -44
- data/test/dummy/config/database.yml +0 -53
@@ -148,5 +148,26 @@
|
|
148
148
|
window.Umlaut = new Object();
|
149
149
|
window.Umlaut.HtmlUpdater = HtmlUpdater;
|
150
150
|
|
151
|
+
/* LEGACY Loader was recommended for loading Umlaut JS behaviors
|
152
|
+
in an external page, for JQuery Content Utility.
|
153
|
+
|
154
|
+
var loader = new Umlaut.Loader();
|
155
|
+
loader.load();
|
156
|
+
|
157
|
+
We will provide just enough code to keep that from
|
158
|
+
error'ing (and halting js execution), although at present it does not
|
159
|
+
actually load the JS behaviors using new style, app wont' have
|
160
|
+
JS behaviors. */
|
161
|
+
|
162
|
+
window.Umlaut.Loader = function() {
|
163
|
+
this.load = function(option_list) {
|
164
|
+
// log problem in browsers that support it.
|
165
|
+
if (typeof console != "undefined" && typeof console.log != "undefined") {
|
166
|
+
console.log("WARN: Umlaut.Loader no longer supported in Umlaut 3.x, you have not loaded Umlaut JS Behaviors. See Umlaut documentation for new way.");
|
167
|
+
}
|
168
|
+
}
|
169
|
+
}
|
170
|
+
|
171
|
+
|
151
172
|
})(jQuery);
|
152
173
|
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/* This JS file can be referenced by external apps to add Umlaut JS UI behaviors
|
2
|
+
to a page that has had Umlaut content added to it via partial html snippets.
|
3
|
+
|
4
|
+
This is a sprockets manifest file requiring individual js behavior
|
5
|
+
files applicable.
|
6
|
+
|
7
|
+
At present, only expand/contract toggle behavior is actually supported,
|
8
|
+
others are non-applicable or hard to get working on an external site
|
9
|
+
due to cross-domain-origin stuff.
|
10
|
+
|
11
|
+
|
12
|
+
*= require 'umlaut/expand_contract_toggle.js'
|
13
|
+
|
14
|
+
|
15
|
+
*/
|
@@ -77,7 +77,7 @@ module ResolveHelper
|
|
77
77
|
# <% expand_contract_section("My Content", "div_id_to_use") do %>
|
78
78
|
# this will be hidden and shown
|
79
79
|
# <% end %>
|
80
|
-
def expand_contract_section(arg_heading, id, options={}, &block)
|
80
|
+
def expand_contract_section(arg_heading, id, options={}, &block)
|
81
81
|
expanded = (params["umlaut.show_#{id}"] == "true") || options[:initial_expand] || false
|
82
82
|
|
83
83
|
icon = image_tag( ( expanded ? "list_open.png" : "list_closed.png"),
|
@@ -86,9 +86,20 @@ module ResolveHelper
|
|
86
86
|
:border => "0")
|
87
87
|
heading = content_tag(:span,( expanded ? "Hide " : "Show "), :class=>'expand_contract_action_label') + arg_heading
|
88
88
|
|
89
|
-
|
90
89
|
link_params = params.merge('umlaut.request_id' => @user_request.id,
|
91
|
-
"
|
90
|
+
"umlaut.show_#{id}" => (! expanded).to_s ,
|
91
|
+
|
92
|
+
# Need to zero out format-related params for when we're coming
|
93
|
+
# from a partial html api request, so the link we generate
|
94
|
+
# is not to format json/xml/etc.
|
95
|
+
:format => nil,
|
96
|
+
'umlaut.response_format' => nil,
|
97
|
+
'umlaut.jsonp'=>nil,
|
98
|
+
|
99
|
+
# In Rails3, an :anchor param will actually be used for #fragmentIdentifier
|
100
|
+
# on end of url
|
101
|
+
:anchor => "#{id}_toggle_link"
|
102
|
+
)
|
92
103
|
|
93
104
|
# Make sure a self-referencing link from partial_html_sections
|
94
105
|
# really goes to full HTML view.
|
@@ -98,7 +109,6 @@ module ResolveHelper
|
|
98
109
|
|
99
110
|
return content_tag(:div, :class => "expand_contract_section") do
|
100
111
|
link_to( icon + heading, link_params,
|
101
|
-
:anchor => "#{id}_toggle_link",
|
102
112
|
:id => "#{id}_toggle_link",
|
103
113
|
:class => "expand_contract_toggle" ) + "\n" +
|
104
114
|
content_tag(:div, :id => id,
|
@@ -46,21 +46,17 @@ xml.umlaut do
|
|
46
46
|
["display_text", "url", "notes"].each do |att|
|
47
47
|
xml.tag!(att, response.attributes[att])
|
48
48
|
end
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
xml<< value
|
57
|
-
rescue
|
58
|
-
# oh well, no to_xml in there
|
59
|
-
value = response.service_data[key]
|
60
|
-
xml.text!(value.to_s) unless value.blank?
|
49
|
+
|
50
|
+
response.service_data.keys.each do |key|
|
51
|
+
value = response.service_data[key]
|
52
|
+
# If it's a complex obj with a :to_xml, like a hash, use it.
|
53
|
+
if value.respond_to?(:to_xml)
|
54
|
+
xml.tag!(key) do
|
55
|
+
xml << value.to_xml(:root => "records", :skip_instruct => true)
|
61
56
|
end
|
62
|
-
|
63
|
-
|
57
|
+
else
|
58
|
+
xml.tag!(key, value.to_s.strip)
|
59
|
+
end
|
64
60
|
end
|
65
61
|
|
66
62
|
xml.umlaut_passthrough_url(url_for(:controller=>'link_router', :action => "index", :id=>response.id, :only_path => false))
|
data/lib/#Untitled-1#
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
http://blacklight.mse.jhu.edu:3000/resolve/index?ctx_enc=info%3Aofi%2Fenc%3AUTF-8
|
2
|
+
&ctx_id=
|
3
|
+
&ctx_tim=2012-01-05T10%3A55%3A49-05%3A00
|
4
|
+
&ctx_ver=Z39.88-2004
|
5
|
+
&rfr_id=info%3Asid%3Alibrary.jhu.edu%2Fblacklight
|
6
|
+
&rft.genre=journal
|
7
|
+
&rft.issn=00987484
|
8
|
+
&rft.jtitle=JAMA%3A+the+journal+of+the+American+Medical+Association
|
9
|
+
&rft_id=https%3A%2F%2Fblacklight.mse.jhu.edu%2Fdemo%2Fcatalog%2Fbib_647591
|
10
|
+
&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal
|
11
|
+
¨aut.request_id=6
|
12
|
+
¨aut_show_umlaut_fulltext=true
|
13
|
+
&url_ctx_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Actx
|
14
|
+
&url_ver=Z39.88-2004
|
data/lib/umlaut/routes.rb
CHANGED
@@ -30,7 +30,7 @@ module Umlaut
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def default_route_sets
|
33
|
-
[:root, :permalinks, :a_z, :resolve, :open_search, :link_router, :export_email, :resources, :search]
|
33
|
+
[:root, :permalinks, :a_z, :resolve, :open_search, :link_router, :export_email, :resources, :search, :javascript]
|
34
34
|
end
|
35
35
|
|
36
36
|
module RouteSets
|
@@ -129,6 +129,19 @@ module Umlaut
|
|
129
129
|
match 'search(/:action(/:id(.:format)))' => "search"
|
130
130
|
end
|
131
131
|
end
|
132
|
+
|
133
|
+
def javascript
|
134
|
+
add_routes do |options|
|
135
|
+
# Legacy location for update_html.js used by JQuery Content Utility
|
136
|
+
# to embed JS on external sites. Redirect to new location.
|
137
|
+
# Intentionally non-fingerprinted, most efficient thing
|
138
|
+
# we can do in this case is let the web server take care
|
139
|
+
# of Last-modified-by etc headers.
|
140
|
+
match 'javascripts/jquery/umlaut/update_html.js' => redirect("/assets/umlaut/update_html.js", :status => 301)
|
141
|
+
|
142
|
+
match 'images/spinner.gif' => redirect("/assets/spinner.gif")
|
143
|
+
end
|
144
|
+
end
|
132
145
|
|
133
146
|
end
|
134
147
|
include RouteSets
|
data/lib/umlaut/version.rb
CHANGED
data/lib/umlaut.rb
CHANGED
@@ -25,14 +25,17 @@ module Umlaut
|
|
25
25
|
# I don't entirely understand what's going on.
|
26
26
|
#config.eager_load_paths << File.join(self.root, "lib")
|
27
27
|
|
28
|
-
#
|
29
|
-
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
33
|
-
#
|
34
|
-
#
|
35
|
-
|
36
|
-
|
28
|
+
# We need the update_html.js script to be available as it's own
|
29
|
+
# JS file too, not just compiled into application.js, so we can
|
30
|
+
# deliver it to external apps using it (JQuery Content Utility).
|
31
|
+
# It will now be available from path /assets/umlaut/update_html.js
|
32
|
+
# in production mode with precompiled assets, also in dev mode,
|
33
|
+
# whatevers.
|
34
|
+
initializer "#{engine_name}.asset_pipeline" do |app|
|
35
|
+
app.config.assets.precompile << 'umlaut/update_html.js'
|
36
|
+
app.config.assets.precompile << "umlaut_ui.js"
|
37
|
+
end
|
38
|
+
|
39
|
+
|
37
40
|
end
|
38
41
|
end
|
Binary file
|
Binary file
|
@@ -0,0 +1,31 @@
|
|
1
|
+
o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1325695618.004611:@value{ I"length:EFi{I"digest;
|
2
|
+
F"%169a41ce2d19740e03908cf9124200d3I"source;
|
3
|
+
FI"{/* expand_contract_toggle.js: Support for show more/hide more in lists of umlaut content. */
|
4
|
+
|
5
|
+
jQuery(document).ready(function($) {
|
6
|
+
|
7
|
+
$(".expand_contract_toggle").live("click", function() {
|
8
|
+
var content = $(this).next(".expand_contract_content");
|
9
|
+
var icon = $(this).parent().find('img.toggle_icon');
|
10
|
+
|
11
|
+
if (content.is(":visible")) {
|
12
|
+
icon.attr("src", icon.attr("src").replace("list_open.png", "list_closed.png"));
|
13
|
+
$(this).find(".expand_contract_action_label").text("Show ");
|
14
|
+
|
15
|
+
content.hide();
|
16
|
+
|
17
|
+
}
|
18
|
+
else {
|
19
|
+
icon.attr("src", icon.attr("src").replace("list_closed.png", "list_open.png"));
|
20
|
+
$(this).find(".expand_contract_action_label").text("Hide ");
|
21
|
+
content.show();
|
22
|
+
}
|
23
|
+
|
24
|
+
return false;
|
25
|
+
});
|
26
|
+
|
27
|
+
|
28
|
+
});
|
29
|
+
;
|
30
|
+
FI"
|
31
|
+
F"%742ae9e3db24ddeb5c807914bde33141
|
Binary file
|