curation_concerns 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Gemfile +1 -1
  4. data/Rakefile +3 -11
  5. data/VERSION +1 -1
  6. data/app/assets/javascripts/curation_concerns/application.js +3 -0
  7. data/app/assets/javascripts/curation_concerns/curation_concerns.js +5 -0
  8. data/app/assets/javascripts/curation_concerns/file_manager/affix.es6 +13 -0
  9. data/app/assets/javascripts/curation_concerns/file_manager/list_toggle.es6 +6 -0
  10. data/app/assets/javascripts/curation_concerns/file_manager/member.es6 +82 -0
  11. data/app/assets/javascripts/curation_concerns/file_manager/save_manager.es6 +70 -0
  12. data/app/assets/javascripts/curation_concerns/file_manager/sorting.es6 +82 -0
  13. data/app/assets/stylesheets/curation_concerns/_modules.scss +1 -1
  14. data/app/assets/stylesheets/curation_concerns/_typography.scss +0 -11
  15. data/app/assets/stylesheets/curation_concerns/modules/file_manager.scss +115 -0
  16. data/app/controllers/concerns/curation_concerns/collections_controller_behavior.rb +1 -1
  17. data/app/controllers/concerns/curation_concerns/curation_concern_controller.rb +5 -1
  18. data/app/forms/curation_concerns/forms/work_form.rb +3 -1
  19. data/app/views/catalog/_document_list.html.erb +1 -1
  20. data/app/views/collections/_search_collection_dashboard_form.html.erb +1 -1
  21. data/app/views/collections/_search_form.html.erb +1 -1
  22. data/app/views/collections/show.html.erb +24 -17
  23. data/app/views/curation_concerns/base/_file_manager_actions.html.erb +3 -0
  24. data/app/views/curation_concerns/base/_file_manager_attributes.html.erb +0 -0
  25. data/app/views/curation_concerns/base/_file_manager_extra_tools.html.erb +0 -0
  26. data/app/views/curation_concerns/base/_file_manager_member.html.erb +31 -0
  27. data/app/views/curation_concerns/base/_file_manager_thumbnail.html.erb +1 -0
  28. data/app/views/curation_concerns/base/_show_actions.html.erb +1 -0
  29. data/app/views/curation_concerns/base/file_manager.html.erb +34 -0
  30. data/app/views/shared/_site_search.html.erb +3 -3
  31. data/config/locales/curation_concerns.en.yml +2 -0
  32. data/curation_concerns.gemspec +2 -0
  33. data/lib/curation_concerns/engine.rb +1 -0
  34. data/lib/curation_concerns/rails/routes.rb +5 -0
  35. data/lib/curation_concerns/version.rb +1 -1
  36. data/spec/actors/curation_concerns/work_actor_spec.rb +21 -5
  37. data/spec/controllers/curation_concerns/collections_controller_spec.rb +9 -0
  38. data/spec/controllers/curation_concerns/generic_works_controller_spec.rb +24 -4
  39. data/spec/javascripts/file_manager_member_spec.coffee +87 -0
  40. data/spec/javascripts/fixtures/.gitkeep +0 -0
  41. data/spec/javascripts/fixtures/file_manager_member.html +40 -0
  42. data/spec/javascripts/fixtures/save_button.html +3 -0
  43. data/spec/javascripts/helpers/jasmine-jquery.js +841 -0
  44. data/spec/javascripts/helpers/mock-ajax.js +736 -0
  45. data/spec/javascripts/helpers/test_responses.js +12 -0
  46. data/spec/javascripts/jasmine_spec.rb +25 -0
  47. data/spec/javascripts/save_manager_spec.coffee +84 -0
  48. data/spec/javascripts/support/jasmine.yml +136 -0
  49. data/spec/javascripts/support/jasmine_helper.rb +15 -0
  50. data/spec/routing/route_spec.rb +4 -0
  51. data/spec/support/rake_support.rb +41 -0
  52. data/spec/views/catalog/index.html.erb_spec.rb +2 -2
  53. data/spec/views/curation_concerns/base/file_manager.html.erb_spec.rb +72 -0
  54. data/tasks/jasmine.rake +18 -0
  55. metadata +71 -4
