@steroidsjs/core 3.0.0-beta.112 → 3.0.0-beta.114

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.
Files changed (40) hide show
  1. package/actions/router.js +19 -2
  2. package/docs-autogen-result.json +405 -130
  3. package/en.json +9 -1
  4. package/hooks/index.d.ts +3 -3
  5. package/hooks/index.js +5 -5
  6. package/hooks/useTree.d.ts +5 -0
  7. package/hooks/useTree.js +3 -2
  8. package/package.json +1 -1
  9. package/ui/content/CalendarSystem/CalendarSystem.d.ts +27 -16
  10. package/ui/content/CalendarSystem/CalendarSystem.js +65 -76
  11. package/ui/content/CalendarSystem/hooks/useCalendarControls.d.ts +1 -2
  12. package/ui/content/CalendarSystem/hooks/useCalendarControls.js +14 -17
  13. package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.js +3 -3
  14. package/ui/content/CalendarSystem/hooks/useCalendarSystemModals.js +2 -2
  15. package/ui/content/CalendarSystem/hooks/useCalendarType.d.ts +5 -0
  16. package/ui/content/CalendarSystem/hooks/useCalendarType.js +22 -0
  17. package/ui/content/CalendarSystem/hooks/useEventsFromDate.d.ts +5 -0
  18. package/ui/content/CalendarSystem/hooks/useEventsFromDate.js +49 -0
  19. package/ui/content/CalendarSystem/hooks/{useMonthCalendar.d.ts → useMonthGrid.d.ts} +4 -5
  20. package/ui/content/CalendarSystem/hooks/{useMonthCalendar.js → useMonthGrid.js} +20 -14
  21. package/ui/content/CalendarSystem/hooks/{useWeekCalendar.d.ts → useWeekGrid.d.ts} +6 -5
  22. package/ui/content/CalendarSystem/hooks/useWeekGrid.js +72 -0
  23. package/ui/content/CalendarSystem/utils/utils.d.ts +8 -0
  24. package/ui/content/CalendarSystem/utils/utils.js +27 -1
  25. package/ui/content/Chat/Chat.d.ts +39 -1
  26. package/ui/content/Chat/Chat.js +32 -12
  27. package/ui/content/Chat/hooks/useChat.d.ts +2 -2
  28. package/ui/content/Chat/hooks/useChat.js +23 -6
  29. package/ui/form/CheckboxTreeField/CheckboxTreeField.d.ts +2 -3
  30. package/ui/form/CheckboxTreeField/CheckboxTreeField.js +3 -4
  31. package/ui/form/FileField/FileField.js +5 -0
  32. package/ui/list/TreeTable/TreeTable.d.ts +5 -4
  33. package/ui/list/TreeTable/TreeTable.js +3 -3
  34. package/ui/nav/Router/Router.d.ts +6 -0
  35. package/ui/nav/Router/Router.js +4 -3
  36. package/ui/nav/Router/helpers.d.ts +2 -2
  37. package/ui/nav/Router/helpers.js +41 -7
  38. package/ui/nav/Tree/Tree.d.ts +14 -3
  39. package/ui/nav/Tree/Tree.js +5 -2
  40. package/ui/content/CalendarSystem/hooks/useWeekCalendar.js +0 -86
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- import { IPreparedTreeItem, ITreeConfig } from '../../../hooks/useTree';
1
+ import React from 'react';
2
+ import { IPreparedTreeItem, ITreeConfig, ITreeItem } from '../../../hooks/useTree';
3
3
  export interface ITreeViewProps extends ITreeProps {
4
4
  items: IPreparedTreeItem[];
5
5
  }
@@ -30,7 +30,7 @@ export interface ITreeProps extends Omit<ITreeConfig, 'currentPage' | 'itemsOnPa
30
30
  * Обработчик на клик по узлу
31
31
  * @param args
32
32
  */
33
- onItemClick?: (...args: any[]) => any;
33
+ onItemClick?: (event: React.MouseEvent, item: ITreeItem) => any;
34
34
  /**
35
35
  * Отображать раскрытыми узлы из LocalStorage
36
36
  * @example true
@@ -41,6 +41,15 @@ export interface ITreeProps extends Omit<ITreeConfig, 'currentPage' | 'itemsOnPa
41
41
  * @example 32
42
42
  */
43
43
  levelPadding?: number;
