JavaScript Range Slider

Source code: Survey setup
Survey.defaultBootstrapCss.navigationButton = "btn btn-primary";
Survey.Survey.cssType = "bootstrap";
Survey.JsonObject.metaData.addProperty("checkbox", {name: "renderAs", default: "standard", choices: ["standard", "nouislider"]});
var survey = new Survey.Model({ questions: [
 { type: "checkbox", renderAs: "nouislider", name: "range", title: "Please range"}
 ]});


var widget = {
    name: "nouislider",
    htmlTemplate: "<div id='slider'></div>",
    isFit : function(question) { return question["renderAs"] === 'nouislider'; },
    afterRender: function(question, el) {
        debugger;

        var slider = el.querySelector("#slider");

        noUiSlider.create(slider, {
        	start: (question.value && question.value.length) ? question.value : [30, 70],
        	connect: true,
        	range: {
        		'min': 0,
        		'max': 100
        	}
        });
        slider.noUiSlider.on('set', function(){
        	question.value = slider.noUiSlider.get();
        });     
    }
    
        ,
        willUnmount: function(question, el) {
            var slider = el.querySelector("#slider");
            slider.noUiSlider.destroy(); 
        } 
    
}
Survey.CustomWidgetCollection.Instance.addCustomWidget(widget);
survey.data = { range: ["20.00", "80.00"] };


ReactDOM.render(<Survey.Survey model={survey}/>, document.getElementById("surveyElement"));