default.xml
<?xml version="1.0"?>
<page
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd">
<head>
<script src="Ei_Productpoint::js/productpoint-slider.js"/>
</head>
<body/>
</page>
requirejs-config.js
var config = {
map: {
'*': {
MySlider: 'Namespace_Modulename/js/productpoint-slider'
}
}
};
productpoint-slider.js (Prototype JS)
define(['prototype'],function($){
// where $ == "prototype"
var MySlider = Class.create();
MySlider.$ = {
initialize: function(amountR, trackR, handleR, decrHandleR, incrHandleR, minPointR, maxPointR, stepR, labelAmountR, checkMaxAmountR) {
this.minPointsCheck = minPointR;
this.minPoints = 0;
this.maxPoints = maxPointR;
this.pointStep = stepR;
this.mwSlider = new Control.Slider(this.handleR, this.trackR, {
range: $R(this.minPoints, this.maxPoints),
values: this.mwAvailableValue(),
onSlide: this.changeProductPoint.bind(this),
onChange: this.changeProductPoint.bind(this)
});
},
mwAvailableValue: function() {
var values = [];
for (var i = this.minPoints; i <= this.maxPoints; i += this.pointStep) {
values.push(i);
}
return values;
}
}
return MySlider;
});
Call to JS function
<script type="text/javascript">
var productPointVal = '<?php echo $maxPoints; ?>';
var pointsRedeem = '<?php echo $pointsRedeem; ?>';
var time = 1000;
var time_new = 1500;
var timer;
var ei_sider = new MySlider(
'product_point',
'ei_productpoint_slider_container',
'ei_slider',
'ei_productpoint_decr_handle',
'ei_productpoint_incr_handle',
0,
productPointVal,
1,
'ei_label_amount'
);
</script>
Below exception is seen in console.
ReferenceError: MySlider is not defined
var ei_sider = new MySlider(
Followed this link, to use something with similar syntax to the way PrototypeJS handles it, but after including the JS, its not working in Magento 2.0 and throws below exception
TypeError: this.mwSlider is undefined
points = this.mwSlider.getNearestValue(parseInt(points));
How do I convert existing
prototype jsintojqueryso that it works in 2.0 ?OR
How do I make prototype js work ?