react-antd-admin-panel
Version:
Easy prototyping admin panel using React and Antd
33 lines • 1.39 kB
JavaScript
import React, { useState } from "react";
import { DatePicker as DatePickerAnt, Select } from "antd";
import dayjs from 'dayjs';
const { Option } = Select;
const RangePicker = (props) => {
var _a;
let model = props.model;
const [value, setValue] = useState(model._default);
const [loading, setLoading] = useState(false);
const onChange = (date, range) => {
var _a;
if (typeof range[0] === 'string')
range = [dayjs(range[0]), dayjs(range[1])];
model._default = range;
(_a = model._onChange) === null || _a === void 0 ? void 0 : _a.call(model, model._default);
if (model._formula)
model.value(model._default);
};
model._onError = () => { };
model._onComplete = () => { };
model.onHandleLoading = (value) => setLoading(value);
model.onHandleChange = (value) => {
onChange([], value);
setValue(model._default);
};
// Register the defaultValue to the formula.
if (model._default && model._formula)
model.value(model._formula);
return (React.createElement("div", { style: (_a = model._style) !== null && _a !== void 0 ? _a : {} },
React.createElement(DatePickerAnt.RangePicker, { disabled: loading, onChange: onChange, defaultValue: value })));
};
export default RangePicker;
//# sourceMappingURL=RangePicker.js.map