react-antd-admin-panel
Version:
Easy prototyping admin panel using React and Antd
48 lines • 1.96 kB
JavaScript
import React, { useState } from "react";
import { DatePicker as DatePickerAnt, Select, Space } from "antd";
const { Option } = Select;
const DatePickerToggle = (props) => {
let model = props.model;
const [type, setType] = useState(model._picker);
const [value, setValue] = useState(model._default);
const onChangeSelect = (picker) => {
let prevPicker = model._picker;
let currPicker = picker;
model._picker = currPicker;
setType(picker);
model._onChangeSelect(currPicker, prevPicker);
};
const onChange = (date, dateString) => {
var _a;
model._data = dateString;
if (model._formula)
model.value(model._data);
(_a = model._onChange) === null || _a === void 0 ? void 0 : _a.call(model, dateString, date);
};
const onClear = () => {
model._data = true;
if (model._formula)
model.value(true);
};
model._onError = () => onClear();
model._onComplete = () => onClear();
// Register the defaultValue to the formula.
if (model._default) {
let defaultValue = model._default;
model._data = defaultValue;
if (model._formula) {
model.value(defaultValue);
}
}
model.onHandleChange = (value) => {
setValue(value);
};
return (React.createElement(Space, null,
React.createElement(Select, { defaultValue: model._picker, value: type, onChange: onChangeSelect, style: { width: 126 } },
React.createElement(Option, { value: "date" }, "Date"),
React.createElement(Option, { value: "week" }, "Week"),
React.createElement(Option, { value: "month" }, "Month")),
React.createElement(DatePickerAnt, { key: value, picker: type, defaultValue: value, onChange: onChange })));
};
export default DatePickerToggle;
//# sourceMappingURL=DatePickerToggle.js.map