@@ -0,0 +1,12 @@
1
+ var TestResponses = {
2
+ file_manager_member: {
3
+ success: {
4
+ status: 200,
5
+ responseText: '{}'
6
+ },
7
+ failure: {
8
+ status: 500,
9
+ responseText: '{}'
10
+ }
11
+ }
12
+ };
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+ require 'rake'
3
+
4
+ # Run the jasmine tests by running the jasmine:ci rake command and parses the output for failures.
5
+ # The spec will fail if any jasmine tests fails.
6
+ describe "Jasmine" do
7
+ it "expects all jasmine tests to pass" do
8
+ load_rake_environment ["#{jasmine_path}/lib/jasmine/tasks/jasmine.rake"]
9
+ jasmine_out = run_task 'jasmine:ci'
10
+ if jasmine_out.include? "0 failures"
11
+ js_specs_count = Dir['spec/javascripts/**/*_spec.js*'].count + Dir['spec/javascripts/**/*_spec.coffee*'].count
12
+ puts "#{jasmine_out.match(/\n(.+) specs?/)[1]} jasmine specs run (in #{js_specs_count} jasmine test files)"
13
+ else
14
+ puts "\n\n************************ Jasmine Output *************"
15
+ puts jasmine_out
16
+ puts "************************ Jasmine Output *************\n\n"
17
+ end
18
+ expect(jasmine_out).to include "0 failures"
19
+ expect(jasmine_out).to_not include "\n0 specs"
20
+ end
21
+ end
22
+
23
+ def jasmine_path
24
+ Gem.loaded_specs['jasmine'].full_gem_path
25
+ end
@@ -0,0 +1,84 @@
1
+ describe "FileManager Save Button", ->
2
+ save_manager = null
3
+ handler = null
4
+ deferred_result = null
5
+ beforeEach () ->
6
+ loadFixtures('save_button.html')
7
+ save_manager = new SaveManager
8
+ deferred_result = $.Deferred()
9
+ handler = {
10
+ persist: () =>
11
+ deferred_result
12
+ }
13
+ describe "#push_changed", ->
14
+ it "marks that object as changed", ->
15
+ save_manager.push_changed(handler)
16
+
17
+ expect(save_manager.is_changed).toEqual(true)
18
+ it "enables the save button", ->
19
+ save_manager.push_changed(handler)
20
+
21
+ expect($("button.disabled").length).toEqual(0)
22
+ it "doesn't add it twice", ->
23
+ save_manager.push_changed(handler)
24
+ save_manager.push_changed(handler)
25
+
26
+ expect(save_manager.elements).toEqual([handler])
27
+ describe "#mark_unchanged", ->
28
+ describe "when it was never marked changed", ->
29
+ it "no-ops", ->
30
+ save_manager.mark_unchanged(handler)
31
+
32
+ expect(save_manager.elements).toEqual([])
33
+ describe "when it was previously marked changed", ->
34
+ it "removes it", ->
35
+ save_manager.push_changed(handler)
36
+ save_manager.mark_unchanged(handler)
37
+
38
+ expect(save_manager.is_changed).toEqual(false)
39
+ it "disables the save button", ->
40
+ save_manager.push_changed(handler)
41
+ save_manager.mark_unchanged(handler)
42
+
43
+ expect($("button.disabled").length).toEqual(1)
44
+ describe "#persist", ->
45
+ it "is called by clicking the save button", ->
46
+ spyOn(save_manager, "persist").and.callThrough()
47
+ save_manager.push_changed(handler)
48
+
49
+ $("button").click()
50
+ expect(save_manager.persist).toHaveBeenCalled()
51
+ it "sets the text to be saving...", ->
52
+ save_manager.push_changed(handler)
53
+ save_manager.persist()
54
+
55
+ expect($("button").hasClass("disabled")).toEqual(true)
56
+ expect($("button").text()).toEqual("Saving...")
57
+ it "calls persist on each registered handler", ->
58
+ spyOn(handler, "persist").and.callThrough()
59
+ save_manager.push_changed(handler)
60
+ save_manager.persist()
61
+
62
+ expect(handler.persist).toHaveBeenCalled()
63
+ describe "when the changed elements are done persisting", ->
64
+ it "resets everything", ->
65
+ save_manager.push_changed(handler)
66
+ save_manager.persist()
67
+
68
+ # Resolve the promise - like an Ajax request.
69
+ deferred_result.resolve()
70
+
71
+ expect($("button").hasClass("disabled")).toEqual(true)
72
+ expect($("button").text()).toEqual("Save")
73
+ expect(save_manager.is_changed).toEqual(false)
74
+ describe "when the changed elements have failed to persist", ->
75
+ it "fixes the text but keeps the button enabled", ->
76
+ save_manager.push_changed(handler)
77
+ save_manager.persist()
78
+
79
+ # Reject the promise.
80
+ deferred_result.reject()
81
+
82
+ expect($("button").hasClass("disabled")).toEqual(false)
83
+ expect($("button").text()).toEqual("Save")
84
+ expect(save_manager.is_changed).toEqual(true)
@@ -0,0 +1,136 @@
1
+ # src_files
2
+ #
3
+ # Return an array of filepaths relative to src_dir to include before jasmine specs.
4
+ # Default: []
5
+ #
6
+ # EXAMPLE:
7
+ #
8
+ # src_files:
9
+ # - lib/source1.js
10
+ # - lib/source2.js
11
+ # - dist/**/*.js
12
+ #
13
+ src_files:
14
+ - assets/application.js
15
+ - assets/jquery.js
16
+
17
+ # stylesheets
18
+ #
19
+ # Return an array of stylesheet filepaths relative to src_dir to include before jasmine specs.
20
+ # Default: []
21
+ #
22
+ # EXAMPLE:
23
+ #
24
+ # stylesheets:
25
+ # - css/style.css
26
+ # - stylesheets/*.css
27
+ #
28
+ stylesheets:
29
+ - assets/application.css
30
+
31
+ # helpers
32
+ #
33
+ # Return an array of filepaths relative to spec_dir to include before jasmine specs.
34
+ # Default: ["helpers/**/*.js"]
35
+ #
36
+ # EXAMPLE:
37
+ #
38
+ # helpers:
39
+ # - helpers/**/*.js
40
+ #
41
+ helpers:
42
+ - 'helpers/**/*.js'
43
+
44
+ # spec_files
45
+ #
46
+ # Return an array of filepaths relative to spec_dir to include.
47
+ # Default: ["**/*[sS]pec.js"]
48
+ #
49
+ # EXAMPLE:
50
+ #
51
+ # spec_files:
52
+ # - **/*[sS]pec.js
53
+ #
54
+ spec_files:
55
+ - '**/*[sS]pec.js'
56
+ - '**/*[sS]pec.coffee'
57
+
58
+ # src_dir
59
+ #
60
+ # Source directory path. Your src_files must be returned relative to this path. Will use root if left blank.
61
+ # Default: project root
62
+ #
63
+ # EXAMPLE:
64
+ #
65
+ # src_dir: public
66
+ #
67
+ src_dir:
68
+
69
+ # spec_dir
70
+ #
71
+ # Spec directory path. Your spec_files must be returned relative to this path.
72
+ # Default: spec/javascripts
73
+ #
74
+ # EXAMPLE:
75
+ #
76
+ # spec_dir: spec/javascripts
77
+ #
78
+ spec_dir:
79
+
80
+ # spec_helper
81
+ #
82
+ # Ruby file that Jasmine server will require before starting.
83
+ # Returned relative to your root path
84
+ # Default spec/javascripts/support/jasmine_helper.rb
85
+ #
86
+ # EXAMPLE:
87
+ #
88
+ # spec_helper: spec/javascripts/support/jasmine_helper.rb
89
+ #
90
+ spec_helper: spec/javascripts/support/jasmine_helper.rb
91
+
92
+ # boot_dir
93
+ #
94
+ # Boot directory path. Your boot_files must be returned relative to this path.
95
+ # Default: Built in boot file
96
+ #
97
+ # EXAMPLE:
98
+ #
99
+ # boot_dir: spec/javascripts/support/boot
100
+ #
101
+ boot_dir:
102
+
103
+ # boot_files
104
+ #
105
+ # Return an array of filepaths relative to boot_dir to include in order to boot Jasmine
106
+ # Default: Built in boot file
107
+ #
108
+ # EXAMPLE
109
+ #
110
+ # boot_files:
111
+ # - '**/*.js'
112
+ #
113
+ boot_files:
114
+
115
+ # rack_options
116
+ #
117
+ # Extra options to be passed to the rack server
118
+ # by default, Port and AccessLog are passed.
119
+ #
120
+ # This is an advanced options, and left empty by default
121
+ #
122
+ # EXAMPLE
123
+ #
124
+ # rack_options:
125
+ # server: 'thin'
126
+
127
+ # random
128
+ #
129
+ # Run specs in semi-random order.
130
+ # Default: false
131
+ #
132
+ # EXAMPLE:
133
+ #
134
+ # random: true
135
+ #
136
+ random:
@@ -0,0 +1,15 @@
1
+ # Use this file to set/override Jasmine configuration options
2
+ # You can remove it if you don't need it.
3
+ # This file is loaded *after* jasmine.yml is interpreted.
4
+ #
5
+ # Example: using a different boot file.
6
+ # Jasmine.configure do |config|
7
+ # config.boot_dir = '/absolute/path/to/boot_dir'
8
+ # config.boot_files = lambda { ['/absolute/path/to/boot_dir/file.js'] }
9
+ # end
10
+ #
11
+ # Example: prevent PhantomJS auto install, uses PhantomJS already on your path.
12
+ # Jasmine.configure do |config|
13
+ # config.prevent_phantom_js_auto_install = true
14
+ # end
15
+ #
@@ -35,6 +35,10 @@ describe 'Routes', type: :routing do
35
35
  it '*not*s route to index' do
