Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move file viewer subcomponents into their own directory #2302

Merged
merged 1 commit into from
Jan 31, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 0 additions & 25 deletions app/components/embed/dir_row_component.rb

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
</tr>
<% end %>
<% dirs.each_with_index do |dir, index| %>
<%= render Embed::DirRowComponent.new(viewer: viewer, dir: dir, pos_in_set: index + 1, set_size: child_set_size, level: level + 1)%>
<%= render Embed::File::DirRowComponent.new(viewer: viewer, dir: dir, pos_in_set: index + 1, set_size: child_set_size, level: level + 1)%>
<% end %>
<% files.each_with_index do |file, index| %>
<%= render Embed::FileRowComponent.new(viewer: viewer, file: file, pos_in_set: dirs.size + index + 1, set_size: child_set_size, level: level + 1)%>
<% end %>
<%= render Embed::File::FileRowComponent.new(viewer: viewer, file: file, pos_in_set: dirs.size + index + 1, set_size: child_set_size, level: level + 1)%>
<% end %>
27 changes: 27 additions & 0 deletions app/components/embed/file/dir_row_component.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# frozen_string_literal: true

module Embed
module File
class DirRowComponent < ViewComponent::Base
def initialize(viewer:, dir:, pos_in_set: nil, set_size: nil, level: 0)
@viewer = viewer
@dir = dir
@pos_in_set = pos_in_set
@set_size = set_size
@level = level
end

attr_reader :viewer, :dir, :pos_in_set, :set_size, :level

delegate :title, :files, :dirs, to: :dir

def child_set_size
@child_set_size ||= dirs.size + files.size
end

def first_td_style
"padding-left: #{((level - 1) * 2) + 1.5}ch;"
end
end
end
end
51 changes: 51 additions & 0 deletions app/components/embed/file/file_row_component.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# frozen_string_literal: true

module Embed
module File
class FileRowComponent < ViewComponent::Base
def initialize(viewer:, file:, pos_in_set: nil, set_size: nil, level: 0)
@viewer = viewer
@file = file
@pos_in_set = pos_in_set
@set_size = set_size
@level = level
end

attr_reader :viewer, :file, :pos_in_set, :set_size, :level

delegate :label, to: :file

def file_size_text
viewer.file_size_text(file.size)
end

def title
file.hierarchical_title
end

def filepath
file.title.downcase
end

def first_td_style
"padding-left: #{((level - 1) * 2) + 1.5}ch;"
end

def download?
!viewer.embargoed_to_world?(file)
end

def version
viewer.purl_object.version_id
end

def url
file.file_url(download: false, version:)
end

def file_type_icon
viewer.file_type_icon(file.mimetype)
end
end
end
end
2 changes: 1 addition & 1 deletion app/components/embed/file_component.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
</tr>
</thead>
<tbody>
<%= render Embed::DirRowComponent.new(viewer: viewer, dir: viewer.purl_object.hierarchical_contents)%>
<%= render Embed::File::DirRowComponent.new(viewer: viewer, dir: viewer.purl_object.hierarchical_contents)%>
</tbody>
</table>
</div>
Expand Down
49 changes: 0 additions & 49 deletions app/components/embed/file_row_component.rb

This file was deleted.