Actions

Public Survey Views

From LimeSurvey Manual

Reworking on Public (survey) views. Actually we have ANSWERS part done by views : https://github.com/LimeSurvey/LimeSurvey/tree/master/application/views/survey/questions (thanks to Louis)

I want to rework all this answers part (and some other) to be

  • Easily CSS managed
  • More easily jquery managed (data/global class/tag etc ...)
  • More easily reusable by Plugins (plugin can update {ANSWERS} part and user same file than core)

Then : need some help for "what is the best for LimeSurvey core to become the best survey tools and the more easily hackable survey tool".

Actual idea to do

  • Usage of bootstrap part, add more if it's OK and it's useful/helpful. Fix some part
  • Add no-js/js class in Core (html class="no-js") , and add an helper class js-hidden js-display (bootstrap don't have one)
  • Remove the empty label : move the label to the answer/subquestion text (like in 2.06)
  • Remove the uneeded label (for 508 issue), and use a core plugin to add it to question part (labelled-by to be clean)
  • Usage of specific class : answer-item / radio-item / checkbox-item : needed or not ? What mus be improved ?
  • usage of checkbox/radio class : actually on wrapper and on input : one must be removed for sure. The warapper is here for bootstrap-awesome-checkbox : leave it or update bootstrap-awesome-checkbox
  • I want to readd ul/li : think it's more quick to do a $("li").each : then answer and subquestion are taken. And more : i think it'"s a list of answers, a lits of question.
  • All part must be "near same".

Some decision to do

  • Views, sub views and sub sub views
    • Use of some "global part, non dependant of question type : for example : views/radio/radio.php with only the input[radio]
    • Or all part in his specific QuestionType/ directory
    • Possible solution : for example : views/survey/questions/arrays/array/dropdown/item.php include views/survey/item/select.php
  • HTML5
    • nav/section etc .... must leave in template (I think) : confirm ?
    • Usage of HTML5 input : leave it for plugin OR in core ? Difficulty with some input : for example input[date] is totally not adaptable, only browser dependant. Same for input[number] : no radix control. (More work than i want to do actually DenisChenu (talk))