36
36
  expect(get: 'concern/generic_works').not_to route_to(controller: 'curation_concerns/generic_works', action: 'index')
37
37
  end
38
+
39
+ it 'routes to file_manager' do
40
+ expect(get: 'concern/generic_works/6/file_manager').to route_to(controller: 'curation_concerns/generic_works', action: 'file_manager', id: '6')
41
+ end
38
42
  end
39
43
 
40
44
  describe 'Permissions' do
@@ -0,0 +1,41 @@
1
+ require 'rake'
2
+
3
+ module RakeHelper
4
+ def load_rake_environment(files)
5
+ @rake = Rake::Application.new
6
+ Rake.application = @rake
7
+ Rake::Task.define_task(:environment)
8
+ files.each { |file| load file }
9
+ end
10
+
11
+ def run_task(task, arg = nil)
12
+ capture_stdout_stderr do
13
+ @rake[task].invoke(arg)
14
+ end
15
+ end
16
+
17
+ # saves original $stdout in variable
18
+ # set $stdout as local instance of StringIO
19
+ # yields to code execution
20
+ # returns the local instance of StringIO
21
+ # resets $stdout to original value
22
+ def capture_stdout_stderr
23
+ out = StringIO.new
24
+ err = StringIO.new
25
+ $stdout = out
26
+ $stderr = err
27
+ begin
28
+ yield
29
+ rescue SystemExit => e
30
+ puts "error = #{e.inspect}"
31
+ end
32
+ return "Output: #{out.string}\n Errors:#{err.string}"
33
+ ensure
34
+ $stdout = STDOUT
35
+ $stdout = STDERR
36
+ end
37
+
38
+ RSpec.configure do |config|
39
+ config.include RakeHelper
40
+ end
41
+ end
@@ -45,7 +45,7 @@ describe 'catalog/index.html.erb' do
45
45
  render
46
46
  page = Capybara::Node::Simple.new(rendered)
47
47
  expect(page).to have_link(collection.title)
48
- expect(page).to have_content 'List of files deposited'
48
+ expect(page).to have_content 'List of items deposited'
49
49
  end
50
50
  end
51
51
 
@@ -56,7 +56,7 @@ describe 'catalog/index.html.erb' do
56
56
  render
57
57
  page = Capybara::Node::Simple.new(rendered)
58
58
  expect(page).to have_link(collection.title)
59
- expect(page).to have_content 'List of files deposited'
59
+ expect(page).to have_content 'List of items deposited'
60
60
  end
61
61
  end
62
62
  end
@@ -0,0 +1,72 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe "curation_concerns/base/file_manager.html.erb" do
4
+ let(:members) { [file_set] }
5
+ let(:file_set) { CurationConcerns::FileSetPresenter.new(solr_doc, nil) }
6
+ let(:solr_doc) do
7
+ SolrDocument.new(
8
+ resource.to_solr.merge(
9
+ id: "test",
10
+ title_tesim: "Test",
11
+ thumbnail_path_ss: "/test/image/path.jpg",
12
+ label_tesim: "file_name.tif"
13
+ )
14
+ )
15
+ end
16
+ let(:resource) { FactoryGirl.build(:file_set) }
17
+
18
+ let(:parent) { FactoryGirl.build(:generic_work) }
19
+ let(:parent_solr_doc) do
20
+ SolrDocument.new(parent.to_solr.merge(id: "resource"), nil)
21
+ end
22
+ let(:parent_presenter) do
23
+ CurationConcerns::WorkShowPresenter.new(parent_solr_doc, nil)
24
+ end
25
+
26
+ let(:blacklight_config) { CatalogController.new.blacklight_config }
27
+
28
+ before do
29
+ allow(parent_presenter).to receive(:file_presenters).and_return([file_set])
30
+ assign(:presenter, parent_presenter)
31
+ # Blacklight nonsense
32
+ allow(view).to receive(:dom_class) { '' }
33
+ allow(view).to receive(:blacklight_config).and_return(blacklight_config)
34
+ allow(view).to receive(:blacklight_configuration_context).and_return(CatalogController.new.send(:blacklight_configuration_context))
35
+ allow(view).to receive(:search_session).and_return({})
36
+ allow(view).to receive(:current_search_session).and_return(nil)
37
+ allow(view).to receive(:curation_concern).and_return(parent)
38
+ render
39
+ end
40
+
41
+ it "has a bulk edit header" do
42
+ expect(rendered).to include "<h1>#{I18n.t('file_manager.link_text')}</h1>"
43
+ end
44
+
45
+ it "displays each file set's label" do
46
+ expect(rendered).to have_selector "input[name='file_set[title][]'][type='text'][value='#{file_set}']"
47
+ end
48
+
49
+ it "displays each file set's file name" do
50
+ expect(rendered).to have_content "file_name.tif"
51
+ end
52
+
53
+ it "has a link to edit each file set" do
54
+ expect(rendered).to have_selector('a[href="/concern/file_sets/test"]')
55
+ end
56
+
57
+ it "has a link back to parent" do
58
+ expect(rendered).to have_link "Test title", href: curation_concerns_generic_work_path(id: "resource")
59
+ end
60
+
61
+ it "has thumbnails for each resource" do
62
+ expect(rendered).to have_selector("img[src='/test/image/path.jpg']")
63
+ end
64
+
65
+ it "renders a form for each member" do
66
+ expect(rendered).to have_selector("form", count: members.length)
67
+ end
68
+
69
+ it "renders an input for titles" do
70
+ expect(rendered).to have_selector("input[name='file_set[title][]']")
71
+ end
72
+ end
@@ -0,0 +1,18 @@
1
+ require 'engine_cart'
2
+ require 'jasmine'
3
+ def jasmine_path
4
+ Gem.loaded_specs['jasmine'].full_gem_path
5
+ end
6
+ import "#{jasmine_path}/lib/jasmine/tasks/jasmine.rake"
7
+ namespace :curation_concerns do
8
+ task :jasmine do
9
+ EngineCart.load_application!
10
+ Rake::Task["jasmine"].invoke
11
+ end
12
+ namespace :jasmine do
13
+ task :ci do
14
+ EngineCart.load_application!
15
+ Rake::Task["jasmine:ci"].invoke
16
+ end
17
+ end
18
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curation_concerns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Zumwalt
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-02-10 00:00:00.000000000 Z
13
+ date: 2016-02-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: hydra-head
@@ -88,14 +88,14 @@ dependencies:
88
88
  requirements:
89
89
  - - '='
90
90
  - !ruby/object:Gem::Version
91
- version: 0.7.0
91
+ version: 0.8.0
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - '='
97
97
  - !ruby/object:Gem::Version
98
- version: 0.7.0
98
+ version: 0.8.0
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: hydra-editor
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -138,6 +138,20 @@ dependencies:
138
138
  - - ">="
139
139
  - !ruby/object:Gem::Version
140
140
  version: '0'
141
+ - !ruby/object:Gem::Dependency
142
+ name: sprockets-es6
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ type: :runtime
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
141
155
  - !ruby/object:Gem::Dependency
142
156
  name: solr_wrapper
143
157
  requirement: !ruby/object:Gem::Requirement
@@ -362,6 +376,20 @@ dependencies:
362
376
  - - "~>"
363
377
  - !ruby/object:Gem::Version
364
378
  version: 0.3.4
379
+ - !ruby/object:Gem::Dependency
380
+ name: jasmine
381
+ requirement: !ruby/object:Gem::Requirement
382
+ requirements:
383
+ - - ">="
384
+ - !ruby/object:Gem::Version
385
+ version: '0'
386
+ type: :development
387
+ prerelease: false
388
+ version_requirements: !ruby/object:Gem::Requirement
389
+ requirements:
390
+ - - ">="
391
+ - !ruby/object:Gem::Version
392
+ version: '0'
365
393
  description: 'A Rails Engine that allows an application to CRUD CurationConcern objects
