browse-everything 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY.md +3 -0
- data/README.md +1 -0
- data/app/assets/javascripts/browse_everything/behavior.js.coffee +1 -1
- data/app/assets/stylesheets/bootstrap-responsive.css.scss +4 -0
- data/app/assets/stylesheets/browse_everything.css.scss +49 -38
- data/app/helpers/bootstrap_version_helper.rb +19 -0
- data/app/views/browse_everything/_providers.html.erb +2 -2
- data/app/views/browse_everything/index.html.erb +18 -26
- data/browse-everything.gemspec +1 -1
- data/lib/browse_everything/driver/file_system.rb +3 -3
- data/lib/browse_everything/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/dropbox.yml +2 -2
- data/spec/support/app/views/file_handler/index.html.erb +2 -2
- data/spec/support/lib/generators/test_app_generator.rb +1 -1
- metadata +12 -5
data/HISTORY.md
CHANGED
data/README.md
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
[![Gem Version](https://badge.fury.io/rb/browse-everything.png)](http://badge.fury.io/rb/browse-everything)
|
1
2
|
[![Build Status](https://travis-ci.org/projecthydra/browse-everything.png?branch=master)](https://travis-ci.org/projecthydra/browse-everything)
|
2
3
|
|
3
4
|
# BrowseEverything
|
@@ -5,7 +5,7 @@ $(document).ready ->
|
|
5
5
|
|
6
6
|
initialize = (obj,options) ->
|
7
7
|
if dialog.length == 0
|
8
|
-
dialog = $('<div id="browse-everything" class="ev-browser modal
|
8
|
+
dialog = $('<div id="browse-everything" class="ev-browser modal fade"></div>').hide().appendTo('body')
|
9
9
|
dialog.modal({ backdrop: 'static', show: false });
|
10
10
|
context[obj] =
|
11
11
|
opts: $.extend(true, {}, options)
|
@@ -27,56 +27,67 @@
|
|
27
27
|
}
|
28
28
|
}
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
#browse-everything {
|
31
|
+
overflow-y: hidden;
|
32
|
+
position: fixed !important;
|
33
|
+
margin: 0 0 0 -37.5%;
|
34
|
+
left: 50%;
|
35
|
+
width: 75%;
|
33
36
|
|
34
|
-
.
|
35
|
-
|
36
|
-
|
37
|
-
}
|
37
|
+
.modal-body {
|
38
|
+
overflow: hidden;
|
39
|
+
}
|
38
40
|
|
39
|
-
.
|
40
|
-
|
41
|
-
.ev-selected {
|
42
|
-
@include border-highlight(black);
|
41
|
+
.modal-footer {
|
42
|
+
margin: 0px;
|
43
43
|
}
|
44
|
-
}
|
45
44
|
|
46
|
-
.
|
47
|
-
|
48
|
-
}
|
45
|
+
.row {
|
46
|
+
margin: inherit;
|
47
|
+
}
|
48
|
+
|
49
|
+
.ev-files {
|
50
|
+
position: relative;
|
51
|
+
overflow-x: hidden;
|
52
|
+
overflow-y: auto;
|
49
53
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
+
li {
|
55
|
+
overflow: hidden;
|
56
|
+
text-overflow: ellipsis;
|
57
|
+
.ev-file-name {
|
58
|
+
// padding: 0px 6px;
|
59
|
+
white-space: nowrap;
|
60
|
+
}
|
61
|
+
border-top: none;
|
62
|
+
}
|
54
63
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
white-space: nowrap;
|
64
|
+
&.detail {
|
65
|
+
}
|
66
|
+
|
67
|
+
&.list ul {
|
68
|
+
@include content-columns(3);
|
61
69
|
}
|
62
|
-
border-top: none;
|
63
70
|
}
|
64
71
|
|
65
|
-
|
72
|
+
.ev-container li {
|
73
|
+
cursor: pointer;
|
66
74
|
}
|
67
75
|
|
68
|
-
|
69
|
-
|
76
|
+
.ev-body {
|
77
|
+
padding: 0;
|
70
78
|
}
|
71
|
-
}
|
72
79
|
|
73
|
-
.ev-
|
74
|
-
|
75
|
-
|
80
|
+
.ev-providers {
|
81
|
+
padding: 4px;
|
82
|
+
background-color: lightgray;
|
83
|
+
}
|
84
|
+
|
85
|
+
.ev-providers, .ev-files {
|
86
|
+
height: 50vh;
|
87
|
+
li { @include ev-link; }
|
88
|
+
.ev-selected {
|
89
|
+
@include border-highlight(black);
|
90
|
+
}
|
91
|
+
}
|
76
92
|
|
77
|
-
#browse-everything {
|
78
|
-
margin: 0 0 0 -37.5%;
|
79
|
-
left: 50%;
|
80
|
-
width: 75%;
|
81
|
-
height: 75%;
|
82
93
|
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module BootstrapVersionHelper
|
2
|
+
|
3
|
+
def bootstrap_three?
|
4
|
+
Bundler.environment.specs['bootstrap-sass'].first.version >= Gem::Version.new('3')
|
5
|
+
end
|
6
|
+
|
7
|
+
def bs2(if2)
|
8
|
+
bs2or3(if2,'')
|
9
|
+
end
|
10
|
+
|
11
|
+
def bs3(if3)
|
12
|
+
bs2or3('',if3)
|
13
|
+
end
|
14
|
+
|
15
|
+
def bs2or3(if2,if3)
|
16
|
+
bootstrap_three? ? if3 : if2
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
<ul class="unstyled">
|
1
|
+
<ul class="<%=bs3('list-')%>unstyled">
|
2
2
|
<% browser.providers.each_pair do |key, provider| %>
|
3
3
|
<li>
|
4
4
|
<span class="ev-container">
|
5
|
-
<i class="icon
|
5
|
+
<i class="<%=bs2or3('icon','glyphicon glyphicon')%>-<%=provider.icon%>"></i>
|
6
6
|
<%= link_to(provider.name, browse_everything_engine.contents_path(key)) %>
|
7
7
|
</span>
|
8
8
|
</li>
|
@@ -1,28 +1,20 @@
|
|
1
|
-
|
2
|
-
<div class="modal-
|
3
|
-
<div class="
|
4
|
-
<div class="
|
5
|
-
<%=
|
6
|
-
|
7
|
-
|
8
|
-
<%=
|
1
|
+
<% if bootstrap_three? %><div class="modal-content"><% end %>
|
2
|
+
<div class="modal-header"></div>
|
3
|
+
<div class="modal-body ev-body">
|
4
|
+
<div class="ev-browser row<%=bs2('-fluid')%>">
|
5
|
+
<div class="<%=bs2or3('span','col-xs-')%>2 ev-providers nav nav-list">
|
6
|
+
<%= render :partial => 'providers' %>
|
7
|
+
</div>
|
8
|
+
<div class="<%=bs2or3('span','col-xs-')%>10 ev-files list">
|
9
|
+
<%= render :partial => 'files' %>
|
10
|
+
</div>
|
9
11
|
</div>
|
10
12
|
</div>
|
11
|
-
|
12
|
-
<
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
<script>
|
20
|
-
$(window).resize(function() {
|
21
|
-
var be = $('#browse-everything').outerHeight();
|
22
|
-
var he = $('#browse-everything .modal-header').outerHeight();
|
23
|
-
var fo = $('#browse-everything .modal-footer').outerHeight();
|
24
|
-
$('#browse-everything .modal-body').css('max-height','none').height(be-(he+fo));
|
25
|
-
$('#browse-everything .ev-providers').height(be-(he+fo));
|
26
|
-
})
|
27
|
-
$(window).trigger('resize');
|
28
|
-
</script>
|
13
|
+
<div class="modal-footer">
|
14
|
+
<span class="pull-left ev-status">0 files selected</span>
|
15
|
+
<%= form_tag '#', :class => "ev-submit-form form-horizontal", :data => { :resolver => browse_everything_engine.resolver_path } do %>
|
16
|
+
<button class="ev-cancel btn btn-danger"><%= t('browse_everything.modal_form.cancel')%></button>
|
17
|
+
<button class="ev-submit btn btn-primary" data-loading-text="Loading..."><%= t('browse_everything.modal_form.submit')%></button>
|
18
|
+
<% end %>
|
19
|
+
</div>
|
20
|
+
<% if bootstrap_three? %></div><% end %>
|
data/browse-everything.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_dependency "bootstrap-sass"
|
24
24
|
spec.add_dependency "font-awesome-rails"
|
25
25
|
spec.add_dependency "google_drive"
|
26
|
-
spec.add_dependency "dropbox-sdk"
|
26
|
+
spec.add_dependency "dropbox-sdk", ">= 1.6.2"
|
27
27
|
spec.add_dependency "skydrive"
|
28
28
|
spec.add_dependency "ruby-box"
|
29
29
|
spec.add_dependency "google-api-client"
|
@@ -18,7 +18,7 @@ module BrowseEverything
|
|
18
18
|
result = []
|
19
19
|
if File.directory?(real_path)
|
20
20
|
if relative_path.present?
|
21
|
-
result << details('..')
|
21
|
+
result << details(File.expand_path('..',real_path),'..')
|
22
22
|
end
|
23
23
|
result += Dir[File.join(real_path,'*')].collect { |f| details(f) }
|
24
24
|
elsif File.exists?(real_path)
|
@@ -33,13 +33,13 @@ module BrowseEverything
|
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
|
-
def details(path)
|
36
|
+
def details(path,display=nil)
|
37
37
|
if File.exists?(path)
|
38
38
|
info = File::Stat.new(path)
|
39
39
|
BrowseEverything::FileEntry.new(
|
40
40
|
Pathname.new(File.expand_path(path)).relative_path_from(Pathname.new(config[:home])),
|
41
41
|
[self.key,path].join(':'),
|
42
|
-
File.basename(path),
|
42
|
+
display || File.basename(path),
|
43
43
|
info.size,
|
44
44
|
info.mtime,
|
45
45
|
info.directory?
|
@@ -152,7 +152,7 @@ http_interactions:
|
|
152
152
|
recorded_at: Fri, 20 Sep 2013 15:38:55 GMT
|
153
153
|
- request:
|
154
154
|
method: get
|
155
|
-
uri: https://api.dropbox.com/1/media/auto/Writer/Writer%20FAQ.txt
|
155
|
+
uri: https://api.dropbox.com/1/media/auto/Writer/Writer%20FAQ.txt?
|
156
156
|
body:
|
157
157
|
encoding: UTF-8
|
158
158
|
string: ''
|
@@ -191,7 +191,7 @@ http_interactions:
|
|
191
191
|
recorded_at: Fri, 20 Sep 2013 15:39:01 GMT
|
192
192
|
- request:
|
193
193
|
method: get
|
194
|
-
uri: https://api.dropbox.com/1/media/auto/Writer/Markdown%20Test.txt
|
194
|
+
uri: https://api.dropbox.com/1/media/auto/Writer/Markdown%20Test.txt?
|
195
195
|
body:
|
196
196
|
encoding: UTF-8
|
197
197
|
string: ''
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<div class="hero-unit">
|
1
|
+
<div class="<%=bs2or3('hero-unit','jumbotron')%>">
|
2
2
|
<h1>Welcome!</h1>
|
3
3
|
|
4
4
|
<p>Please click the button below to start pickin' files!</p>
|
5
5
|
|
6
|
-
<%= form_tag(
|
6
|
+
<%= form_tag('/file', id: 'main_form', method: 'post') do %>
|
7
7
|
<%= button_tag("Browse", type: 'button', class: 'btn btn-large btn-success', id: "browse-btn",
|
8
8
|
'data-toggle' => 'browse-everything', 'data-route' => browse_everything_engine.root_path,
|
9
9
|
'data-target' => '#main_form' ) %>
|
@@ -28,7 +28,7 @@ class TestAppGenerator < Rails::Generators::Base
|
|
28
28
|
|
29
29
|
mount BrowseEverything::Engine => '/browse'
|
30
30
|
root :to => "file_handler#index"
|
31
|
-
post '/file', :to => "file_handler#update"
|
31
|
+
post '/file', :to => "file_handler#update"
|
32
32
|
}
|
33
33
|
end
|
34
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browse-everything
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2013-
|
16
|
+
date: 2013-12-03 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: rails
|
@@ -102,7 +102,7 @@ dependencies:
|
|
102
102
|
requirements:
|
103
103
|
- - ! '>='
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version:
|
105
|
+
version: 1.6.2
|
106
106
|
type: :runtime
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -110,7 +110,7 @@ dependencies:
|
|
110
110
|
requirements:
|
111
111
|
- - ! '>='
|
112
112
|
- !ruby/object:Gem::Version
|
113
|
-
version:
|
113
|
+
version: 1.6.2
|
114
114
|
- !ruby/object:Gem::Dependency
|
115
115
|
name: skydrive
|
116
116
|
requirement: !ruby/object:Gem::Requirement
|
@@ -325,8 +325,10 @@ files:
|
|
325
325
|
- app/.DS_Store
|
326
326
|
- app/assets/javascripts/browse_everything.js
|
327
327
|
- app/assets/javascripts/browse_everything/behavior.js.coffee
|
328
|
+
- app/assets/stylesheets/bootstrap-responsive.css.scss
|
328
329
|
- app/assets/stylesheets/browse_everything.css.scss
|
329
330
|
- app/controllers/browse_everything_controller.rb
|
331
|
+
- app/helpers/bootstrap_version_helper.rb
|
330
332
|
- app/helpers/browse_everything_helper.rb
|
331
333
|
- app/views/.DS_Store
|
332
334
|
- app/views/browse_everything/_auth.html.erb
|
@@ -385,12 +387,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
385
387
|
- - ! '>='
|
386
388
|
- !ruby/object:Gem::Version
|
387
389
|
version: '0'
|
390
|
+
segments:
|
391
|
+
- 0
|
392
|
+
hash: 1393661968678573604
|
388
393
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
389
394
|
none: false
|
390
395
|
requirements:
|
391
396
|
- - ! '>='
|
392
397
|
- !ruby/object:Gem::Version
|
393
398
|
version: '0'
|
399
|
+
segments:
|
400
|
+
- 0
|
401
|
+
hash: 1393661968678573604
|
394
402
|
requirements: []
|
395
403
|
rubyforge_project:
|
396
404
|
rubygems_version: 1.8.23
|
@@ -416,4 +424,3 @@ test_files:
|
|
416
424
|
- spec/unit/file_entry_spec.rb
|
417
425
|
- spec/unit/file_system_spec.rb
|
418
426
|
- spec/unit/sky_drive_spec.rb
|
419
|
-
has_rdoc:
|