44
+ /**
45
+ * Показать иконку c лева от элемента
46
+ * @example true
47
+ */
48
+ showIcon?: boolean;
49
+ /**
50
+ * Кастомная иконка, заменяющая иконку раскрытия по умолчанию
51
+ */
52
+ customIcon?: string | React.ReactElement;
44
53
  /**
45
54
  * Флаг, определяющий раскрывать вложенные элементы по клику на весь элемент или только на иконку
46
55
  * @example false
@@ -57,6 +66,8 @@ declare namespace Tree {
57
66
  level: number;
58
67
  levelPadding: number;
59
68
  hasIconExpandOnly: boolean;
69
+ useSameSelectedItemId: boolean;
70
+ showIcon: boolean;
60
71
  };
61
72
  }
62
73
  export default Tree;
@@ -22,7 +22,8 @@ function Tree(props) {
22
22
  autoOpenLevels: props.autoOpenLevels,
23
23
  onExpand: props.onItemClick,
24
24
  level: props.level,
25
- alwaysOpened: props.alwaysOpened
25
+ alwaysOpened: props.alwaysOpened,
26
+ useSameSelectedItemId: props.useSameSelectedItemId
26
27
  }).treeItems;
27
28
  return components.ui.renderView(props.view || 'nav.TreeView', __assign(__assign({}, props), { items: treeItems }));
28
29
  }
@@ -33,5 +34,7 @@ Tree.defaultProps = {
33
34
  autoSave: false,
34
35
  level: 0,
35
36
  levelPadding: 32,
36
- hasIconExpandOnly: false
37
+ hasIconExpandOnly: false,
38
+ useSameSelectedItemId: true,
39
+ showIcon: true
37
40
  };
@@ -1,86 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- exports.__esModule = true;
17
- var react_1 = __importDefault(require("react"));
18
- var calendar_1 = require("../../../../utils/calendar");
19
- var DateControlType_1 = __importDefault(require("../enums/DateControlType"));
20
- var useCalendarControls_1 = require("./useCalendarControls");
21
- var utils_1 = require("../utils/utils");
22
- var WEEK_DAY_FORMAT = 'dd, D MMM';
23
- var ONE_DAY = 1;
24
- var getFormattedWeekFromDate = function (fromDate) {
25
- if (fromDate === void 0) { fromDate = null; }
26
- var currentWeek = (0, utils_1.getWeekDaysFromDate)(fromDate || new Date());
27
- return currentWeek.map(function (dayOfWeek) {
28
- var copyOfDayWeek = __assign({}, dayOfWeek);
29
- copyOfDayWeek.formattedDisplay = (0, calendar_1.convertDate)(dayOfWeek.date, null, WEEK_DAY_FORMAT);
30
- // eslint-disable-next-line no-unused-expressions
31
- (0, utils_1.isDateIsToday)(copyOfDayWeek.date) ? copyOfDayWeek.isToday = true : copyOfDayWeek.isToday = false;
32
- return copyOfDayWeek;
33
- });
34
- };
35
- var useWeekCalendar = function (currentMonthDate) {
36
- var _a;
37
- var _b = react_1["default"].useState(getFormattedWeekFromDate()), currentWeek = _b[0], setCurrentWeek = _b[1];
38
- var forceUpdateWeekOnMonthChange = react_1["default"].useCallback(function (newMonthDate) {
39
- setCurrentWeek(getFormattedWeekFromDate(newMonthDate));
40
- }, []);
41
- var changeMonthAfterWeekChanged = react_1["default"].useCallback(function (formattedWeek) {
42
- var firstDayOfWeek = formattedWeek[0].date;
43
- var currentMonthNumber = currentMonthDate.getMonth();
44
- var isWeekOutOfMonth = formattedWeek.every(function (dayOfWeek) { return dayOfWeek.date.getMonth() !== currentMonthNumber; });
45
- if (!isWeekOutOfMonth) {
46
- return;
47
- }
48
- if (currentMonthNumber - firstDayOfWeek.getMonth() === 1) {
49
- var lastDayOfWeekInNewMonth = formattedWeek[formattedWeek.length - 1].date;
50
- var prevMonthControl = (0, useCalendarControls_1.getSourceCalendarControl)(DateControlType_1["default"].PREV_ONE);
51
- prevMonthControl.click();
52
- forceUpdateWeekOnMonthChange(lastDayOfWeekInNewMonth);
53
- }
54
- else {
55
- var firstDayOfWeekInNewMonth = formattedWeek[0].date;
56
- var nextMonthControl = (0, useCalendarControls_1.getSourceCalendarControl)(DateControlType_1["default"].NEXT_ONE);
57
- nextMonthControl.click();
58
- forceUpdateWeekOnMonthChange(firstDayOfWeekInNewMonth);
59
- }
60
- }, [currentMonthDate, forceUpdateWeekOnMonthChange]);
61
- var setNextWeek = react_1["default"].useCallback(function () {
62
- var lastDayOfWeek = currentWeek[currentWeek.length - 1].date;
63
- lastDayOfWeek.setDate(lastDayOfWeek.getDate() + ONE_DAY);
64
- var formattedNextWeek = getFormattedWeekFromDate(lastDayOfWeek);
65
- setCurrentWeek(formattedNextWeek);
66
- changeMonthAfterWeekChanged(formattedNextWeek);
67
- }, [currentWeek, changeMonthAfterWeekChanged]);
68
- var setPrevWeek = react_1["default"].useCallback(function () {
69
- var firstDayOfWeek = currentWeek[0].date;
70
- firstDayOfWeek.setDate(firstDayOfWeek.getDate() - ONE_DAY);
71
- var formattedPrevWeek = getFormattedWeekFromDate(firstDayOfWeek);
72
- setCurrentWeek(formattedPrevWeek);
73
- changeMonthAfterWeekChanged(formattedPrevWeek);
74
- }, [currentWeek, changeMonthAfterWeekChanged]);
75
- return {
76
- currentWeek: currentWeek,
77
- weekControls: (_a = {},
78
- _a[DateControlType_1["default"].NEXT_DOUBLE] = DateControlType_1["default"].NEXT_ONE,
79
- _a[DateControlType_1["default"].NEXT_ONE] = setNextWeek,
80
- _a[DateControlType_1["default"].PREV_ONE] = setPrevWeek,
81
- _a[DateControlType_1["default"].PREV_DOUBLE] = DateControlType_1["default"].PREV_ONE,
82
- _a),
83
- forceUpdateWeekOnMonthChange: forceUpdateWeekOnMonthChange
84
- };
85
- };
86
- exports["default"] = useWeekCalendar;