Better Lighthouse Library

Zachary Anderson
Last updated: 04 Mar 2022
Written for: Lighthouse Studio 9.3

Description

Adds the following functions and events:

  • Event lighthouseResponseChanged that fires when a response changes.
  • Events lighthouseRadioButtonChanged and lighthouseCheckboxChanged that fire when graphical or non-graphical radio buttons or checkboxes change state.
  • Functions SSI_EnableRadioButtonOrCheckbox , SSI_DisableRadioButtonOrCheckbox, and SSI_ToggleRadioButtonOrCheckbox for enabling and disabling graphical and non-graphical radio buttons and checkboxes.
  • Functions SSI_GetQuestionList, SSI_GetGridRowList, and SSI_GetGridColumnList for getting list items of questions.
  • Function SSI_GetStudySettings for getting key study settings.
  • Function SSI_GetGridQuestionSettings for getting key settings of a grid question.
  • Function SSI_GetFreeFormatQuestionSettings for getting key settings of a free format question.
  • Function SSI_GetAcbcByoQuestionSettings for getting key settings of an ACBC BYO question.

Instructions

  • Moving the code from this question's footer into your questionnaire's HTML tag will make these changes apply globally.
  • Any existing uses of SSI_CustomGraphicalRadiobox or SSI_CustomGraphicalCheckbox on this page must be refactored to use these events.
  • To use in Lighthouse Studio 9.12 or above, custom security headers must be enabled in your survey settings and unsafe-eval must be enabled.  Assuming you have not already made other changes to your security header, this change should look like one of these:
    • In versions 9.12.0 through 9.15.0, look for default-src 'self' 'unsafe-inline' and replace that with default-src 'self' 'unsafe-inline' 'unsafe-eval'.
    • In version 9.15.2 and above, look for 'strict-dynamic' and replace that with 'strict-dynamic' 'unsafe-eval'.

Options

  • Any of the primary features can be left off or modified. Doing so may result in behavioral changes with JavaScript on the page meant to interact with this library, including other items of the Community Question Library. Discretion is advised.