react-antd-admin-panel
Version:
Easy prototyping admin panel using React and Antd
41 lines • 1.66 kB
JavaScript
import React from "react";
import { Slider as SliderAnt } from "antd";
const Slider = (props) => {
let slider = props.model;
const onChange = (value) => {
var _a;
slider._data = value;
if (slider._formula)
slider.value(slider._data);
(_a = slider._onChange) === null || _a === void 0 ? void 0 : _a.call(slider, slider._data, slider._index);
};
const onAfterChange = (value) => {
slider._data = value;
if (slider._formula)
slider.value(slider._data);
slider._onAfterChange(slider._data, slider._index);
};
slider._onError = () => { };
slider._onComplete = () => { };
if (slider._default) {
let defaultValue = slider._default;
slider._data = defaultValue;
if (slider._formula) {
slider.value(defaultValue);
}
}
const Node = (value) => {
return slider._labelFunction
? React.createElement(React.Fragment, null, slider._labelFunction(value))
: React.createElement(React.Fragment, null, value);
};
let addProps = {};
if (slider._marks)
addProps['marks'] = slider._marks;
if (slider._range)
addProps['range'] = slider._range;
return (React.createElement("div", { style: { margin: '16px' } },
React.createElement(SliderAnt, Object.assign({ defaultValue: slider._data, min: slider._min ? slider._min : 0, max: slider._max ? slider._max : 100, onChange: onChange, onAfterChange: onAfterChange, tipFormatter: Node }, addProps))));
};
export default Slider;
//# sourceMappingURL=Slider.js.map