Skip to content

shinysurveys 0.2.0

Latest
Compare
Choose a tag to compare
@jdtrat jdtrat released this 11 Jul 18:57

Breaking changes

  • Deprecated all arguments to renderSurvey(). Both the df and theme arguments should only be passed to surveyOutput(). A warning message appears if either argument is passed to renderSurvey(), though the code still works. This will truly be a breaking change in the next release of shinysurveys.

New features

Input Types

  • Created numerInput(), which is identical to shiny::numericInput() but is more flexible in the sense that it does not require an initial value and it allows placeholders. This is now the default for "numeric" input questions.

  • Created a shiny input, radioMatrixInput(), for matrix questions. It will return NULL until all possible response items have been answered, at which time a data frame with the 'question_id', 'question_type', and 'response' will be returned.

  • Added support for "matrix" input types using radioMatrixInput() for creating matrix blocks. See the documentation for an example.

  • Added support for "instructions" 'input' types for use within other question types or standalone blocks.

  • Added support for user-defined, custom input types. These can be registered with extendInputType(). For more details, see my blog post or vignette.

Miscellaneous (but exciting!)

  • Added support for multiple page surveys by adding a 'page' column to the data frame of questions supplied to surveyOutput(). The column can either have numeric (e.g. c(1, 1, 2, 3)) or character values (c("intro", "intro", "middle", "final")). For more information, see my blog post on multipaged shinysurveys.

  • Added support for aggregating response data with getSurveyData(). This feature allows you to automatically save responses for each individual. That is, this function accounts for dependencies; it will only aggregate data from questions a participant saw. It returns a data frame with a participant's ID, question (input) ID, the question type (e.g. numeric, text, etc.) and response. For more details, see "Aggregate Responses with getSurveyData()".

Minor improvements and fixes

  • Fixed bug where required dependency questions prevented people from submitting the survey (since they could not "answer" hidden questions the submit button would not be enabled).

  • Added error messages to help with identifying common errors with creating surveys, specifically unrecognized input types.

  • Removed "grid" CSS container surrounding the survey div.

  • Changed how SASS rendered the CSS internally to improve performance. CSS rules are placed within style tags in the DOM.