366
394
  (a.k.a. "Works") '
367
395
  email:
@@ -393,6 +421,11 @@ files:
393
421
  - app/assets/javascripts/curation_concerns/curation_concerns.js
394
422
  - app/assets/javascripts/curation_concerns/embargoes.js
395
423
  - app/assets/javascripts/curation_concerns/facet_mine.js
424
+ - app/assets/javascripts/curation_concerns/file_manager/affix.es6
425
+ - app/assets/javascripts/curation_concerns/file_manager/list_toggle.es6
426
+ - app/assets/javascripts/curation_concerns/file_manager/member.es6
427
+ - app/assets/javascripts/curation_concerns/file_manager/save_manager.es6
428
+ - app/assets/javascripts/curation_concerns/file_manager/sorting.es6
396
429
  - app/assets/javascripts/curation_concerns/fileupload.js
397
430
  - app/assets/javascripts/curation_concerns/uploader.js
398
431
  - app/assets/javascripts/modernizr.js
@@ -413,6 +446,7 @@ files:
413
446
  - app/assets/stylesheets/curation_concerns/modules/classify_work.scss
414
447
  - app/assets/stylesheets/curation_concerns/modules/embargoes.scss
415
448
  - app/assets/stylesheets/curation_concerns/modules/emphatic_action_area.scss
449
+ - app/assets/stylesheets/curation_concerns/modules/file_manager.scss
416
450
  - app/assets/stylesheets/curation_concerns/modules/forms.scss
417
451
  - app/assets/stylesheets/curation_concerns/modules/icons.scss
418
452
  - app/assets/stylesheets/curation_concerns/modules/multi_value_fields.scss
@@ -539,6 +573,11 @@ files:
539
573
  - app/views/curation_concerns/base/_attribute_rows.html.erb
540
574
  - app/views/curation_concerns/base/_attributes.html.erb
541
575
  - app/views/curation_concerns/base/_collections.html.erb
576
+ - app/views/curation_concerns/base/_file_manager_actions.html.erb
577
+ - app/views/curation_concerns/base/_file_manager_attributes.html.erb
578
+ - app/views/curation_concerns/base/_file_manager_extra_tools.html.erb
579
+ - app/views/curation_concerns/base/_file_manager_member.html.erb
580
+ - app/views/curation_concerns/base/_file_manager_thumbnail.html.erb
542
581
  - app/views/curation_concerns/base/_form.html.erb
543
582
  - app/views/curation_concerns/base/_form_additional_information.html.erb
544
583
  - app/views/curation_concerns/base/_form_descriptive_fields.erb
@@ -563,6 +602,7 @@ files:
563
602
  - app/views/curation_concerns/base/_versioning.html.erb
564
603
  - app/views/curation_concerns/base/_visibility.html.erb
565
604
  - app/views/curation_concerns/base/edit.html.erb
605
+ - app/views/curation_concerns/base/file_manager.html.erb
566
606
  - app/views/curation_concerns/base/new.html.erb
567
607
  - app/views/curation_concerns/base/show.html.erb
568
608
  - app/views/curation_concerns/base/show.json.jbuilder
@@ -726,6 +766,17 @@ files:
726
766
  - spec/inputs/multifile_input_spec.rb
727
767
  - spec/inputs/select_with_help_input_spec.rb
728
768
  - spec/inputs/select_with_modal_help_input_spec.rb
769
+ - spec/javascripts/file_manager_member_spec.coffee
770
+ - spec/javascripts/fixtures/.gitkeep
771
+ - spec/javascripts/fixtures/file_manager_member.html
772
+ - spec/javascripts/fixtures/save_button.html
773
+ - spec/javascripts/helpers/jasmine-jquery.js
774
+ - spec/javascripts/helpers/mock-ajax.js
775
+ - spec/javascripts/helpers/test_responses.js
776
+ - spec/javascripts/jasmine_spec.rb
777
+ - spec/javascripts/save_manager_spec.coffee
778
+ - spec/javascripts/support/jasmine.yml
779
+ - spec/javascripts/support/jasmine_helper.rb
729
780
  - spec/jobs/active_fedora_id_based_job_spec.rb
