GatheringScheduleController

Gathering Schedule Controller

Manages the gathering schedule interface including:

  • Adding new scheduled activities via modal
  • Editing existing scheduled activities via modal
  • Deleting scheduled activities
  • Dynamic form field updates based on activity selection

Constructor

new GatheringScheduleController()

Methods

connect()

Initialize controller

createFlashContainer()

Create flash message container if it doesn't exist

formatDate()

Format date for display

handleActivityChange()

Handle activity select change - disable/enable based on "other" checkbox

handleEditOtherChange()

Handle "other" checkbox change for edit form

handleOtherChange()

Handle "other" checkbox change for add form

normalizeErrors()

Normalize error response into a readable string Handles errors that may be an array, object, string, or missing

openEditModal()

Open edit modal and populate with activity data

resetAddForm()

Reset add form when modal is opened

setupDateTimeLimits()

Setup min/max limits on datetime inputs based on gathering dates This is called when modals open to ensure values are set

showFlashMessage()

Show flash message

(async) submitAddForm()

Submit add form via AJAX

(async) submitEditForm()

Submit edit form via AJAX

toggleEditEndTime()

Toggle end time field visibility for edit form

toggleEndTime()

Toggle end time field visibility for add form

validateDatetimeRange()

Validate datetime is within gathering range