WaiverUploadController

WaiverUploadController

Waiver Upload Controller

Handles file selection, validation, preview, and upload progress for waiver images. Supports multiple file uploads with mobile camera capture integration.

Targets:

  • waiverType: Waiver type select dropdown
  • fileInput: File input element
  • preview: Preview area container
  • progress: Progress bar container
  • progressBar: Progress bar element
  • progressText: Progress text element
  • submitButton: Submit button

Actions:

  • handleFileSelect: Triggered when files are selected
  • handleSubmit: Triggered when form is submitted

Constructor

new WaiverUploadController()

Source:

Members

ALLOWED_TYPES

Description:
  • Allowed MIME types for uploads (images and PDFs)

Source:

Allowed MIME types for uploads (images and PDFs)

MAX_FILE_SIZE

Description:
  • Maximum file size in bytes (25MB)

Source:

Maximum file size in bytes (25MB)

Methods

connect()

Description:
  • Initialize controller

Source:

escapeHtml(text) → {string}

Description:
  • Escape HTML to prevent XSS

Source:
Parameters:
Name Type Description
text string

Text to escape

Returns:

Escaped text

Type
string

formatFileSize(bytes) → {string}

Description:
  • Format file size for display

Source:
Parameters:
Name Type Description
bytes number

File size in bytes

Returns:

Formatted file size

Type
string

handleFileSelect(event)

Description:
  • Handle file selection from input

Source:
Parameters:
Name Type Description
event Event

File input change event

handleSubmit(event)

Description:
  • Handle form submission

Source:
Parameters:
Name Type Description
event Event

Form submit event

hidePreview()

Description:
  • Hide file preview area

Source:

removeFile(index)

Description:
  • Remove a file from selection

Source:
Parameters:
Name Type Description
index number

File index to remove

showPreview()

Description:
  • Show file preview area with selected files

Source:

simulateProgress()

Description:
  • Simulate upload progress (since conversion is synchronous)

Source:

updateProgress(percent)

Description:
  • Update progress bar

Source:
Parameters:
Name Type Description
percent number

Progress percentage (0-100)

validateFile(file) → {Object}

Description:
  • Validate a single file

Source:
Parameters:
Name Type Description
file File

File to validate

Returns:

Validation result {valid: boolean, error: string}

Type
Object