Latest updates from IceHrmPro

This commit is contained in:
Thilina Pituwala
2020-05-20 18:47:29 +02:00
parent 60c92d7935
commit 7453a58aad
18012 changed files with 2089245 additions and 10173 deletions

View File

@@ -0,0 +1,15 @@
/// <reference types="react" />
import { GenerateConfig } from '../../generate';
import { Locale } from '../../interface';
export declare const QUARTER_COL_COUNT = 4;
export interface QuarterBodyProps<DateType> {
prefixCls: string;
locale: Locale;
generateConfig: GenerateConfig<DateType>;
value?: DateType | null;
viewDate: DateType;
disabledDate?: (date: DateType) => boolean;
onSelect: (value: DateType) => void;
}
declare function QuarterBody<DateType>(props: QuarterBodyProps<DateType>): JSX.Element;
export default QuarterBody;

View File

@@ -0,0 +1,55 @@
import * as React from 'react';
import { isSameQuarter } from '../../utils/dateUtil';
import RangeContext from '../../RangeContext';
import useCellClassName from '../../hooks/useCellClassName';
import PanelBody from '../PanelBody';
export var QUARTER_COL_COUNT = 4;
var QUARTER_ROW_COUNT = 1;
function QuarterBody(props) {
var prefixCls = props.prefixCls,
locale = props.locale,
value = props.value,
viewDate = props.viewDate,
generateConfig = props.generateConfig;
var _React$useContext = React.useContext(RangeContext),
rangedValue = _React$useContext.rangedValue,
hoverRangedValue = _React$useContext.hoverRangedValue;
var cellPrefixCls = "".concat(prefixCls, "-cell");
var getCellClassName = useCellClassName({
cellPrefixCls: cellPrefixCls,
value: value,
generateConfig: generateConfig,
rangedValue: rangedValue,
hoverRangedValue: hoverRangedValue,
isSameCell: function isSameCell(current, target) {
return isSameQuarter(generateConfig, current, target);
},
isInView: function isInView() {
return true;
},
offsetCell: function offsetCell(date, offset) {
return generateConfig.addMonth(date, offset * 3);
}
});
var baseQuarter = generateConfig.setDate(generateConfig.setMonth(viewDate, 0), 1);
return React.createElement(PanelBody, Object.assign({}, props, {
rowNum: QUARTER_ROW_COUNT,
colNum: QUARTER_COL_COUNT,
baseDate: baseQuarter,
getCellText: function getCellText(date) {
return generateConfig.locale.format(locale.locale, date, locale.quarterFormat || '[Q]Q');
},
getCellClassName: getCellClassName,
getCellDate: function getCellDate(date, offset) {
return generateConfig.addMonth(date, offset * 3);
},
titleCell: function titleCell(date) {
return generateConfig.locale.format(locale.locale, date, 'YYYY-[Q]Q');
}
}));
}
export default QuarterBody;

View File

@@ -0,0 +1,14 @@
/// <reference types="react" />
import { Locale } from '../../interface';
import { GenerateConfig } from '../../generate';
export interface QuarterHeaderProps<DateType> {
prefixCls: string;
viewDate: DateType;
locale: Locale;
generateConfig: GenerateConfig<DateType>;
onPrevYear: () => void;
onNextYear: () => void;
onYearClick: () => void;
}
declare function QuarterHeader<DateType>(props: QuarterHeaderProps<DateType>): JSX.Element;
export default QuarterHeader;

View File

@@ -0,0 +1,34 @@
import * as React from 'react';
import Header from '../Header';
import PanelContext from '../../PanelContext';
function QuarterHeader(props) {
var prefixCls = props.prefixCls,
generateConfig = props.generateConfig,
locale = props.locale,
viewDate = props.viewDate,
onNextYear = props.onNextYear,
onPrevYear = props.onPrevYear,
onYearClick = props.onYearClick;
var _React$useContext = React.useContext(PanelContext),
hideHeader = _React$useContext.hideHeader;
if (hideHeader) {
return null;
}
var headerPrefixCls = "".concat(prefixCls, "-header");
return React.createElement(Header, {
prefixCls: headerPrefixCls,
onSuperPrev: onPrevYear,
onSuperNext: onNextYear
}, React.createElement("button", {
type: "button",
key: "year",
onClick: onYearClick,
className: "".concat(prefixCls, "-year-btn")
}, generateConfig.locale.format(locale.locale, viewDate, locale.yearFormat)));
}
export default QuarterHeader;

View File

@@ -0,0 +1,6 @@
/// <reference types="react" />
import { PanelSharedProps } from '../../interface';
export interface QuarterPanelProps<DateType> extends PanelSharedProps<DateType> {
}
declare function QuarterPanel<DateType>(props: QuarterPanelProps<DateType>): JSX.Element;
export default QuarterPanel;

View File

@@ -0,0 +1,60 @@
import * as React from 'react';
import QuarterHeader from './QuarterHeader';
import QuarterBody from './QuarterBody';
import { createKeyDownHandler } from '../../utils/uiUtil';
function QuarterPanel(props) {
var prefixCls = props.prefixCls,
operationRef = props.operationRef,
onViewDateChange = props.onViewDateChange,
generateConfig = props.generateConfig,
value = props.value,
viewDate = props.viewDate,
onPanelChange = props.onPanelChange,
_onSelect = props.onSelect;
var panelPrefixCls = "".concat(prefixCls, "-quarter-panel"); // ======================= Keyboard =======================
operationRef.current = {
onKeyDown: function onKeyDown(event) {
return createKeyDownHandler(event, {
onLeftRight: function onLeftRight(diff) {
_onSelect(generateConfig.addMonth(value || viewDate, diff * 3), 'key');
},
onCtrlLeftRight: function onCtrlLeftRight(diff) {
_onSelect(generateConfig.addYear(value || viewDate, diff), 'key');
},
onUpDown: function onUpDown(diff) {
_onSelect(generateConfig.addYear(value || viewDate, diff), 'key');
}
});
}
}; // ==================== View Operation ====================
var onYearChange = function onYearChange(diff) {
var newDate = generateConfig.addYear(viewDate, diff);
onViewDateChange(newDate);
onPanelChange(null, newDate);
};
return React.createElement("div", {
className: panelPrefixCls
}, React.createElement(QuarterHeader, Object.assign({}, props, {
prefixCls: prefixCls,
onPrevYear: function onPrevYear() {
onYearChange(-1);
},
onNextYear: function onNextYear() {
onYearChange(1);
},
onYearClick: function onYearClick() {
onPanelChange('year', viewDate);
}
})), React.createElement(QuarterBody, Object.assign({}, props, {
prefixCls: prefixCls,
onSelect: function onSelect(date) {
_onSelect(date, 'mouse');
}
})));
}
export default QuarterPanel;