Skip to content

Commit 73a76ae

Browse files
Andrew Telnov (DevExpress)Andrew Telnov (DevExpress)
authored andcommitted
add barrating widget
1 parent 4a09a36 commit 73a76ae

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

src/barrating.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import "./utils/surveyjs_importer.js";
2+
3+
var widget = {
4+
name: "barrating",
5+
isFit : function(question) { return question.getType() === 'barrating'; },
6+
isDefaultRender: true,
7+
activatedByChanged: function(activatedBy) {
8+
Survey.JsonObject.metaData.addClass("barrating", [ {name: "ratingTheme", default: "fontawesome-stars", choices: ["fontawesome-stars", "css-stars", "bars-pill", "bars-1to10", "bars-movie", "bars-square", "bars-reversed", "bars-horizontal", "bootstrap-stars", "fontawesome-stars-o"]},
9+
{name: "showValues", default: false}, {name:"hasOther", visible: false}], null, "dropdown");
10+
},
11+
afterRender: function(question, el) {
12+
var $el = $(el).is("select") ? $(el) : $(el).find("select");
13+
$el.barrating('show', {
14+
theme: question.ratingTheme,
15+
initialRating: question.value,
16+
showValues: question.showValues,
17+
showSelectedRating: false,
18+
onSelect: function(value, text) {
19+
question.value = value;
20+
}
21+
});
22+
question.valueChangedCallback = function() {
23+
$(el).find('select').barrating('set', question.value);
24+
}
25+
},
26+
willUnmount: function(question, el) {
27+
var $el = $(el).find("select");
28+
$el.barrating('destroy');
29+
}
30+
}
31+
32+
Survey.CustomWidgetCollection.Instance.addCustomWidget(widget, "customtype");

0 commit comments

Comments
 (0)