730
781
  - spec/jobs/audit_job_spec.rb
731
782
  - spec/jobs/characterize_job_spec.rb
@@ -790,6 +841,7 @@ files:
790
841
  - spec/support/features/session_helpers.rb
791
842
  - spec/support/input_support.rb
792
843
  - spec/support/matchers/api_responses.rb
844
+ - spec/support/rake_support.rb
793
845
  - spec/support/shared/shared_examples_has_dc_metadata.rb
794
846
  - spec/support/shared/shared_examples_is_embargoable.rb
795
847
  - spec/support/shared/shared_examples_with_access_rights.rb
@@ -802,6 +854,7 @@ files:
802
854
  - spec/views/curation_concerns/base/_attributes.html.erb_spec.rb
803
855
  - spec/views/curation_concerns/base/_form_permission.html.erb_spec.rb
804
856
  - spec/views/curation_concerns/base/_show_actions.html.erb_spec.rb
857
+ - spec/views/curation_concerns/base/file_manager.html.erb_spec.rb
805
858
  - spec/views/curation_concerns/base/show.html.erb_spec.rb
806
859
  - spec/views/curation_concerns/base/show.json.jbuilder_spec.rb
807
860
  - spec/views/curation_concerns/file_sets/_file_set.html.erb_spec.rb
@@ -815,6 +868,7 @@ files:
815
868
  - spec/views/shared/_my_actions.html.erb_spec.rb
816
869
  - spec/views/single_use_links/new_download.html.erb_spec.rb
817
870
  - spec/views/single_use_links_viewer/show.html.erb_spec.rb
871
+ - tasks/jasmine.rake
818
872
  - tasks/release.rake
819
873
  - vendor/assets/images/ui-bg_glass_100_fdf5ce_1x400.png
820
874
  - vendor/assets/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
@@ -904,6 +958,17 @@ test_files:
904
958
  - spec/inputs/multifile_input_spec.rb
905
959
  - spec/inputs/select_with_help_input_spec.rb
906
960
  - spec/inputs/select_with_modal_help_input_spec.rb
961
+ - spec/javascripts/file_manager_member_spec.coffee
962
+ - spec/javascripts/fixtures/.gitkeep
963
+ - spec/javascripts/fixtures/file_manager_member.html
964
+ - spec/javascripts/fixtures/save_button.html
965
+ - spec/javascripts/helpers/jasmine-jquery.js
966
+ - spec/javascripts/helpers/mock-ajax.js
967
+ - spec/javascripts/helpers/test_responses.js
968
+ - spec/javascripts/jasmine_spec.rb
969
+ - spec/javascripts/save_manager_spec.coffee
970
+ - spec/javascripts/support/jasmine.yml
971
+ - spec/javascripts/support/jasmine_helper.rb
907
972
  - spec/jobs/active_fedora_id_based_job_spec.rb
908
973
  - spec/jobs/audit_job_spec.rb
909
974
  - spec/jobs/characterize_job_spec.rb
@@ -968,6 +1033,7 @@ test_files:
968
1033
  - spec/support/features/session_helpers.rb
969
1034
  - spec/support/input_support.rb
970
1035
  - spec/support/matchers/api_responses.rb
1036
+ - spec/support/rake_support.rb
971
1037
  - spec/support/shared/shared_examples_has_dc_metadata.rb
972
1038
  - spec/support/shared/shared_examples_is_embargoable.rb
973
1039
  - spec/support/shared/shared_examples_with_access_rights.rb
@@ -980,6 +1046,7 @@ test_files:
980
1046
  - spec/views/curation_concerns/base/_attributes.html.erb_spec.rb
981
1047
  - spec/views/curation_concerns/base/_form_permission.html.erb_spec.rb
982
1048
  - spec/views/curation_concerns/base/_show_actions.html.erb_spec.rb
1049
+ - spec/views/curation_concerns/base/file_manager.html.erb_spec.rb
983
1050
  - spec/views/curation_concerns/base/show.html.erb_spec.rb
984
1051
  - spec/views/curation_concerns/base/show.json.jbuilder_spec.rb
985
1052
  - spec/views/curation_concerns/file_sets/_file_set.html.erb_spec.rb