Project: less
Task (challenging): Class LikertQuestion (file 'common/LikertQuestion.js', 'common/LikertQuestion.less') inherits from Question. Its constructor params are: title (string), name (string), preview (boolean), options (string array), statements (string array). LikertQuestion is a table whose each row represents a statement (single selection), and each column is a radio option. Store each statement selection value in the control whose name is like {param-name}_{statement-index}. Add a button (class 'add-likert') in 'common/SurveyDesign.js', and click it to create a LikertQuestion (random title, unique name, 5 random options, 3 statements) whose root is prepended to the form.