Skip to content

Commit 7cdf263

Browse files
committed
add screen reader mode
1 parent ee65a56 commit 7cdf263

23 files changed

Lines changed: 834 additions & 59 deletions
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# frozen_string_literal: true
2+
3+
class SubmitFormMetadataController < ApplicationController
4+
skip_before_action :authenticate_user!
5+
skip_authorization_check
6+
7+
def index
8+
submitter = Submitter.find_by!(slug: params[:submit_form_slug])
9+
10+
return head :not_found if submitter.declined_at? ||
11+
submitter.completed_at? ||
12+
submitter.submission.archived_at? ||
13+
submitter.submission.expired? ||
14+
submitter.submission.template&.archived_at? ||
15+
submitter.account.archived_at? ||
16+
!Submitters::AuthorizedForForm.call(submitter, current_user, request)
17+
18+
submission = submitter.submission
19+
values = submission.submitters.reduce({}) { |acc, sub| acc.merge(sub.values) }
20+
schema = Submissions.filtered_conditions_schema(submission, values:, include_submitter_uuid: submitter.uuid)
21+
22+
documents = schema.filter_map do |item|
23+
submission.schema_documents.find { |a| a.uuid == item['attachment_uuid'] }
24+
end
25+
26+
ActiveRecord::Associations::Preloader.new(records: documents, associations: %i[blob record]).call
27+
28+
text_runs = documents.to_h do |document|
29+
[
30+
document.uuid,
31+
DocumentMetadatas.find_or_create_for_document(document, account_id: document.record.account_id).text_runs
32+
]
33+
end
34+
35+
render json: { text_runs: }
36+
end
37+
end

app/javascript/elements/scroll_buttons.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,13 @@ export default class extends HTMLElement {
4747

4848
this.classList.remove('hidden', '-translate-y-10', 'opacity-0')
4949
this.classList.add('translate-y-0', 'opacity-100')
50-
this.querySelectorAll('[tabindex]').forEach((el) => { el.tabIndex = 0 })
50+
this.inert = false
5151
}
5252

5353
hideButtons () {
5454
this.classList.remove('translate-y-0', 'opacity-100')
5555
this.classList.add('-translate-y-10', 'opacity-0')
56-
this.querySelectorAll('[tabindex]').forEach((el) => { el.tabIndex = -1 })
56+
this.inert = true
5757

5858
setTimeout(() => {
5959
if (this.classList.contains('-translate-y-10')) {

0 commit comments

Comments
 (0)