@bos-alpha/data
Version:
数据管理
69 lines (68 loc) • 2.75 kB
JavaScript
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
return cooked;
};
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
import { jsx as _jsx } from "react/jsx-runtime";
import { useState } from 'react';
import { Cascader } from 'antd';
import styled from '@emotion/styled';
import { prefixCls } from '@bos-alpha/common';
var weeks = [
{
value: 1,
label: '周一'
},
{
value: 2,
label: '周二'
},
{
value: 3,
label: '周三'
},
{
value: 4,
label: '周四'
},
{
value: 5,
label: '周五'
},
{
value: 6,
label: '周六'
},
{
value: 0,
label: '周日'
}
];
/**
* 星期选择器 支持多选
* @param 星期中星期几 (0 - 6) (星期天 为0)
* @returns
*/
export var WeekPicker = function (_a) {
var value = _a.value, onChange = _a.onChange;
var _b = useState(value ? value.map(function (item) { return [item]; }) : []), keys = _b[0], setKeys = _b[1];
return (_jsx(WeekSelect, __assign({ className: "month-picker" }, { children: _jsx(Cascader, { options: weeks, multiple: true, getPopupContainer: function () {
return document.querySelector('.month-picker');
}, placeholder: "\u8BF7\u9009\u62E9\u661F\u671F", value: keys, onChange: function (val) {
var list = val.sort(function (a, b) { return (a[0] < b[0] ? -1 : 1); });
setKeys(list);
onChange && onChange(list.map(function (item) { return item[0]; }));
} }, void 0) }), void 0));
};
var WeekSelect = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n .", "-select-dropdown, .", "-cascader-menu {\n width: 100%;\n }\n .", "-cascader-menu {\n display: flex;\n flex-wrap: wrap;\n .", "-cascader-menu-item {\n width: 100px;\n }\n }\n"], ["\n .", "-select-dropdown, .", "-cascader-menu {\n width: 100%;\n }\n .", "-cascader-menu {\n display: flex;\n flex-wrap: wrap;\n .", "-cascader-menu-item {\n width: 100px;\n }\n }\n"])), prefixCls, prefixCls, prefixCls, prefixCls);
var templateObject_1;