@steroidsjs/core 3.0.39 → 3.0.40
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/docs-autogen-result.json +37 -2
- package/en.json +1 -0
- package/package.json +1 -1
- package/ui/content/CalendarSystem/CalendarSystem.d.ts +18 -1
- package/ui/content/CalendarSystem/CalendarSystem.js +3 -2
- package/ui/content/CalendarSystem/helpers/addEventIfMatchDate.d.ts +1 -1
- package/ui/content/CalendarSystem/hooks/useCalendarSystem.d.ts +3 -3
- package/ui/content/CalendarSystem/hooks/useCalendarSystem.js +66 -12
- package/ui/content/CalendarSystem/hooks/useCalendarSystemModals.d.ts +1 -1
package/docs-autogen-result.json
CHANGED
|
@@ -7637,6 +7637,15 @@
|
|
|
7637
7637
|
"example": null,
|
|
7638
7638
|
"defaultValue": null
|
|
7639
7639
|
},
|
|
7640
|
+
{
|
|
7641
|
+
"name": "calendarDatesFormData",
|
|
7642
|
+
"decorators": [],
|
|
7643
|
+
"description": "Данные для формы с текущими датами календаря",
|
|
7644
|
+
"required": false,
|
|
7645
|
+
"type": "{dateFromAttribute: string, dateToAttribute: string, formId: string}",
|
|
7646
|
+
"example": null,
|
|
7647
|
+
"defaultValue": null
|
|
7648
|
+
},
|
|
7640
7649
|
{
|
|
7641
7650
|
"name": "calendarModalProps",
|
|
7642
7651
|
"decorators": [],
|
|
@@ -7678,7 +7687,7 @@
|
|
|
7678
7687
|
"decorators": [],
|
|
7679
7688
|
"description": "Параметры для групп событий",
|
|
7680
7689
|
"required": true,
|
|
7681
|
-
"type": "{eventGroups: IEventGroup[], title: string}",
|
|
7690
|
+
"type": "{canAddedEventGroups: boolean, eventGroups: IEventGroup[], title: string}",
|
|
7682
7691
|
"example": null,
|
|
7683
7692
|
"defaultValue": null
|
|
7684
7693
|
},
|
|
@@ -7755,6 +7764,24 @@
|
|
|
7755
7764
|
"example": null
|
|
7756
7765
|
}
|
|
7757
7766
|
]
|
|
7767
|
+
},
|
|
7768
|
+
{
|
|
7769
|
+
"name": "onEventClick",
|
|
7770
|
+
"decorators": [],
|
|
7771
|
+
"description": "Функция, которая вызывается по клику на событие",
|
|
7772
|
+
"required": false,
|
|
7773
|
+
"type": "void",
|
|
7774
|
+
"example": null,
|
|
7775
|
+
"parameters": [
|
|
7776
|
+
{
|
|
7777
|
+
"name": "event",
|
|
7778
|
+
"decorators": [],
|
|
7779
|
+
"description": "",
|
|
7780
|
+
"required": true,
|
|
7781
|
+
"type": "Record",
|
|
7782
|
+
"example": null
|
|
7783
|
+
}
|
|
7784
|
+
]
|
|
7758
7785
|
}
|
|
7759
7786
|
]
|
|
7760
7787
|
},
|
|
@@ -7802,6 +7829,14 @@
|
|
|
7802
7829
|
"type": "default",
|
|
7803
7830
|
"example": null
|
|
7804
7831
|
},
|
|
7832
|
+
{
|
|
7833
|
+
"name": "canAddedEventGroups",
|
|
7834
|
+
"decorators": [],
|
|
7835
|
+
"description": "",
|
|
7836
|
+
"required": false,
|
|
7837
|
+
"type": "boolean",
|
|
7838
|
+
"example": null
|
|
7839
|
+
},
|
|
7805
7840
|
{
|
|
7806
7841
|
"name": "children",
|
|
7807
7842
|
"decorators": [],
|
|
@@ -8214,7 +8249,7 @@
|
|
|
8214
8249
|
"decorators": [],
|
|
8215
8250
|
"description": "Идентификатор",
|
|
8216
8251
|
"required": true,
|
|
8217
|
-
"type": "number",
|
|
8252
|
+
"type": "string | number",
|
|
8218
8253
|
"example": null
|
|
8219
8254
|
},
|
|
8220
8255
|
{
|
package/en.json
CHANGED
|
@@ -994,6 +994,7 @@
|
|
|
994
994
|
"Сохранение в localStorage уровней вложенности.": "",
|
|
995
995
|
"Дополнительные свойства для списка календарей бокового календаря": "",
|
|
996
996
|
"Дополнительные свойства для бокового календаря": "",
|
|
997
|
+
"Данные для формы с текущими датами календаря": "",
|
|
997
998
|
"Свойства для сетки дня": "",
|
|
998
999
|
"Свойства для сетки месяца": "",
|
|
999
1000
|
"Свойства для сетки недели": "",
|
package/package.json
CHANGED
|
@@ -59,7 +59,7 @@ export interface IEventGroup {
|
|
|
59
59
|
/**
|
|
60
60
|
* Идентификатор
|
|
61
61
|
*/
|
|
62
|
-
id: number;
|
|
62
|
+
id: number | string;
|
|
63
63
|
/**
|
|
64
64
|
* Название группы
|
|
65
65
|
*/
|
|
@@ -120,6 +120,10 @@ export interface ICalendarSystemProps extends IUiComponent {
|
|
|
120
120
|
* Группы событий
|
|
121
121
|
*/
|
|
122
122
|
eventGroups: IEventGroup[];
|
|
123
|
+
/**
|
|
124
|
+
* Можно ли добавлять группы событий в календарь
|
|
125
|
+
*/
|
|
126
|
+
canAddedEventGroups?: boolean;
|
|
123
127
|
};
|
|
124
128
|
/**
|
|
125
129
|
* Свойства для сетки дня
|
|
@@ -150,12 +154,25 @@ export interface ICalendarSystemProps extends IUiComponent {
|
|
|
150
154
|
* Дочерние элементы
|
|
151
155
|
*/
|
|
152
156
|
children?: React.ReactNode;
|
|
157
|
+
/**
|
|
158
|
+
* Функция, которая вызывается по клику на событие
|
|
159
|
+
*/
|
|
160
|
+
onEventClick?: (event: Record<string, any>) => void;
|
|
161
|
+
/**
|
|
162
|
+
* Данные для формы с текущими датами календаря
|
|
163
|
+
*/
|
|
164
|
+
calendarDatesFormData?: {
|
|
165
|
+
formId: string;
|
|
166
|
+
dateFromAttribute?: string;
|
|
167
|
+
dateToAttribute?: string;
|
|
168
|
+
};
|
|
153
169
|
[key: string]: any;
|
|
154
170
|
}
|
|
155
171
|
export interface ICalendarSystemViewProps extends Pick<ICalendarSystemProps, 'className' | 'style' | 'additionalViewProps' | 'users' | 'asideCalendarProps' | 'asideCalendarCheckboxListProps'> {
|
|
156
172
|
onCalendarChangedMonth: (newDate: Date) => void;
|
|
157
173
|
eventGroups: IEventGroup[];
|
|
158
174
|
eventGroupsTitle: string;
|
|
175
|
+
canAddedEventGroups?: boolean;
|
|
159
176
|
onChangeEventGroupsIds: (selectedIds: number[]) => void;
|
|
160
177
|
openCreateEventGroupModal: VoidFunction;
|
|
161
178
|
dateToDisplay: string;
|
|
@@ -36,6 +36,7 @@ function CalendarSystem(props) {
|
|
|
36
36
|
additionalViewProps: props.additionalViewProps,
|
|
37
37
|
users: calendarSystem.users,
|
|
38
38
|
eventGroupsTitle: props.eventBlock.title,
|
|
39
|
+
canAddedEventGroups: props.eventBlock.canAddedEventGroups,
|
|
39
40
|
asideCalendarProps: props.asideCalendarProps,
|
|
40
41
|
asideCalendarCheckboxListProps: props.asideCalendarCheckboxListProps,
|
|
41
42
|
children: props.children,
|
|
@@ -49,11 +50,11 @@ function CalendarSystem(props) {
|
|
|
49
50
|
handleCalendarTypeChange: calendarSystem.handleCalendarTypeChange,
|
|
50
51
|
onClickControl: calendarSystem.onClickControl,
|
|
51
52
|
getEventsFromDate: calendarSystem.getEventsFromDate,
|
|
52
|
-
openEditModal: calendarSystem.openEditModal,
|
|
53
|
+
openEditModal: props.onEventClick || calendarSystem.openEditModal,
|
|
53
54
|
monthGridProps: __assign({ monthGridWeekDays: calendarSystem.monthGridWeekDays, monthGridCalendarDays: calendarSystem.monthGridCalendarDays }, monthGridViews),
|
|
54
55
|
weekGridProps: __assign({ weekGridTwentyFourHoursArray: calendarSystem.weekGridTwentyFourHoursArray, weekGridCurrentWeekDays: calendarSystem.weekGridCurrentWeekDays }, weekGridViews),
|
|
55
56
|
dayGridProps: __assign({ dayGridTwentyFourHoursArray: calendarSystem.dayGridTwentyFourHoursArray, dayGridCurrentDay: calendarSystem.dayGridCurrentDay }, dayGridViews)
|
|
56
|
-
}); }, [props.className, props.style, props.additionalViewProps, props.eventBlock.title, props.asideCalendarProps, props.asideCalendarCheckboxListProps, props.children, calendarSystem, monthGridViews, weekGridViews, dayGridViews]);
|
|
57
|
+
}); }, [props.className, props.style, props.additionalViewProps, props.eventBlock.title, props.eventBlock.canAddedEventGroups, props.asideCalendarProps, props.asideCalendarCheckboxListProps, props.children, props.onEventClick, calendarSystem, monthGridViews, weekGridViews, dayGridViews]);
|
|
57
58
|
return components.ui.renderView(props.view || 'content.CalendarSystemView', viewProps);
|
|
58
59
|
}
|
|
59
60
|
exports["default"] = CalendarSystem;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
2
|
import { IEventGroup, IEvent } from '../CalendarSystem';
|
|
3
|
-
export declare const addEventIfMatchDate: (eventDateDayJs: dayjs.Dayjs, sourceDateInDayJs: dayjs.Dayjs, calendarGroup: IEventGroup, originalEvent: IEvent, unit: 'hours' | 'day', selectedEventGroupsIds: number
|
|
3
|
+
export declare const addEventIfMatchDate: (eventDateDayJs: dayjs.Dayjs, sourceDateInDayJs: dayjs.Dayjs, calendarGroup: IEventGroup, originalEvent: IEvent, unit: 'hours' | 'day', selectedEventGroupsIds: Array<number | string>, resultEventsOnDate: IEvent[]) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ICalendarSystemProps, ICalendarUser, IEventGroup } from '../CalendarSystem';
|
|
3
|
-
import
|
|
3
|
+
import CalendarType from '../enums/CalendarType';
|
|
4
4
|
export declare const useCalendarSystem: (props: ICalendarSystemProps) => {
|
|
5
5
|
monthGridWeekDays: any;
|
|
6
6
|
monthGridCalendarDays: import("../CalendarSystem").IDay[];
|
|
@@ -16,11 +16,11 @@ export declare const useCalendarSystem: (props: ICalendarSystemProps) => {
|
|
|
16
16
|
dayGridCurrentDay: import("../CalendarSystem").IDay;
|
|
17
17
|
dateToDisplay: any;
|
|
18
18
|
innerEventGroups: IEventGroup[];
|
|
19
|
-
calendarType:
|
|
19
|
+
calendarType: CalendarType;
|
|
20
20
|
users: ICalendarUser[];
|
|
21
21
|
setSelectedEventGroupsIds: React.Dispatch<React.SetStateAction<number[]>>;
|
|
22
22
|
handleCalendarTypeChange: (newType: string) => void;
|
|
23
|
-
getEventsFromDate: (dateFromDay: Date, currentCalendarType:
|
|
23
|
+
getEventsFromDate: (dateFromDay: Date, currentCalendarType: CalendarType) => import("../CalendarSystem").IEvent[];
|
|
24
24
|
onCalendarChangedMonth: (newDate: Date) => void;
|
|
25
25
|
openCreateEventGroupModal: () => void;
|
|
26
26
|
openEditModal: (event: import("../CalendarSystem").IEvent) => void;
|
|
@@ -27,11 +27,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
exports.__esModule = true;
|
|
29
29
|
exports.useCalendarSystem = void 0;
|
|
30
|
+
/* eslint-disable default-case */
|
|
30
31
|
var react_1 = __importStar(require("react"));
|
|
32
|
+
var react_use_1 = require("react-use");
|
|
33
|
+
var react_redux_1 = require("react-redux");
|
|
34
|
+
var last_1 = __importDefault(require("lodash-es/last"));
|
|
35
|
+
var head_1 = __importDefault(require("lodash-es/head"));
|
|
31
36
|
var useDisplayDate_1 = __importDefault(require("./useDisplayDate"));
|
|
32
37
|
var useDayGrid_1 = require("./useDayGrid");
|
|
33
38
|
var useCalendarType_1 = require("./useCalendarType");
|
|
34
|
-
var CalendarType_1 = __importDefault(require("../enums/CalendarType"));
|
|
35
39
|
var useMonthGrid_1 = __importDefault(require("./useMonthGrid"));
|
|
36
40
|
var useWeekGrid_1 = __importDefault(require("./useWeekGrid"));
|
|
37
41
|
var useCalendarControls_1 = __importDefault(require("./useCalendarControls"));
|
|
@@ -40,12 +44,24 @@ var useCalendarSystemEventGroupModals_1 = require("./useCalendarSystemEventGroup
|
|
|
40
44
|
var useEventsFromDate_1 = require("./useEventsFromDate");
|
|
41
45
|
var DisplayDateFormatType_1 = __importDefault(require("../enums/DisplayDateFormatType"));
|
|
42
46
|
var utils_1 = require("../utils/utils");
|
|
47
|
+
var form_1 = require("../../../../actions/form");
|
|
48
|
+
var CalendarType_1 = __importDefault(require("../enums/CalendarType"));
|
|
49
|
+
var DEFAULT_DATE_FROM_ATTRIBUTE = 'dateFrom';
|
|
50
|
+
var DEFAULT_DATE_TO_ATTRIBUTE = 'dateTo';
|
|
43
51
|
var useCalendarSystem = function (props) {
|
|
44
|
-
var _a
|
|
45
|
-
var
|
|
46
|
-
var _c =
|
|
52
|
+
var _a, _b;
|
|
53
|
+
var dispatch = (0, react_redux_1.useDispatch)();
|
|
54
|
+
var _c = react_1["default"].useState(props.eventBlock.eventGroups || []), innerEventGroups = _c[0], setInnerEventGroups = _c[1];
|
|
55
|
+
var _d = react_1["default"].useState([]), selectedEventGroupsIds = _d[0], setSelectedEventGroupsIds = _d[1];
|
|
56
|
+
var _e = (0, react_1.useState)(props.users), users = _e[0], setUsers = _e[1];
|
|
57
|
+
react_1["default"].useEffect(function () {
|
|
58
|
+
setInnerEventGroups(props.eventBlock.eventGroups);
|
|
59
|
+
}, [props.eventBlock.eventGroups]);
|
|
60
|
+
react_1["default"].useEffect(function () {
|
|
61
|
+
setUsers(props.users);
|
|
62
|
+
}, [props.users]);
|
|
47
63
|
//Главная дата, от которой происходят все вычисления
|
|
48
|
-
var
|
|
64
|
+
var _f = react_1["default"].useState((0, utils_1.getFormattedDay)()), generalCurrentDay = _f[0], setGeneralCurrentDay = _f[1];
|
|
49
65
|
var isGeneralCurrentDayNeedsUpdate = (0, react_1.useRef)(true);
|
|
50
66
|
var updateGeneralCurrentDay = (0, react_1.useCallback)(function (newDate) {
|
|
51
67
|
if (!isGeneralCurrentDayNeedsUpdate.current) {
|
|
@@ -57,21 +73,59 @@ var useCalendarSystem = function (props) {
|
|
|
57
73
|
var onCalendarChangedMonth = react_1["default"].useCallback(function (newDate) {
|
|
58
74
|
updateGeneralCurrentDay(newDate);
|
|
59
75
|
}, [updateGeneralCurrentDay]);
|
|
60
|
-
var
|
|
61
|
-
var
|
|
62
|
-
var
|
|
63
|
-
var
|
|
64
|
-
var
|
|
76
|
+
var _g = (0, useDisplayDate_1["default"])(generalCurrentDay), dateToDisplay = _g.dateToDisplay, changeDisplayFormat = _g.changeDisplayFormat;
|
|
77
|
+
var _h = (0, useMonthGrid_1["default"])(generalCurrentDay), monthGridWeekDays = _h.monthGridWeekDays, monthGridCalendarDays = _h.monthGridCalendarDays;
|
|
78
|
+
var _j = (0, useWeekGrid_1["default"])(generalCurrentDay), weekGridTwentyFourHoursArray = _j.weekGridTwentyFourHoursArray, weekGridCurrentWeekDays = _j.weekGridCurrentWeekDays;
|
|
79
|
+
var _k = (0, useDayGrid_1.useDayGrid)(generalCurrentDay), dayGridTwentyFourHoursArray = _k.dayGridTwentyFourHoursArray, dayGridCurrentDay = _k.dayGridCurrentDay;
|
|
80
|
+
var _l = (0, useCalendarType_1.useCalendarType)(function (newType) {
|
|
65
81
|
if (newType === CalendarType_1["default"].DAY) {
|
|
66
82
|
changeDisplayFormat(DisplayDateFormatType_1["default"].DAY);
|
|
67
83
|
return;
|
|
68
84
|
}
|
|
69
85
|
changeDisplayFormat(DisplayDateFormatType_1["default"].DEFAULT);
|
|
70
|
-
}), calendarType =
|
|
86
|
+
}), calendarType = _l.calendarType, handleCalendarTypeChange = _l.handleCalendarTypeChange;
|
|
71
87
|
var onClickControl = (0, useCalendarControls_1["default"])(calendarType, generalCurrentDay, setGeneralCurrentDay, isGeneralCurrentDayNeedsUpdate).onClickControl;
|
|
72
|
-
var
|
|
88
|
+
var _m = (0, useCalendarSystemModals_1["default"])(props.calendarModalProps, innerEventGroups, setInnerEventGroups, users, setUsers), openCreateModal = _m.openCreateModal, openEditModal = _m.openEditModal;
|
|
73
89
|
var openCreateEventGroupModal = (0, useCalendarSystemEventGroupModals_1.useCalendarSystemEventGroupModals)(innerEventGroups, setInnerEventGroups, props.eventGroupModalProps).openCreateEventGroupModal;
|
|
74
90
|
var getEventsFromDate = (0, useEventsFromDate_1.useEventsFromDate)(innerEventGroups, selectedEventGroupsIds).getEventsFromDate;
|
|
91
|
+
// save dateTo and dateFrom in redux
|
|
92
|
+
var dateFromAttribute = ((_a = props.calendarDatesFormData) === null || _a === void 0 ? void 0 : _a.dateFromAttribute) || DEFAULT_DATE_FROM_ATTRIBUTE;
|
|
93
|
+
var dateToAttribute = ((_b = props.calendarDatesFormData) === null || _b === void 0 ? void 0 : _b.dateToAttribute) || DEFAULT_DATE_TO_ATTRIBUTE;
|
|
94
|
+
(0, react_use_1.useMount)(function () {
|
|
95
|
+
var _a;
|
|
96
|
+
if (props.calendarDatesFormData) {
|
|
97
|
+
dispatch((0, form_1.formInitialize)(props.calendarDatesFormData.formId, (_a = {},
|
|
98
|
+
_a[dateFromAttribute] = null,
|
|
99
|
+
_a[dateToAttribute] = null,
|
|
100
|
+
_a)));
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
react_1["default"].useEffect(function () {
|
|
104
|
+
var _a;
|
|
105
|
+
if (props.calendarDatesFormData) {
|
|
106
|
+
var currentDateArray = calendarType === CalendarType_1["default"].MONTH
|
|
107
|
+
? monthGridCalendarDays
|
|
108
|
+
: weekGridCurrentWeekDays;
|
|
109
|
+
var newFormValues = (_a = {},
|
|
110
|
+
_a[dateFromAttribute] = (0, head_1["default"])(currentDateArray).date,
|
|
111
|
+
_a[dateToAttribute] = (0, last_1["default"])(currentDateArray).date,
|
|
112
|
+
_a);
|
|
113
|
+
if (calendarType === CalendarType_1["default"].DAY) {
|
|
114
|
+
newFormValues[dateFromAttribute] = dayGridCurrentDay.date;
|
|
115
|
+
newFormValues[dateToAttribute] = dayGridCurrentDay.date;
|
|
116
|
+
}
|
|
117
|
+
dispatch((0, form_1.formChange)(props.calendarDatesFormData.formId, newFormValues));
|
|
118
|
+
}
|
|
119
|
+
}, [
|
|
120
|
+
calendarType,
|
|
121
|
+
dateFromAttribute,
|
|
122
|
+
dateToAttribute,
|
|
123
|
+
dayGridCurrentDay,
|
|
124
|
+
dispatch,
|
|
125
|
+
monthGridCalendarDays,
|
|
126
|
+
props.calendarDatesFormData,
|
|
127
|
+
weekGridCurrentWeekDays,
|
|
128
|
+
]);
|
|
75
129
|
return {
|
|
76
130
|
monthGridWeekDays: monthGridWeekDays,
|
|
77
131
|
monthGridCalendarDays: monthGridCalendarDays,
|
|
@@ -6,7 +6,7 @@ declare const useCalendarSystemModals: (calendarModalProps: IModalProps, innerEv
|
|
|
6
6
|
openEditModal: (event: IEvent) => void;
|
|
7
7
|
getEventFromGroup: (event: IEvent) => IEventGroup;
|
|
8
8
|
getModalProps: (isCreate: boolean, eventInitialValues?: Partial<IEvent & {
|
|
9
|
-
eventGroupId: number;
|
|
9
|
+
eventGroupId: number | string;
|
|
10
10
|
}>) => ICalendarSystemModalViewProps;
|
|
11
11
|
};
|
|
12
12
|
export default useCalendarSystemModals;
|