@steroidsjs/core 3.0.0-beta.99 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/notifications.js +7 -1
- package/actions/router.js +16 -2
- package/components/HttpComponent.d.ts +7 -7
- package/components/JwtHttpComponent.d.ts +2 -2
- package/components/LocaleComponent.d.ts +6 -6
- package/components/MetaComponent.d.ts +90 -1
- package/components/MetricsComponent.js +2 -1
- package/components/ResourceComponent.d.ts +4 -4
- package/components/UiComponent.d.ts +7 -7
- package/components/WebSocketComponent.d.ts +11 -11
- package/docs-autogen-result.json +15147 -6371
- package/en.json +151 -92
- package/hooks/index.d.ts +4 -3
- package/hooks/index.js +7 -5
- package/hooks/useAbsolutePositioning.js +0 -1
- package/hooks/useAddressBar.js +0 -1
- package/hooks/useApplication.js +8 -1
- package/hooks/useDataProvider.d.ts +17 -2
- package/hooks/useDataSelect.js +21 -4
- package/hooks/useFetch.js +6 -1
- package/hooks/useFile.d.ts +1 -0
- package/hooks/useFile.js +2 -0
- package/hooks/useList.d.ts +53 -14
- package/hooks/useList.js +31 -70
- package/hooks/useTree.d.ts +104 -0
- package/hooks/useTree.js +169 -0
- package/index.d.ts +3 -3
- package/package.json +94 -93
- package/reducers/router.d.ts +2 -1
- package/ui/content/Accordion/Accordion.d.ts +8 -5
- package/ui/content/Accordion/Accordion.js +6 -1
- package/ui/content/Accordion/AccordionItem.d.ts +2 -2
- package/ui/content/Accordion/AccordionItem.js +1 -12
- package/ui/content/Alert/Alert.d.ts +5 -2
- package/ui/content/Alert/Alert.js +13 -12
- package/ui/content/Avatar/Avatar.js +18 -12
- package/ui/content/Badge/Badge.d.ts +5 -1
- package/ui/content/Badge/Badge.js +14 -12
- package/ui/content/Calendar/Calendar.d.ts +6 -1
- package/ui/content/Calendar/Calendar.js +19 -12
- package/ui/content/CalendarSystem/CalendarSystem.d.ts +40 -18
- package/ui/content/CalendarSystem/CalendarSystem.js +65 -76
- package/ui/content/CalendarSystem/hooks/useCalendarControls.d.ts +1 -2
- package/ui/content/CalendarSystem/hooks/useCalendarControls.js +14 -17
- package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.js +11 -3
- package/ui/content/CalendarSystem/hooks/useCalendarSystemModals.js +2 -2
- package/ui/content/CalendarSystem/hooks/useCalendarType.d.ts +5 -0
- package/ui/content/CalendarSystem/hooks/useCalendarType.js +22 -0
- package/ui/content/CalendarSystem/hooks/useEventsFromDate.d.ts +5 -0
- package/ui/content/CalendarSystem/hooks/useEventsFromDate.js +49 -0
- package/ui/content/CalendarSystem/hooks/{useMonthCalendar.d.ts → useMonthGrid.d.ts} +4 -5
- package/ui/content/CalendarSystem/hooks/{useMonthCalendar.js → useMonthGrid.js} +24 -15
- package/ui/content/CalendarSystem/hooks/{useWeekCalendar.d.ts → useWeekGrid.d.ts} +6 -5
- package/ui/content/CalendarSystem/hooks/useWeekGrid.js +72 -0
- package/ui/content/CalendarSystem/utils/utils.d.ts +8 -0
- package/ui/content/CalendarSystem/utils/utils.js +27 -1
- package/ui/content/Card/Card.d.ts +33 -27
- package/ui/content/Card/Card.js +1 -12
- package/ui/content/Chart/Chart.d.ts +38 -8
- package/ui/content/Chart/Chart.js +16 -12
- package/ui/content/Chat/Chat.d.ts +90 -5
- package/ui/content/Chat/Chat.js +40 -14
- package/ui/content/Chat/constants/timeTemplatesAndUnits.d.ts +1 -0
- package/ui/content/Chat/constants/timeTemplatesAndUnits.js +2 -1
- package/ui/content/Chat/hooks/useChat.d.ts +5 -6
- package/ui/content/Chat/hooks/useChat.js +49 -3
- package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.d.ts +5 -0
- package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.js +61 -0
- package/ui/content/Chat/utils/getMessagesGroupedByDate.d.ts +1 -0
- package/ui/content/Chat/utils/getMessagesGroupedByDate.js +3 -2
- package/ui/content/Chat/utils/index.d.ts +4 -2
- package/ui/content/Chat/utils/index.js +6 -1
- package/ui/content/Chat/utils/isTodayMessage.d.ts +1 -0
- package/ui/content/Chat/utils/isTodayMessage.js +13 -0
- package/ui/content/CopyToClipboard/CopyToClipboard.d.ts +3 -3
- package/ui/content/CopyToClipboard/CopyToClipboard.js +10 -12
- package/ui/content/Dashboard/Dashboard.d.ts +5 -2
- package/ui/content/Dashboard/Dashboard.js +27 -3
- package/ui/content/Detail/Detail.d.ts +15 -2
- package/ui/content/Detail/Detail.js +12 -1
- package/ui/content/DropDown/DropDown.d.ts +1 -1
- package/ui/content/DropDown/DropDown.js +16 -4
- package/ui/content/Icon/Icon.js +13 -15
- package/ui/content/Kanban/Kanban.d.ts +15 -4
- package/ui/content/Kanban/Kanban.js +8 -12
- package/ui/content/Kanban/hooks/useKanban.d.ts +33 -26
- package/ui/content/Menu/Menu.js +10 -12
- package/ui/content/Slider/Slider.js +1 -12
- package/ui/crud/index.d.ts +3 -0
- package/ui/form/AutoCompleteField/AutoCompleteField.js +1 -1
- package/ui/form/Button/Button.js +8 -2
- package/ui/form/CheckboxField/CheckboxField.d.ts +1 -0
- package/ui/form/CheckboxField/CheckboxField.js +2 -2
- package/ui/form/CheckboxListField/CheckboxListField.d.ts +18 -2
- package/ui/form/CheckboxListField/CheckboxListField.js +1 -1
- package/ui/form/CheckboxTreeField/CheckboxTreeField.d.ts +67 -0
- package/ui/form/CheckboxTreeField/CheckboxTreeField.js +126 -0
- package/ui/form/CheckboxTreeField/index.d.ts +2 -0
- package/ui/form/CheckboxTreeField/index.js +7 -0
- package/ui/form/DateField/DateField.js +4 -1
- package/ui/form/DateField/useDateRange.d.ts +1 -0
- package/ui/form/DateField/useDateRange.js +13 -2
- package/ui/form/DateRangeField/DateRangeField.d.ts +34 -1
- package/ui/form/DateRangeField/DateRangeField.js +59 -8
- package/ui/form/DateTimeField/DateTimeField.d.ts +10 -0
- package/ui/form/DateTimeField/DateTimeField.js +11 -3
- package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +25 -1
- package/ui/form/DateTimeRangeField/DateTimeRangeField.js +66 -13
- package/ui/form/DropDownField/DropDownField.d.ts +23 -3
- package/ui/form/DropDownField/DropDownField.js +1 -1
- package/ui/form/EmailField/EmailField.d.ts +6 -0
- package/ui/form/EmailField/EmailField.js +0 -4
- package/ui/form/Field/Field.d.ts +9 -1
- package/ui/form/Field/Field.js +1 -1
- package/ui/form/Field/fieldWrapper.d.ts +9 -1
- package/ui/form/FieldList/FieldList.d.ts +13 -7
- package/ui/form/FieldList/FieldList.js +30 -4
- package/ui/form/FileField/FileField.js +5 -0
- package/ui/form/Form/Form.d.ts +26 -3
- package/ui/form/Form/Form.js +5 -3
- package/ui/form/ImageField/ImageField.d.ts +9 -1
- package/ui/form/InputField/InputField.d.ts +5 -2
- package/ui/form/InputField/hooks/useInputFieldWarningByType.js +1 -0
- package/ui/form/NumberField/NumberField.js +34 -7
- package/ui/form/SliderField/SliderField.d.ts +10 -2
- package/ui/form/TimeRangeField/TimeRangeField.d.ts +10 -1
- package/ui/form/TimeRangeField/TimeRangeField.js +3 -1
- package/ui/form/WizardForm/WizardForm.d.ts +119 -0
- package/ui/form/WizardForm/WizardForm.js +167 -0
- package/ui/form/WizardForm/index.d.ts +2 -0
- package/ui/form/WizardForm/index.js +7 -0
- package/ui/form/WizardForm/utils.d.ts +12 -0
- package/ui/form/WizardForm/utils.js +111 -0
- package/ui/form/index.d.ts +3 -1
- package/ui/form/index.js +4 -1
- package/ui/layout/ProgressBar/ProgressBar.js +8 -2
- package/ui/layout/Skeleton/Skeleton.d.ts +3 -1
- package/ui/layout/Tooltip/Tooltip.d.ts +4 -1
- package/ui/list/ControlsColumn/ControlsColumn.d.ts +17 -3
- package/ui/list/FlexGrid/FlexGrid.d.ts +11 -1
- package/ui/list/Grid/Grid.d.ts +42 -6
- package/ui/list/Grid/Grid.js +1 -2
- package/ui/list/LayoutNames/LayoutNames.d.ts +11 -1
- package/ui/list/Steps/Steps.d.ts +19 -7
- package/ui/list/Steps/Steps.js +46 -26
- package/ui/list/TreeTable/TreeTable.d.ts +34 -33
- package/ui/list/TreeTable/TreeTable.js +19 -8
- package/ui/modal/Modal/Modal.d.ts +7 -1
- package/ui/nav/Breadcrumbs/Breadcrumbs.d.ts +11 -1
- package/ui/nav/ButtonGroup/ButtonGroup.d.ts +13 -4
- package/ui/nav/Controls/Controls.d.ts +7 -1
- package/ui/nav/Link/Link.d.ts +1 -1
- package/ui/nav/Nav/Nav.d.ts +19 -4
- package/ui/nav/Router/Router.d.ts +19 -3
- package/ui/nav/Router/Router.js +11 -6
- package/ui/nav/Router/helpers.d.ts +2 -2
- package/ui/nav/Router/helpers.js +39 -7
- package/ui/nav/Tree/Tree.d.ts +32 -62
- package/ui/nav/Tree/Tree.js +18 -165
- package/utils/calculateComponentAbsolutePosition.js +74 -24
- package/utils/calendar.d.ts +8 -0
- package/utils/calendar.js +76 -1
- package/utils/data.js +1 -0
- package/utils/form.d.ts +1 -0
- package/utils/form.js +16 -1
- package/ui/content/CalendarSystem/hooks/useWeekCalendar.js +0 -86
- package/utils/list.d.ts +0 -1
- package/utils/list.js +0 -5
|
@@ -1,103 +1,92 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
4
|
};
|
|
16
5
|
exports.__esModule = true;
|
|
6
|
+
/* eslint-disable max-len */
|
|
17
7
|
/* eslint-disable no-return-assign */
|
|
18
8
|
/* eslint-disable default-case */
|
|
19
9
|
/* eslint-disable no-unused-expressions */
|
|
20
10
|
/* eslint-disable no-plusplus */
|
|
21
11
|
var react_1 = __importDefault(require("react"));
|
|
22
12
|
var dayjs_1 = __importDefault(require("dayjs"));
|
|
23
|
-
var concat_1 = __importDefault(require("lodash-es/concat"));
|
|
24
|
-
var slice_1 = __importDefault(require("lodash-es/slice"));
|
|
25
13
|
var localeData_1 = __importDefault(require("dayjs/plugin/localeData"));
|
|
26
|
-
var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
|
|
27
14
|
var useCalendarControls_1 = __importDefault(require("./hooks/useCalendarControls"));
|
|
28
15
|
var useDisplayDate_1 = __importDefault(require("./hooks/useDisplayDate"));
|
|
29
|
-
var
|
|
16
|
+
var useMonthGrid_1 = __importDefault(require("./hooks/useMonthGrid"));
|
|
30
17
|
var hooks_1 = require("../../../hooks");
|
|
31
|
-
var addEventIfMatchDate_1 = require("./helpers/addEventIfMatchDate");
|
|
32
|
-
var CalendarType_1 = __importDefault(require("./enums/CalendarType"));
|
|
33
18
|
var useCalendarSystemModals_1 = __importDefault(require("./hooks/useCalendarSystemModals"));
|
|
34
19
|
var useCalendarSystemEventGroupModals_1 = require("./hooks/useCalendarSystemEventGroupModals");
|
|
20
|
+
var useWeekGrid_1 = __importDefault(require("./hooks/useWeekGrid"));
|
|
21
|
+
var useCalendarType_1 = require("./hooks/useCalendarType");
|
|
22
|
+
var useEventsFromDate_1 = require("./hooks/useEventsFromDate");
|
|
35
23
|
dayjs_1["default"].extend(localeData_1["default"]);
|
|
36
24
|
function CalendarSystem(props) {
|
|
37
25
|
var components = (0, hooks_1.useComponents)();
|
|
38
26
|
var _a = react_1["default"].useState(props.eventBlock.eventGroups || []), innerEventGroups = _a[0], setInnerEventGroups = _a[1];
|
|
39
27
|
var _b = react_1["default"].useState([]), selectedEventGroupsIds = _b[0], setSelectedEventGroupsIds = _b[1];
|
|
40
|
-
var _c =
|
|
41
|
-
var _d =
|
|
42
|
-
var _e = (0,
|
|
43
|
-
var _f = (0,
|
|
44
|
-
var
|
|
45
|
-
var
|
|
28
|
+
var _c = react_1["default"].useState(null), currentMonthFirstDayDate = _c[0], setCurrentMonthFirstDayDate = _c[1];
|
|
29
|
+
var _d = (0, useDisplayDate_1["default"])(), dateToDisplay = _d.dateToDisplay, setNewDateToDisplay = _d.setNewDateToDisplay;
|
|
30
|
+
var _e = (0, useCalendarType_1.useCalendarType)(), calendarType = _e.calendarType, handleCalendarTypeChange = _e.handleCalendarTypeChange;
|
|
31
|
+
var _f = (0, useMonthGrid_1["default"])(currentMonthFirstDayDate, setCurrentMonthFirstDayDate), monthGridWeekDays = _f.monthGridWeekDays, monthGridCalendarDays = _f.monthGridCalendarDays;
|
|
32
|
+
var _g = (0, useWeekGrid_1["default"])(currentMonthFirstDayDate), weekGridTwentyFourHoursArray = _g.weekGridTwentyFourHoursArray, weekGridCurrentWeekDays = _g.weekGridCurrentWeekDays, weekGridControls = _g.weekGridControls, updateWeekOnMonthChange = _g.updateWeekOnMonthChange;
|
|
33
|
+
var handleControlClick = (0, useCalendarControls_1["default"])(calendarType, weekGridControls);
|
|
34
|
+
var _h = (0, useCalendarSystemModals_1["default"])(props.calendarModalProps, innerEventGroups, setInnerEventGroups), openCreateModal = _h.openCreateModal, openEditModal = _h.openEditModal;
|
|
46
35
|
var openCreateEventGroupModal = (0, useCalendarSystemEventGroupModals_1.useCalendarSystemEventGroupModals)(innerEventGroups, setInnerEventGroups, props.eventGroupModalProps).openCreateEventGroupModal;
|
|
47
|
-
var
|
|
48
|
-
setCalendarType(newType);
|
|
49
|
-
if (props.onChangeCalendarType) {
|
|
50
|
-
props.onChangeCalendarType(newType);
|
|
51
|
-
}
|
|
52
|
-
}, [props]);
|
|
53
|
-
var onMonthChange = react_1["default"].useCallback(function (newDate) {
|
|
36
|
+
var onInnerCalendarChangeMonth = react_1["default"].useCallback(function (newDate) {
|
|
54
37
|
setNewDateToDisplay(newDate);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}, [
|
|
58
|
-
var getEventsFromDate =
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
// eslint-disable-next-line consistent-return
|
|
87
|
-
return eventsOnDate;
|
|
88
|
-
};
|
|
89
|
-
var weekDays = react_1["default"].useMemo(function () {
|
|
90
|
-
var unformattedDaysOfWeek = dayjs_1["default"].weekdaysMin();
|
|
91
|
-
return (0, concat_1["default"])((0, slice_1["default"])(unformattedDaysOfWeek, 1), unformattedDaysOfWeek[0]).map(function (weekDay) { return __("".concat((0, upperFirst_1["default"])(weekDay))); });
|
|
92
|
-
}, []);
|
|
93
|
-
var allHours = react_1["default"].useMemo(function () {
|
|
94
|
-
var hoursArray = [];
|
|
95
|
-
for (var i = 0; i < 24; i++) {
|
|
96
|
-
var formattedHour = (0, dayjs_1["default"])().startOf('day').add(i, 'hour').format('HH:00');
|
|
97
|
-
hoursArray.push(formattedHour);
|
|
38
|
+
setCurrentMonthFirstDayDate(newDate);
|
|
39
|
+
updateWeekOnMonthChange(newDate);
|
|
40
|
+
}, [updateWeekOnMonthChange, setCurrentMonthFirstDayDate, setNewDateToDisplay]);
|
|
41
|
+
var getEventsFromDate = (0, useEventsFromDate_1.useEventsFromDate)(innerEventGroups, selectedEventGroupsIds).getEventsFromDate;
|
|
42
|
+
var viewProps = react_1["default"].useMemo(function () { return ({
|
|
43
|
+
className: props.className,
|
|
44
|
+
style: props.style,
|
|
45
|
+
openCreateModal: openCreateModal,
|
|
46
|
+
onInnerCalendarChangeMonth: onInnerCalendarChangeMonth,
|
|
47
|
+
eventGroups: innerEventGroups,
|
|
48
|
+
eventGroupsTitle: props.eventBlock.title,
|
|
49
|
+
onChangeEventGroupsIds: function (newSelectedEventGroupsIds) { return setSelectedEventGroupsIds(newSelectedEventGroupsIds); },
|
|
50
|
+
openCreateEventGroupModal: openCreateEventGroupModal,
|
|
51
|
+
dateToDisplay: dateToDisplay,
|
|
52
|
+
handleCalendarTypeChange: handleCalendarTypeChange,
|
|
53
|
+
handleControlClick: handleControlClick,
|
|
54
|
+
calendarType: calendarType,
|
|
55
|
+
additionalViewProps: props.additionalViewProps,
|
|
56
|
+
monthGridProps: {
|
|
57
|
+
monthGridWeekDays: monthGridWeekDays,
|
|
58
|
+
monthGridCalendarDays: monthGridCalendarDays,
|
|
59
|
+
getEventsFromDate: getEventsFromDate,
|
|
60
|
+
openCreateModal: openCreateModal,
|
|
61
|
+
openEditModal: openEditModal
|
|
62
|
+
},
|
|
63
|
+
weekGridProps: {
|
|
64
|
+
weekGridTwentyFourHoursArray: weekGridTwentyFourHoursArray,
|
|
65
|
+
weekGridCurrentWeekDays: weekGridCurrentWeekDays,
|
|
66
|
+
getEventsFromDate: getEventsFromDate,
|
|
67
|
+
openCreateModal: openCreateModal,
|
|
68
|
+
openEditModal: openEditModal
|
|
98
69
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
70
|
+
}); }, [
|
|
71
|
+
props.className,
|
|
72
|
+
props.style,
|
|
73
|
+
props.eventBlock.title,
|
|
74
|
+
openCreateModal,
|
|
75
|
+
onInnerCalendarChangeMonth,
|
|
76
|
+
innerEventGroups,
|
|
77
|
+
openCreateEventGroupModal,
|
|
78
|
+
dateToDisplay,
|
|
79
|
+
handleCalendarTypeChange,
|
|
80
|
+
handleControlClick,
|
|
81
|
+
calendarType,
|
|
82
|
+
monthGridWeekDays,
|
|
83
|
+
monthGridCalendarDays,
|
|
84
|
+
getEventsFromDate,
|
|
85
|
+
openEditModal,
|
|
86
|
+
weekGridTwentyFourHoursArray,
|
|
87
|
+
weekGridCurrentWeekDays,
|
|
88
|
+
props.additionalViewProps,
|
|
89
|
+
]);
|
|
90
|
+
return components.ui.renderView(props.view || 'content.CalendarSystemView', viewProps);
|
|
102
91
|
}
|
|
103
92
|
exports["default"] = CalendarSystem;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import CalendarEnum from '../enums/CalendarType';
|
|
3
3
|
import DateControlEnum from '../enums/DateControlType';
|
|
4
|
-
|
|
5
|
-
declare const useCalendarControls: (calendarType: CalendarEnum, weekControls: {
|
|
4
|
+
declare const useCalendarControls: (calendarType: CalendarEnum, weekGridControls: {
|
|
6
5
|
[key: string]: () => void | DateControlEnum;
|
|
7
6
|
}) => (event: React.MouseEvent<HTMLElement>) => void;
|
|
8
7
|
export default useCalendarControls;
|
|
@@ -3,26 +3,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.getSourceCalendarControl = void 0;
|
|
7
|
-
/* eslint-disable no-unneeded-ternary */
|
|
8
6
|
/* eslint-disable default-case */
|
|
9
|
-
/* eslint-disable no-unused-expressions */
|
|
10
7
|
var react_1 = __importDefault(require("react"));
|
|
11
8
|
var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
|
|
12
9
|
var get_1 = __importDefault(require("lodash-es/get"));
|
|
13
10
|
var CalendarType_1 = __importDefault(require("../enums/CalendarType"));
|
|
11
|
+
var utils_1 = require("../utils/utils");
|
|
14
12
|
var CUSTOM_CONTROL_PATH = 'dataset.control';
|
|
15
|
-
var
|
|
16
|
-
|
|
17
|
-
var useCalendarControls = function (calendarType, weekControls) {
|
|
18
|
-
var getCustomControlType = function (event) {
|
|
13
|
+
var useCalendarControls = function (calendarType, weekGridControls) {
|
|
14
|
+
var extractCustomControlType = function (event) {
|
|
19
15
|
var target = event.target;
|
|
20
16
|
var customControlType = (0, get_1["default"])(target, CUSTOM_CONTROL_PATH);
|
|
21
|
-
return customControlType ? customControlType : null;
|
|
17
|
+
return customControlType !== null && customControlType !== void 0 ? customControlType : null;
|
|
22
18
|
};
|
|
23
|
-
var
|
|
24
|
-
var customControlType =
|
|
25
|
-
var sourceCalendarControl = (0,
|
|
19
|
+
var handleControlClick = react_1["default"].useCallback(function (event) {
|
|
20
|
+
var customControlType = extractCustomControlType(event);
|
|
21
|
+
var sourceCalendarControl = (0, utils_1.getSourceCalendarControl)(customControlType);
|
|
26
22
|
if (!sourceCalendarControl) {
|
|
27
23
|
return;
|
|
28
24
|
}
|
|
@@ -32,16 +28,17 @@ var useCalendarControls = function (calendarType, weekControls) {
|
|
|
32
28
|
return;
|
|
33
29
|
}
|
|
34
30
|
case CalendarType_1["default"].WEEK: {
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
var controlAction = weekGridControls[customControlType];
|
|
32
|
+
if ((0, isFunction_1["default"])(controlAction)) {
|
|
33
|
+
controlAction();
|
|
37
34
|
}
|
|
38
35
|
else {
|
|
39
|
-
var sourceControlType =
|
|
40
|
-
(0,
|
|
36
|
+
var sourceControlType = controlAction;
|
|
37
|
+
(0, utils_1.getSourceCalendarControl)(sourceControlType).click();
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
40
|
}
|
|
44
|
-
}, [calendarType,
|
|
45
|
-
return
|
|
41
|
+
}, [calendarType, weekGridControls]);
|
|
42
|
+
return handleControlClick;
|
|
46
43
|
};
|
|
47
44
|
exports["default"] = useCalendarControls;
|
|
@@ -16,14 +16,19 @@ exports.useCalendarSystemEventGroupModals = void 0;
|
|
|
16
16
|
var react_redux_1 = require("react-redux");
|
|
17
17
|
var maxBy_1 = __importDefault(require("lodash-es/maxBy"));
|
|
18
18
|
var react_1 = __importDefault(require("react"));
|
|
19
|
+
var hooks_1 = require("../../../../hooks");
|
|
19
20
|
var modal_1 = require("../../../../actions/modal");
|
|
20
21
|
var useComponents_1 = __importDefault(require("../../../../hooks/useComponents"));
|
|
21
22
|
var DEFAULT_ID = 1;
|
|
23
|
+
var PRIMARY_LIGHT = '#651fff';
|
|
24
|
+
var PRIMARY_DARK = '#9362ff';
|
|
22
25
|
var useCalendarSystemEventGroupModals = function (innerEventGroups, setInnerEventGroups, eventGroupModalProps) {
|
|
23
26
|
var dispatch = (0, react_redux_1.useDispatch)();
|
|
24
27
|
var components = (0, useComponents_1["default"])();
|
|
28
|
+
var theme = (0, hooks_1.useTheme)().theme;
|
|
25
29
|
var calendarModalView = (eventGroupModalProps === null || eventGroupModalProps === void 0 ? void 0 : eventGroupModalProps.component) || components.ui.getView('content.CalendarSystemEventGroupModalView');
|
|
26
|
-
var
|
|
30
|
+
var defaultEventGroupColor = react_1["default"].useMemo(function () { return theme === 'light' ? PRIMARY_LIGHT : PRIMARY_DARK; }, [theme]);
|
|
31
|
+
var onSubmit = react_1["default"].useCallback(function (fields) {
|
|
27
32
|
var _a;
|
|
28
33
|
var newEventGroup = {
|
|
29
34
|
id: (((_a = (0, maxBy_1["default"])(innerEventGroups, function (eventsGroup) { return eventsGroup.id; })) === null || _a === void 0 ? void 0 : _a.id) || DEFAULT_ID) + 1,
|
|
@@ -36,9 +41,12 @@ var useCalendarSystemEventGroupModals = function (innerEventGroups, setInnerEven
|
|
|
36
41
|
var openCreateEventGroupModal = react_1["default"].useCallback(function () {
|
|
37
42
|
dispatch((0, modal_1.openModal)(calendarModalView, {
|
|
38
43
|
isCreate: true,
|
|
39
|
-
onEventGroupSubmit:
|
|
44
|
+
onEventGroupSubmit: onSubmit,
|
|
45
|
+
eventGroupInitialValues: {
|
|
46
|
+
color: defaultEventGroupColor
|
|
47
|
+
}
|
|
40
48
|
}));
|
|
41
|
-
}, [calendarModalView, dispatch,
|
|
49
|
+
}, [calendarModalView, defaultEventGroupColor, dispatch, onSubmit]);
|
|
42
50
|
return {
|
|
43
51
|
openCreateEventGroupModal: openCreateEventGroupModal
|
|
44
52
|
};
|
|
@@ -35,7 +35,7 @@ var useCalendarSystemModals = function (calendarModalProps, innerEventGroups, se
|
|
|
35
35
|
var dispatch = (0, react_redux_1.useDispatch)();
|
|
36
36
|
var components = (0, useComponents_1["default"])();
|
|
37
37
|
var calendarModalView = (calendarModalProps === null || calendarModalProps === void 0 ? void 0 : calendarModalProps.component) || components.ui.getView('content.CalendarSystemModalView');
|
|
38
|
-
var
|
|
38
|
+
var onModalFormSubmit = react_1["default"].useCallback(function (fields, eventInitialValues) {
|
|
39
39
|
var _a;
|
|
40
40
|
var eventGroupId = fields.eventGroupId, date = fields.date, title = fields.title, description = fields.description;
|
|
41
41
|
var currentEventGroups = __spreadArray([], innerEventGroups, true);
|
|
@@ -63,7 +63,7 @@ var useCalendarSystemModals = function (calendarModalProps, innerEventGroups, se
|
|
|
63
63
|
], false), currentEventGroups.slice(changeableEventGroupIndex + 1), true);
|
|
64
64
|
setInnerEventGroups(currentEventGroups);
|
|
65
65
|
}, [innerEventGroups, setInnerEventGroups]);
|
|
66
|
-
var getModalProps = react_1["default"].useCallback(function (isCreate, eventInitialValues) { return (__assign(__assign({}, calendarModalProps), { component: calendarModalView, eventGroups: innerEventGroups,
|
|
66
|
+
var getModalProps = react_1["default"].useCallback(function (isCreate, eventInitialValues) { return (__assign(__assign({}, calendarModalProps), { component: calendarModalView, eventGroups: innerEventGroups, onModalFormSubmit: onModalFormSubmit, isCreate: isCreate, eventInitialValues: eventInitialValues })); }, [calendarModalProps, calendarModalView, innerEventGroups, onModalFormSubmit]);
|
|
67
67
|
var getEventFromGroup = react_1["default"].useCallback(function (event) { return innerEventGroups
|
|
68
68
|
.find(function (group) { return group.events
|
|
69
69
|
.some(function (groupEvent) { return (0, isEqual_1["default"])((0, utils_1.getOmittedEvent)(groupEvent), (0, utils_1.getOmittedEvent)(event)); }); }); }, [innerEventGroups]);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.useCalendarType = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var CalendarType_1 = __importDefault(require("../enums/CalendarType"));
|
|
9
|
+
var useCalendarType = function (onChangeCalendarType) {
|
|
10
|
+
var _a = react_1["default"].useState(CalendarType_1["default"].MONTH), calendarType = _a[0], setCalendarType = _a[1];
|
|
11
|
+
var handleCalendarTypeChange = react_1["default"].useCallback(function (newType) {
|
|
12
|
+
setCalendarType(newType);
|
|
13
|
+
if (onChangeCalendarType) {
|
|
14
|
+
onChangeCalendarType(newType);
|
|
15
|
+
}
|
|
16
|
+
}, [onChangeCalendarType]);
|
|
17
|
+
return {
|
|
18
|
+
handleCalendarTypeChange: handleCalendarTypeChange,
|
|
19
|
+
calendarType: calendarType
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
exports.useCalendarType = useCalendarType;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IEvent, IEventGroup } from '../CalendarSystem';
|
|
2
|
+
import CalendarEnum from '../enums/CalendarType';
|
|
3
|
+
export declare const useEventsFromDate: (innerEventGroups: IEventGroup[], selectedEventGroupsIds: number[]) => {
|
|
4
|
+
getEventsFromDate: (dateFromDay: Date, currentCalendarType: CalendarEnum) => IEvent[];
|
|
5
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
var _a;
|
|
6
|
+
exports.__esModule = true;
|
|
7
|
+
exports.useEventsFromDate = void 0;
|
|
8
|
+
/* eslint-disable default-case */
|
|
9
|
+
var react_1 = __importDefault(require("react"));
|
|
10
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
11
|
+
var CalendarType_1 = __importDefault(require("../enums/CalendarType"));
|
|
12
|
+
var addEventIfMatchDate_1 = require("../helpers/addEventIfMatchDate");
|
|
13
|
+
var CALENDAR_TYPE_GETTING_EVENTS_PROPERTIES = (_a = {},
|
|
14
|
+
_a[CalendarType_1["default"].MONTH] = {
|
|
15
|
+
getDayJsDate: function (date) { return (0, dayjs_1["default"])(date); },
|
|
16
|
+
unit: 'day'
|
|
17
|
+
},
|
|
18
|
+
_a[CalendarType_1["default"].WEEK] = {
|
|
19
|
+
getDayJsDate: function (date) {
|
|
20
|
+
var eventDate = new Date(date);
|
|
21
|
+
eventDate.setHours(eventDate.getHours(), 0, 0, 0);
|
|
22
|
+
return (0, dayjs_1["default"])(eventDate);
|
|
23
|
+
},
|
|
24
|
+
unit: 'hours'
|
|
25
|
+
},
|
|
26
|
+
_a);
|
|
27
|
+
var useEventsFromDate = function (innerEventGroups, selectedEventGroupsIds) {
|
|
28
|
+
var getEventsFromDate = react_1["default"].useCallback(function (dateFromDay, currentCalendarType) {
|
|
29
|
+
var resultEventsOnDate = [];
|
|
30
|
+
var dayjsDateFromDay = (0, dayjs_1["default"])(dateFromDay);
|
|
31
|
+
var forEachEventGroupEvent = function (callback) {
|
|
32
|
+
innerEventGroups.forEach(function (eventGroup) {
|
|
33
|
+
eventGroup.events.forEach(function (event) {
|
|
34
|
+
callback(event, eventGroup);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
var calendarTypeProperties = CALENDAR_TYPE_GETTING_EVENTS_PROPERTIES[currentCalendarType];
|
|
39
|
+
forEachEventGroupEvent(function (event, eventGroup) {
|
|
40
|
+
var eventDateDayJs = calendarTypeProperties.getDayJsDate(event.date);
|
|
41
|
+
(0, addEventIfMatchDate_1.addEventIfMatchDate)(eventDateDayJs, dayjsDateFromDay, eventGroup, event, calendarTypeProperties.unit, selectedEventGroupsIds, resultEventsOnDate);
|
|
42
|
+
});
|
|
43
|
+
return resultEventsOnDate;
|
|
44
|
+
}, [innerEventGroups, selectedEventGroupsIds]);
|
|
45
|
+
return {
|
|
46
|
+
getEventsFromDate: getEventsFromDate
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
exports.useEventsFromDate = useEventsFromDate;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { IDay } from '../CalendarSystem';
|
|
3
|
-
declare const
|
|
3
|
+
declare const useMonthGrid: (currentMonthFirstDayDate: Date, setCurrentMonthFirstDayDate: React.Dispatch<React.SetStateAction<Date>>) => {
|
|
4
|
+
monthGridWeekDays: any;
|
|
5
|
+
monthGridCalendarDays: IDay[];
|
|
4
6
|
getCalendarArray: () => IDay[];
|
|
5
7
|
getCurrentMonthDataUTC: () => {
|
|
6
8
|
currentMonth: number;
|
|
@@ -9,8 +11,5 @@ declare const useMonthCalendar: () => {
|
|
|
9
11
|
daysInCurrentMonth: any[];
|
|
10
12
|
};
|
|
11
13
|
getWeekFromDate: (date: Date) => IDay[];
|
|
12
|
-
calendarArray: IDay[];
|
|
13
|
-
setCurrentMonthDate: React.Dispatch<React.SetStateAction<Date>>;
|
|
14
|
-
currentMonthDate: Date;
|
|
15
14
|
};
|
|
16
|
-
export default
|
|
15
|
+
export default useMonthGrid;
|
|
@@ -18,25 +18,31 @@ exports.__esModule = true;
|
|
|
18
18
|
/* eslint-disable import/order */
|
|
19
19
|
var react_1 = __importDefault(require("react"));
|
|
20
20
|
var utils_1 = require("../utils/utils");
|
|
21
|
+
var concat_1 = __importDefault(require("lodash-es/concat"));
|
|
22
|
+
var slice_1 = __importDefault(require("lodash-es/slice"));
|
|
23
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
24
|
+
var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
|
|
21
25
|
var FIRST_DAY = 1;
|
|
22
26
|
var ONE_MONTH = 1;
|
|
23
27
|
var TOTAL_DAYS_IN_CALENDAR = 42;
|
|
24
|
-
var
|
|
25
|
-
var _a = react_1["default"].useState(null), currentMonthDate = _a[0], setCurrentMonthDate = _a[1];
|
|
28
|
+
var useMonthGrid = function (currentMonthFirstDayDate, setCurrentMonthFirstDayDate) {
|
|
26
29
|
var getCurrentMonthDataUTC = react_1["default"].useCallback(function () {
|
|
27
|
-
var currentYear = (
|
|
28
|
-
var month = (
|
|
30
|
+
var currentYear = (currentMonthFirstDayDate === null || currentMonthFirstDayDate === void 0 ? void 0 : currentMonthFirstDayDate.getFullYear()) || new Date().getFullYear();
|
|
31
|
+
var month = (currentMonthFirstDayDate === null || currentMonthFirstDayDate === void 0 ? void 0 : currentMonthFirstDayDate.getMonth()) || new Date().getMonth();
|
|
29
32
|
var nextMonthFirstDay = new Date(currentYear, month + ONE_MONTH, FIRST_DAY);
|
|
30
33
|
var lastDayOfCurrentMonth = new Date(nextMonthFirstDay.getTime() - FIRST_DAY).getDate();
|
|
31
34
|
var firstDayOfCurrentMonth = new Date(Date.UTC(currentYear, month, FIRST_DAY));
|
|
32
|
-
if (
|
|
33
|
-
|
|
35
|
+
if (currentMonthFirstDayDate === null) {
|
|
36
|
+
setCurrentMonthFirstDayDate(firstDayOfCurrentMonth);
|
|
34
37
|
}
|
|
35
38
|
var daysInCurrentMonth = [];
|
|
36
39
|
// Пройдемся по всем дням месяца и добавим их в массив
|
|
37
40
|
for (var dayNumber = 1; dayNumber <= lastDayOfCurrentMonth; dayNumber++) {
|
|
38
41
|
var date = new Date(Date.UTC(currentYear, month, dayNumber));
|
|
39
|
-
daysInCurrentMonth.push({
|
|
42
|
+
daysInCurrentMonth.push({
|
|
43
|
+
date: date,
|
|
44
|
+
dayNumber: dayNumber
|
|
45
|
+
});
|
|
40
46
|
}
|
|
41
47
|
return {
|
|
42
48
|
currentMonth: month,
|
|
@@ -44,7 +50,7 @@ var useMonthCalendar = function () {
|
|
|
44
50
|
firstDayOfCurrentMonth: firstDayOfCurrentMonth,
|
|
45
51
|
daysInCurrentMonth: daysInCurrentMonth
|
|
46
52
|
};
|
|
47
|
-
}, [
|
|
53
|
+
}, [currentMonthFirstDayDate, setCurrentMonthFirstDayDate]);
|
|
48
54
|
var getCalendarArray = react_1["default"].useCallback(function () {
|
|
49
55
|
var calendarArray = [];
|
|
50
56
|
var _a = getCurrentMonthDataUTC(), firstDayOfCurrentMonth = _a.firstDayOfCurrentMonth, month = _a.currentMonth, daysInCurrentMonth = _a.daysInCurrentMonth;
|
|
@@ -66,7 +72,7 @@ var useMonthCalendar = function () {
|
|
|
66
72
|
});
|
|
67
73
|
var daysAfterCurrentMonth = TOTAL_DAYS_IN_CALENDAR - calendarArray.length;
|
|
68
74
|
for (var i = 1; i <= daysAfterCurrentMonth; i++) {
|
|
69
|
-
var currentDate = new Date(
|
|
75
|
+
var currentDate = new Date(currentMonthFirstDayDate === null || currentMonthFirstDayDate === void 0 ? void 0 : currentMonthFirstDayDate.getFullYear(), month + 1, i);
|
|
70
76
|
calendarArray.push({
|
|
71
77
|
date: currentDate,
|
|
72
78
|
dayNumber: currentDate.getDate(),
|
|
@@ -74,14 +80,17 @@ var useMonthCalendar = function () {
|
|
|
74
80
|
});
|
|
75
81
|
}
|
|
76
82
|
return calendarArray.map(function (day) { return (0, utils_1.isDateIsToday)(day.date) ? (__assign(__assign({}, day), { isToday: true })) : day; });
|
|
77
|
-
}, [
|
|
83
|
+
}, [currentMonthFirstDayDate, getCurrentMonthDataUTC]);
|
|
84
|
+
var weekDays = react_1["default"].useMemo(function () {
|
|
85
|
+
var unformattedDaysOfWeek = dayjs_1["default"].weekdaysMin();
|
|
86
|
+
return (0, concat_1["default"])((0, slice_1["default"])(unformattedDaysOfWeek, 1), unformattedDaysOfWeek[0]).map(function (weekDay) { return __("".concat((0, upperFirst_1["default"])(weekDay))); });
|
|
87
|
+
}, []);
|
|
78
88
|
return {
|
|
89
|
+
monthGridWeekDays: weekDays,
|
|
90
|
+
monthGridCalendarDays: getCalendarArray(),
|
|
79
91
|
getCalendarArray: getCalendarArray,
|
|
80
92
|
getCurrentMonthDataUTC: getCurrentMonthDataUTC,
|
|
81
|
-
getWeekFromDate: utils_1.getWeekDaysFromDate
|
|
82
|
-
calendarArray: getCalendarArray(),
|
|
83
|
-
setCurrentMonthDate: setCurrentMonthDate,
|
|
84
|
-
currentMonthDate: currentMonthDate
|
|
93
|
+
getWeekFromDate: utils_1.getWeekDaysFromDate
|
|
85
94
|
};
|
|
86
95
|
};
|
|
87
|
-
exports["default"] =
|
|
96
|
+
exports["default"] = useMonthGrid;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import DateControlEnum from '../enums/DateControlType';
|
|
2
|
-
declare const
|
|
3
|
-
|
|
2
|
+
declare const useWeekGrid: (currentMonthFirstDayDate: Date) => {
|
|
3
|
+
weekGridTwentyFourHoursArray: any[];
|
|
4
|
+
weekGridCurrentWeekDays: {
|
|
4
5
|
dayNumber: number;
|
|
5
6
|
date: Date;
|
|
6
7
|
outOfRange?: boolean;
|
|
7
8
|
isToday?: boolean;
|
|
8
9
|
formattedDisplay?: string;
|
|
9
10
|
}[];
|
|
10
|
-
|
|
11
|
+
weekGridControls: {
|
|
11
12
|
[key: string]: () => void | DateControlEnum;
|
|
12
13
|
};
|
|
13
|
-
|
|
14
|
+
updateWeekOnMonthChange: (newMonthDate: Date) => void;
|
|
14
15
|
};
|
|
15
|
-
export default
|
|
16
|
+
export default useWeekGrid;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
/* eslint-disable no-plusplus */
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var dayjs_1 = __importDefault(require("dayjs"));
|
|
9
|
+
var DateControlType_1 = __importDefault(require("../enums/DateControlType"));
|
|
10
|
+
var utils_1 = require("../utils/utils");
|
|
11
|
+
var ONE_DAY = 1;
|
|
12
|
+
var getTwentyFourHoursArray = function () {
|
|
13
|
+
var hoursArray = [];
|
|
14
|
+
for (var i = 0; i < 24; i++) {
|
|
15
|
+
var formattedHour = (0, dayjs_1["default"])().startOf('day').add(i, 'hour').format('HH:00');
|
|
16
|
+
hoursArray.push(formattedHour);
|
|
17
|
+
}
|
|
18
|
+
return hoursArray;
|
|
19
|
+
};
|
|
20
|
+
var useWeekGrid = function (currentMonthFirstDayDate) {
|
|
21
|
+
var _a;
|
|
22
|
+
var _b = react_1["default"].useState((0, utils_1.getFormattedWeekFromDate)()), currentWeek = _b[0], setCurrentWeek = _b[1];
|
|
23
|
+
var updateWeekOnMonthChange = react_1["default"].useCallback(function (newMonthDate) {
|
|
24
|
+
setCurrentWeek((0, utils_1.getFormattedWeekFromDate)(newMonthDate));
|
|
25
|
+
}, []);
|
|
26
|
+
var changeMonthAfterWeekChanged = react_1["default"].useCallback(function (formattedWeek) {
|
|
27
|
+
var firstDayOfWeek = formattedWeek[0].date;
|
|
28
|
+
var currentMonthNumber = currentMonthFirstDayDate.getMonth();
|
|
29
|
+
var isWeekOutOfMonth = formattedWeek.every(function (dayOfWeek) { return dayOfWeek.date.getMonth() !== currentMonthNumber; });
|
|
30
|
+
if (!isWeekOutOfMonth) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (currentMonthNumber - firstDayOfWeek.getMonth() === 1) {
|
|
34
|
+
var lastDayOfWeekInNewMonth = formattedWeek[formattedWeek.length - 1].date;
|
|
35
|
+
var prevMonthControl = (0, utils_1.getSourceCalendarControl)(DateControlType_1["default"].PREV_ONE);
|
|
36
|
+
prevMonthControl.click();
|
|
37
|
+
updateWeekOnMonthChange(lastDayOfWeekInNewMonth);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
var firstDayOfWeekInNewMonth = formattedWeek[0].date;
|
|
41
|
+
var nextMonthControl = (0, utils_1.getSourceCalendarControl)(DateControlType_1["default"].NEXT_ONE);
|
|
42
|
+
nextMonthControl.click();
|
|
43
|
+
updateWeekOnMonthChange(firstDayOfWeekInNewMonth);
|
|
44
|
+
}
|
|
45
|
+
}, [currentMonthFirstDayDate, updateWeekOnMonthChange]);
|
|
46
|
+
var setNextWeek = react_1["default"].useCallback(function () {
|
|
47
|
+
var lastDayOfWeek = currentWeek[currentWeek.length - 1].date;
|
|
48
|
+
lastDayOfWeek.setDate(lastDayOfWeek.getDate() + ONE_DAY);
|
|
49
|
+
var formattedNextWeek = (0, utils_1.getFormattedWeekFromDate)(lastDayOfWeek);
|
|
50
|
+
setCurrentWeek(formattedNextWeek);
|
|
51
|
+
changeMonthAfterWeekChanged(formattedNextWeek);
|
|
52
|
+
}, [currentWeek, changeMonthAfterWeekChanged]);
|
|
53
|
+
var setPrevWeek = react_1["default"].useCallback(function () {
|
|
54
|
+
var firstDayOfWeek = currentWeek[0].date;
|
|
55
|
+
firstDayOfWeek.setDate(firstDayOfWeek.getDate() - ONE_DAY);
|
|
56
|
+
var formattedPrevWeek = (0, utils_1.getFormattedWeekFromDate)(firstDayOfWeek);
|
|
57
|
+
setCurrentWeek(formattedPrevWeek);
|
|
58
|
+
changeMonthAfterWeekChanged(formattedPrevWeek);
|
|
59
|
+
}, [currentWeek, changeMonthAfterWeekChanged]);
|
|
60
|
+
return {
|
|
61
|
+
weekGridTwentyFourHoursArray: getTwentyFourHoursArray(),
|
|
62
|
+
weekGridCurrentWeekDays: currentWeek,
|
|
63
|
+
weekGridControls: (_a = {},
|
|
64
|
+
_a[DateControlType_1["default"].NEXT_DOUBLE] = DateControlType_1["default"].NEXT_ONE,
|
|
65
|
+
_a[DateControlType_1["default"].NEXT_ONE] = setNextWeek,
|
|
66
|
+
_a[DateControlType_1["default"].PREV_ONE] = setPrevWeek,
|
|
67
|
+
_a[DateControlType_1["default"].PREV_DOUBLE] = DateControlType_1["default"].PREV_ONE,
|
|
68
|
+
_a),
|
|
69
|
+
updateWeekOnMonthChange: updateWeekOnMonthChange
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
exports["default"] = useWeekGrid;
|
|
@@ -3,3 +3,11 @@ export declare const getWeekDaysFromDate: (date: Date) => IDay[];
|
|
|
3
3
|
export declare const isDateIsToday: (date: Date) => boolean;
|
|
4
4
|
export declare const getOmittedEvent: (event: IEvent | Omit<IEvent, 'color'>) => any;
|
|
5
5
|
export declare const sortEventsInGroup: (group: IEventGroup) => Omit<IEvent, "color">[];
|
|
6
|
+
export declare const getSourceCalendarControl: (control: string) => HTMLElement;
|
|
7
|
+
export declare const getFormattedWeekFromDate: (fromDate?: Date) => {
|
|
8
|
+
dayNumber: number;
|
|
9
|
+
date: Date;
|
|
10
|
+
outOfRange?: boolean;
|
|
11
|
+
isToday?: boolean;
|
|
12
|
+
formattedDisplay?: string;
|
|
13
|
+
}[];
|