@skbkontur/cassandra-distributed-task-queue-ui
Version:
.NET library implementing distributed task queue machinery using Apache Cassandra
47 lines • 3.28 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DateTimeRangePicker = void 0;
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const edi_ui_1 = require("@skbkontur/edi-ui");
const react_stack_layout_1 = require("@skbkontur/react-stack-layout");
const react_ui_1 = require("@skbkontur/react-ui");
const react_1 = tslib_1.__importDefault(require("react"));
const DatePicker_1 = require("./DatePicker");
const DateTimeRangePicker_styles_1 = require("./DateTimeRangePicker.styles");
const RangeSelector_1 = require("./RangeSelector");
const defaultPredefinedRanges = [
{
getRange: timeZone => new RangeSelector_1.RangeSelector(timeZone).getYesterday(),
tid: "TemplateDateYesterday",
caption: "вчера",
},
{
getRange: timeZone => new RangeSelector_1.RangeSelector(timeZone).getToday(),
tid: "TemplateDateToday",
caption: "сегодня",
},
{
getRange: timeZone => new RangeSelector_1.RangeSelector(timeZone).getWeek(),
tid: "TemplateDateWeek",
caption: "неделя",
},
{
getRange: timeZone => new RangeSelector_1.RangeSelector(timeZone).getMonth(),
tid: "TemplateDateMonth",
caption: "месяц",
},
{
getRange: timeZone => new RangeSelector_1.RangeSelector(timeZone).getYear(),
tid: "TemplateDateYear",
caption: "год",
},
];
function DateTimeRangePicker({ error, value, onChange, timeZone }) {
const theme = react_1.default.useContext(react_ui_1.ThemeContext);
const { lowerBound, upperBound } = value;
const fixedTimezone = edi_ui_1.TimeUtils.getTimeZoneOffsetOrDefault(timeZone);
return (jsx_runtime_1.jsxs(react_stack_layout_1.ColumnStack, { children: [jsx_runtime_1.jsxs(react_stack_layout_1.Fit, { children: [jsx_runtime_1.jsx("span", Object.assign({ className: DateTimeRangePicker_styles_1.jsStyles.dateRangeItem() }, { children: jsx_runtime_1.jsx(DatePicker_1.DatePicker, { "data-tid": "From", error: error, value: lowerBound, defaultTime: "00:00", timeZone: fixedTimezone, onChange: (nextValue) => onChange({ lowerBound: nextValue, upperBound: upperBound }) }, void 0) }), void 0), jsx_runtime_1.jsx("span", Object.assign({ className: DateTimeRangePicker_styles_1.jsStyles.dateRangeItem() }, { children: "\u2014" }), void 0), jsx_runtime_1.jsx("span", Object.assign({ className: DateTimeRangePicker_styles_1.jsStyles.dateRangeItem() }, { children: jsx_runtime_1.jsx(DatePicker_1.DatePicker, { "data-tid": "To", error: error, value: upperBound, defaultTime: "23:59", timeZone: fixedTimezone, onChange: (nextValue) => onChange({ upperBound: nextValue, lowerBound: lowerBound }) }, void 0) }), void 0)] }, void 0), jsx_runtime_1.jsx(react_stack_layout_1.Fit, Object.assign({ className: `${DateTimeRangePicker_styles_1.jsStyles.templates(theme)} ${DateTimeRangePicker_styles_1.jsStyles.smallGap()}` }, { children: defaultPredefinedRanges.map(x => (jsx_runtime_1.jsx("span", Object.assign({ onClick: _ => onChange(x.getRange(timeZone)), "data-tid": x.tid }, { children: x.caption }), x.tid))) }), void 0)] }, void 0));
}
exports.DateTimeRangePicker = DateTimeRangePicker;
//# sourceMappingURL=DateTimeRangePicker.js.map