GatheringScheduleController

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()

Source:

Methods

connect()

Description:
  • Initialize controller

Source:

createFlashContainer()

Description:
  • Create flash message container if it doesn't exist

Source:

formatDate()

Description:
  • Format date for display

Source:

handleActivityChange()

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

Source:

handleEditOtherChange()

Description:
  • Handle "other" checkbox change for edit form

Source:

handleOtherChange()

Description:
  • Handle "other" checkbox change for add form

Source:

normalizeErrors()

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

Source:

openEditModal()

Description:
  • Open edit modal and populate with activity data

Source:

resetAddForm()

Description:
  • Reset add form when modal is opened

Source:

setupDateTimeLimits()

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

Source:

showFlashMessage()

Description:
  • Show flash message

Source:

(async) submitAddForm()

Description:
  • Submit add form via AJAX

Source:

(async) submitEditForm()

Description:
  • Submit edit form via AJAX

Source:

toggleEditEndTime()

Description:
  • Toggle end time field visibility for edit form

Source:

toggleEndTime()

Description:
  • Toggle end time field visibility for add form

Source:

validateDatetimeRange()

Description:
  • Validate datetime is within gathering range

Source: